{"version":3,"sources":["enums/TipoTelefoneEnum.js","enums/PerfilEnum.js","enums/PermissaoContratanteEnum.js","assets/images/login/imagem-login.svg","enums/TipoBeneficiarioEnum.js","enums/TipoStatusEnum.js","assets/modelos/LAYREPAS_007_CONTRATANTE.txt","assets/modelos/PlanilhaModeloCsv.xlsx","assets/modelos/PlanilhaModeloNestlé.xlsx","assets/modelos/Transferencia/TransferenciaModeloPadrao.xlsx","assets/images/login/unimed-fesp.png","assets/modelos/orientacoes_documentos.txt","enums/ModalidadeEnum.js","assets/modelos/massaInicial/ModeloPadrãoMassaInicial.csv","assets/modelos/massaInicial/OrientaçõesPreenchimentoMassaInicial.pdf","assets/images/massa-inicial/imagem-massa-inicial.svg","assets/images/FespANS.jpg","enums/StatusListaEnum.js","enums/StatusExecucaoEnum.js","enums/MovimentacaoListaEnum.js","enums/TipoListaEnum.js","enums/UploadeProgressEnum.js","enums/TipoConsultaParametrizacaoEnum.js","enums/TipoCardRoot.js","enums/StatusListaRPAEnum.js","enums/TipoDocumentoEnum.js","enums/StatusEnvioListaEnum.js","enums/TipoEventoWebhookEnum.js","utils/array.js","enums/StatusListaAPIEnum.js","services/history.js","utils/setTabContentPorStatus.js","store/ducks/lista.js","middlewares/socketMiddleware.js","store/ducks/webhookEventHeaderIntegration.js","application.js","context/ModalContext.js","styles/theme.js","components/molecules/Modal/styles.js","components/molecules/Modal/index.js","components/atoms/Button/styles.js","components/atoms/Button/index.js","components/organisms/ModalSessionExpired/styles.js","store/ducks/auth.js","components/organisms/ModalSessionExpired/index.js","services/auth.js","utils/encrypt.js","services/axios.js","services/api.js","components/molecules/Toast/styles.js","components/molecules/Toast/index.js","store/sagas/webhookEventHeaderIntegration.js","store/ducks/webhookEventIntegration.js","store/sagas/webhookEventIntegration.js","store/ducks/webhookIntegration.js","store/sagas/webhookIntegration.js","store/ducks/usuario.js","utils/responseHandler.js","utils/validation.js","store/sagas/auth.js","store/sagas/lista.js","store/ducks/modalidade.js","store/sagas/modalidade.js","utils/treeViewBuilder.js","store/ducks/contratante.js","services/legacy.js","store/sagas/usuario.js","store/sagas/contratante.js","store/ducks/arquivoUpload.js","store/sagas/arquivoUpload.js","store/ducks/requisicao.js","store/sagas/requisicao.js","store/ducks/beneficiario.js","store/sagas/beneficiario.js","store/ducks/task.js","store/sagas/task.js","store/ducks/parametro.js","context/TriggerModalContext/index.js","store/sagas/parametro.js","store/ducks/relatorio.js","store/sagas/relatorio.js","store/ducks/documento.js","store/sagas/documento.js","store/ducks/listaInativos.js","store/sagas/listaInativos.js","store/ducks/listasRPA.js","store/ducks/termoResponsabilidade.js","store/ducks/index.js","store/index.js","store/persistReducers.js","store/sagas/index.js","utils/base64.js","hooks/useSignalR.js","hooks/useMovimentacao.js","utils/userRole.js","pages/ListasConsulta/styles.js","components/atoms/FadeIn/styles.js","components/atoms/FadeIn/index.js","components/molecules/CardFilter/styles.js","components/molecules/CardFilter/index.js","components/molecules/DatePicker/styles.js","components/molecules/DatePicker/index.js","components/molecules/LabelContainer/styles.js","components/molecules/LabelContainer/index.js","components/organisms/FilterExtends/styles.js","components/organisms/FilterExtends/index.js","utils/file.js","components/organisms/ModalFileImport/styles.js","components/organisms/ModalFileImport/index.js","components/organisms/ModalFileLoading/styles.js","components/organisms/ModalFileLoading/index.js","components/organisms/ImportarListas/index.js","assets/icons/replay.svg","assets/icons/upload.svg","assets/icons/cancel-24px.svg","assets/icons/doubleArrow.svg","routes/legacyRoutes.js","components/molecules/Card/styles.js","components/molecules/ImageCard/styles.js","components/molecules/ImageCard/index.js","components/molecules/Card/index.js","components/organisms/ModalAcaoLista/styles.js","components/organisms/ModalInclusaoUspLista/styles.js","components/organisms/ModalInclusaoUspLista/index.js","components/organisms/ModalAcaoLista/index.js","components/organisms/TabTableLista/styles.js","assets/icons/iconsLib.js","components/atoms/Icon/styles.js","components/atoms/Icon/index.js","components/molecules/WrapperFlex/styles.js","components/molecules/WrapperFlex/index.js","components/molecules/LoadingSpinning/styles.js","components/molecules/LoadingSpinning/index.js","components/organisms/TabTableLista/index.js","components/molecules/PartsModalParametrizacao/styles.js","components/molecules/PartsModalConsultaListas/ModalEnviarListaRpa.js","components/molecules/StatusList/styles.js","components/molecules/StatusList/index.js","pages/ListasConsulta/index.js","hooks/useModal.js","hooks/useQueue.js","components/atoms/Input/styles.js","components/atoms/Input/index.js","components/atoms/TextArea/styles.js","components/atoms/TextArea/index.js","components/atoms/ButtonRemove/styles.js","components/atoms/ButtonRemove/index.js","components/molecules/UploadBox/styles.js","components/molecules/UploadBox/index.js","components/organisms/CollapseListaDetalhe/styles.js","components/organisms/CollapseListaDetalhe/index.js","components/organisms/ModalSuccess/styles.js","components/organisms/ModalSuccess/index.js","pages/ListasDetalhe/styles.js","pages/ListasDetalhe/index.js","components/molecules/Tab/styles.js","context/TabContext.js","components/molecules/Tab/index.js","components/organisms/ModalError/styles.js","components/organisms/ModalError/index.js","components/organisms/ModalCancelAction/styles.js","components/organisms/ModalCancelAction/index.js","context/DropDownContext.js","utils/useOutsideClick.js","components/molecules/Dropdown/styles.js","components/molecules/Dropdown/index.js","components/organisms/DropDown/index.js","components/organisms/DropDownSearchBox/styles.js","components/organisms/DropDownSearchBox/index.js","components/molecules/CustomScrollBars/index.js","components/molecules/EmptyContent/styles.js","components/atoms/Skeleton/styles.js","components/atoms/Skeleton/index.js","components/molecules/EmptyContent/index.js","components/organisms/TableContratantes/index.js","components/organisms/TableUsariosEspelho/TableUsuarioHeader.js","components/organisms/TableUsariosEspelho/TableUsuarioEspelhoBody.js","components/organisms/TableUsariosEspelho/index.js","components/organisms/ModalConsultaContratantes/index.js","components/molecules/CardContratantes/styles.js","components/molecules/CardContratantes/index.js","components/atoms/ButtonCollapse/styles.js","components/atoms/ButtonCollapse/index.js","context/CollapseContext.js","components/atoms/Card/styles.js","components/molecules/CollapseItem/styles.js","components/molecules/CollapseItem/index.js","components/organisms/CollapseNestedList/styles.js","components/organisms/CollapseNestedList/index.js","components/organisms/ParametrizacaoContratantes/styles.js","components/organisms/ParametrizacaoContratantes/CounterContainer.js","components/organisms/ParametrizacaoContratantes/ParametrizacaoCards.js","components/organisms/ParametrizacaoContratantes/EmptyContentContainer.js","components/molecules/MessageInvalidCard/styles.js","components/molecules/MessageInvalidCard/index.js","components/molecules/PartsModalParametrizacao/ModalCopyEspelho.js","components/molecules/PartsModalParametrizacao/ModalMesclarNestle.js","components/molecules/PartsModalParametrizacao/ModalSelectedTipoPerfil.js","components/molecules/PartsModalParametrizacao/ModalRemoveAllParametrizacao.js","hooks/useParametrizazao.js","components/organisms/ParametrizacaoContratantes/index.js","components/molecules/ModalConsultaStructure/styles.js","components/organisms/ModalEventosWebhook/index.js","components/organisms/TableCadastroWebhook/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhook/index.js","components/organisms/TableCadastroWebhook/styles.js","components/organisms/TableCadastroWebhook/TableCadastroWebHookBody.js","components/organisms/ModalCadastarWebhookEvent/index.js","components/organisms/ModalWebhookEventosHeaders/index.js","components/organisms/ModalCadastarWebhookEventHeader/index.js","components/organisms/TableCadastroWebhookEventsHeader/styles.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookEventHeaderBodyRow.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookEventHeaderBody.js","components/organisms/TableCadastroWebhookEventsHeader/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhookEventsHeader/index.js","components/organisms/TableCadastroWebhookEvents/TableCadastroWebHookEventBody.js","components/organisms/TableCadastroWebhookEvents/styles.js","components/organisms/TableCadastroWebhookEvents/TableCadastroWebHookHeader.js","components/organisms/TableCadastroWebhookEvents/index.js","components/organisms/TabsFormConfiguracoes/CadastroWebhook.js","components/atoms/InputForm/styles.js","components/atoms/InputForm/index.js","components/atoms/InputFormLogin/styles.js","components/atoms/InputFormLogin/index.js","components/molecules/InputPassword/styles.js","assets/icons/visibility-24px.svg","assets/icons/visibility_off-24px.svg","components/molecules/InputPassword/index.js","components/organisms/SenhaBox/styles.js","components/organisms/SenhaBox/index.js","components/organisms/TabsFormConfiguracoes/DadosAcesso.js","components/organisms/TabsFormConfiguracoes/styles.js","components/organisms/TabsFormConfiguracoes/DadosGerais.js","components/organisms/TabsFormConfiguracoes/EmptyContent.js","components/organisms/TabsFormConfiguracoes/index.js","utils/patterns.js","pages/Configuracoes/styles.js","pages/Configuracoes/index.js","components/organisms/TableDocumentos/styles.js","components/organisms/TableDocumentos/EmptyContent.js","components/organisms/TableDocumentos/TableDocumentosHeader.js","components/organisms/TableDocumentos/ConteudoPorStatus.js","components/organisms/TableDocumentos/TableContent.js","components/organisms/TableDocumentos/DocumentosBeneficiarios.js","components/organisms/TableDocumentos/index.js","components/organisms/ModalDetalheDocumento/styles.js","components/atoms/Badges/styles.js","components/atoms/Badges/index.js","utils/base64Picture.js","assets/icons/reply_all-24px.svg","components/organisms/ModalDetalheDocumento/ModalFooter.js","components/organisms/ModalDetalheDocumento/index.js","components/organisms/ModalMotivoRecusa/index.js","pages/DetalheDocumentos/styles.js","pages/DetalheDocumentos/index.js","components/organisms/ImportarDocumentos/index.js","pages/DetalheDocumentosInativos/styles.js","pages/DetalheDocumentosInativos/index.js","pages/ListasMassaInicial/styles.js","components/organisms/FilterExtendsMassaInicial/styles.js","components/organisms/FilterExtendsMassaInicial/index.js","components/organisms/TabTableListasMassaInicial/styles.js","components/organisms/TabTableListasMassaInicial/index.js","pages/ListasMassaInicial/index.js","utils/prepareBase64File.js","pages/ListasRPA/styles.js","components/molecules/PartsModalListasRPA/ModalAlterarStatusRpa.js","components/molecules/PartsModalListasRPA/ModalCancelarEnvioRpa.js","components/organisms/TabTableListasRPA/styles.js","components/atoms/ButtonDropdown/styles.js","components/atoms/ButtonDropdown/index.js","components/organisms/TabTableListasRPA/index.js","components/molecules/StatusListRpa/styles.js","components/molecules/StatusListRpa/index.js","pages/ListasRPA/index.js","components/molecules/Relatorios/styles.js","components/molecules/Relatorios/EmptyRelatorios.js","components/molecules/Relatorios/TableBodyRelatorios.js","components/molecules/Relatorios/TableHeaderRelatorios.js","components/molecules/Relatorios/index.js","components/molecules/PartsModalRelatorioNestle/styles.js","components/molecules/PartsModalRelatorioNestle/ModalConfimarRelatorio.js","pages/RelatorioNestle/styles.js","pages/RelatorioNestle/index.js","pages/Unauthorized/index.js","components/organisms/TabFormUsuario/styles.js","components/organisms/TabFormUsuario/DadosAcesso.js","components/organisms/TabFormUsuario/DadosGerais.js","components/organisms/TabFormUsuario/HistoricoMovimentacoes.js","components/organisms/TabFormUsuario/index.js","components/organisms/ModalLiberarAcesso/index.js","pages/UsuarioDetalhe/styles.js","pages/UsuarioDetalhe/ModalCancelActionFooter.js","pages/UsuarioDetalhe/index.js","pages/UsuarioGestao/styles.js","components/organisms/FilterExtendsUsuarios/styles.js","components/organisms/FilterExtendsUsuarios/index.js","components/organisms/TabTableUsuarios/styles.js","components/organisms/TabTableUsuarios/index.js","assets/icons/business_center.svg","assets/icons/settings.svg","components/molecules/CardTipoPerfil/styles.js","components/molecules/CardTipoPerfil/index.js","components/organisms/ModalNovoUsuario/styles.js","components/organisms/ModalNovoUsuario/index.js","pages/UsuarioGestao/index.js","pages/UsuarioNovo/styles.js","pages/UsuarioNovo/ModalCancelActionFooter.js","pages/UsuarioNovo/Parametros.js","pages/UsuarioNovo/DadosGerais.js","pages/UsuarioNovo/AlertLiberarAcessoModal.js","pages/UsuarioNovo/DadosAcesso.js","pages/UsuarioNovo/index.js","components/organisms/FilterExtendsBeneficiarios/styles.js","components/organisms/FilterExtendsBeneficiarios/index.js","components/organisms/TabTableBeneficiarios/styles.js","components/organisms/TabTableBeneficiarios/index.js","pages/ConsultaBeneficiariosNestle/styles.js","pages/ConsultaBeneficiariosNestle/index.js","components/atoms/InfoDisplayItem/index.js","components/organisms/DadosBeneficiarios/styles.js","components/organisms/DadosBeneficiarios/index.js","pages/DetalheBeneficiariosNestle/styles.js","pages/DetalheBeneficiariosNestle/index.js","components/organisms/FormEditParametro/index.js","pages/EditParametro/styles.js","pages/EditParametro/index.js","pages/ListaInativo/styles.js","pages/ListaInativo/FormListaInativos.js","pages/ListaInativo/index.js","components/molecules/DadosLista/index.js","components/molecules/FooterListaInativosAcoes/index.js","enums/TipoPesquisaBeneficiarioEnum.js","components/organisms/FormPesquisaBeneficiario/styles.js","components/organisms/FormPesquisaBeneficiario/index.js","components/organisms/TablePesquisaBeneficiario/TableBeneficiarioBody.js","components/organisms/TablePesquisaBeneficiario/TableBeneficiarioHeader.js","components/organisms/TablePesquisaBeneficiario/index.js","components/molecules/ModalConsultaStructure/ModalFooter.js","components/molecules/ModalConsultaStructure/index.js","components/organisms/ModalPesquisaBeneficiario/index.js","components/organisms/FormSelecionaBeneficiario/TableBodyBeneficiario.js","components/organisms/FormSelecionaBeneficiario/TableHeaderBeneficiario.js","components/organisms/FormSelecionaBeneficiario/index.js","components/organisms/TableHistoricoAlteracoesLista/TableHistoricoBody.js","components/organisms/TableHistoricoAlteracoesLista/TableHistoricoHeader.js","components/organisms/TableHistoricoAlteracoesLista/index.js","pages/ListaInativoDetalhe/styles.js","pages/ListaInativoDetalhe/index.js","components/organisms/TableParametros/styles.js","components/organisms/TableParametros/index.js","pages/Parametros/styles.js","pages/Parametros/index.js","pages/ProcessamentoRelatorio/styles.js","components/molecules/TableRelatoriosBeneficiario/styles.js","components/molecules/TableRelatoriosBeneficiario/EmptyRelatorios.js","components/atoms/Chip/styles.js","components/atoms/Chip/index.js","components/molecules/TableRelatoriosBeneficiario/TableBodyRelatorios.js","components/molecules/TableRelatoriosBeneficiario/TableHeaderRelatorios.js","components/molecules/TableRelatoriosBeneficiario/index.js","components/organisms/ModalFiltrosAplicados/styles.js","components/organisms/ModalFiltrosAplicados/index.js","components/organisms/ModalRelatoriosAcoes/styles.js","components/organisms/ModalRelatoriosAcoes/index.js","pages/ProcessamentoRelatorio/index.js","components/molecules/PartsModalRelatorioBeneficiario/styles.js","components/molecules/PartsModalRelatorioBeneficiario/ModalConfimarRelatorio.js","pages/RelatorioBeneficiarios/styles.js","pages/RelatorioBeneficiarios/FormRelatorioBeneficiario.js","pages/RelatorioBeneficiarios/index.js","pages/SegundaVia/styles.js","components/molecules/StatusFilter/index.js","components/organisms/FilterExtendsSegundaVia/styles.js","components/molecules/ModalConsultaStructureSegundaVia/ModalFooter.js","components/molecules/ModalConsultaStructureSegundaVia/styles.js","components/molecules/ModalConsultaStructureSegundaVia/index.js","components/organisms/FormPesquisaBeneficiarioSegundaVia/styles.js","components/organisms/FormPesquisaBeneficiarioSegundaVia/index.js","components/organisms/TablePesquisaBeneficiarioSegundaVia/styles.js","components/organisms/ModalPesquisaBeneficiarioSegundaVia/index.js","components/organisms/TabTableListaSegundaVia/styles.js","pages/SegundaVia/index.js","pages/SolicitacaoSegundaVia/styles.js","pages/SolicitacaoSegundaVia/DetalheSolicitacao.js","components/atoms/InputUpload/style.js","pages/SolicitacaoSegundaVia/index.js","routes/routes.js","components/Icons/LoadingIcon/styles.js","components/Icons/LoadingIcon/index.js","routes/ProtectedRoute.js","pages/Login/styles.js","components/atoms/SectionHeader/styles.js","components/atoms/SectionHeader/index.js","components/organisms/FormLogin/styles.js","components/organisms/FormLogin/index.js","pages/Login/LoginPart.js","components/molecules/InfoBox/styles.js","components/molecules/InfoBox/index.js","components/molecules/InputForgottenPassword/styles.js","components/molecules/InputForgottenPassword/index.js","components/organisms/FormEmailSent/styles.js","components/organisms/FormEmailSent/index.js","components/organisms/FormForgottenPassword/styles.js","components/organisms/FormForgottenPassword/index.js","pages/Login/RedefinirSenha.js","pages/Login/index.js","components/organisms/FormChangePassword/styles.js","components/organisms/FormChangePassword/index.js","pages/RecuperarSenha/styles.js","pages/RecuperarSenha/index.js","pages/ErrorPage/index.js","pages/NotFound/index.js","services/massaInicial.js","services/signalR.js","components/organisms/FormMassaInicial/styles.js","components/organisms/FormMassaInicial/index.js","components/organisms/ModalTermoMassaInicial/styles.js","components/organisms/ModalTermoMassaInicial/index.js","components/molecules/LoadingFiles/styles.js","components/molecules/LoadingFiles/index.js","components/organisms/UploadMassaInicial/styles.js","components/organisms/UploadMassaInicial/TemplateDownloadText.js","components/organisms/UploadMassaInicial/RegrasImportMassaInicial.js","components/organisms/UploadMassaInicial/index.js","pages/MassaInicial/styles.js","pages/MassaInicial/index.js","pages/TermoResponsabilidade/styles.js","pages/TermoResponsabilidade/index.js","routes/index.js","styles/global.js","ErrorBoundary.js","components/organisms/FooterPage/styles.js","components/organisms/FooterPage/index.js","components/organisms/DropChangeParametrizacao/styles.js","components/organisms/DropChangeParametrizacao/index.js","components/organisms/ModalLogout/styles.js","components/organisms/ModalLogout/index.js","components/organisms/NavbarPrimary/styles.js","components/organisms/NavbarPrimary/index.js","components/organisms/NavbarSecondary/styles.js","assets/icons/beneficiarioIcon.svg","assets/icons/configuracaoIcon.svg","assets/icons/gestaoIcon.svg","assets/icons/listasIcon.svg","assets/icons/segundaViaCartaoIcon.svg","assets/icons/visaoGeralIcon.svg","components/organisms/NavbarSecondary/index.js","context/TriggerModalContext/styles.js","context/TriggerModalContext/ModalTrigger.js","context/TriggerModalContext/TriggerModalContext.js","App.js","index.js","enums/index.js","assets/images/login/logo-unimed-fesp.svg","enums/TipoPerfilUsuarioEnum.js"],"names":["module","exports","returnName","1","2","returnNameForName","Celular","Residencial","0","returnPermissaoForTipoPerfilUsuario","ContratanteConsulta","ContratanteAlteracao","returnTipoPerfilUsuarioForPermissao","Consulta","Alteração","returnNameForId","returnIdForName","DEPENDENTE","TITULAR","returnIdForNameFormatted","Dependente","Titular","returnNameFormattedForId","returnNameFormattedForName","returnNameForNameFormatted","3","returnNameFormatted","returnId","PendenteLiberacao","Ativo","Inativo","returnNameForTab","Todas","returnTabForName","36","38","Demitidos","Aposentados","4","5","6","7","8","9","10","11","12","13","14","ListaCriada","UploadIniciado","UploadFinalizado","EmEsperaParaValidacao","EmProcessamento","EmProcessamento_LeituraDoArquivo","EmProcessamento_RecuperandoInformacaoProgress","EmProcessamento_ValidacaoDoArquivo","EmProcessamento_ExecucaoDoArquivo","ProcessamentoFinalizado","ListaAntiga","ErroExecucao","EmEsperaParaProcessamento","Inclusão","Exclusão","Transferência","Inativos","Inclusao","Alteracao","Exclusao","Transferencia","Lote","Nestle","Manual","Ready","InProgress","Finished","Contratante","returnPlaceHolderForName","returnNameUIForNameAPI","ContratanteRoot","GrupoRoot","returnNameAPI","Processar","ErroNaCarga","Reprocessar","ErroNaImportacao","LiberarRetorno","PreVenda","PreVendaComAlteracao","ImportacaoParcial","LiberarRetornoParcial","ErroDeLiberacao","Liberar","Importacao","ComErros","15","16","17","18","19","20","21","22","23","24","AditivoReducaoCarencias","BoletoPagamentoOperadoraAnterior","CadastroPessoaFisica","CartaProprioPunho","CartaoNacionalSaude","CarteiraConvenioOperadoraAnterior","CarteiraProfissaoVinculadaEntidadeClasse","CertidaoCasamento","CertidaoNascimento","ComprovanteEndereco","ComprovantePagamentoFiliacaoEntidadeClasse","ComprovantePagamentoOperadoraAnterior","DecisaoJudicial","DeclaracaoAdministradoraEntidadeComprovandoVinculo","DeclaracaoFaculdadeAtualizada","DeclaraçãoImpostoRenda","DeclaracaoPermanenciaOperadoraAnterior","DeclaracaoSaude","DeclaracaoUniãoEstavel","FichaFiliacaoEntidadeClasse","LaudoINSS","PropostaAdesao","RegistroGeral","RelatorioCompatibilidade","returnNamePorSigla","ARC","BPOA","CPF","RDP","CNS","CCO","CP","CC","CN","CE","CPEC","CPOA","DJ","CV","DFA","DIR","DPO","DS","DUE","FF","LI","PA","RG","RCA","CCOA","CCA","HOL","TRES","CARCON","returnNameFormattedPorSigla","DPOA","Validacao","Processamento","returnDescricao","FinalizacaoRelatorioBeneficiarios","AlteracaoListaStatusAguardandoDocumentos","AlteracaoListaStatusAguardandoDownload","AlteracaoListaStatusEmAnaliseDocumentacao","AlteracaoListaStatusEmValidacao","AlteracaoListaStatusProcessadoErro","AlteracaoListaStatusErroValidacao","AlteracaoListaStatusExcluida","AlteracaoListaStatusPendente","AlteracaoListaStatusPendenteProcessamento","AlteracaoListaStatusProcessadoSucesso","AlteracaoListaStatusProcessadaParcialmente","ErroGeracaoRelatorioBeneficiarios","returnIdForDescription","returnDescriptionPorId","getOccurrence","array","predicate","filter","length","getBase64","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","substr","indexOf","onerror","error","getDifferenceBetween","arrayOne","keyOne","arrayTwo","keyTwo","_ref","id1","some","_ref2","id2","toBase64","item","Buffer","from","JSON","stringify","toString","toJsonFromBase64","base64","Enviado","PendentedeEnvio","EmExportacao","ErrodeProcessamento","ProcessadoSucesso","Reenviado","Excluida","ErroExportacao","AguardandoDownload","PendenteProcessamento","ErroValidacao","EmValidacao","AguardandoDocumentos","ProcessadaParcialmente","Registrada","EmAnalisedeDocumentacao","ComErro","Pendente","EmEspera","Processada","history","createBrowserHistory","setTabContentPorStatus","objResponse","StatusEnum","draft","map","obj","StatusLista","status","size","total","data","pageNumber","pageSize","nextPage","previousPage","totalPages","Math","ceil","setTabContentPorStatusSingleObj","Types","DELETE_LISTA_CSV_REQUEST","GET_ARQUIVO_LOTE_ORIGINAL_REQUEST","GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS","GET_ARQUIVO_LOTE_ORIGINAL_ERROR","GET_ARQUIVO_LOTE_ORIGINAL_RENEW","POST_IMPORTAR_LOTE_CSV_REQUEST","POST_IMPORTAR_LOTE_CSV_SUCCESS","POST_VALIDAR_LOTE_CSV_REQUEST","POST_RELATORIO_RESUMIDO_NOVO_REQUEST","POST_RELATORIO_RESUMIDO_NOVO_SUCCESS","POST_RELATORIO_RESUMIDO_NOVO_ERROR","POST_RELATORIO_RESUMIDO_NOVO_RENEW","POST_RELATORIO_DETALHADO_NOVO_REQUEST","POST_RELATORIO_DETALHADO_NOVO_SUCCESS","POST_RELATORIO_DETALHADO_NOVO_ERROR","POST_RELATORIO_DETALHADO_NOVO_RENEW","POST_SEARCH_LIST_RPA_REQUEST","POST_SEARCH_LIST_RPA_RESPONSE","GET_STATUS_LIST_RPA_REQUEST","GET_STATUS_LIST_RPA_RESPONSE","POST_SEARCH_LIST_REQUEST","POST_SEARCH_LIST_RESPONSE","GET_STATUS_LIST_CONTRATANTE_REQUEST","GET_STATUS_LIST_CONTRATANTE_RESPONSE","GET_STATUS_LIST_ADMIN_REQUEST","GET_STATUS_LIST_ADMIN_RESPONSE","GET_STATUS_LIST_NESTLE_REQUEST","GET_STATUS_LIST_NESTLE_RESPONSE","POST_LISTA_INATIVAS_REQUEST","POST_LISTA_INATIVAS_RESPONSE","PUT_LISTA_INATIVAS_REQUEST","PUT_LISTA_INATIVAS_RESPONSE","GET_LISTA_INATIVAS_REQUEST","GET_LISTA_INATIVAS_RESPONSE","GET_LISTA_BENEFICIARIOS_RENEW","GET_LISTA_BENEFICIARIOS_REQUEST","GET_LISTA_BENEFICIARIOS_RESPONSE","GET_GRUPO_FAMILIAR_REQUEST","GET_GRUPO_FAMILIAR_RESPONSE","POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST","POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS","POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR","CHECK_BENEFICIARIO_INATIVOS","SET_BENEFICIARIOS_SUCCESS","SET_LISTA_FAMILIAR_REQUEST","POST_LISTA_FAMILIAR_REQUEST","POST_LISTA_FAMILIAR_RESPONSE","GET_RELATORIO_RPA_REQUEST","GET_RELATORIO_RPA_SUCCESS","GET_RELATORIO_RPA_ERROR","GET_RELATORIO_RPA_RENEW","GET_LISTAS_REQUEST","GET_LISTAS_SUCCESS","GET_LISTAS_ERROR","GET_LISTAS_POR_STATUS_REQUEST","GET_LISTAS_POR_STATUS_SUCCESS","GET_LISTAS_POR_STATUS_ERROR","GET_LISTAS_RPA_REQUEST","GET_LISTAS_RPA_SUCCESS","GET_LISTAS_RPA_ERROR","GET_LISTA_DETALHE_REQUEST","GET_LISTA_DETALHE_SUCCESS","GET_LISTA_DETALHE_ERROR","GET_LISTA_MASSA_INICIAL_REQUEST","GET_LISTA_MASSA_INICIAL_ERROR","GET_LISTA_MASSA_INICIAL_SUCCESS","GET_ARQUIVO_MASSA_INICIAL_REQUEST","GET_ARQUIVO_MASSA_INICIAL_ERROR","GET_ARQUIVO_MASSA_INICIAL_SUCCESS","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR","GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS","POST_ARQUIVO_MASSA_INICIAL_REQUEST","POST_ARQUIVO_MASSA_INICIAL_SUCCESS","POST_ARQUIVO_MASSA_INICIAL_ERROR","POST_ARQUIVO_MASSA_INICIAL_RENEW","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR","PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW","GET_LISTAS_RPA_POR_STATUS_REQUEST","GET_LISTAS_RPA_POR_STATUS_SUCCESS","GET_LISTAS_RPA_POR_STATUS_ERROR","POST_ARQUIVO_IMPORTACAO_REQUEST","POST_ARQUIVO_IMPORTACAO_SUCCESS","POST_ARQUIVO_IMPORTACAO_ERROR","IMPORTAR_LOTE_REQUEST","IMPORTAR_LOTE_RENEW","IMPORTAR_LOTE_UPDATE","IMPORTAR_LOTE_UPDATE_PROGRESS","IMPORTAR_LOTE_UPDATE_STATUS","IMPORTAR_LOTE_UPDATE_FILES","IMPORTAR_LOTE_SUCCESS","IMPORTAR_LOTE_LOG_ERROR","IMPORTAR_LOTE_LOG_ERROR_RENEW","IMPORTAR_LOTE_ERROR","IMPORTAR_LOTE_NESTLE_REQUEST","PUT_LISTAS_REQUEST","PUT_LISTAS_RENEW","PUT_LISTAS_SUCCESS","PUT_LISTAS_ERROR","PATCH_LISTA_STATUS_REQUEST","PATCH_LISTA_STATUS_RENEW","PACTH_LISTA_STATUS_SUCCESS","PATCH_LISTA_STATUS_ERROR","PATCH_LISTA_ENVIO_RPA_REQUEST","PATCH_LISTA_ENVIO_RPA_SUCCESS","PATCH_LISTA_ENVIO_RPA_ERROR","PATCH_LISTA_ENVIO_RPA_RENEW","PATCH_STATUS_RPA_REQUEST","PATCH_STATUS_RPA_SUCCESS","PATCH_STATUS_RPA_ERROR","PATCH_STATUS_RPA_RENEW","DELETE_LISTA_REQUEST","DELETE_LISTA_SUCCESS","DELETE_LISTA_RENEW","DELETE_LISTA_ERROR","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR","PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW","INITIAL_STATE","loading","uploadLoading","getRelatorioLista","success","response","unsuccessResponse","isError","getArquivoOriginalLote","listas","totalCount","listasRpa","beneficiario","statusLists","availables","actives","postSalvarBeneficiarioInativos","postPesquisaBeneficiario","grupoFamiliar","loadFamiliar","details","create","putListas","patchListaStatus","postArquivoImportacao","postImportarLoteCsv","postImportarLote","tipoMovimentacao","files","isPartialSuccess","logError","getListas","deleteLista","patchListaEnvioRPA","getListasRPA","patchStatusRPA","postListaTransferencia","getRelatorioRPA","getListaDetalhe","patchValidacaoListaTransferencia","getListaMassaInicial","getArquivoMassaInicial","MassaInicial","post","idLista","patch","Creators","deleteListaCsv","params","type","payload","getDownloadArquivoLoteOriginal","getDownloadArquivoLoteOriginalSuccess","getDownloadArquivoLoteOriginalError","getDownloadArquivoLoteOriginalRenew","postRelatorioResumidoNovoRequest","tipoRelatorio","postRelatorioResumidoNovoSuccess","postRelatorioResumidoNovoError","postRelatorioResumidoNovoRenew","postRelatorioDetalhadoNovoRequest","postRelatorioDetalhadoNovoSuccess","postRelatorioDetalhadoNovoError","postRelatorioDetalhadoNovoRenew","postSearchListRpaRequest","postSearchListRpaResponse","postSearchListRequest","postSearchListResponse","getStatusListRpaRequest","getStatusListRpaResponse","getStatusListContratanteRequest","idContrantante","mostrarListaFake","getStatusListContratanteResponse","getStatusListAdminRequest","getStatusListAdminResponse","getStatusListNestleRequest","getStatusListNestleResponse","getListasRequest","TipoStatus","getListasSuccess","getListasError","postListaInativasRequest","contratante","postListaInativasSuccess","putListaInativasRequest","putListaInativasSuccess","getListaInativasRequest","getListaGrupoFamiliarRequest","id","getListaGrupoFamiliarSuccess","getListaInativasSuccess","getListaBeneficiarioRequest","getListaBeneficiarioRenew","postSalvarBeneficiarioInativosRequest","setFamiliar","param","postFamiliarRequest","beneficiarios","postFamiliarResponse","arguments","undefined","postSalvarBeneficiarioInativosSuccess","postSalvarBeneficiarioInativosError","getListaBeneficiarioSuccess","getListasPorStatusRequest","cpf","getListasPorStatusSuccess","getListasPorStatusError","postArquivoImportacaoRequest","novoArquivoRequest","postArquivoImportacaoSuccess","postArquivoImportacaoError","importarLoteRequest","importarLoteCsvRequest","importarLoteCsvSuccess","isSuccess","validarLoteCsvRequest","importarLoteSuccess","importarLoteLogError","filename","importarLoteLogErrorRenew","importarLoteRenew","importarLoteUpdate","importarLoteUpdateProgress","progress","importarLoteUpdateStatus","idFile","uploaded","importarLoteUpdateFiles","importarLoteError","putListasRequest","putListasRenew","putListasSuccess","newListas","putListasError","patchListaStatusRequest","patchListaStatusRenew","patchListaStatusSuccess","patchListaStatusError","deleteListaRequest","deleteListaSuccess","deleteListaRenew","deleteListaError","patchListaEnvioRPARequest","isActive","patchListaEnvioRPASuccess","patchListaEnvioRPAError","patchListaEnvioRPARenew","getListasRPARequest","getListasRPASuccess","getListasRPAError","getListasRPAPorStatusRequest","getListasRPAPorStatusSuccess","getListasRPAPorStatusError","patchStatusRPARequest","tipoStatus","patchStatusRPASuccess","patchStatusRPAError","patchStatusRPARenew","getRelatorioRPARequest","getRelatorioRPASuccess","getRelatorioRPAError","getRelatorioRPARenew","getListaDetalheRequest","getListaDetalheSuccess","getListaDetalheError","getListasMassaInicialRequest","getListasMassaInicialError","getListasMassaInicialSuccess","getArquivoMassaInicialRequest","idArquivo","nomeArquivoDownload","getArquivoMassaInicialError","getArquivoMassaInicialSuccess","postArquivoMassaInicialRequest","body","postArquivoMassaInicialRenew","postArquivoMassaInicialSuccess","postArquivoMassaInicialError","getTermoResponsabilidadeMassaInicialRequest","getTermoResponsabilidadeMassaInicialError","getTermoResponsabilidadeMassaInicialSuccess","patchValidacaoListaTrasnferenciaRequest","patchValidacaoListaTrasnferenciaSuccess","patchValidacaoListaTrasnferenciaError","patchValidacaoListaTrasnferenciaRenew","patchAceiteCompartilhamentoMassaInicialRequest","patchAceiteCompartilhamentoMassaInicialError","patchAceiteCompartilhamentoMassaInicialSuccess","patchAceiteCompartilhamentoMassaInicialRenew","postArquivoImportacaoNestleRequest","checkBenefiarioInativos","idBeneficiario","socketMiddleware","storeAPI","next","async","action","ListaTypes","connection","on","resp","progressValue","dispatch","ListaActions","postWebhookEventHeader","getWebhookEventHeaderList","putWebhookEventHeader","deleteWebhookEventHeader","postWebhookEventHeaderResponse","webhookEventId","getWebhookEventHeadersListResponse","putWebhookEventHeaderResponse","idWebhookEventHeader","deleteWebhookEventHeaderResponse","REACT_APP_IDENTIFIER_CONTRATANTE","process","ModalContext","createContext","movcad","movPrimary","movRed90","movRed80","movRed70","movRed60","movSecondary","movGrey90","movGrey80","movGrey70","movGrey60","movYellowDefault","movYellow90","movYellow80","movYellow70","movYellow60","movBlack","movBlack90","movBlack80","movBlack70","movBlack60","movBlue","movBlue30","greenDefault","greenPressed","greenLight","orangeDefault","purpleDefault","pinkDefault","redLight","primaryHover","contrastColor","whiteDefault","yellowTheme","yellowPressed","bgHighlight","bgGrayFooter","bgGrayDisabled","blueDefault","bluePressed","grayDefault","grayLigth","textGray","textGrayDisabled","textSidebarDisabled","textSupp","bgGray","bgWhite","bgCream","bgInput","redPressed","lightblueDefault","borderGray","borderGrayLight","borderGrayLighter","borderGrayCollapse","statusYellow","transparent","shadowDefault","shadowHover","titleGray","inputBackgroundGray","dropdownBorderGray","dropdownBackgroundGray","dropdownBackgroundWhite","dropdownColorGray","white","redDefault","red","red100","red200","red300","red400","red500","red600","red700","red800","red900","red1000","greenHover","greenLink","greenDisabledLoading","greenDisabled","green1","green100","green200","green221","green250","green300","green400","green500","grey","grey100","grey200","grey210","grey300","grey400","grey410","grey500","grey600","movGrey","grey1","grey2","greyBorder","greyText","greyRadio","greyBack","greyDisable","colorGray","lightGrey","blue","blue100","blue200","blue300","blue400","blue500","blueA300","yellow","yellow100","yellow200","yellow300","yellow400","yellow500","yellowDefault","yellowInfo","orange200","orangeA400","toastSuccess","toastWarning","toastError","toastInfo","buttonConfirm","buttonConfirmHover","buttonCancel","buttonCancelHover","buttonInfo","buttonInfoHover","pink","lightPink","fontExtrabold","fontBold","fontSemibold","fontRegular","fontLight","theme","styled","div","_templateObject","_taggedTemplateLiteral","position","css","_templateObject2","left","_templateObject3","_ref3","top","_templateObject4","_ref4","maxHeight","_templateObject5","_ref5","maxWidth","_templateObject6","_ref6","height","_templateObject7","_ref7","width","_templateObject8","_templateObject9","ModalHeaderContainer","_templateObject10","_ref8","background","_templateObject11","_ref9","justifyContent","_templateObject12","_ref10","padding","_templateObject13","ModalContentWrapperContainer","_templateObject14","_ref11","_templateObject15","_ref12","paddingTop","_templateObject16","_ref13","display","_templateObject17","_ref14","_templateObject18","ModalContentContainer","_templateObject19","_ref15","isModalWithWarning","_templateObject20","_templateObject21","_ref16","overflow","_templateObject22","_templateObject23","_ref17","_templateObject24","_templateObject25","_ref18","_templateObject26","_templateObject27","_ref19","_templateObject28","_templateObject29","ModalFooterContainer","_templateObject30","_ref20","_templateObject31","_ref21","_templateObject32","_ref22","_templateObject33","_ref23","marginBottom","_templateObject34","_ref24","paddingBottom","_templateObject35","ModalHeader","children","disabled","onClick","useContext","React","createElement","MdClose","_","e","ModalContentWrapper","ModalContent","ref","ModalFooter","alignItems","Container","button","border","concat","font","color","borderRadius","opacity","marginLeft","marginRight","Button","text","props","Object","assign","ContentText","TextSucesso","Text","loggedIn","usuario","accessToken","accessTokenExpiration","refreshToken","refreshTokenExpiration","userType","token","getChangeToken","postLogin","postRecaptchaVerify","getRecuperarSenha","postRecuperarSenha","auth","signInSuccess","signOut","signOutLegadoRequest","invalidToken","queryParams","usuarioParams","postLoginSuccess","changePassword","postLoginError","postRecaptchaVerifySuccess","postRecuperarSenhaSuccess","getRecuperarSenhaSuccess","handleSignOut","Fragment","tipo","alignCenter","justifyCenter","ModalSessionExpired","isOpen","useDispatch","Modal","footer","AuthActions","FaClock","USER_KEY","key","name","port","ports","REACT_APP_SECRET","getLocalObj","sessionStorage","getItem","decryptObject","encryptedString","encryptionKey","decryptedString","CryptoJS","AES","decrypt","enc","Utf8","parse","getUserData","getTokenAccessToken","access_token","getTokenExpirationDate","expiration","isAccessTokenValid","isBefore","Date","parseISO","getRefreshToken","refresh_token","movcadUpt","setItem","persistData","encryptData","encryptObject","object","objectString","encrypt","excludeData","removeItem","setAuthorization","config","headers","Authorization","TokenExpirationTimer","timeLeft","setTimeLeft","useState","showModal","setShowModal","useEffect","interval","setInterval","duration","intervalToDuration","start","end","hours","minutes","seconds","formattedTimeLeft","clearInterval","logOut","setData","newConfig","url","snakeCaseKeys","paramsSerializer","p","qs","skipNulls","arrayFormat","setAxiosRequestConfig","errorHandler","redirect","push","setAxiosResponseConfig","camelcaseKeys","deep","REACT_APP_BASEURL","REACT_APP_MOVCAD_LEGACY","legado","axios","baseURL","OAuth","Accept","pjson","version","OAuthNewToken","listasAPI","requisitionAPI","WebhookIntegrationAPI","WebhookEventIntegrationAPI","WebhookEventHeaderIntegrationAPI","TaskAPi","ArquivoUploadAPI","listasMassaInicialAPI","contratantesAPI","UsuariosAPI","BeneficiariosAPI","ParametroAPI","RelatoriosAPI","CheckListDocumentosAPI","ListaInativosAPI","interceptors","request","use","ToastContainer","attrs","autoClose","WarningToastContainer","RiErrorWarningLine","ErrorToastContainer","GiCancel","SuccessToastContainer","BiCheckCircle","InfoContainer","WarningToast","ErrorToast","SuccessToast","Toast","getWebhookEventHeadersList","call","get","put","WebhookEventHeaderIntegration","toast","delete","postWebhookEvent","getWebhookEventList","putWebhookEventIntegration","deleteWebhookEventIntegration","postWebhookEventIntegrationResponse","webhookId","getWebhookEventsListResponse","putWebhookEventIntegrationResponse","idWebhook","deleteWebhookEventIntegrationResponse","WebhookEventIntegration","deleteWebhookEvent","idWebhookEvent","putWebhookEvent","error_message","postWebhook","getWebhookConfiguration","putWebhookIntegration","getWebhookListEvents","postWebhookIntegrationRequest","getWebhookConfigurationRequest","getWebhookConfigurationResponse","getWebhookListEventsRequest","getWebhookListEventsResponse","getWebhookEventsList","WebhookIntegration","deleteWebhook","putWebhook","responseUsuarioEspelho","usuarioEspelho","isPatchLiberarAcessoSuccess","isPatchInativarAtivarSuccess","isPatchRegistrarContato","isPatchSenha","unsucessResponse","newUsuario","patchStatusUsuario","patchLiberarAcesso","getConsultaUsuarios","getUsuarioById","getContatoById","getDadosAcessoById","getHistoricoMovimentacoes","getGrupoContratantes","getContratantes","patchDadosGerais","patchRegistrarContato","patchDadosAcesso","patchSenha","postParametrizacaoContratante","getParametrizacaoUsuario","getContratantesUsuario","getParametrizacaoCards","postParametrizacaoUsuario","uniqueId","getParametrizacaoNode","putParametrizacaoUsuario","postAtualizarSessaoLegado","getParametrizacaoCardsCompleto","patchParametrizacaoInativar","saveParametrizacaoCards","isSaveAll","getAndBuildParametrizacaoCards","getConsultaUsuariosRequest","getConsultaUsuariosSuccess","getConsultaUsuariosPorStatusSuccess","usuarios","patchLiberarAcessoRenew","patchLiberarAcessoSuccess","idUsuario","getUsuarioByIdSuccess","usuarioById","getUsuarioByIdError","patchStatusRequest","patchStatusRenew","patchStatusSuccess","criarUsuarioSuccess","criarUsuarioError","criarUsuarioRenew","patchRegistrarContatoRequest","contatos","patchRegistrarContatoSuccess","getContatoByIdSuccess","contatoById","getContatoByIdError","patchSenhaRequest","senha","novaSenha","confirmacaoSenha","patchSenhaRenew","patchSenhaSuccess","getDadosAcessoByIdSuccess","getDadosAcessoByIdError","patchDadosGeraisRequest","patchDadosGeraisRenew","patchDadosGeraisSuccess","patchDadosGeraisError","patchDadosAcessoRenew","patchDadosAcessoSuccess","patchDadosAcessoError","getHistoricoMovimentacoesRequest","getHistoricoMovimentacoesSuccess","historicoMovimentacao","getHistoricoMovimentacoesError","postParametrizacaoContratanteSuccess","postParametrizacaoContratanteError","getParametrizacaoUsuarioSuccess","getParametrizacaoUsuarioError","getContratantesUsuarioSuccess","getContratantesUsuarioError","getParametrizacaoCardsRequest","cards","getParametrizacaoCardsSuccess","getParametrizacaoCardsError","postParametrizacaoUsuarioSuccess","hasValidationErros","errors","postParametrizacaoUsuarioError","putParametrizacaoUsuarioSuccess","putParametrizacaoUsuarioError","getParametrizacaoNodeSuccess","getParametrizacaoNodeError","parametrizacaoNodeRenew","postAtualizarSessaoLegadoSuccess","postAtualizarSessaoLegadoError","getParametrizacaoCardsCompletoRequest","idCard","idParametrizacao","patchParametrizacaoInativarRequest","patchParametrizacaoInativarSuccess","saveParametrizacaoCardsRequest","postCards","putCards","saveParametrizacaoCardsSuccess","hasValidationErrors","getAndBuildParametrizacaoCardsSuccess","getAndBuildParametrizacaoCardsError","patchAtualizarTipoPerfilRequest","newRoles","postClonarUsuarioEspelhoRequest","idUsuarioEspelho","usuarioEspelhoRenew","responseHandler","objRequest","objReference","methodName","statusResponse","o","index","reference","errorOn","responseHandlerGet","statusCode","validationPattern","regexValidate","charValidate","camelValidate","numberValidate","symbolValidate","changePasswordValidate","isEmail","email","match","isNumber","number","isValidMesmoTelefone","telefone","isValidTelefone","isLengthTelefone","substring","isSequenciaIgualTelefone","isValidMesmoCelular","celular","isValidCelular","isLengthCelular","isSequenciaIgualCelular","isPartialEmail","includes","isChangePassword","password","signIn","tokenData","jwtDecode","idUsuarioLogado","id_usuario_logado","login","unique_name","nome","given_name","role","codigoContratante","NomeContratante","nomeEmpresa","GrupoContratante","UsuarioActions","refreshInvalidToken","select","state","requestBody","UserId","Validate","GrantType","RefreshToken","UserType","TipoPerfilUsuarioEnum","returnNameForRefresh","retry","trim","window","location","reload","queryUsuarioParams","bt_alteracao_senha","message","title","path","addQueryPrefix","signOutLegado","console","log","nomeLista","all","lista","getDownloadArquivoOriginalLote","postRelatorioResumidoNovo","postRelatorioDetalhadoNovo","postSearchListRpa","idsListas","listasSinalizadas","ids_lista","listaSinalizada","find","getStatusListRpa","description","count","reduce","accumulator","currentValue","postSearchList","getStatusListContratante","parseInt","getStatusListNestle","getStatusListAdmin","values","queryString","StatusListaAPIEnum","idStatus","findKey","dataLista","postListaInativas","solicitante","getListaInativas","putListaInativas","modalidade","descricao","getListaBeneficiario","Error","postFamiliar","getListaGrupoFamiliar","getListaPorStatus","dataUsuarios","arquivo","nomeArquivo","idHub","Messages","validarLoteCsv","isLoteSuccess","newFiles","fileToBase64","fileListaRequest","nome_arquivo","codigo_contratante","TipoMovimentacao","newFile","err","log_errors","status_progress","erros_base64","every","importarLoteCsv","id_usuario_solicitante","criar_lista","setTimeout","go","importarLote","newLista","cdContratante","tipoLista","TipoLista","nmLista","connectionId","idStatusLista","dcDescricao","listasComIdLista","ativo","idStatusRpa","StatusListaRPAEnum","statusEnvioRpa","getListaPorStatusRPA","getTermoResponsabilidadeMassaInicial","postArquivoMassaInicial","isValid","validationResult","errorMessage","a","patchAceiteCompartilhamento","postArquivoImportacaoNestle","arquivoNestle","getModalidadesSuccess","consultaModalidades","getInativos","inativos","modalidades","dataModalidades","ModalidadeActions","BASE_PATH","checkAllNested","options","check","subOptions","sub","countAllNested","s","isHeader","countAllParents","pathToAtual","value","option","checkAllParents","pathName","handleContagem","card","tipoParametrizacao","TipoCardRoot","handleContagemContratante","handleContagemComplemento","_card$options$","contagem","contratantes","termos","_a$subOptions$","_sub$subOptions$","_sub","_card$options$2","_sub$subOptions$2","unCheckIfAllUnchecked","slice","setPath","nivel","Section","contratantePath","modalidadePath","termoPath","Header","Content","TipoConsultaParametrizacaoEnum","emptyCard","previousPath","currentPath","nextPath","removeCheck","nodeLoading","cardLoading","hasSubOptions","setNivelHeader","selectedCard","checkAll","setNivelContent","objNivel","nomeContratante","numeroInscricao","inativado","novo","nextRequest","codigoModalidade","codigoTermo","isLast","getParametrizacaoRoot","_selectedCard$options","_selectedCard$complem","_selectedCard$complem2","_selectedCard$complem3","contratanteCheckAll","contratanteNodeArray","_a$subOptions$2","modalidadeCheckAll","modalidadeNodeArray","_sub$subOptions$3","termoCheckAll","termoNodeArray","termoNode","modalidadeNode","parametrizacaoRoot","codigoGrupo","complemento","nomeGrupo","codigoComplemento","contratanteNode","setComplemento","_selectedCard$options2","_selectedCard$contrat","_selectedCard$contrat2","_selectedCard$contrat3","_sub$subOptions$4","setContratante","setParametrizacaoNivel","parametrizacaoNivel","parametrizacao","_parametrizacao$compl","_parametrizacao$compl2","_parametrizacao$compl3","_parametrizacao$compl4","_parametrizacao$contr","_parametrizacao$contr2","_parametrizacao$contr3","_parametrizacao$contr4","cardHeader","contagemId","setCard","isEditar","listaContratantes","setTree","checkados","newSubOptions","c","treeBuilder","contratanteNodes","contratanteIndex","modalidadeNodes","modalidadeIndex","termoNodes","termoIndex","termoCount","termoHeader","modalidadeCount","modalidadeHeader","contratanteCount","treeBuilderComplemento","_object$contratanteNo","_object$contratanteNo2","treeBuilderContratante","setCardContagem","getGrupoComplementos","getContratanteModalidades","getModalidadeTermos","getGrupoContagem","getContratanteContagem","getGrupoComplementosSuccess","grupoComplementos","getGrupoComplementosError","getContratanteSuccess","getContratanteError","getGrupoContratantesSuccess","grupoContratantes","getGrupoContratantesError","getContratanteModalidadesSuccess","contratanteModalidades","getContratanteModalidadesError","getModalidadeTermosSuccess","modalidadeTermos","getModalidadeTermosError","getGrupoContagemSuccess","getGrupoContagemError","getContratanteContagemSuccess","getContratanteContagemError","cardIds","rowsChecked","parametrizacaoSetPath","parametrizacaoSetSelectedOption","parametrizacaoRootRenew","parametrizacaoSetLoading","parametrizacaoSetLoadingCards","parametrizacaoSetCardCompleto","newCards","isParametrizacaoEspelho","contagemCards","getParametrizacaoGrupoComplementoCompletoSuccess","getParametrizacaoGrupoComplementoCompletoError","getParametrizacaoContratanteCompletoSuccess","getParametrizacaoContratanteCompletoError","legacyURL","getAuth","TipoStatusEnum","objResp","getConsultaUsuarioPorStatus","paramsPayload","newParams","patchStatus","tipoStatusUsuario","criarUsuario","matricula","tipoPerfilUsuario","_data$cards","contato","numero","ddd","newPassword","_error$response","_error$response$data","_error$response$data$","tipoPerfil","rest","oldIdParametrizacao","newIdParametrizacao","isInvalid","newResponse","forEach","r","_a$data$validationRes","responseErrors","_a$data$validationRes2","ContratanteActions","parametrizacaoCards","grupoComplementoCard","contratanteCard","node","nodes","userData","requestObject","headersRequest","_a$data$validationRes3","_a$data$validationRes4","treeContent","patchParametrizacaoAdmInativar","refreshPage","putCardsIds","postCardsIds","cardsResponse","Card","Tree","g","cardCompleto","getUsuarioEspelho","patchAtualizarTipoPerfil","tiposPerfil","postClonarUsuarioEspelho","_a$data$validationRes5","_card$complemento","_card$complemento2","_card$contratante","getParametrizacaoGrupoComplementoCompleto","qp","treeObject","totalizadorParametrizacao","totalContratantes","totalModalidades","totalTermos","getParametrizacaoContratanteCompleto","getListaArquivos","dados","getArquivo","taskId","getAtualizacaoDeRelatorioSuccess","getListaArquivosRequest","paginaInicial","quantidadeMaximaPorPagina","getListaArquivosSuccess","arquivoId","getArquivoSuccess","getAtualizacaoDeRelatorio","ArquivoUploadActions","getPermissaoSegundaVia","postRelatorioSegundaVia","getBeneficiarios","deleteSegundaVia","postSegundaViaCartao","getSegundaViaCartao","getAnexoSegundaVia","putSegundaViaCartao","postProcessarSegundaVia","getPermissaoSegundaViaRequest","getPermissaoSegundaViaSuccess","getPermissaoSegundaViaError","postSolicitarRelatorioSegundaViaRequest","postSolicitarRelatorioSegundaViaSuccess","postSolicitarRelatorioSegundaViaError","postSolicitarSegundaViaRequest","postSolicitarSegundaViaSuccess","postSolicitarSegundaViaError","postBeneficiarioSegundaViaRequest","postBeneficiarioegundaViaSuccess","postBeneficiarioSegundaViaError","deleteSegundaViaRequest","deleteSegundaViaSuccess","deleteSegundaViaError","deleteSegundaViaAnexoRequest","deleteSegundaViaAnexoSuccess","deleteSegundaViaAnexoError","getSegundaViaAnexoRequest","getSegundaViaAnexoSuccess","getSegundaViaAnexoError","putSegundaViaUpdateRequest","putSegundaViaUpdateSuccess","putSegundaViaUpdateError","postSegundaViaProcessarRequest","postSegundaViaProcessarSuccess","postSegundaViaProcessarError","postSegundaViaBuscarPorIdRequest","postSegundaViaBuscarPorIdSuccess","postSegundaViaBuscarPorIdError","postSegundaViaCartaoRequest","postSegundaViaCartaoSuccess","postSegundaViaCartaoError","RequisicaoActions","postSolicitarRelatorioSegundaVia","Detalhado","Resumido","postSolicitarSegundaVia","getBeneficiariosSegundaVia","postBeneficiarioegundaViaError","requisitionId","userId","getSegundaViaAnexo","deleteSegundaViaAnexo","putSegundaVia","postSegundaViaBuscarPorId","postSegundaViaProcessar","getDocumentosStatus","getBeneficiariesNestle","getDocumentoDetalhe","patchDocumentoConferencia","postDataBeneficiariesNestleSuccess","getDocumentosStatusSuccess","getDocumentoDetalheRequest","getDocumentoDetalheSuccess","getDocumentoDetalheRenew","patchDocumentoConferenciaSuccess","patchDocumentoConferenciaRenew","postDataBeneficiriesNestle","BeneficiarioActions","putReprocessarTask","getUltimoErroTask","putReprocessarTaskResponse","getUltimoErroTaskResponse","TasksActions","createActions","getParametrosRequest","getError","patchParametroRequest","renew","INICIAL_STATE","createReducer","GET_ERROR","GET_PARAMETROS_REQUEST","PATCH_PARAMETRO_REQUEST","SUCCESS","RENEW","callTriggerModal","callback","Footer","provider","document","querySelector","event","CustomEvent","bubbles","detail","dispatchEvent","modal","warning","ParametroActions","patchParametrosRequest","postRelatorioBeneficiarioRequest","postRelatorioBeneficiarioResponse","postRelatorioNestleRequest","postRelatorioNestleResponse","getUltimoRelatorioNestleRequest","getUltimoRelatorioNestleResponse","downloadRelatorioNestleRequest","getUltimoRelatorioNestle","POST_RELATORIO_BENEFICIARIO_REQUEST","POST_RELATORIO_BENEFICIARIO_RESPONSE","POST_RELATORIO_NESTLE_REQUEST","POST_RELATORIO_NESTLE_RESPONSE","GET_ULTIMO_RELATORIO_NESTLE_REQUEST","GET_ULTIMO_RELATORIO_NESTLE_RESPONSE","DOWNLOAD_RELATORIO_NESTLE_REQUEST","postRelatorioBeneficiario","RelatorioActions","postRelatorioNestle","sendEmail","_error$response2","_error$response2$data","_error$response2$data2","_error$response3","_error$response3$data","_error$response3$data2","_error$response4","_error$response4$data","_error$response4$data2","postDocumentosImportacaoRenew","postDocumentosImportacaoRequest","postDocumentosImportacaoResponse","postDocumentosImportacaoUpdateFile","getDocumentosBeneficiarioRequest","getDocumentosBeneficiarioResponse","getDocumentoPreviewRequest","getDocumentoPreviewResponse","postAtualizarDocumentoConferenciaRequest","postAtualizarDocumentoConferenciaResponse","postFinalizarConferenciaDocumentosRequest","postFinalizarConferenciaDocumentosResponse","documentosImportacao","documentoPreview","documentoConferencia","documentosBeneficiarios","header","finalizarConferenciaDocumentos","POST_DOCUMENTOS_IMPORTACAO_RENEW","POST_DOCUMENTOS_IMPORTACAO_REQUEST","POST_DOCUMENTOS_IMPORTACAO_RESPONSE","POST_DOCUMENTOS_IMPORTACAO_UPDATE_FILE","GET_DOCUMENTOS_BENEFICIARIO_REQUEST","GET_DOCUMENTOS_BENEFICIARIO_RESPONSE","GET_DOCUMENTO_PREVIEW_REQUEST","GET_DOCUMENTO_PREVIEW_RESPONSE","POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST","POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_RESPONSE","POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST","POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_RESPONSE","postDocumentosImportacao","isImportSuccess","fileFormat","DocumentoActions","getDocumentosBeneficiario","getDocumentoPreview","idDocumento","postAtualizarDocumentoConferencia","callbackSuccess","postFinalizarConferenciaDocumentos","putListaInativosAtualizarStatusRequest","putListaInativosAtualizarStatusResponse","putListaInativosAtualizarStatus","PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST","PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_RESPONSE","listaInativosActions","addParamsTermo","responsavel","ADD_PARAMS_TERMO","combineReducers","produce","_draft$response","listaGrupoFamiliar","grau","isChecked","fileAtual","_file$idLista","_file$idFile","hasError","fileName","GET_TERMO_RESPONSABILIDADEVO_MASSA_INICIAL_ERROR","arquivoTermo","extensaoArquivo","idListaMassaInicial","_action$payload$grupo","cardAtual","newTree","set","_action$payload$contr","selectedOptions","fullTree","_r$Card","_r$Card2","listasRPA","termoResponsabilidade","parametro","relatorio","documento","listaInativos","requisicao","arquivoUpload","existingIndex","findIndex","task","webhookIntegration","webhookEventIntegration","webhookEventHeaderIntegration","middlewares","sagaMiddleware","createSagaMiddleware","sagaMonitor","store","createStore","reducers","persistReducer","storage","whitelist","compose","applyMiddleware","persistor","persistStore","run","takeLatest","WebhookEventsHeaderTypes","WebhookEventsTypes","WebhookTypes","AuthTypes","ModalidadeTypes","UsuarioTypes","takeEvery","ContratanteTypes","RequisicaoTypes","ArquivoUpload","TasksTypes","BeneficiarioTypes","ParametroTypes","RelatorioTypes","DocumentoTypes","ListaInativosTypes","downloadFile","extension","temp","base64File","types","JPG","JPEG","PDF","PNG","TIFF","CSV","TXT","XLSX","replaceAll","toUpperCase","prepareBase64File","download","href","appendChild","click","removeChild","REACT_APP_SIGNALR","REACT_APP_BASEURL_LOCAL","useSignalR","setConnection","hubName","socketConnection","signalR","configureLogging","Debug","withUrl","build","keepAliveIntervalInMilliseconds","serverTimeoutInMilliseconds","then","catch","stop","useMovimentacao","useSelector","BuildConnection","OpenConnection","CloseConnection","setValidacao","acao","MovimentacaoListaEnum","maxSizeFiles","maxQuantityFiles","validExtension","setParams","useCallback","handleFiles","conn","setDispatch","getErrors","validation","fileErrors","hasMaxQuantity","hasMaxSize","hasValidExtension","sendToValidacao","statusLista","statusExecucao","StatusExecucaoEnum","sendToCsv","user","sendToProcessamento","sendValidacaoTransferencia","setContentText","setModeloPadrao","modeloImportarLote","modeloImportarLoteCsv","modeloImportarLoteNestle","modeloImportarLoteTransferencia","setErrors","setAfterLoading","handleDeleteFiles","Array","isArray","setDescricao","newDescricao","setTipoEnvio","tipos","StatusEnvioListaEnum","isContratante","isAdmin","Administrador","Adm","isContratanteNestle","ContratanteNestle","contratanteNestle","hasOwnProperty","test","isOldAdmin","nameid","isLegacyUser","fadeIn","keyframes","FadeIn","minHeight","CardFilterContentContainer","CardFilterHeaderContainer","CardFilterFooterContainer","paddingLeft","CardFilter","CardFilterContent","CardFilterHeader","CardFilterFooter","DatePicker","minDate","onChange","required","datepickerRef","useRef","fieldName","registerField","defaultValue","useField","current","CalendarDate","className","minDetail","clearIcon","calendarIcon","AiOutlineCalendar","dayPlaceholder","monthPlaceholder","yearPlaceholder","showLeadingZeros","locale","label","margin","marginTop","lighten","ErrorMessage","span","LabelContainer","displayText","handleClick","lineHeight","stopPropagation","ComboDatePicker","FilterExtends","isGetModalidadesSuccess","handleGetModalidadesByContratante","setSearchBoxValue","cleanFilterParams","showwFilterNomeArquivo","optionsTipo","onClickOption","handleSelectedTipo","optionsMovimentacao","handleSelectedMovimentacao","optionsVencidas","handleSelectedListasVencidas","optionsRN412","handleSelectedRN412","registerNomeBeneficiarioCartao","registerContratante","registerArquivo","registerTipos","registerMovimentacao","registerModalidades","registerTermos","registerVencidas","registerRN412","selectedMovimentacao","setSelectedMovimentacao","selectedTipo","setSelectedTipo","selectedModalidade","setSelectedModalidade","selectedTermo","setSelectedTermo","inputContratante","setInputContratante","inputNomeBeneficiarioCartao","setInputNomeBeneficiarioCartao","inputNomeArquivoMovimentacao","setInputNomeArquivoMovimentacao","selectedListasVencidas","setSelectedListasVencidas","selectedRN412","setSelectedRN412","disableImportarCriacao","setDisableImportarCriacao","disableImportarAtualizacao","setDisableImportarAtualizacao","dates","setDates","dataCriacaoDe","dataCriacaoAte","dataAtualizacaoDe","dataAtualizacaoAte","texto","shapeModalidades","modalidadesParam","modalidadesInativos","termo","WrapperFlex","flexWrap","justifyStart","TextField","labelText","typeTextField","target","handleInputNomeBeneficiarioCartao","placeholder","register","Dropdown","CanAccess","checkRole","userRole","handleInputContratanteChange","onBlur","ComboModalidadeTermo","setModalidade","setTermo","handleInputNomeArquivoMovimentacao","paddingRight","shapeFile","readableSize","preview","URL","createObjectURL","uuidv4","customValidations","filesInput","invalidCallback","filteredFiles","split","pop","toLowerCase","TemplateDownloadText","modeloPadrao","contentModeloPadrao","ModalFileImport","contentText","setListaFiles","importFiles","applyValidation","justifyContentFooter","ImportBox","templateDownloadText","ContentFile","MyContentFile","onClickCancel","FileUpload","fileSize","uploadProgress","finishedLoadingFiles","gap","ModalFileLoading","ImportarListas","_g","_g2","_setValidacao","_setValidacao2","_setValidacao3","acaoAtual","openFileImport","openFileLoading","onClickFileImport","onClickFileLoading","handleCancel","setAfterLoadingCallback","_extends","bind","i","source","prototype","apply","this","SvgReplay","svgRef","enableBackground","viewBox","fill","d","ForwardRef","forwardRef","SvgUpload","_path","_path2","SvgCancel24Px","SvgDoubleArrow","legacyRoutes","Home","ConsultaLista","Segundavia","ConsultaBeneficiarios","CadastrarLista","CadastrarListaTitularUSP","CadastrarListaDependenteUSP","ConfiguracaoLogin","ImageWrapper","ContentTextWrapper","translucent","ImageCard","imageUrl","Image","src","imgPlaceholder","alt","ContainerInativos","ModalInclusaoUspLista","style","textDecoration","Upload","ModalAcaoLista","isInclusaoUspOpen","setIsInclusaoUspOpen","toggleModalInclusaoUspLista","_lista$response","Replay","Cancel","DoubleArrow","FiAlertTriangle","rotate","ContainerEmptyContent","HoverActions","AiOutlineUnlock","stroke","pencil","briefcase","deleteOutline","cancelOutline","svg","cursor","Icon","icon","xmlns","xmlnsXlink","iconPath","data-testid","animation","input","flex","column","wrap","overflowHidden","marginSides","paddingSides","justifySpaceBetween","justifyEnd","justifySpaceAround","justifySpaceEvenly","alignStart","alignEnd","fullWidth","halfWidth","percentage","_templateObject36","desktopOnly","_templateObject37","_templateObject38","_templateObject39","_templateObject40","_templateObject41","rotate360","LoadingSpinner","AiOutlineLoading3Quarters","TableListaHeader","tabName","handleCheckAll","isCheckedAllPages","TableRow","TableHeader","widthAuto","Checkbox","checked","minWidth","TableLista","pageData","setPaginationParams","paginationParams","handlePageChangeKeyDown","handleConfirmAction","handleAcaoListas","listasSize","handleChangePage","reportsItems","setReportItems","handleCheckBoxAllPagesReport","handleDropdownItemClick","downloadFileOriginLot","setCheckAll","listaRowsChecked","setListaRowsChecked","handleUncheckAll","startIndex","endIndex","currentPageItems","filteredItems","selectedItem","isAllPageItemsChecked","optionsButtonRPA","SetAllLista","totalSize","Alerts","Table","head","handleCheckAllChange","min","TableContent","fontHeader","MdFileDownload","Pagination","callbackChangePage","hoverAction","setHoverAction","redirectToDetalheLista","listaArg","dcTipoAcao","replace","movimentacoes","dcMovimentacoes","join","listaIsFake","endsWith","onMouseEnter","onMouseLeave","TableCell","isCheckeed","handleItemCheck","activeAction","nmContratante","dtInclusao","format","timeZone","dtEnvio","dtVencimento","TableListaActions","listaStatus","listaStatusRPA","btEnvioRpa","tipoAcao","dcStatusRpa","possuiSinalizacao","Tooltip","MdInfo","EmptyContent","fullHeight","cheked","MdAdb","ImPencil","ActionPorStatus","IconPorStatus","PendentedeProcessamento","handleToolTipTextPorStatus","data-tip","TabTableLista","handleAcaoListaById","setIsCheckedAllPages","newPaginationParams","LoadingSpinning","paramsPag","handleRender","qtdListas","hasFake","SINGULAR","closeModal","onClickOk","ButtonContainer","StatusList","IsAdm","page_number","page_size","is_nestle_query","movement_list_filter","is_admin","list_name","beneficiary_name_or_number_card","type_list","type_action","contractor_code","modality_code","term_code","expired","r_n412","file_name_movement","start_created_date","end_created_date","start_update_date","end_update_date","show_fake_list","handleActiveSearches","active","todosActive","availableTodos","idActives","restTodos","newActiveSearches","handleClickAvailable","available","nonZeroItems","zeroItems","handleAvailableSearches","bold","Badge","cursorPointer","showBtnRemove","handleClickActive","ModalCancelActionFooter","isLoading","ConsultaListas","getListasRedux","openFilterExtends","setOpenFilterExtends","inputValue","setInputValue","cancelFilterExtendsOpen","setCancelFilterExtendsOpen","openImportarLote","setOpenImportarLote","setOpenFileLoading","isAcaoOpen","setIsAcaoOpen","setAcaoAtual","oldFilterExtendsParams","nomeBeneficiario","cartaoBeneficiario","idTipoMovimentacao","vencida","rn412","nomeArquivoMovimentacao","nomeGrupoContratante","filterExtendsParams","paginationTabParams","optionsButtonDropdown","getAcaoLista","oldFilterParams","setOldFilterParams","filterParams","setFilterParams","listaAction","setListaAction","relatoriosLoading","setRelatoriosLoading","resumido","detalhado","reportExtendsParams","is_administrator","is_detailed","list_ids","paginationRequest","openModalSuccess","setOpenModalSuccess","openModalCancelAction","setOpenModalCancelAction","textHeader","searchBoxActive","setSearchBoxActive","reportParams","setReportParams","handleFilterExtends","handleInputChange","handleInputKeyDown","keyCode","totalStatus","newFilterParams","listasPermitidas","actionLista","setListaActionToDispatch","l","Cancelar","handleModalSuccess","toggleModalAcaoLista","toogleModalFileLoading","toogleModalImportar","handleModalCancelAction","acoes","fileContents","fileDownload","fileDownloadName","contentType","encodeURIComponent","batch","Title","fontSize","percentageWidth","MdFileUpload","AiOutlinePlus","Breadcrumbs","crumbs","onNavigate","row","SearchBox","isPressed","onKeyDown","onClearInputs","IconFilter","MdFilterList","IconSearch","MdSearch","Form","onSubmit","boolPorTexto","Sim","Não","contractorOrAdm","nomeBeneficiarioCartao","TipoListaEnum","movimentacao","handleData","FilterExtendsLista","preventDefault","ModalEnviarListaRpa","setAcaoLista","handleChangeTab","nameTab","nameTabCapitalize","charAt","oldParams","newLoading","LogsFileErrorStorage","logs","center","useModal","initialState","modalParams","setModal","toogleModal","newModalParams","useQueue","queueLength","queue","setQueue","hasFinish","setHasFinish","reset","q","trigger","newQueue","inputColorGray","textAlign","percentageMobile","Input","handleChange","letterSpacing","TextArea","multiline","ButtonRemove","BsTrash","HiddenInput","IconContainer","UploadBox","setFiles","uploadError","setUploadError","fileInputRef","fileArray","onDragOver","onDragEnter","onDragLeave","onDrop","dataTransfer","multiple","UploadFileLoading","BsCheckCircle","CollapseListaDetalhe","uploadSuccess","onClickHandleCancelList","Collapse","CollapseHeader","CollapseContent","flexStart","ContentWarning","ModalSuccess","alert","FaRegCheckCircle","DetalheListas","isPostArquivoImportacaoSuccess","addSuccess","removeSuccess","finishSuccess","setFinishSuccess","updateSuccess","resetSuccess","initialData","setInitialData","isOnlySave","setIsOnlySave","handleInitialData","initialDataObj","renewActions","IoMdCheckboxOutline","FaThumbsUp","themes","defaultActive","ActionWrapper","ContentWrapper","ContentContainer","ActionContext","TabButton","TabActionWrapper","nameButton","child","isValidElement","cloneElement","setActive","handleActiveEvent","TabContentWrapper","contentFor","setDisplay","TabContainer","setName","parentElement","Provider","defaultProps","Message","ModalError","VscError","ModalCancelAction","DropDownContext","useOutsideClick","contains","addEventListener","removeEventListener","ul","invisibleScroll","SelectOption","li","DropdownHeader","cancelActive","whiteBackground","disable","whiteSpace","OptionContainer","_ref25","_ref26","_ref27","_ref28","_ref29","DropDownWrapper","_ref30","_ref31","_ref32","_ref33","_templateObject42","_ref34","_templateObject43","_ref35","backgroundColor","_templateObject44","_ref36","_templateObject45","_ref37","_templateObject46","_ref38","_templateObject47","_ref39","_templateObject49","_templateObject48","Option","data-text","DropDownListContainer","DropDownHeader","inputRef","MdKeyboardArrowDown","DropDownContainer","setIsOpen","DropDown","headerText","overrideClick","getAttribute","dataset","SearchIconContainer","InputSearch","DropDownSearch","DropDownSearchBox","dropdownName","inputName","inputWidth","trackStyle","transition","right","bottom","zIndex","CustomScrollBars","thumbStyle","overflowX","overflowY","Scrollbars","getRef","onUpdate","scrollTop","scrollHeight","clientHeight","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","renderView","EmptyContentText","EmptyRow","marginUpDown","Skeleton","TableComplementoHeader","isCheckedAllComplemento","setIsCheckedAllComplemento","TableComplemento","_grupoComplementosPar","grupoComplementosParams","sizeData","setRowsChecked","isEmpty","TableContentComplemento","colSpan","setIsChecked","complementoState","setComplementoState","handleCheckedComplemento","newComplemento","newComplementoRowChecked","newDraft","u","complementoRowChecked","oldArray","isClickable","TableContratanteHeader","isCheckedAllContratante","setIsCheckedAllContratante","TableContratante","_contratanteParams$","contratanteParams","TableContentContratante","contratanteState","setContratanteState","handleCheckedContratante","newContratante","newContratanteRowChecked","contratanteRowChecked","TableContratantes","_contratanteParams$re","initialParams","TableUsuarioHeader","TableBody","selectedUser","handleCheckUser","TableUsariosEspelho","foot","TableUsuarioEspelhoBody","handleAdicionarModal","ModalConsultaContratantes","handleSearchTable","setTipoBusca","paramsPgs","ScrollBar","colorScroll","IconWrapper","HeaderIconsContainer","CardContratantesContentContainer","CardContratantesHeaderContainer","CardContratantes","contratanteHeader","cardType","onClickEditar","onClickSalvar","onClickExcluir","usuarioDadosGerais","FiCheck","Size","menu","isCollapsed","ButtonCollapse","From","To","BsDashSquare","BsPlusSquare","CollapseContext","CardContentWrapperContainer","CardFooterContainer","ContainerCollapse","CollapseHeaderContainer","CollapseContentContainer","CollapseItem","open","setOpen","handleCollapse","CollapseHeaderItem","handlePath","isDisabled","CollapseContentItem","isFirst","CheckboxWrapper","OptionsList","handleHeaderRequest","idUser","setTipoNodeRequest","Modalidade","Termo","CheckboxContainer","selected","handleCheckboxClicked","data-for","CollapseNestedList","optionId","ModalidadesSelecionadasContainer","AlertList","ButtonLink","CounterContainer","keys","ParametrizacaoCards","handleOnClickEditar","handleOnClickSalvar","handleToogleCard","EmptyContentContainer","MessageInvalidCard","inValidCards","getName","novasParametrizacoes","Set","parametrizacoesVinculadas","vinculo","qtdInvalidCards","nameParametrizacao","nomeVinculo","userName","BodyMesclarNestle","BodySelectedTipoPerfil","handleSelectedTipoPerfil","BodyRemoveAllParametrizacao","useParametrizacao","paginationModalParams","setSelectedUsuarioEspelho","tableFilterparams","setTableFilterParams","buscaParametrizacao","parametrizacaoFilterParams","setParametrizacaoFilterParams","selectedTipoPerfil","setSelectedTipoPerfil","hasGrupoNestle","useMemo","setParamsBusca","tipoBusca","newPageParams","has_parametrizacao","getValidsCard","POSSUI_PARAMETRIZACAO","complemento2","parametrizado","invalid","POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE","POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE","ModalMesclarNestle","getAndBuildParametrizacaoCardsUsuarioEspelho","cloneUsuarioEspelho","handleAddUsuarioEspelho","ModalCopyEspelho","handleClickSimModal","dispatchPatchPerfil","newPerfils","showModalSelectedTipoPerfil","callbackDispathSaveParametrizacao","ModalSelectedTipoPerfil","returnPostAndPutCards","parametrizacaoRootCard","idUsuarioInclusao","handleRemoveAllCards","ModalRemoveAllParametrizacao","handleRemoveCard","ULTIMO_CARD","IS_ADM","hasAlteracao","ESTA_NA_ABA_USUARIO_ESPELHO","contratanteRoot","grupoRoot","paramsDispatch","salvarParametrizacao","newUser","oldUser","handleOnClickSalvarCard","postCard","putCard","parametrizacaoRootProp","ParametrizacaoContratantes","dropDownWidth","roleUsuario","blockUseEffect","setBlockUseEffect","setIsSuccess","setIsError","isWarning","setIsWarning","handleToogleModal","cardItem","setTipoContagemRequest","tipoNode","toLocaleUpperCase","subtitle","grupoContagem","contratanteContagem","cardParametrizado","newCard","BsPlus","selCard","_selCard$options$","_selCard$options$$sub","_selCard$options$2","_selCard$options$2$su","handleFilterParametrizacaoRoot","isOnClick","autoHide","autoHideTimeout","autoHideDuration","autoHeight","autoHeightMin","autoHeightMax","thumbMinSize","universal","handleModalError","ModalBodyContainer","ModalEventosWebhook","onCloseModal","titleModal","HeaderModal","BodyModal","TableHistoricoHeader","TableCadastroWebhook","TableCadastroWebHookHeader","ButtonActions","TableCadastroWebHookBody","deletarWebhook","toggleWebhook","openModalEventos","contractorCode","createdAt","createdUser","updatedAt","updatedBy","updatedUser","onChecked","entity_id","MdListAlt","MdDelete","cadastrarEvento","editarEvento","ModalCadastarWebhookEvent","setIsEditarModal","eventsCode","selectEventCode","setSelectEventCode","setUrl","optionsEventCode","eventCode","limparInputs","TipoEventoWebhookEnum","WebhookEventIntegrationActions","entityId","ModalWebhookEventosHeaders","cadastrarHeader","editarHeader","ModalCadastarWebhookEventHeader","inputNome","setInputNome","inputValor","setInputValor","validarCamposHeaders","valor","nomeValido","valorValido","WebhookEventHeaderIntegrationActions","CustomTableHeader","TableCadastroWebHookEventHeaderBodyRow","setOpenModalCadastrarHeader","setOpenModalDeletarHeader","mostrarValor","setMostarValor","IoMdEyeOff","MdRemoveRedEye","MdEdit","eventId","TableCadastroWebHookEventHeaderBody","TableCadastroWebhookEventsHeader","isEditarModal","openModalCadastrarEvento","setOpenModalCadastrarEvento","openModalDeletarEvento","setOpenModalDeletarEvento","openModalCadastrarHeader","deletarWebhookEventHeader","webhookEventHeaderId","TableCadastroWebHookEventBody","openModalHeaders","events","TableCadastroWebhookEvents","openModalEventoHeader","setOpenModalEventoHeader","WebhookIntegrationActions","deletarWebhookEvent","CadastroWebhook","openModalDeletarConfiguracao","setOpenModalDeletarConfiguracao","setOpenModalEventos","Boolean","InputForm","handleInputOnBlur","isTyping","errorUsuario","IconValidation","showIconError","InputFormLogin","showOnBlur","errorSenha","IconEye","isLogin","SvgVisibility24Px","SvgVisibilityOff24Px","InputPassword","labelName","eyeWidth","setValues","showPassword","handleClickShowPassword","Eye","EyeOff","ChangePasswordContainer","SenhaBox","errorNovaSenha","errorConfirmacaoSenha","setNewPassword","handleInput","handleChangePassword","DadosAcesso","dadosAcessoParams","setDadosAcessoParams","usuarioDadosAcesso","handleAcaoUsuarioById","newDadosAcessoParams","Hr","hr","IoIosCheckmarkCircleOutline","DadosGerais","_usuarioDadosGerais$r","setUsuarioParams","contatoParams","setContatoParams","disableNameInput","registerPerfil","useParametrizazao","newEditarUsuarioParams","roles","TelefoneBox","callbackChangeContatos","TabsFormConfiguracoes","handleActiveTab","handleRenderTable","senhaPattern","Configuracoes","formRef","passwordSchema","Yup","shape","matches","notOneOf","oneOf","editarUsuarioParam","permissao","PermissaoContratanteEnum","editarContatosParams","TipoTelefoneEnum","editarDadosAcessoParams","passwordParams","setPasswordParams","originalContatoParams","setOriginalContatoParams","isButtonDisabled","setIsButtonDisabled","openModalAcaoUsuario","setOpenModalAcaoUsuario","acaoUsuario","modalError","setModalError","activeTab","setActiveTab","setDisableNameInput","IsStateChangeFromOriginal","prevState","newState","isEqual","IsSubmitDadosGerais","isValidContato","IsSubmitDadosAcesso","tipoContato","nrDdd","nrNumero","setButtonDisabledForTab","tabActive","dadosGerais","dadosAcesso","parametros","dadosGeraisSubmit","formUsuarioParams","_data$contato","perfil","formContatoParams","preparaDadosGerais","bindPermissaoToPerfil","OLD_USER_MESSAGE","renewSessionParams","grantType","validate","abortEarly","errorMessages","inner","dadosAcessoSubmit","actionUsuario","setUsuarioActionToDispatch","tab","ImFloppyDisk","TableContentWrapper","IconWarning","MdError","IconAccepted","MdCheckCircle","IconError","MdCancel","IconOptional","MdHelp","IconNotSend","MdNotInterested","WrapperContentTable","TableDocumentosHeader","noWordBreak","doc","minContent","tipoDocumento","ReactTooltip","delayHide","effect","textColor","place","ConteudoPorStatus","statusDocumento","handleModalDetalheDocumento","ContentStatus","Aceito","Recusado","NaoEnviado","EnvioOpcional","Aprovado","Reprovado","idMovimentacao","actualDocument","documentos","DocumentosBeneficiarios","filteredBeneficiarios","hasPagination","TableDocumentos","FileWrapper","FileHeader","FileContent","FileContentWrapper","BadgesContainer","Badges","remove","AiOutlineClose","SvgReplyAll24Px","onAceitar","onRecusar","onCancelar","reenviarDocumento","esconderBtnReenviar","ReplyAll","IoIosCheckmarkCircle","ModalDetalheDocumento","_documentoPreview$res","_documentoPreview$res2","_documentoPreview$res3","_documentoPreview$res4","_documentoPreview$res5","_documentoPreview$res6","_documentoPreview$res7","_documentoPreview$res8","_documentoPreview$res15","_documentoPreview$res16","_documentoPreview$res17","_extension$split$","TipoDocumentoEnum","grauParentesco","mensagemConferencia","arquivoConferencia","_documentoPreview$res9","_documentoPreview$res10","_documentoPreview$res11","documentoExtensao","arquivoConferenciaNome","CustomScrollbars","_documentoPreview$res12","_documentoPreview$res13","_documentoPreview$res14","FilePreview","isDisabledBtnEnviar","handleRecusarArquivo","ModalMotivoRecusa","onClickEnviar","hasObrigatoriedadeFile","motivoRecusaParams","motivoRecusa","setMotivoRecusa","_files$","_files$2","statusConferencia","extensaoArquivoConferencia","newMotivoRecusaParams","InputFile","placeHolder","hasNoContent","handlerInputError","removeFile","DetalheDocumentos","_getDocumentosStatus$","_getDocumentosStatus$2","_getDocumentosStatus$3","_getDocumentosStatus$4","_getDocumentosStatus$5","_getDocumentosStatus$6","_getDocumentosStatus$7","_getDocumentosStatus$8","_getDocumentosStatus$9","_getDocumentosStatus$10","_getDocumentosStatus$11","filterPageParams","openModalDetalheDocumento","setOpenModalDetalheDocumento","paramsRequest","openModalMotivoRecusa","setOpenModalMotivoRecusa","handleOpenModalDetalheDocumento","filterBeneficiarios","MdArrowBack","hideButtonFilter","idListaAtual","_openModalDetalheDocu","_openModalDetalheDocu2","getDocumentos","ImportarDocumentos","orientacoesDocumentos","DetalheDocumentosInativos","_documentosBeneficiar","_documentosBeneficiar2","_documentosBeneficiar3","_documentosBeneficiar4","_documentosBeneficiar5","_documentosBeneficiar6","_documentosBeneficiar7","isOpenModalImportDocs","setIsOpenModalImportDocs","isOpenModalPreviewDoc","setIsOpenModalPreviewDoc","isOpenModalMotivoRecusa","setIsOpenModalMotivoRecusa","tipoDocumentoSelected","setTipoDocumentoSelected","statusDocumentoSelected","setStatusDocumentoSelected","idDocumentoSelected","setIdDocumentoSelected","handleAceitarRecusarDoc","handleAceiteRecusaAdm","aceito","_idLista","_id","_idMovimentacao","onCloseModalPreviewDoc","oldValue","onCancelarImport","AGUARDANDO_DOCUMENTOS","ERRO_DE_PROCESSAMENTO","FilterExtendsMassaInicial","handleLimparFiltros","filters","setFilters","registerCnpj","registerResponsavel","registerEmail","oldFilters","cnpj","masked","nomeResponsavel","dataRegistroDe","dataRegistroAte","DownloadMassaInicial","ContainerTabContent","listNameHeaders","handleDownloadFile","handleDropdownItem","dataInclusao","nmEmpresa","part1","part2","part3","part4","part5","formatarCNPJ","FaFileDownload","TabTableListasMassaInicial","handleGetListaMassaInicial","tabs","Tab","TabContent","contentForTab","pagination","modelFilters","ListasMassaInicial","filtersParams","setFiltersParams","handleSubmit","toJSON","downloadMassaInicial","downloadTermoResponsabilidade","filtersOld","onClickOKDownload","PrimaryButton","fontFamily","SecondaryButton","ButtonDropdown","disableHover","primaryIcon","secondaryIcon","dropdownOptions","list","setList","listaRowChecked","newListaRowChecked","handleCheckedLista","InputDropdown","handleClickOption","indexOption","MdExpandMore","TabTableListasRPA","StatusListRpa","ListasRPA","ListasRPARedux","relatorioRPAParams","setRelatorioRPAParams","queryParamsDefault","tipoStatusActive","setTipoStatusActive","setQueryParams","string","hasChar","handleRelatorioParams","ModalCancelarEnvioRpa","ModalAlterarStatusRpa","pagParams","EmptyRelatorios","handleNovoRelatorio","TableBodyRelatorios","relatorios","_relatorio$status","EM_ANDAMENTO","urlDownload","dataProcessamento","RiDownloadLine","TableHeaderRelatorios","Relatorios","propJustify","BodyConfimarRelatorio","RelatorioNestle","relatorioAPI","downloadRelatorioNestle","setAttribute","finalizado","reportRequest","ModalConfimarRelatorio","FiPlus","NotFoundPage","httpCode","hideButtonReaload","UnlockIConContainer","ReSendContainer","SpanTextoAlert","AlertUnlock","SubText","Display","DisplayButton","MdErrorOutline","hideIcon","geenDefault","optionsPerfil","handleSelectedPerfil","optionsPermissao","handleSelectedPermissao","registerPermissao","returnTipoPerfilAcessoForTipoPerfil","Selecione","TableHeaderComponent","HistoricoMovimentacoes","usuarioHistoricoMovimentacao","historico","idUsuarioHistorico","dcAcao","emailResponsavel","dtInclusaoHistorico","TabFormUsuario","naoLiberarAcesso","liberarAcesso","ModalLiberarAcesso","UsuarioDetalhe","openModalLiberarAcesso","setOpenModalLiberarAcesso","setLiberarAcesso","_contatoParams$contat","handleModalUsuarioAcao","isDisabledButtonInActiveTab","handleAlterarProprioEmail","newCancelAction","handlePatchDadosAcesso","formDadosAcessoParams","handleCancelar","animate","FilterExtendsUsuarios","selectedPerfil","setSelectedPerfil","clearField","setClearField","dataLiberacaoDe","dataLiberacaoAte","dataInativacaoDe","dataInativacaoAte","disableImportarLiberacao","setDisableImportarLiberacao","disableImportarInativacao","setDisableImportarInativacao","CancelIConContainer","FcCancel","handleAcaoUsuarios","usuariosSize","userRowsChecked","setUserRowsChecked","SetAllUsuario","setUsuario","userRowChecked","newUserRowChecked","handleCheckedUsuario","dtCriacao","dtLiberacao","TableUsuarioActions","handleUsuario","IdUsuario","isHover","usuarioStatus","margin-right","MdLockOpen","_IconPorStatus$tabNam","handleButtonPorStatus","_IconPorStatus$usuari2","_IconPorStatus$usuari","handleIconsPorStatus","TabTableUsuarios","paramsPg","SvgBusinessCenter","SvgSettings","CardTipoPerfil","ModalNovoUsuario","paginaNovoUsarioAdministrador","perfilNovoUsuario","PerfilEnum","paginaNovoUsarioContratante","GearIcon","CaseIcon","UsuarioGestao","usuarioAction","setUsuarioAction","openModalNovoUsuario","setModalNovoUsuario","openModalError","handleModalNovoUsuario","getUsuariosGestao","HeaderWrapper","BodyWrapper","UsuarioWrapper","borderBottom","ContatoWrapper","FooterWrapper","SaveButtonsWrapper","IconSalvar","Parametros","handleCancelarCadastro","handlePreviousTab","handleAvancarTab","handleSelected","registerNome","registerMatricula","registerPerfilUsuario","tipoPermissaoUsuario","AlertLiberarAcessoModal","handleLiberarAcesso","handleModalLiberarAcesso","handleNaoLiberarAcesso","isButtonSaveDisabled","handleModalLiberarAcessoNewUser","UsuarioNovo","selectedPermissao","setSelectedPermissao","selectedTipoInfo","setSelectedTipoInfo","mask","secondSelectedTipoInfo","setSecondSelectedTipoInfo","camposPreenchidos","setCamposPreenchidos","setIsButtonSaveDisabled","addNewUser","setAddNewUser","setOpenModalError","dadosGeraisCompleted","setDadosGeraisCompleted","parametrizacaoCompleted","setParametrizacaoCompleted","dadosAcessoCompleted","setDadosAcessoCompleted","handleChangeTipo","newSelectedTipo","requiredFields","requiredFieldsSave","isRequiredFieldsSet","oldState","CrumbsOptions","StepperOptions","completed","Stepper","steps","step","handleChangeNome","newCamposPreenchidos","nomeValue","FilterExtendsBeneficiarios","cleanErrors","selectedFilter","setSelectedFilter","selectedOption","setSelectedOption","typeBeneficiary","setTypeBeneficiary","inputModality","setModality","beneficiaryName","setBeneficiaryName","term","setTerm","setCpf","codeCard","setCodeCard","beneficiaryBirthday","setBeneficiaryBirthday","registerModality","registerTypeForm","registerBeneficiaryName","registerTerm","registerTypeBeneficiary","registerCPF","registerCodeCard","optionsFilters","handleOptions","optionsTypeBeneficiary","handleTypeBeneficiario","handleBeneficiaryName","limparFiltros","handleBeneficiaryBirthday","handleModality","modality","handleTerm","handleCodeCard","handleCpf","formatDate","date","code_card","contractorName","degreeOfKinship","codeTotvs","beneficiaryExcludeDate","MdOutlineManageSearch","TabTableBeneficiarios","ConsultaBeneficiariosNestle","paginationDefaultParams","query_type","page","count_per_page","beneficiary_wallet_number","beneficiary_name","beneficiary_birthday","beneficiary_document_number","only_dependents","formErrors","setFormErrors","TYPE_FORMS","validationSchema","typeForm","max","Number","BeneficiaryActions","InfoDisplayItem","content","CardPersonalInformation","InfoBeneficiary","otherDataSerialized","dependentsSerialized","hasDependents","dependents","beneficiary","nmSocial","nmMae","nmPai","M","F","dsSexo","dsEstCivil","dtAdmissao","dtInclusaoPlano","enCep","dsEndereco","enBairro","enUf","nmCidade","nrTelefone1","nrTelefone2","nmEmail","dtInclusaoRepasse","cdFuncionario","cdCpf","nrCartaoSus","nrNascidoVivo","nrIdentidade","ufEmissorIdent","dsOrgaoEmissorIdent","cdUnidadeAtendimento","nmUnidadeAtendimento","dsPadraoCobertura","dtFalecimento","cdMotivoCancel","dsMotivoCancel","cDsEspecifico1","cDsEspecifico2","cDsEspecifico3","cDsEspecifico4","dtExclusaoPlano","dependent","cdCarteiraUsuario","nmUsuario","tpUsuarioDesc","DadoBeneficiarios","DetalheBeneficiariosNestle","codigoCartao","FormEditParametro","onBlurValidateInputs","statusParametrizacao","setStatusParemetrizacao","valueParametrizacao","setValueParametrizacao","descricaoParametrizacao","setDescricaoParametrizacao","optionsAtividade","onBlurValidation","registerFieldValueParametrizacao","errorValueParametrizacao","registerFieldStatusParametrizacao","registerFieldDescricaoParametrizacao","errorDescricaoParametrizacao","nomeParametrizacao","EditParametros","useLocation","schema","validateData","bodyRequest","validationErrors","FormListaInativos","registerDescricao","optionsTipoModalidade","ListaInativo","useParams","nrCodigoModalidade","DadosLista","extraHuge","ModalidadeEnum","FooterListaInativosAcoes","excluir","salvar","enviarDocumentos","erroProcessamento","processadaSucesso","conferirDocumentos","enviarProcessamento","enviarRevisaoDocumentos","disabledButtons","isRender","MdSend","BiListCheck","MdDone","returnFormatName","ContratanteModalidadeTermo","ContratanteCodigoUnimedCartao","ContratanteNomeTipoBeneficiario","ContratanteNomeDataNascimento","returnPropName","returnPropId","InlineContainer","ContButton","LabelDate","FormPesquisaBeneficiario","formParams","setFormParams","handlePesquisar","desabilitarBtnPesquisar","resetarPagination","optionsTipoConsulta","tipoConsulta","TipoPesquisaEnum","handleChangeInput","handleChangeKeyValue","padding-left","nomeBeneficiarioI","dataNascimento","codDaUnimed","cartao","nomeBenefTpBeneficiario","GoSearch","TableBeneficiarioBody","selectedBeneficiario","handleCheckBeneficiario","codigo","modalidadeTitular","codigoUnimed","padStart","carteira","nascimento","TableBeneficiarioHeader","TabelaPesquisaBeneficiario","isDisabledBtnAdicionar","ModalConsultaStructure","ModalPesquisaBeneficiario","paginationInitialParams","formInitialParams","titular","setSelectedBeneficiario","handleAdicionarBeneficiario","filtro","TableBodyBeneficiario","readOnly","loadingSalvarBeneficiario","checkBeneficiario","listaGrupoFamiliarPag","splice","TipoBeneficiarioEnum","modalidadeEntrada","TableHeaderBeneficiario","FormSelecionaBeneficiario","historicoAlteracoes","historicoAlteracoesPag","alteracao","statusDescricao","dtAlteracao","TableHistoricoAlteracoesLista","TableHistoricoBody","ListaDetalheInativo","listaHistoricoInativos","successSalvarBeneficiario","successAtualizarStatusLista","LISTA_SEM_DOCUMENTOS","documentosEnviados","hasDocumentos","LISTA_COM_DOCUMENTOS","DOCUMENTOS_OBRIGATORIOS_ENVIADOS","LISTA_TEM_GRUPO_FAMILIAR","DOCUMENTOS_VALIDADOS","documentosValidados","EM_ANALISE_DOCUMENTACAO","PENDENTE_DE_PROCESSAMENTO","PENDENTE_DE_ENVIO","PROCESSADA_COM_SUCESSO","EXCLUIDA","isModalBeneficiariosOpen","setIsModalBeneficiariosOpen","setDisabledButtons","toggleModalConsultaBeneficiarios","handleSalvarBeneficiarios","handleAlterarStatusLista","ListaInativosActions","handleEnviarRevisaoDocumentos","botoes","HiOutlineDocumentText","align-items","justify","TableParametrosHeader","TableContentRow","TableParametros","Chip","openModalInformacoes","reprocessarTask","obterErrosDeTask","downloadRelatorio","chipColors","reprocessarRelatorio","podeReprocessar","descricaoStatus","criadoEm","finalizadoEm","MdOutlineFilterAlt","AiOutlineReload","MdOutlineErrorOutline","TableRelatoriosBeneficiario","ModalFiltrosAplicados","modalData","filtros","filtrosAplicado","filtroFormatado","TipoConsultaBeneficiario","CodigoContratanteLogada","grupoContratante","FiltroContratante","layout","LeiauteVersao1","extensão","ExportarXlsx","dataPeríodoDeReferênciaDe","DataReferenciaInicial","dataPeríodoDeReferênciaAte","DataReferenciaFinal","exclusãoProgramada","BeneficiarioComDataExclusaoProgramada","entries","chave","valorParaRenderizar","toLocaleDateString","str","words","word","formatCamelCase","mostrarFiltrosIguaisAosParametros","ModalRelatoriosAcoes","idTask","tipoModal","downloadArquivo","mensagem","ConteudoErrors","ConteudoDownload","_getUltimoErroTask$da","erroDeNegocio","erro","VscFile","ProcessamentoRelatorio","parametrosInicialDeRelatorios","modalInformacoes","setModalInformacoes","parametrosRelatorios","setRelatoriosParams","parametrosDePaginacao","setParametroDePaginacao","tipoError","conexao","novosParametrosDePaginacao","FormContainer","FormRelatorioBeneficiario","clearParams","optionsTipoLayout","optionsTipoExtensao","extensao","handleSelectedTipoConsulta","tipoInativos","Radio","colorChecked","consultaPorGrupoContratante","nomeComplemento","grupoContrantante","exclusaoProgramada","dataPeriodoDeReferenciaAte","dataPeriodoDeReferenciaDe","dataPeriodoDefeRerenciaDe","RelatorioBeneficiarios","contranteParametrizada","dataAtual","dataTresMesesAntes","subMonths","exportar_xlsx","leiaute_versao1","email_usuario_logado","nome_usuario_logado","codigo_contratante_logada","filtro_contratante","tipo_consulta_beneficiario","data_referencia_inicial","data_referencia_final","beneficiario_com_data_exclusao_programada","messageError","StatusFilter","ModalConsultaStructureSegundaVia","FormPesquisaBeneficiarioSegundaVia","ModalPesquisaBeneficiarioSegundaVia","SegundaVia","DetalheSolicitacao","routes","component","Unauthorized","ListasConsulta","isPrivate","ListasDetalhe","EditParametro","ListaInativoDetalhe","small","LoadingIcon","ProtectedRoute","Component","authenticated","Route","render","Redirect","to","pathname","AutenticacaoStructure","ImageStructure","ImagemLogin","EsqueciMinhaSenhaContainer","LoginLink","Link","DificuldadesAcessoContainer","h1","SectionHeader","sectionName","subtextSectionName","FormLogin","loginParams","setLoginParams","registerUsuario","registerSenha","setShowOnBlur","newLoginParams","setFieldError","showIconSuccess","REACT_APP_EMAIL_DIFICULDADES_ACESSO","LoginPart","search","loginData","URLSearchParams","mailTo","formLoginParams","InfoBox","AiOutlineCloseCircle","labelMarginBottom","FormEmailSent","emailSentMessage","FormForgottenPassword","isEmailSent","setIsEmailValid","isTokenError","queryEmail","isValidEmail","RedefinirSenha","setIsEmailSent","isEmailValid","Login","useRouteMatch","UnimedLogo","Switch","exact","errorSenhaAntiga","errorConfirmarSenha","showOnBlurAntigaSenha","showOnBlurNovaSenha","showOnBlurConfirmarSenha","FormChangePassword","changePasswordParams","setChangePasswordParams","isForgottenPassword","setShowOnBlurAntigaSenha","setShowOnBlurNovaSenha","setShowOnBlurConfirmarSenha","newChangePasswordParams","erroSenhaAntiga","antigaSenha","getFieldValue","confirmarSenha","HeaderContainer","RecuperarSenha","_params$get","queryToken","setQueryToken","setNovaSenha","ErrorPage","queryUrlRedirect","onReaload","IconNext","FiArrowRight","FormMassaInicial","dadosEmpresa","setDadosEmpresa","clearInputs","handleAvancar","registerEmpresa","registerCNPJ","errorEmail","errorCNPJ","errorResponsavel","errorEmpresa","canSubmit","empresa","validateInput","numeros","repeat","isRepeatMesmoNumero","cnpjSemCaracteres","tamanho","digitos","soma","pos","resultado","isValidDigitosVerificadoresCNPJ","cnpjNumber","formatCNPJ","single","CheckboxWithText","strong","FiAlertCircle","aceitos","handleValidadMassaInicial","ModalSucessoPatch","voltarParaMassaInicial","ModalTermoMassaInicial","setAceitos","IconAlert","IconsSuccess","FiCheckCircle","maxLengthFileName","LoagingFiles","canImport","handleProgress","IconPrev","FiArrowLeft","IconLike","AiOutlineLike","ContainerFooter","modeloPadraoMassaInicial","orientaçõesPreenchimentoMassaInicial","RegrasImportMassaInicial","UploadMassaInicial","handleVoltar","handleValidar","handleErros","ContainerImage","ContainerFormMassaInicial","ImageBackground","ImagemMassaInicial","HeaderTitulo","ContainerProgressBar","TextoPasso","FormWeb","inicalValuesForm","passos","fileMassaInicial","setFileMassaInicial","signalRConnection","setSignalRConnection","termosAceitos","setTermosAceitos","setProgress","termoOpen","setTermoOpen","passo","setPasso","readAsText","Base64","encode","formatBody","RegExp","exec","SignalRUploadProgress","ProgressBar","aceiteCompartilhamento","aceiteTermo","Copy","ButtonImprimir","ImageANS","img","TermoResponsabilidade","hoje","NavbarPrimary","nomeSistema","urlHome","print","FiPrinter","FespANS","getFullYear","Routes","NotFound","GlobalStyle","createGlobalStyle","NODE_ENV","ErrorBoundary","constructor","super","componentDidCatch","info","setState","componentStack","FooterPage","SelectContratanteContainer","DropChangeParametrizacao","HAS_NESTLE","IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA","getOptionsDrop","selectedParametrizacao","optionDrop","_contratantes$","targetParametrizacao","IoIosArrowDown","ModalLogout","FaDoorOpen","NavbarItemsContainer","NavbarItemContainer","_getContratantesUsuar","_getContratantesUsuar2","selectedContratante","handleLogOut","NavbarContainer","_tempContratante","tempContratante","MdInput","NavLink","activeClassName","NavbarLegacyLink","DropdownContainer","isBeneficiary","showDropdownBeneficiary","showDropdown","DropdownItens","NavbarItemDropdownContainer","_defs","SvgBeneficiarioIcon","transform","SvgConfiguracaoIcon","_rect","SvgGestaoIcon","points","SvgListasIcon","SvgSegundaViaCartaoIcon","SvgVisaoGeralIcon","NavbarSecondary","refDropdown","refDropdownBeneficiary","setShowDropdown","setShowDropdownBeneficiary","NavbarSecondaryContainer","VisaoGeralIcone","ListasIcone","SegundaViaIcone","BeneficiarioIcone","GestaoIcone","ConfiguracaoIcone","animateEnter","DefaultFooter","ModalTrigger","onClickModal","isJsxElement","TriggerModalContext","inicialState","TriggerModalContextProvider","providerRef","optionsModal","setOptionsModal","openModal","callbackEventShowModal","createEvent","initEvent","App","Application","Store","PersistGate","Router","ReactDOM","getElementById","StatusListaEnum","require","UploadeProgressEnum"],"mappings":";+FAAAA,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,UACHC,EAAG,eAELC,kBAAmB,CACjBC,QAAS,UACTC,YAAa,iB,kBCPjBP,EAAOC,QAAU,CACbC,WAAY,CACRM,EAAG,YACHL,EAAG,gBACHC,EAAG,iB,kBCJXJ,EAAOC,QAAU,CACfC,WAAY,CACVM,EAAG,YACHL,EAAG,WACHC,EAAG,mBAELK,oCAAqC,CACnCC,oBAAqB,WACrBC,qBAAsB,mBAExBC,oCAAqC,CACnCC,SAAU,sBACVC,kBAAW,0B,oBCZfd,EAAOC,QAAU,IAA0B,0C,kBCA3CD,EAAOC,QAAU,CACfc,gBAAiB,CACfZ,EAAG,aACHC,EAAG,WAELY,gBAAiB,CACfC,WAAY,EACZC,QAAS,GAEXC,yBAA0B,CACxBC,WAAY,EACZC,QAAS,GAEXC,yBAA0B,CACxBnB,EAAG,aACHC,EAAG,WAELmB,2BAA4B,CAC1BN,WAAY,aACZC,QAAS,WAEXM,2BAA4B,CAC1BJ,WAAY,aACZC,QAAS,a,kBCvBbrB,EAAOC,QAAU,CACbC,WAAY,CACRC,EAAG,oBACHC,EAAG,QACHqB,EAAG,WAGPC,oBAAqB,CACjBvB,EAAG,2BACHC,EAAG,QACHqB,EAAG,WAEPE,SAAU,CACNC,kBAAmB,EACnBC,MAAO,EACPC,QAAS,GAEbzB,kBAAmB,CACfuB,kBAAmB,oBACnBC,MAAO,QACPC,QAAS,WAEbC,iBAAkB,CACdH,kBAAmB,oBACnBC,MAAO,QACPC,QAAS,UACTE,MAAO,SAEXC,iBAAkB,CACdL,kBAAmB,oBACnBC,MAAO,QACPC,QAAS,UACTE,MAAO,SAEXT,2BAA4B,CACxBK,kBAAmB,2BACnBC,MAAO,QACPC,QAAS,a,oBCrCjB9B,EAAOC,QAAU,IAA0B,sD,oBCA3CD,EAAOC,QAAU,IAA0B,gD,oBCA3CD,EAAOC,QAAU,IAA0B,sD,oBCA3CD,EAAOC,QAAU,IAA0B,wD,oBCA3CD,EAAOC,QAAU,IAA0B,yC,oBCA3CD,EAAOC,QAAU,IAA0B,oD,kBCA3CD,EAAOC,QAAU,CACfc,gBAAiB,CACfmB,GAAI,YACJC,GAAI,eAENnB,gBAAiB,CACfoB,UAAW,GACXC,YAAa,IAEflB,yBAA0B,CACxB,iBAAkB,GAClB,mBAAoB,IAEtBG,yBAA0B,CACxBY,GAAI,iBACJC,GAAI,sB,oBCfRnC,EAAOC,QAAU,IAA0B,yD,oBCA3CD,EAAOC,QAAU,IAA0B,wE,oBCA3CD,EAAOC,QAAU,IAA0B,kD,oBCA3CD,EAAOC,QAAU,IAA0B,qC,0DCA3CD,EAAOC,QAAU,CACfE,EAAG,UACHC,EAAG,WACHqB,EAAG,gBACHa,EAAG,iBACHC,EAAG,oBACHC,EAAG,YACHC,EAAG,WACHC,EAAG,UACHC,EAAG,qBACHC,GAAI,wBACJC,GAAI,UACJC,GAAI,cACJC,GAAI,uBACJC,GAAI,2B,kBCdNhD,EAAOC,QAAU,CACbC,WAAY,CACRC,EAAG,cACHC,EAAG,iBACHqB,EAAG,mBACHa,EAAG,wBACHC,EAAG,kBACHC,EAAG,mCACHC,EAAG,gDACHC,EAAG,qCACHC,EAAG,oCACHC,GAAI,0BACJC,GAAI,cACJC,GAAI,eACJC,GAAI,6BAGRrB,oBAAqB,CACjBvB,EAAG,eACHC,EAAG,kBACHqB,EAAG,oBACHa,EAAG,iCACHC,EAAG,qBACHC,EAAG,yCACHC,EAAG,4DACHC,EAAG,iDACHC,EAAG,gDACHC,GAAI,6BACJC,GAAI,eACJC,GAAI,mCACJC,GAAI,yCAERpB,SAAU,CACNsB,YAAa,EACbC,eAAgB,EAChBC,iBAAkB,EAClBC,sBAAuB,EACvBC,gBAAiB,EACjBC,iCAAkC,EAClCC,8CAA+C,EAC/CC,mCAAoC,EACpCC,kCAAmC,EACnCC,wBAAyB,GACzBC,YAAa,GACbC,aAAc,GACdC,0BAA2B,M,kBC7CnC7D,EAAOC,QAAU,CACfyB,oBAAqB,CACnBvB,EAAG,cACHC,EAAG,kBACHqB,EAAG,cACHa,EAAG,oBAELpC,WAAY,CACVC,EAAG,WACHC,EAAG,YACHqB,EAAG,WACHa,EAAG,gBACHC,EAAG,OACHC,EAAG,SACHC,EAAG,YAELtB,yBAA0B,CACxB2C,cAAU,EACVhD,kBAAW,EACXiD,cAAU,EACVC,mBAAe,EACfC,SAAU,GAEZjD,gBAAiB,CACfkD,SAAU,EACVC,UAAW,EACXC,SAAU,EACVC,cAAe,EACfC,KAAM,EACNC,OAAQ,EACR,WAAY,K,kBC9BhBvE,EAAOC,QAAU,CACfC,WAAY,CACVoE,KAAM,OACNE,OAAQ,SACRH,cAAe,iBAEjB3C,oBAAqB,CACnB4C,KAAM,OACNE,OAAQ,SACRH,cAAe,oBAEjB7C,2BAA4B,CAC1B8C,KAAM,OACNE,OAAQ,SACRR,mBAAe,iBAEjBrC,SAAU,CACR2C,KAAM,EACNE,OAAQ,EACRR,mBAAe,K,kBCnBnBhE,EAAOC,QAAU,CACbwE,MAAO,QACPC,WAAY,aACZC,SAAU,a,kBCHd3E,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,uBACHC,EAAG,cACHqB,EAAG,sBAGLC,oBAAqB,CACnBlB,EAAG,4BACHL,EAAG,uBACHC,EAAG,eAELuB,SAAU,CACR,uBAAwB,EACxBiD,YAAa,GAEfvE,kBAAmB,CACjB,uBAAwB,uBACxBuE,YAAa,eAEfzD,yBAA0B,CACxB,4BAAuB,EACvB,uBAAwB,EACxByD,YAAa,GAGfC,yBAA0B,CACxB,uBAAwB,6CACxBD,YAAa,4CACb,qBAAmB,kD,kBC7BvB5E,EAAOC,QAAU,CACfI,kBAAmB,CACjBuE,YAAa,kBACb,uBAAwB,aAE1BE,uBAAwB,CACtBC,gBAAiB,cACjBC,UAAW,wBAEb9E,WAAY,CACVM,EAAG,cACHL,EAAG,wBAEL8E,cAAe,CACbzE,EAAG,kBACHL,EAAG,e,oBCfPH,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,YACHC,EAAG,WACHqB,EAAG,cACHa,EAAG,WACHC,EAAG,UACHC,EAAG,WACHC,EAAG,YACHC,EAAG,WACHC,EAAG,oBACHC,GAAI,UACJC,GAAI,YAGNnB,oBAAqB,CACnBvB,EAAG,YACHC,EAAG,gBACHqB,EAAG,cACHa,EAAG,2BACHC,EAAG,kBACHC,EAAG,eACHC,EAAG,kBACHC,EAAG,mCACHC,EAAG,2BACHC,GAAI,0BACJC,GAAI,2BAENlB,SAAU,CACRuD,UAAW,EACXC,YAAa,EACbC,YAAa,EACbC,iBAAkB,EAClBC,eAAgB,EAChBC,SAAU,EACVpB,UAAW,EACXqB,qBAAsB,EACtBC,kBAAmB,EACnBC,sBAAuB,GACvBC,gBAAiB,IAEnBtF,kBAAmB,CACjB6E,UAAW,YACXC,YAAa,cACbC,YAAa,cACbC,iBAAkB,mBAClBC,eAAgB,iBAChBC,SAAU,WACVpB,UAAW,YACXqB,qBAAsB,uBACtBC,kBAAmB,oBACnBC,sBAAuB,wBACvBC,gBAAiB,mBAEnB5D,iBAAkB,CAChBC,MAAO,EACPkD,UAAW,EACXE,YAAa,EACbQ,QAAS,CAAC,EAAG,IACbzB,UAAW,EACXoB,SAAU,CAAC,EAAG,GACdM,WAAY,EACZC,SAAU,CAAC,EAAG,EAAG,KAEnB7D,iBAAkB,CAChBD,MAAO,QACPkD,UAAW,YACXE,YAAa,cACbQ,QAAS,UACTzB,UAAW,YACXoB,SAAU,WACVM,WAAY,aACZC,SAAU,c,kBCxEd9F,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,0BACHC,EAAG,mCACHqB,EAAG,uBACHa,EAAG,oBACHC,EAAG,sBACHC,EAAG,oCACHC,EAAG,2CACHC,EAAG,oBACHC,EAAG,qBACHC,GAAI,sBACJC,GAAI,6CACJC,GAAI,wCACJC,GAAI,kBACJC,GAAI,qDACJ+C,GAAI,gCACJC,GAAI,+BACJC,GAAI,yCACJC,GAAI,kBACJC,GAAI,4BACJC,GAAI,8BACJC,GAAI,YACJC,GAAI,iBACJC,GAAI,gBACJC,GAAI,4BAEN9E,oBAAqB,CACnBvB,EAAG,2CACHC,EAAG,4CACHqB,EAAG,+BACHa,EAAG,4BACHC,EAAG,iCACHC,EAAG,6CACHC,EAAG,6DACHC,EAAG,2BACHC,EAAG,4BACHC,GAAI,6BACJC,GAAI,qEACJC,GAAI,8CACJC,GAAI,sBACJC,GAAI,kEACJ+C,GAAI,2CACJC,GAAI,uCACJC,GAAI,2DACJC,GAAI,+BACJC,GAAI,0CACJC,GAAI,kDACJC,GAAI,aACJC,GAAI,wBACJC,GAAI,iBACJC,GAAI,mCAEN7E,SAAU,CACR8E,wBAAyB,EACzBC,iCAAkC,EAClCC,qBAAsB,EACtBC,kBAAmB,EACnBC,oBAAqB,EACrBC,kCAAmC,EACnCC,yCAA0C,EAC1CC,kBAAmB,EACnBC,mBAAoB,EACpBC,oBAAqB,GACrBC,2CAA4C,GAC5CC,sCAAuC,GACvCC,gBAAiB,GACjBC,mDAAoD,GACpDC,8BAA+B,GAC/BC,+BAAwB,GACxBC,uCAAwC,GACxCC,gBAAiB,GACjBC,4BAAwB,GACxBC,4BAA6B,GAC7BC,UAAW,GACXC,eAAgB,GAChBC,cAAe,GACfC,yBAA0B,IAE5B3H,kBAAmB,CACjBoG,wBAAyB,0BACzBC,iCAAkC,mCAClCC,qBAAsB,uBACtBC,kBAAmB,oBACnBC,oBAAqB,sBACrBC,kCAAmC,oCACnCC,yCACE,2CACFC,kBAAmB,oBACnBC,mBAAoB,qBACpBC,oBAAqB,sBACrBC,2CACE,6CACFC,sCACE,wCACFC,gBAAiB,kBACjBC,mDACE,qDACFC,8BAA+B,gCAC/BC,+BAAwB,+BACxBC,uCACE,yCACFC,gBAAiB,kBACjBC,4BAAwB,4BACxBC,4BAA6B,8BAC7BC,UAAW,YACXC,eAAgB,iBAChBC,cAAe,gBACfC,yBAA0B,4BAE5BC,mBAAoB,CAClBC,IAAK,0BACLC,KAAM,mCACNC,IAAK,uBACLC,IAAK,oBACLC,IAAK,sBACLC,IAAK,oCACLC,GAAI,2CACJC,GAAI,oBACJC,GAAI,qBACJC,GAAI,sBACJC,KAAM,6CACNC,KAAM,wCACNC,GAAI,kBACJC,GAAI,qDACJC,IAAK,gCACLC,IAAK,+BACLC,IAAK,yCACLC,GAAI,kBACJC,IAAK,4BACLC,GAAI,8BACJC,GAAI,YACJC,GAAI,iBACJC,GAAI,gBACJC,IAAK,2BACLC,KAAM,oCACNC,IAAK,WACLC,IAAK,YACLC,KAAM,gBACNC,OAAQ,sBAEVC,4BAA6B,CAC3B7B,IAAK,2CACLC,KAAM,4CACNC,IAAK,+BACLC,IAAK,4BACLC,IAAK,iCACLC,IAAK,6CACLC,GAAI,6DACJC,GAAI,2BACJC,GAAI,4BACJC,GAAI,6BACJC,KAAM,qEACNC,KAAM,8CACNC,GAAI,sBACJC,GAAI,kEACJC,IAAK,2CACLC,IAAK,uCACLe,KAAM,2DACNb,GAAI,+BACJC,IAAK,0CACLC,GAAI,kDACJC,GAAI,aACJC,GAAI,wBACJC,GAAI,iBACJC,IAAK,kCACLC,KAAM,6CACNC,IAAK,kCACLC,IAAK,uEACLC,KAAM,uBACNC,OAAQ,mC,kBC1KZ9J,EAAOC,QAAU,CACfc,gBAAiB,CACfZ,EAAG,YACHC,EAAG,iBAELY,gBAAiB,CACfiJ,UAAW,EACXC,cAAe,K,kBCPnBlK,EAAOC,QAAU,CACfkK,gBAAiB,CACfC,kCACE,wDACFC,yCACE,gEACFC,uCACE,8DACFC,0CACE,8EACFC,gCACE,6DACFC,mCACE,gEACFC,kCACE,oEACFC,6BACE,wDACFC,6BACE,8DACFC,0CACE,sEACFC,sCACE,mEACFC,2CACE,oEACFC,kCACE,6DAEJhK,gBAAiB,CACfoJ,kCAAmC,EACnCC,yCAA0C,EAC1CC,uCAAwC,EACxCC,0CAA2C,EAC3CC,gCAAiC,EACjCC,mCAAoC,EACpCC,kCAAmC,EACnCC,6BAA8B,EAC9BC,6BAA8B,EAC9BC,0CAA2C,GAC3CC,sCAAuC,GACvCC,2CAA4C,GAC5CC,kCAAmC,IAErCC,uBAAwB,CACtB,wDAA6C,EAC7C,gEAA2D,EAC3D,8DAAyD,EACzD,8EAAgE,EAChE,6DAAkD,EAClD,gEAA2D,EAC3D,oEAAyD,EACzD,wDAAgD,EAChD,8DAAyD,EACzD,sEAAiE,GACjE,mEAA8D,GAC9D,oEAA+D,GAC/D,4DAAiD,IAEnDC,uBAAwB,CACtB/K,EAAG,wDACHC,EAAG,gEACHqB,EAAG,8DACHa,EAAG,8EACHC,EAAG,6DACHC,EAAG,gEACHC,EAAG,oEACHC,EAAG,wDACHC,EAAG,8DACHC,GAAI,sEACJC,GAAI,mEACJE,GAAI,oEACJC,GAAI,+D,iCCxER,sLAAO,MA6CMmI,EAAgBA,CAACC,EAAOC,IAC5BD,EAAME,OAAOD,GAAWE,OAqD1B,SAASC,EAAUC,GACxB,OAAO,IAAIC,QAAQ,CAACC,EAASC,KAC3B,MAAMC,EAAS,IAAIC,WACnBD,EAAOE,cAAcN,GACrBI,EAAOG,OAAS,IACdL,EAAQE,EAAOI,OAAOC,OAAOL,EAAOI,OAAOE,QAAQ,KAAO,IAC5DN,EAAOO,QAAWC,GAAUT,EAAOS,KAIhC,SAASC,EAAqBC,EAAUC,EAAQC,EAAUC,GAC/D,OAAOH,EAASjB,OACdqB,IAAA,IAAG,CAACH,GAASI,GAAKD,EAAA,OAAMF,EAASI,KAAKC,IAAA,IAAG,CAACJ,GAASK,GAAKD,EAAA,OAAKC,IAAQH,MAIlE,MAAMI,EAAYC,GACVC,EAAOC,KAAKC,KAAKC,UAAUJ,IAC5BK,SAAS,UAEVC,EAAoBC,GAChBN,EAAOC,KAAKK,EAAQ,UACrBF,SAAS,W,+pFCzHzBtN,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,UACHC,EAAG,WACHqB,EAAG,gBACHa,EAAG,iBACHC,EAAG,oBACHC,EAAG,YACHC,EAAG,WACHC,EAAG,UACHC,EAAG,WACHC,GAAI,WACJC,GAAI,UACJC,GAAI,cACJC,GAAI,WACJC,GAAI,yBACJ+C,GAAI,aACJC,GAAI,2BAGNtE,oBAAqB,CACnBvB,EAAG,UACHC,EAAG,oBACHqB,EAAG,mBACHa,EAAG,wBACHC,EAAG,wBACHC,EAAG,YACHC,EAAG,WACHC,EAAG,mBACHC,EAAG,sBACHC,GAAI,4BACJC,GAAI,0BACJC,GAAI,qBACJC,GAAI,wBACJC,GAAI,0BACJ+C,GAAI,aACJC,GAAI,uCAENrE,SAAU,CACR8L,QAAS,EACTC,gBAAiB,EACjBC,aAAc,EACdC,oBAAqB,EACrBC,kBAAmB,EACnBC,UAAW,EACXC,SAAU,EACVC,eAAgB,EAChBC,mBAAoB,EACpBC,sBAAuB,GACvBC,cAAe,GACfC,YAAa,GACbC,qBAAsB,GACtBC,uBAAwB,GACxBC,WAAY,GACZC,wBAAyB,IAE3BnO,kBAAmB,CACjBoN,QAAS,UACTC,gBAAiB,kBACjBC,aAAc,eACdC,oBAAqB,sBACrBC,kBAAmB,oBACnBC,UAAW,YACXC,SAAU,WACVC,eAAgB,iBAChBC,mBAAoB,qBACpBC,sBAAuB,wBACvBO,QAAS,gBACTL,YAAa,cACbC,qBAAsB,uBACtBC,uBAAwB,yBACxBC,WAAY,aACZC,wBAAyB,uCAE3BzM,iBAAkB,CAChBC,MAAO,EAGPoM,YAAa,GACbM,SAAU,CAAC,EAAG,IACdC,SAAU,CAAC,EAAG,EAAG,IACjBC,WAAY,CAAC,EAAG,IAChBH,QAAS,CAAC,EAAG,EAAG,IAChBV,SAAU,GAGZ9L,iBAAkB,CAChBD,MAAO,QACPuM,WAAY,aACZH,YAAa,cACbM,SAAU,WACVC,SAAU,WAEVC,WAAY,aACZH,QAAS,UACTV,SAAU,c,uJC3FCc,MAFCC,c,iFCFT,MAAMC,EAAyBA,CAACC,EAAaC,EAAYC,KAC9DF,EAAYG,IAAKC,IACf,MAAMC,EAAcJ,EAAWG,EAAIE,QAE/BJ,EAAMG,KACRH,EAAMG,GAAaE,KAAOH,EAAII,MAC9BN,EAAMG,GAAaI,KAAOL,EAAIK,KAC9BP,EAAMG,GAAaK,WAAaN,EAAIM,WACpCR,EAAMG,GAAaM,SAAWP,EAAIO,SAClCT,EAAMG,GAAaO,SAAWR,EAAIQ,SAClCV,EAAMG,GAAaQ,aAAeT,EAAIS,aACtCX,EAAMG,GAAaS,WAAaC,KAAKC,KAAKZ,EAAII,MAAQJ,EAAIO,cAKnDM,EAAkCA,CAC7CjB,EACAC,EACAC,KAEA,MAAMG,EAAcJ,EAAWD,EAAYM,QAEvCJ,EAAMG,KACRH,EAAMG,GAAaE,KAAOP,EAAYQ,MACtCN,EAAMG,GAAaI,KAAOT,EAAYS,KACtCP,EAAMG,GAAaK,WAAaV,EAAYU,WAC5CR,EAAMG,GAAaM,SAAWX,EAAYW,SAC1CT,EAAMG,GAAaO,SAAWZ,EAAYY,SAC1CV,EAAMG,GAAaQ,aAAeb,EAAYa,aAC9CX,EAAMG,GAAaS,WAAaC,KAAKC,KACnChB,EAAYQ,MAAQR,EAAYW,YChBzBO,EAAQ,CACnBC,yBAA0B,kCAC1BC,kCAAmC,2CACnCC,kCAAmC,2CACnCC,gCAAiC,yCACjCC,gCAAiC,yCACjCC,+BAAgC,wCAChCC,+BAAgC,wCAChCC,8BAA+B,uCAC/BC,qCACE,8CACFC,qCACE,8CACFC,mCACE,4CACFC,mCACE,4CACFC,sCACE,+CACFC,sCACE,+CACFC,oCACE,6CACFC,oCACE,6CACFC,6BAA8B,sCAC9BC,8BAA+B,uCAC/BC,4BAA6B,qCAC7BC,6BAA8B,sCAC9BC,yBAA0B,kCAC1BC,0BAA2B,mCAC3BC,oCACE,6CACFC,qCACE,8CACFC,8BAA+B,uCAC/BC,+BAAgC,wCAChCC,+BAAgC,wCAChCC,gCAAiC,yCACjCC,4BAA6B,qCAC7BC,6BAA8B,sCAC9BC,2BAA4B,oCAC5BC,4BAA6B,qCAC7BC,2BAA4B,oCAC5BC,4BAA6B,qCAC7BC,8BAA+B,uCAC/BC,gCAAiC,yCACjCC,iCAAkC,0CAClCC,2BAA4B,oCAC5BC,4BAA6B,qCAC7BC,0CACE,mDACFC,0CACE,mDACFC,wCACE,iDACFC,4BAA6B,qCAC7BC,0BAA2B,mCAC3BC,2BAA4B,oCAC5BC,4BAA6B,qCAC7BC,6BAA8B,sCAC9BC,0BAA2B,mCAC3BC,0BAA2B,mCAC3BC,wBAAyB,iCACzBC,wBAAyB,iCACzBC,mBAAoB,4BACpBC,mBAAoB,4BACpBC,iBAAkB,0BAClBC,8BAA+B,uCAC/BC,8BAA+B,uCAC/BC,4BAA6B,qCAC7BC,uBAAwB,oCACxBC,uBAAwB,oCACxBC,qBAAsB,8BACtBC,0BAA2B,oCAC3BC,0BAA2B,oCAC3BC,wBAAyB,kCACzBC,gCACE,uDACFC,8BACE,qDACFC,gCACE,uDACFC,kCACE,wDACFC,gCACE,sDACFC,kCACE,wDACFC,iDACE,uEACFC,+CACE,qEACFC,iDACE,uEACFC,mCACE,4CACFC,mCACE,4CACFC,iCAAkC,0CAClCC,iCAAkC,0CAClCC,oDACE,6DACFC,oDACE,6DACFC,kDACE,2DACFC,kDACE,2DACFC,kCAAmC,2CACnCC,kCAAmC,2CACnCC,gCAAiC,yCACjCC,gCAAiC,yCACjCC,gCAAiC,yCACjCC,8BAA+B,uCAC/BC,sBAAuB,+BACvBC,oBAAqB,6BACrBC,qBAAsB,8BACtBC,8BAA+B,uCAC/BC,4BAA6B,qCAC7BC,2BAA4B,oCAC5BC,sBAAuB,+BACvBC,wBAAyB,iCACzBC,8BAA+B,uCAC/BC,oBAAqB,6BACrBC,6BAA8B,sCAC9BC,mBAAoB,4BACpBC,iBAAkB,0BAClBC,mBAAoB,4BACpBC,iBAAkB,0BAClBC,2BAA4B,oCAC5BC,yBAA0B,kCAC1BC,2BAA4B,oCAC5BC,yBAA0B,kCAC1BC,8BAA+B,uCAC/BC,8BAA+B,uCAC/BC,4BAA6B,qCAC7BC,4BAA6B,qCAC7BC,yBAA0B,sCAC1BC,yBAA0B,sCAC1BC,uBAAwB,oCACxBC,uBAAwB,oCACxBC,qBAAsB,8BACtBC,qBAAsB,8BACtBC,mBAAoB,4BACpBC,mBAAoB,4BACpBC,4CACE,qDACFC,4CACE,qDACFC,0CACE,mDACFC,0CACE,oDAGEC,EAAgB,CACpBC,SAAS,EACTC,eAAe,EACfC,kBAAmB,CACjBF,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXC,uBAAwB,CACtBP,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXE,OAAQ,CACNR,SAAS,EACTG,SAAS,EACTC,SAAU,CACRK,WAAY,EACZxI,WAAY,EACZJ,WAAY,EACZC,SAAU,EACVF,KAAM,KAGV8I,UAAW,CACTV,SAAS,EACTG,SAAS,EACTC,SAAU,CACRK,WAAY,EACZxI,WAAY,EACZJ,WAAY,EACZC,SAAU,EACVF,KAAM,KAGVpD,MAAO,KACP4L,SAAU,GACVO,aAAc,GACdC,YAAa,CACXZ,SAAS,EACTG,SAAS,EACTC,SAAU,CACRS,WAAY,GACZC,QAAS,KAGbC,+BAAgC,CAC9BnJ,KAAM,GACNuI,SAAS,EACTG,SAAS,EACTN,SAAS,EACTxL,MAAO,MAETwM,yBAA0B,CACxBpJ,KAAM,GACNuI,SAAS,EACTG,SAAS,EACTN,SAAS,GAEXiB,cAAe,GACfC,cAAc,EACdf,SAAS,EACTG,SAAS,EACTa,SAAS,EACTC,QAAQ,EACRC,UAAW,CACTlB,SAAS,EACTG,SAAS,EACTF,SAAU,GACVJ,SAAS,GAEXsB,iBAAkB,CAChBnB,SAAS,EACTG,SAAS,EACTF,SAAU,GACVJ,SAAS,GAEXuB,sBAAuB,CACrBpB,SAAS,EACTG,SAAS,EACTF,SAAU,GACVJ,SAAS,GAEXK,kBAAmB,GAEnBmB,oBAAqB,CACnBxB,SAAS,EACTG,SAAS,GAEXsB,iBAAkB,CAChBzB,SAAS,EACT0B,iBAAkB,GAClBC,MAAO,GACPxB,SAAS,EACTyB,kBAAkB,EAClBtB,SAAS,EACT9L,MAAO,GACPqN,SAAU,IAEZC,UAAW,CACT9B,SAAS,EACTG,SAAS,EACTC,SAAU,CACRjW,MAAO,CAAEyN,KAAM,GAAIF,KAAM,GACzBX,WAAY,CAAEa,KAAM,GAAIF,KAAM,GAC9BhB,WAAY,CAAEkB,KAAM,GAAIF,KAAM,GAC9Bb,SAAU,CAAEe,KAAM,GAAIF,KAAM,GAC5BnB,YAAa,CAAEqB,KAAM,GAAIF,KAAM,GAC/BZ,SAAU,CAAEc,KAAM,GAAIF,KAAM,GAC5Bd,QAAS,CAAEgB,KAAM,GAAIF,KAAM,GAC3BxB,SAAU,CAAE0B,KAAM,GAAIF,KAAM,IAE9B2I,kBAAmB,GACnB7L,MAAO,MAETuN,YAAa,CACX/B,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEX0B,mBAAoB,CAClBhC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX2B,aAAc,CACZjC,SAAS,EACTG,SAAS,EACTC,SAAU,CACRjW,MAAO,CAAEyN,KAAM,GAAIF,KAAM,GACzBrK,UAAW,CAAEuK,KAAM,GAAIF,KAAM,GAC7BnK,YAAa,CAAEqK,KAAM,GAAIF,KAAM,GAC/B3J,QAAS,CAAE6J,KAAM,GAAIF,KAAM,GAC3BpL,UAAW,CAAEsL,KAAM,GAAIF,KAAM,GAC7BhK,SAAU,CAAEkK,KAAM,GAAIF,KAAM,GAC5B1J,WAAY,CAAE4J,KAAM,GAAIF,KAAM,GAC9BzJ,SAAU,CAAE2J,KAAM,GAAIF,KAAM,IAE9B2I,kBAAmB,GACnB7L,MAAO,MAET0N,eAAgB,CACdlC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX6B,uBAAwB,CACtBnC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX8B,gBAAiB,CACfpC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEX+B,gBAAiB,CACfrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXgC,iCAAkC,CAChCtC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXiC,qBAAsB,CACpBvC,SAAS,EACTG,SAAS,EACTC,SAAU,CACRjW,MAAO,CACLyN,KAAM,GACNF,KAAM,IAGVlD,MAAO,MAETgO,uBAAwB,CACtBxC,SAAS,EACTG,SAAS,EACTC,SAAU,GACV5L,MAAO,MAETiO,aAAc,CACZC,KAAM,CACJ1C,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,EACTqC,QAAS,MAEXC,MAAO,CACL5C,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,KAq1BR,MAAMuC,EAAW,CACtBC,eAAiBC,IAAM,CACrBC,KAAM3K,EAAMC,yBACZ2K,QAAS,CAAEF,YAEbG,+BAAiCH,IAAM,CACrCC,KAAM3K,EAAME,kCACZ0K,QAAS,CAAEF,YAEbI,sCAAuCA,CAAC/C,EAAUD,KAAO,CACvD6C,KAAM3K,EAAMG,kCACZyK,QAAS,CAAE7C,WAAUD,aAEvBiD,oCAAsC5O,IAAK,CACzCwO,KAAM3K,EAAMI,gCACZwK,QAAS,CAAEzO,WAEb6O,oCAAqCA,KAAA,CACnCL,KAAM3K,EAAMK,gCACZuK,QAAS,KAEXK,iCAAkCA,CAACP,EAAQQ,KAAa,CACtDP,KAAM3K,EAAMS,qCACZmK,QAAS,CAAEF,SAAQQ,mBAErBC,iCAAkCA,CAACpD,EAAUD,KAAO,CAClD6C,KAAM3K,EAAMU,qCACZkK,QAAS,CAAE7C,WAAUD,aAEvBsD,+BAAiCjP,IAAK,CACpCwO,KAAM3K,EAAMW,mCACZiK,QAAS,CAAEzO,WAEbkP,+BAAgCA,KAAA,CAC9BV,KAAM3K,EAAMY,mCACZgK,QAAS,KAEXU,kCAAmCA,CAACZ,EAAQQ,KAAa,CACvDP,KAAM3K,EAAMa,sCACZ+J,QAAS,CAAEF,SAAQQ,mBAErBK,kCAAmCA,CAACxD,EAAUD,KAAO,CACnD6C,KAAM3K,EAAMc,sCACZ8J,QAAS,CAAE7C,WAAUD,aAEvB0D,gCAAkCrP,IAAK,CACrCwO,KAAM3K,EAAMe,oCACZ6J,QAAS,CAAEzO,WAEbsP,gCAAiCA,KAAA,CAC/Bd,KAAM3K,EAAMgB,oCACZ4J,QAAS,KAEXc,yBAA2BhB,IAAM,CAC/BC,KAAM3K,EAAMiB,6BACZ2J,QAAS,CAAEF,YAEbiB,0BAA2BA,CAAC5D,EAAUD,KAAO,CAC3C6C,KAAM3K,EAAMkB,8BACZ0J,QAAS,CAAE7C,WAAUD,aAEvB8D,sBAAwBlB,IAAM,CAC5BC,KAAM3K,EAAMqB,yBACZuJ,QAAS,CAAEF,YAEbmB,uBAAwBA,CAAC9D,EAAUD,KAAO,CACxC6C,KAAM3K,EAAMsB,0BACZsJ,QAAS,CAAE7C,WAAUD,aAEvBgE,wBAAyBA,KAAA,CACvBnB,KAAM3K,EAAMmB,8BAEd4K,yBAA0BA,CAAChE,EAAUD,KAAO,CAC1C6C,KAAM3K,EAAMoB,6BACZwJ,QAAS,CAAE7C,WAAUD,aAEvBkE,gCAAiCA,CAACC,EAAgBC,KAAgB,CAChEvB,KAAM3K,EAAMuB,oCACZqJ,QAAS,CAAEqB,iBAAgBC,sBAE7BC,iCAAkCA,CAACpE,EAAUD,KAAO,CAClD6C,KAAM3K,EAAMwB,qCACZoJ,QAAS,CAAE7C,WAAUD,aAEvBsE,0BAA2BA,KAAA,CACzBzB,KAAM3K,EAAMyB,8BACZmJ,QAAS,KAEXyB,2BAA4BA,CAACtE,EAAUD,KAAO,CAC5C6C,KAAM3K,EAAM0B,+BACZkJ,QAAS,CAAE7C,WAAUD,aAEvBwE,2BAA6BJ,IAAgB,CAC3CvB,KAAM3K,EAAM2B,+BACZiJ,QAAS,CAAEsB,sBAEbK,4BAA6BA,CAACxE,EAAUD,KAAO,CAC7C6C,KAAM3K,EAAM4B,gCACZgJ,QAAS,CAAE7C,WAAUD,aAEvB0E,iBAAkBA,CAAC9B,EAAQ+B,KAAU,CACnC9B,KAAM3K,EAAMoD,mBACZwH,QAAS,CAAEF,SAAQ+B,gBAErBC,iBAAkBA,CAAC3E,EAAUD,KAAO,CAClC6C,KAAM3K,EAAMqD,mBACZuH,QAAS,CAAE7C,WAAUD,aAEvB6E,eAAiBxQ,IAAK,CACpBwO,KAAM3K,EAAMsD,iBACZsH,QAAS,CAAEzO,WAEbyQ,yBAA2BC,IAAW,CACpClC,KAAM3K,EAAM6B,4BACZ+I,QAAS,CAAEiC,iBAEbC,yBAA0BA,CAAC/E,EAAUD,KAAO,CAC1C6C,KAAM3K,EAAM8B,6BACZ8I,QAAS,CAAE7C,WAAUD,aAEvBiF,wBAA0BrC,IAAM,CAC9BC,KAAM3K,EAAM+B,2BACZ6I,QAAS,CAAEF,YAEbsC,wBAAyBA,CAACjF,EAAUD,KAAO,CACzC6C,KAAM3K,EAAMgC,4BACZ4I,QAAS,CAAE7C,WAAUD,aAEvBmF,wBAA0B3C,IAAO,CAC/BK,KAAM3K,EAAMiC,2BACZ2I,QAAS,CAAEN,aAEb4C,6BAA+BC,IAAE,CAC/BxC,KAAM3K,EAAMsC,2BACZsI,QAAS,CAAEuC,QAEbC,6BAA8BA,CAACrF,EAAUD,KAAO,CAC9C6C,KAAM3K,EAAMuC,4BACZqI,QAAS,CAAE7C,WAAUD,aAEvBuF,wBAAyBA,CAACtF,EAAUD,KAAO,CACzC6C,KAAM3K,EAAMkC,4BACZ0I,QAAS,CAAE7C,WAAUD,aAEvBwF,4BAA8B5C,IAAM,CAClCC,KAAM3K,EAAMoC,gCACZwI,QAAS,CAAEF,YAEb6C,0BAA4B7C,IAAM,CAChCC,KAAM3K,EAAMmC,8BACZyI,QAAS,CAAEF,YAEb8C,sCAAwC9C,IAAM,CAC5CC,KAAM3K,EAAMwC,0CACZoI,QAAS,CAAEF,YAEb+C,YAAcC,IAAK,CACjB/C,KAAM3K,EAAM6C,2BACZ+H,QAAS,CAAE8C,WAEbC,oBAAqBA,CAACrD,EAASsD,KAAa,CAC1CjD,KAAM3K,EAAM8C,4BACZ8H,QAAS,CAAEN,UAASsD,mBAEtBC,qBAAsB,SAAC9F,EAAUD,GAAO,IAAE3L,EAAK2R,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAAI,MAAM,CAC1DnD,KAAM3K,EAAM+C,6BACZ6H,QAAS,CAAE7C,WAAUD,UAAS3L,WAEhC6R,sCAAuCA,CAACjG,EAAUD,KAAO,CACvD6C,KAAM3K,EAAMyC,0CACZmI,QAAS,CAAE7C,WAAUD,aAEvBmG,oCAAsC9R,IAAK,CACzCwO,KAAM3K,EAAM0C,wCACZkI,QAAS,CAAEzO,WAEb+R,4BAA6BA,CAACnG,EAAUD,KAAO,CAC7C6C,KAAM3K,EAAMqC,iCACZuI,QAAS,CAAE7C,WAAUD,aAEvBqG,0BAA2BA,CAACzD,EAAQ0D,KAAG,CACrCzD,KAAM3K,EAAMuD,8BACZqH,QAAS,CAAEF,SAAQ0D,SAErBC,0BAA2BA,CAACtG,EAAUD,KAAO,CAC3C6C,KAAM3K,EAAMwD,8BACZoH,QAAS,CAAE7C,WAAUD,aAEvBwG,wBAA0BnS,IAAK,CAC7BwO,KAAM3K,EAAMyD,4BACZmH,QAAS,CAAEzO,WAEboS,6BAA+BC,IAAkB,CAC/C7D,KAAM3K,EAAMoF,gCACZwF,QAAS,CAAE4D,wBAEbC,6BAA+BnF,IAAK,CAClCqB,KAAM3K,EAAMqF,gCACZuF,QAAS,CAAEtB,WAEboF,2BAA6BvS,IAAK,CAChCwO,KAAM3K,EAAMsF,8BACZsF,QAAS,CAAEzO,WAEbwS,oBAAsBjE,IAAM,CAC1BC,KAAM3K,EAAMuF,sBACZqF,QAAS,CAAEF,YAEbkE,uBAAyBlE,IAAM,CAC7BC,KAAM3K,EAAMM,+BACZsK,QAAS,CAAEF,YAEbmE,uBAAyBC,IAAS,CAChCnE,KAAM3K,EAAMO,+BACZqK,QAAS,CAAEkE,eAEbC,sBAAwBrE,IAAM,CAC5BC,KAAM3K,EAAMQ,8BACZoK,QAAS,CAAEF,YAEbsE,oBAAqBA,CAACF,EAAWvF,KAAgB,CAC/CoB,KAAM3K,EAAM6F,sBACZ+E,QAAS,CAAEkE,YAAWvF,sBAExB0F,qBAAsBA,CAACC,EAAU5R,KAAM,CACrCqN,KAAM3K,EAAM8F,wBACZ8E,QAAS,CAAEsE,WAAU5R,YAEvB6R,0BAA2BA,KAAA,CACzBxE,KAAM3K,EAAM+F,8BACZ6E,QAAS,KAEXwE,kBAAmBA,KAAA,CACjBzE,KAAM3K,EAAMwF,sBAEd6J,mBAAqB/F,IAAK,CACxBqB,KAAM3K,EAAMyF,qBACZmF,QAAS,CAAEtB,WAEbgG,2BAA4BA,CAAChF,EAASiF,KAAQ,CAC5C5E,KAAM3K,EAAM0F,8BACZkF,QAAS,CAAEN,UAASiF,cAEtBC,yBAA0BA,CAACC,EAAQtT,EAAOuT,KAAQ,CAChD/E,KAAM3K,EAAM2F,4BACZiF,QAAS,CAAE6E,SAAQtT,QAAOuT,cAE5BC,wBAAyBA,KAAA,CACvBhF,KAAM3K,EAAM4F,6BAEdgK,kBAAmBA,CAACzT,EAAO8L,KAAO,CAChC0C,KAAM3K,EAAMgG,oBACZ4E,QAAS,CAAEzO,QAAO8L,aAEpB4H,iBAAmB1H,IAAM,CACvBwC,KAAM3K,EAAMkG,mBACZ0E,QAAS,CAAEzC,YAEb2H,eAAgBA,KAAA,CACdnF,KAAM3K,EAAMmG,mBAEd4J,iBAAkBA,CAACC,EAAWlB,KAAS,CACrCnE,KAAM3K,EAAMoG,mBACZwE,QAAS,CAAEoF,YAAWlB,eAExBmB,eAAiB9T,IAAK,CACpBwO,KAAM3K,EAAMqG,iBACZuE,QAAS,CAAEzO,WAEb+T,wBAA0B/H,IAAM,CAC9BwC,KAAM3K,EAAMsG,2BACZsE,QAAS,CAAEzC,YAEbgI,sBAAuBA,KAAA,CACrBxF,KAAM3K,EAAMuG,2BAEd6J,wBAA0BtB,IAAS,CACjCnE,KAAM3K,EAAMwG,2BACZoE,QAAS,CAAEkE,eAEbuB,sBAAwBlU,IAAK,CAC3BwO,KAAM3K,EAAMyG,yBACZmE,QAAS,CAAEzO,WAEbmU,mBAAqBnI,IAAM,CACzBwC,KAAM3K,EAAMkH,qBACZ0D,QAAS,CAAEzC,YAEboI,mBAAoBA,CAACzI,EAASwB,KAAK,CACjCqB,KAAM3K,EAAMmH,qBACZyD,QAAS,CAAE9C,UAASwB,WAEtBkH,iBAAkBA,KAAA,CAChB7F,KAAM3K,EAAMoH,qBAEdqJ,iBAAmBtU,IAAK,CACtBwO,KAAM3K,EAAMqH,mBACZuD,QAAS,CAAEzO,WAEbuU,0BAA2BA,CAACvI,EAAQwI,KAAQ,CAC1ChG,KAAM3K,EAAM0G,8BACZkE,QAAS,CAAEzC,SAAQwI,cAErBC,0BAA2BA,CAAC5I,EAAmB8G,KAAS,CACtDnE,KAAM3K,EAAM2G,8BACZiE,QAAS,CAAE5C,oBAAmB8G,eAEhC+B,wBAA0B1U,IAAK,CAC7BwO,KAAM3K,EAAM4G,4BACZgE,QAAS,CAAEzO,WAEb2U,wBAAyBA,KAAA,CACvBnG,KAAM3K,EAAM6G,8BAEdkK,oBAAqBA,CAACrG,EAAQ+B,KAAU,CACtC9B,KAAM3K,EAAM0D,uBACZkH,QAAS,CAAEF,SAAQ+B,gBAErBuE,oBAAqBA,CAACjJ,EAAUD,KAAO,CACrC6C,KAAM3K,EAAM2D,uBACZiH,QAAS,CAAE7C,WAAUD,aAEvBmJ,kBAAoB9U,IAAK,CACvBwO,KAAM3K,EAAM4D,qBACZgH,QAAS,CAAEzO,WAEb+U,6BAA+BxG,IAAM,CACnCC,KAAM3K,EAAMiF,kCACZ2F,QAAS,CAAEF,YAEbyG,6BAA8BA,CAACpJ,EAAUD,KAAO,CAC9C6C,KAAM3K,EAAMkF,kCACZ0F,QAAS,CAAE7C,WAAUD,aAEvBsJ,2BAA6BjV,IAAK,CAChCwO,KAAM3K,EAAMmF,gCACZyF,QAAS,CAAEzO,WAEbkV,sBAAuBA,CAAClJ,EAAQmJ,KAAU,CACxC3G,KAAM3K,EAAM8G,yBACZ8D,QAAS,CAAEzC,SAAQmJ,gBAErBC,sBAAuBA,CAACvJ,EAAmB8G,KAAS,CAClDnE,KAAM3K,EAAM+G,yBACZ6D,QAAS,CAAE5C,oBAAmB8G,eAEhC0C,oBAAsBrV,IAAK,CACzBwO,KAAM3K,EAAMgH,uBACZ4D,QAAS,CAAEzO,WAEbsV,oBAAqBA,KAAA,CACnB9G,KAAM3K,EAAMiH,yBAEdyK,uBAAwBA,CAAChH,EAAQQ,KAAa,CAC5CP,KAAM3K,EAAMgD,0BACZ4H,QAAS,CAAEF,SAAQQ,mBAErByG,uBAAwBA,CAAC5J,EAAUD,KAAO,CACxC6C,KAAM3K,EAAMiD,0BACZ2H,QAAS,CAAE7C,WAAUD,aAEvB8J,qBAAuBzV,IAAK,CAC1BwO,KAAM3K,EAAMkD,wBACZ0H,QAAS,CAAEzO,WAEb0V,qBAAsBA,KAAA,CACpBlH,KAAM3K,EAAMmD,wBACZyH,QAAS,KAEXkH,uBAAyBxH,IAAO,CAC9BK,KAAM3K,EAAM6D,0BACZ+G,QAAS,CAAEN,aAEbyH,uBAAwBA,CAAChK,EAAUD,KAAO,CACxC6C,KAAM3K,EAAM8D,0BACZ8G,QAAS,CAAE7C,WAAUD,aAEvBkK,qBAAuB7V,IAAK,CAC1BwO,KAAM3K,EAAM+D,wBACZ6G,QAAS,CAAEzO,WAEb8V,6BAA+BvH,IAAM,CACnCC,KAAM3K,EAAMgE,gCACZ4G,QAAS,CAAEF,YAEbwH,2BAA6B/V,IAAK,CAChCwO,KAAM3K,EAAMiE,8BACZ2G,QAAS,CAAEzO,WAEbgW,6BAA+BpK,IAAQ,CACrC4C,KAAM3K,EAAMkE,gCACZ0G,QAAS,CAAE7C,cAEbqK,8BAA+BA,CAAC9H,EAAS+H,EAAWC,KAAmB,CACrE3H,KAAM3K,EAAMmE,kCACZyG,QAAS,CAAEN,UAAS+H,YAAWC,yBAEjCC,4BAA8BpW,IAAK,CACjCwO,KAAM3K,EAAMoE,gCACZwG,QAAS,CAAEzO,WAEbqW,8BAA+BA,CAACzK,EAAUuK,KAAmB,CAC3D3H,KAAM3K,EAAMqE,kCACZuG,QAAS,CAAE7C,WAAUuK,yBAEvBG,+BAAiCC,IAAI,CACnC/H,KAAM3K,EAAMyE,mCACZmG,QAAS,CAAE8H,UAEbC,6BAA8BA,KAAA,CAC5BhI,KAAM3K,EAAM4E,iCACZgG,QAAS,KAEXgI,+BAAiC7K,IAAQ,CACvC4C,KAAM3K,EAAM0E,mCACZkG,QAAS,CAAE7C,cAEb8K,6BAA+B1W,IAAK,CAClCwO,KAAM3K,EAAM2E,iCACZiG,QAAS,CAAEzO,WAEb2W,4CAA6CA,CAC3CxI,EACAgI,KAAmB,CAEnB3H,KAAM3K,EAAMsE,iDACZsG,QAAS,CAAEN,UAASgI,yBAEtBS,0CAA4C5W,IAAK,CAC/CwO,KAAM3K,EAAMuE,+CACZqG,QAAS,CAAEzO,WAEb6W,4CAA6CA,CAC3CjL,EACAuK,KAAmB,CAEnB3H,KAAM3K,EAAMwE,iDACZoG,QAAS,CAAE7C,WAAUuK,yBAEvBW,wCAA0C9K,IAAM,CAC9CwC,KAAM3K,EAAMsH,4CACZsD,QAAS,CAAEzC,YAEb+K,wCAAyCA,CAAClL,EAAmB8G,KAAS,CACpEnE,KAAM3K,EAAMuH,4CACZqD,QAAS,CAAE5C,oBAAmB8G,eAEhCqE,sCAAwChX,IAAK,CAC3CwO,KAAM3K,EAAMwH,0CACZoD,QAAS,CAAEzO,WAEbiX,sCAAuCA,KAAA,CACrCzI,KAAM3K,EAAMyH,4CAEd4L,+CAAgDA,CAAC/I,EAASoI,KAAI,CAC5D/H,KAAM3K,EAAM6E,oDACZ+F,QAAS,CAAEN,UAASoI,UAEtBY,6CAA+CnX,IAAK,CAClDwO,KAAM3K,EAAM+E,kDACZ6F,QAAS,CAAEzO,WAEboX,+CAAgDA,KAAA,CAC9C5I,KAAM3K,EAAM8E,oDACZ8F,QAAS,KAEX4I,6CAA8CA,KAAA,CAC5C7I,KAAM3K,EAAMgF,kDACZ4F,QAAS,KAEX6I,mCAAqC/I,IAAM,CACzCC,KAAM3K,EAAMiG,6BACZ2E,QAAS,CAAEF,YAEbgJ,wBAA0BC,IAAc,CACtChJ,KAAM3K,EAAM2C,4BACZiI,QAAS,CAAE+I,qBC3pDAC,MA1BWC,GAAcC,GAASC,UAC/C,OAAQC,EAAOrJ,MACb,KAAKsJ,EAAW1O,sBAShB,KAAK0O,EAAWhO,6BACd+N,EAAOpJ,QAAQF,OAAOwJ,WAAWC,GAAG,iBAAmBC,IAC1B,IAAvBA,EAAKC,eACPR,EAASS,SACPC,EAAajF,2BAA2B8E,EAAKjH,GAAIiH,EAAKC,kBAQhE,OAAOP,EAAKE,I,yBC1BP,MAAMhU,EAET,mEAFSA,EAIT,oEAJSA,EAMT,kEANSA,EAQT,mEARSA,EAUT,wEAVSA,EAYT,yEAZSA,EAcT,qEAdSA,EAgBT,sEAGE0H,EAAgB,CACpB8M,uBAAwB,CACtB1M,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERkV,0BAA2B,CACzB3M,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERmV,sBAAuB,CACrB5M,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERoV,yBAA0B,CACxB7M,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,KA4DH,MAAMiL,EACqBE,IAAM,CACpCC,KAAM3K,EACN4K,QAAS,CAAEF,YAHFF,EAKqBoK,CAAC7M,EAAUD,KAAO,CAChD6C,KAAM3K,EACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,EASyBqK,IAAc,CAChDlK,KAAM3K,EACN4K,QAAS,CAAEiK,oBAXFrK,EAayBsK,CAAC/M,EAAUD,KAAO,CACpD6C,KAAM3K,EACN4K,QAAS,CAAE7C,WAAUD,aAfZ0C,EAiBoBE,IAAM,CACnCC,KAAM3K,EACN4K,QAAS,CAAEF,YAnBFF,EAqBoBuK,CAAChN,EAAUD,KAAO,CAC/C6C,KAAM3K,EACN4K,QAAS,CAAE7C,WAAUD,aAvBZ0C,EAyBuBwK,IAAoB,CACpDrK,KAAM3K,EACN4K,QAASoK,IA3BAxK,EA6BuByK,CAAClN,EAAUD,KAAO,CAClD6C,KAAM3K,EACN4K,QAAS,CAAE7C,WAAUD,a,uHCvIzB,MAAM,iCAAEoN,IAAqCC,gb,uDCI9BC,OAFMC,0B,gBCFrB,MA+IMC,GAAS,CACbC,WAAY,IACZC,SAAU,UACVC,SAAU,UACVC,SAAU,UACVC,SAAU,UAEVC,aAAc,UACdC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UAEXC,iBAAkB,UAClBC,YAAa,UACbC,YAAa,UACbC,YAAa,UACbC,YAAa,UAEbC,SAAU,UACVC,WAAY,UACZC,WAAY,UACZC,WAAY,UACZC,WAAY,UAEZC,QAAS,UACTC,UAAW,UAEXC,aAAc,UACdC,aAAc,UACdC,WAAY,UAEZC,cAAe,UAEfC,cAAe,UAEfC,YAAa,UAEbC,SAAU,UAEVC,aAAc,UAEdC,cAAe,UAEfC,aAAc,OAEdC,YAAa,UACbC,cAAe,WAWF,I,yGAAA,IAvMbC,YAAa,OACbC,aAAc,UACdC,eAAgB,UAChBC,YAAa,UACbC,YAAa,UACbC,YAAa,UACbC,UAAW,YACXC,SAAU,UACVC,iBAAkB,UAClBC,oBAAqB,uBACrBC,SAAU,UACVC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,WAAY,UACZxB,cAAe,UACfyB,iBAAkB,UAClBC,WAAY,UACZC,gBAAiB,0BACjBC,kBAAmB,2BACnBC,mBAAoB,2BACpBC,aAAc,UACdC,YAAa,6BACbC,cAAe,sBACfC,YAAa,qBACbC,UAAW,UACXC,oBAAqB,UACrBC,mBAAoB,UACpBC,uBAAwB,UACxBC,wBAAyB,UACzBC,kBAAmB,UAEnBC,MAAO,UAEPC,WAAY,UACZC,IAAK,UACLC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,OAAQ,UACRC,QAAS,UACTjD,SAAU,UAEVN,aAAc,UACdwD,WAAY,UACZvD,aAAc,UACdwD,UAAW,UACXC,qBAAsB,UACtBC,cAAe,UACfC,OAAQ,UACR1D,WAAY,UACZ2D,SAAU,UACVC,SAAU,UACVC,SAAU,UACVC,SAAU,UACVC,SAAU,UACVC,SAAU,UACVC,SAAU,UAEVC,KAAM,UACNC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,MAAO,YACPC,MAAO,YACPC,WAAY,UACZC,SAAU,UACVC,UAAW,UACXC,SAAU,UACVC,YAAa,UACbC,UAAW,UACXC,UAAW,UAEXC,KAAM,UACNC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,SAAU,UAEVC,OAAQ,UACRC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,cAAe,UACfC,WAAY,UAEZC,UAAW,UACXC,WAAY,UAaZC,aAAc,UACdC,aAAc,UACdC,WAAY,UACZC,UAAW,UAEXC,cAAe,UACfC,mBAAoB,UACpBC,aAAc,UACdC,kBAAmB,UACnBC,WAAY,UACZC,gBAAiB,UAEjB7G,cAAe,UAEfC,YAAa,UACb6G,KAAM,UACNC,UAAW,UAEXC,cAAe,MACfC,SAAU,OACVC,aAAc,MACdC,YAAa,MACbC,UAAW,SAuDK,CAChB/I,WAHkBA,GAMwBgJ,QCnMdC,WAAOC,IAAGC,QAAAC,aAAA,6OAQpCjiB,IAAA,IAAC,SAAEkiB,GAAUliB,EAAA,OACbkiB,EACIC,eAAGC,QAAAH,aAAA,2CACWC,GAAQ,sBAI1B/hB,IAAA,IAAC,KAAEkiB,GAAMliB,EAAA,OACTkiB,EACIF,eAAGG,QAAAL,aAAA,wCACOI,GAAI,eAIlBE,IAAA,IAAC,IAAEC,GAAKD,EAAA,OACRC,EACIL,eAAGM,QAAAR,aAAA,uCACMO,GAAG,aAIdE,IAAA,IAAC,UAAEC,GAAWD,EAAA,OAChBC,EACIR,eAAGS,QAAAX,aAAA,+CACaU,GAAS,0BAI3BE,IAAA,IAAC,SAAEC,GAAUD,EAAA,OACfC,EACIX,eAAGY,QAAAd,aAAA,8CACYa,GAAQ,yBAI3BE,IAAA,IAAC,OAAEC,GAAQD,EAAA,OACXC,EACId,eAAGe,QAAAjB,aAAA,2CACSgB,GAAM,iBAItBE,IAAA,IAAC,MAAEC,GAAOD,EAAA,OACVC,EACIjB,eAAGkB,QAAApB,aAAA,0CACQmB,GAAK,iBAKOtB,WAAOC,IAAGuB,QAAArB,aAAA,mIA1DlC,MAoEMsB,GAAuBzB,WAAOC,IAAGyB,QAAAvB,aAAA,6XAUnCJ,GAAM/C,QAOb2E,IAAA,IAAC,WAAEC,GAAYD,EAAA,OACfC,EACIvB,eAAGwB,QAAA1B,aAAA,6CACayB,GAEhB,IAEJE,IAAA,IAAC,eAAEC,GAAgBD,EAAA,OACnBC,EACI1B,eAAG2B,QAAA7B,aAAA,kDACkB4B,GAAc,kCAGvCE,IAAA,IAAC,QAAEC,GAASD,EAAA,OACZC,EACI7B,eAAG8B,QAAAhC,aAAA,0CACU+B,GAAO,kBAKfE,GAA+BpC,WAAOC,IAAGoC,QAAAlC,aAAA,2KAOlDmC,IAAA,IAAC,WAAEV,GAAYU,EAAA,OACfV,EACIvB,eAAGkC,QAAApC,aAAA,6CACayB,GAEhB,IAEJY,IAAA,IAAC,WAAEC,GAAYD,EAAA,OACfC,EACIpC,eAAGqC,QAAAvC,aAAA,8CACcsC,GAAU,IAI/BE,IAAA,IAAC,QAAEC,GAASD,EAAA,OACZC,EACIvC,eAAGwC,QAAA1C,aAAA,0CACUyC,GAAO,iBAIxBE,IAAA,IAAC,OAAE3B,GAAQ2B,EAAA,OACX3B,EACId,eAAG0C,QAAA5C,aAAA,2CACSgB,GAAM,KAIb6B,GAAwBhD,WAAOC,IAAGgD,QAAA9C,aAAA,kDAC3C+C,IAAA,IAAC,mBAAEC,GAAoBD,EAAA,OACA,IAAvBC,EACI9C,eAAG+C,QAAAjD,aAAA,gDAGHE,eAAGgD,QAAAlD,aAAA,iDAGPmD,IAAA,IAAC,SAAEC,GAAUD,EAAA,OACbC,EACIlD,eAAGmD,QAAArD,aAAA,2CACWoD,GAEdlD,eAAGoD,QAAAtD,aAAA,8CAGLuD,IAAA,IAAC,UAAE7C,GAAW6C,EAAA,OAChB7C,EACIR,eAAGsD,QAAAxD,aAAA,6CACaU,GAEhBR,eAAGuD,QAAAzD,aAAA,iDAGL0D,IAAA,IAAC,MAAEvC,GAAOuC,EAAA,OACZvC,EACIjB,eAAGyD,QAAA3D,aAAA,wCACQmB,GAEXjB,eAAG0D,QAAA5D,aAAA,SACL6D,IAAA,IAAC,OAAE7C,GAAQ6C,EAAA,OACb7C,EACId,eAAG4D,QAAA9D,aAAA,yCACSgB,GAEZd,eAAG6D,QAAA/D,aAAA,UAGEgE,GAAuBnE,WAAOC,IAAGmE,QAAAjE,aAAA,2JAK1CkE,IAAA,IAAC,WAAEzC,GAAYyC,EAAA,OACfzC,EACIvB,eAAGiE,QAAAnE,aAAA,6CACayB,GAEhB,IACJ2C,IAAA,IAAC,eAAExC,GAAgBwC,EAAA,OACnBxC,EACI1B,eAAGmE,QAAArE,aAAA,kDACkB4B,GAAc,2BAQvC0C,IAAA,IAAC,QAAEvC,GAASuC,EAAA,OACZvC,EACI7B,eAAGqE,QAAAvE,aAAA,0CACU+B,GAAO,iBAIxByC,IAAA,IAAC,aAAEC,GAAcD,EAAA,OACjBC,EACIvE,eAAGwE,QAAA1E,aAAA,gDACgByE,GAEnB,IAEJE,IAAA,IAAC,cAAEC,GAAeD,EAAA,OAClBC,EACI1E,eAAG2E,QAAA7E,aAAA,iDACiB4E,GAEpB,KClLFE,GAAc5mB,IAMb,IANc,SACnB6mB,EAAQ,eACRnD,EAAc,QACdG,EAAO,WACPN,EAAU,SACVuD,GACD9mB,EACC,MAAM,QAAE+mB,GAAYC,qBAAWxO,IAE/B,OACEyO,IAAAC,cAAC9D,GAAoB,CACnBM,eAAgBA,EAChBG,QAASA,EACTN,WAAYA,GAEXsD,EACDI,IAAAC,cAACC,KAAO,CAACJ,QAAUD,EAAgCM,GAAMA,EAA1BC,GAAMN,EAAQM,GAAe5kB,KAAK,SAKjE6kB,GAAsBlF,IAMrB,IANsB,SAC3ByE,EAAQ,OACR/D,EAAM,QACNyB,EAAO,WACPH,EAAU,WACVb,GACDnB,EACC,OACE6E,IAAAC,cAACnD,GAA4B,CAC3BK,WAAYA,EACZtB,OAAQA,EACRyB,QAASA,EACThB,WAAYA,GAEXsD,IAKDU,GAAehF,IAQd,IARe,SACpBsE,EAAQ,mBACR/B,EAAkB,SAClBI,EAAQ,UACR1C,EAAS,IACTgF,EAAG,MACHvE,EAAK,OACLH,GACDP,EACC,OACE0E,IAAAC,cAACvC,GAAqB,CACpBG,mBAAoBA,EACpBI,SAAUA,EACV1C,UAAWA,EACXS,MAAOA,EACPuE,IAAKA,EACL1E,OAAQA,GAEP+D,IAKDY,GAAc/E,IAQb,IARc,SACnBmE,EAAQ,eACRnD,EAAc,WACdgE,EAAU,QACV7D,EAAO,aACP0C,EAAY,cACZG,EAAa,WACbnD,GACDb,EACC,OACEuE,IAAAC,cAACpB,GAAoB,CACnBpC,eAAgBA,EAChBgE,WAAYA,EACZ7D,QAASA,EACT0C,aAAcA,EACdG,cAAeA,EACfnD,WAAYA,GAEXsD,I,sBC5HA,MAAMc,GAAYhG,WAAOiG,OAAM/F,QAAAC,aAAA,gJAC1BjiB,IAAA,IAAC,OAAEgoB,GAAQhoB,EAAA,OAAKgoB,GAAM,aAAAC,OAAiBpG,GAAMzH,eAC/Cja,IAAA,IAAC,KAAE+nB,GAAM/nB,EAAA,OAAK+nB,GAAI,gCACjB3F,IAAA,IAAC,MAAE4F,GAAO5F,EAAA,OAAK4F,GAAStG,GAAMzH,cACtBsI,IAAA,IAAC,aAAE0F,GAAc1F,EAAA,OAAK0F,GAAY,OACxCvF,IAAA,IAAC,QAAEwF,GAASxF,EAAA,OAAKwF,GAAO,KAEjCrF,IAAA,IAAC,OAAEC,GAAQD,EAAA,OACXC,GACAd,eAAGC,QAAAH,aAAA,iCACSgB,IAGZE,IAAA,IAAC,MAAEC,GAAOD,EAAA,OACVC,GACAjB,eAAGG,QAAAL,aAAA,gCACQmB,IAGXK,IAAA,IAAC,WAAEC,GAAYD,EAAA,OACfC,GACAvB,eAAGM,QAAAR,aAAA,qCACayB,IAGhBE,IAAA,IAAC,WAAE0E,GAAY1E,EAAA,OACf0E,GACAnG,eAAGS,QAAAX,aAAA,sCACcqG,IAGjBvE,IAAA,IAAC,YAAEwE,GAAaxE,EAAA,OAChBwE,GACApG,eAAGY,QAAAd,aAAA,uCACesG,KCIPC,I,YAAAA,GAtCAxoB,IAAA,IAAC,OACdgoB,EAAM,aACNI,EAAY,QACZC,EAAO,KACPI,EAAI,KACJP,EAAI,MACJC,EAAK,QACLjB,EAAO,SACPF,EAAQ,OACR/D,EAAM,MACNG,EAAK,WACLM,EAAU,YACV6E,EAAW,WACXD,EAAU,KACVpa,KACGwa,GACJ1oB,EAAA,OACConB,IAAAC,cAACS,GAASa,OAAAC,OAAA,GACJF,EAAK,CACTV,OAAQA,EACRI,aAAcA,EACdC,QAASA,EACTI,KAAMA,EACNP,KAAMA,EACNC,MAAOA,EACPlF,OAAQA,EACRG,MAAOA,EACPM,WAAYA,EACZ6E,YAAaA,EACbD,WAAYA,EACZpB,QAASA,EACThZ,KAAMA,IAEL8Y,EACAyB,IChCE,MAAMX,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kHAOtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,iWAoBxB6G,GAAchH,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,wHC/B1B1e,IDuCeue,mBAAO0G,GAAP1G,CAAcW,QAAAR,aAAA,+DCtCvB,yBADN1e,GAEM,wBAFNA,GAGI,sBAHJA,GAID,iBAJCA,GAKc,gCALdA,GAMoB,sCANpBA,GAOoB,sCAPpBA,GAQkB,oCARlBA,GASe,iCATfA,GAUe,iCAVfA,GAWa,+BAXbA,GAYkB,oCAZlBA,GAakB,oCAblBA,GAcgB,kCAdhBA,GAeS,2BAfTA,GAgBS,2BAhBTA,GAiBO,yBAjBPA,GAkBoB,sCAlBpBA,GAmBoB,sCAnBpBA,GAoBkB,oCApBlBA,GAqBmB,qCArBnBA,GAsBmB,qCAtBnBA,GAuBiB,mCAGxB0H,GAAgB,CACpBC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACPspB,UAAU,EACVC,QAAS,GACTC,YAAa,KACbC,sBAAuB,KACvBC,aAAc,KACdC,uBAAwB,KACxBC,SAAU,KACVC,MAAO,KACPC,eAAgB,CACdte,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXie,UAAW,CACTve,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXke,oBAAqB,CACnBxe,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXme,kBAAmB,CACjBze,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXoe,mBAAoB,CAClB1e,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,IA4JN,MAAMuC,GACK8b,IAAI,CAClB3b,KAAM3K,GACN4K,QAAS,CAAE0b,UAHF9b,GAKI+b,CAACP,EAAON,KAAO,CAC5B/a,KAAM3K,GACN4K,QAAS,CAAEob,QAAON,aAPTlb,GASGrO,IAAK,CACjBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAXFqO,GAaFgc,KAAA,CACP7b,KAAM3K,KAdGwK,GAgBWic,KAAA,CACpB9b,KAAM3K,KAjBGwK,GAmBkBkc,IAAY,CACvC/b,KAAM3K,GACN4K,QAAS,CAAE8b,kBArBFlc,GA+Bamc,IAAW,CACjChc,KAAM3K,GACN4K,QAAS,CAAE+b,iBAjCFnc,GAuCWrO,IAAK,CACzBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAzCFqO,GA2CQoc,IAAa,CAC9Bjc,KAAM3K,GACN4K,QAAS,CAAEgc,mBA7CFpc,GA+COqc,CAACb,EAAON,EAAS5W,EAAWgY,KAAc,CAC1Dnc,KAAM3K,GACN4K,QAAS,CAAEob,QAAON,UAAS5W,YAAWgY,oBAjD7Btc,GAmDKuc,CAAC/e,EAAmB7L,KAAK,CACvCwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WArDrBqO,GA2DiBwc,CAACjf,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aA7DZ0C,GA+DgBrO,IAAK,CAC9BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAjEFqO,GAmEiBE,IAAM,CAChCC,KAAM3K,GACN4K,QAAS,CAAEF,YArEFF,GAuEgByc,CAAClf,EAAUD,KAAO,CAC3C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAzEZ0C,GA2EerO,IAAK,CAC7BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WA7EFqO,GA+EgBE,IAAM,CAC/BC,KAAM3K,GACN4K,QAAS,CAAEF,YAjFFF,GAmFe0c,CAACnf,EAAUD,KAAO,CAC1C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aArFZ0C,GAuFcrO,IAAK,CAC5BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WC7Rf,MAAMkoB,GAAcznB,IAAwB,IAAvB,cAAEuqB,GAAevqB,EACpC,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAASwD,EACTvC,MAAOtG,GAAMjG,QACb0M,WAAY,GACZlF,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,QAOQC,OAjDf,SAA4B/qB,GAAuB,IAAtB,OAAEgrB,EAAM,QAAE9D,GAASlnB,EAC9C,MAAM6X,EAAWoT,cAMjB,OACE7D,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,EACTjE,OAAQ,IACRG,MAAO,IACP+H,OAAQ/D,IAAAC,cAACO,GAAW,CAACV,QAASA,EAASwD,cAVrBA,KACpB7S,EAASuT,UAWPhE,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,KACXN,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACgE,KAAO,CAAClD,MAAOtG,GAAMzH,aAAcxX,KAAK,QACzCwkB,IAAAC,cAACyB,GAAW,CAACL,KAAK,uBAClBrB,IAAAC,cAACwB,GAAW,KAAC,+ECvBzB,MAEayC,GVLW,CAChB5a,GAAI,EACJ6a,IAAK,UACLC,KAAM/S,GACNgT,KAAM,OACNC,MAAO,CAAC,SUAoBH,KAC9B,iBAAEI,IAAqBjT,gbAEhBkT,GAAeL,IAC1B,GAAIM,eAAeC,QAAQP,GACzB,MCFyBQ,EAACC,EAAiBC,KAC7C,MACMC,EADiBC,KAASC,IAAIC,QAAQL,EAAiBC,GACtBtrB,SAASwrB,KAASG,IAAIC,MAE7D,OADwB9rB,KAAK+rB,MAAMN,IDD1BH,CAAcF,eAAeC,QAAQP,GAAMI,KAKzCc,GAAcA,IAAMb,GAAYN,IAGhCoB,GAAsBA,IAAMd,GAAYN,IAAUqB,aAElDC,GAAyBA,IAAMhB,GAAYN,IAAUuB,WAErDC,GAAqBA,IAChCC,aAAS,IAAIC,KAAQC,aAASL,OAGnBM,GAAkBA,IAAMtB,GAAYN,IAAU6B,cAM9CC,GAAYA,KACvBvB,eAAewB,QAAQ,eAAe,IAG3BC,GAAexqB,IAC1B,MAAMyqB,ECtCqBC,EAACC,EAAQxB,KACpC,MAAMyB,EAAejtB,KAAKC,UAAU+sB,GAKpC,OAJwBtB,KAASC,IAAIuB,QACnCD,EACAzB,GACAtrB,YDiCkB6sB,CAAc1qB,EAAM6oB,IACxCE,eAAewB,QAAQ/B,GAAUiC,IAEtBK,GAAcA,KACzB/B,eAAegC,WAAWvC,KAGfwC,GAAmBxW,UAC9B,MAAMiS,EAAQmD,KAMd,OAJInD,IACFwE,EAAOC,QAAQC,cAAa,UAAAhG,OAAasB,IAGpCwE,GAGF,SAASG,KACd,MAAOC,EAAUC,GAAeC,mBAAS,KAClCC,EAAWC,GAAgBF,oBAAS,GAuB3C,OArBAG,oBAAU,KACR,MAAMC,EAAWC,YAAY,KAC3B,MAAMC,EAAWC,aAAmB,CAClCC,MAAO,IAAI7B,KACX8B,IAAK,IAAI9B,KAAKJ,SAGV,MAAEmC,EAAK,QAAEC,EAAO,QAAEC,GAAYN,EAE9BO,EAAiB,GAAAjH,OAAM8G,EAAK,YAAA9G,OAAW+G,EAAO,eAAA/G,OAAcgH,EAAO,aACzEb,EAAYc,GAEE,IAAVH,GAA2B,IAAZC,GAA6B,IAAZC,IAClCV,GAAa,GACbY,cAAcV,KAEf,KAEH,MAAO,IAAMU,cAAcV,IAC1B,IAGDrH,IAAAC,cAAA,WACED,IAAAC,cAAA,WAAK,yBAAuB8G,GAC5B/G,IAAAC,cAAC0D,GAAmB,CAClBC,OAAQsD,EACRc,OAAQA,IAAMb,GAAa,KAC1B,KElFT,MAGac,GAAWtB,IACtB,MAAMuB,EAAY,IAAKvB,GAGvB,OAFAuB,EAAUC,IAAG,GAAAtH,OAAM8F,EAAOwB,KAEgB,wBAAtCD,EAAUtB,QAAQ,kBAElBD,EAAO9f,SACTqhB,EAAUrhB,OAASuhB,IAAczB,EAAO9f,SAEtC8f,EAAOjrB,OACTwsB,EAAUxsB,KAAO0sB,IAAczB,EAAOjrB,OAGxCwsB,EAAUG,iBAAoBC,GAC5BC,IAAGjvB,UAAUgvB,EAAG,CACdE,WAAW,EACXC,YAAa,YAXRP,GAiBEQ,GAAwBxY,UACnC,IAAIgY,EAAY,IAAKvB,GAKrB,OAJAuB,QAAkBxB,GAAiBC,GAEnCuB,QAAkBD,GAAQtB,GAEnBuB,GAGIS,GAAeA,CAACrwB,EAAOswB,KAClC,MAAM,OAAErtB,GAAWjD,EAAM4L,SAOzB,OA1CmB,MAoCf3I,GACFT,EAAQ+tB,KAAK,sBApCa,MAsCxBttB,GACFT,EAAQ+tB,KAAK,wBAADhI,OAAyB+H,IAEhCjxB,QAAQE,OAAOS,IAGXwwB,GAAyB5Y,UA7CjB,MA8CfhM,EAAS3I,QACXT,EAAQ+tB,KAAK,eAERE,KAAc7kB,EAAU,CAAE8kB,MAAM,MC/CnC,kBAAEC,GAAiB,wBAAEC,IAA4B5X,gbAI1C6X,GAASC,IAAMlkB,OAAO,CACjCmkB,QAASH,KAYEI,IATUF,IAAMlkB,OAAO,CAClCmkB,QAAQ,GAADxI,OAAKoI,IACZrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIFL,IAAMlkB,OAAO,CAChCmkB,QAAQ,GAADxI,OAAKoI,IACZrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,YAIVC,GAAgBN,IAAMlkB,OAAO,CACxCmkB,QAAQ,GAADxI,OAAKoI,IACZrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVE,GAAYP,IAAMlkB,OAAO,CACpCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,WAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVG,GAAiBR,IAAMlkB,OAAO,CACzCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,gBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVI,GAAwBT,IAAMlkB,OAAO,CAChDmkB,QAAQ,GAADxI,OAAKoI,GAAiB,YAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAGVK,GAA6BV,IAAMlkB,OAAO,CACrDmkB,QAAQ,GAADxI,OAAKoI,GAAiB,kBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAGVM,GAAmCX,IAAMlkB,OAAO,CAC3DmkB,QAAQ,GAADxI,OAAKoI,GAAiB,yBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVO,GAAUZ,IAAMlkB,OAAO,CAClCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,UAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVQ,GAAmBb,IAAMlkB,OAAO,CAC3CmkB,QAAQ,GAADxI,OAAKoI,GAAiB,mBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVS,GAAwBd,IAAMlkB,OAAO,CAChDmkB,QAAQ,GAADxI,OAAKoI,GAAiB,YAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVU,GAAkBf,IAAMlkB,OAAO,CAC1CmkB,QAAQ,GAADxI,OAAKoI,GAAiB,iBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVW,GAAchB,IAAMlkB,OAAO,CACtCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,aAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAaVY,IATejB,IAAMlkB,OAAO,CACvCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,eAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAISL,IAAMlkB,OAAO,CAC3CmkB,QAAQ,GAADxI,OAAKoI,GAAiB,kBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,YAsBVa,IAlBWlB,IAAMlkB,OAAO,CACnCmkB,QAAS,iCACTzC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIWL,IAAMlkB,OAAO,CAC7CmkB,QAAS,uCACTzC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIKL,IAAMlkB,OAAO,CACvCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,0BAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,YAIVc,GAAgBnB,IAAMlkB,OAAO,CACxCmkB,QAAQ,GAADxI,OAAKoI,GAAiB,eAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVe,GAAyBpB,IAAMlkB,OAAO,CACjDmkB,QAAQ,GAADxI,OAAKoI,GAAiB,yBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAIVgB,GAAmBrB,IAAMlkB,OAAO,CAC3CmkB,QAAQ,GAADxI,OAAKoI,GAAiB,sBAC7BrC,QAAS,CACP2C,OAAQ,mBACR,eAAgB,mBAChB,YAAaC,EAAMC,WAOvBE,GAAUe,aAAaC,QAAQC,IAAI1a,SACjCwY,GAAsB/B,IAExBiD,GAAec,aAAaC,QAAQC,IAAI1a,SACtCwY,GAAsB/B,IAExBkD,GAAsBa,aAAaC,QAAQC,IAAI1a,SAC7CwY,GAAsB/B,IAExBmD,GAA2BY,aAAaC,QAAQC,IAAI1a,SAClDwY,GAAsB/B,IAExBoD,GAAiCW,aAAaC,QAAQC,IAAI1a,SACxDwY,GAAsB/B,IAExBsD,GAAiBS,aAAaC,QAAQC,IAAI1a,SACxCwY,GAAsB/B,IAExBqD,GAAQU,aAAaC,QAAQC,IAAI1a,SAC/BwY,GAAsB/B,IAGxBwD,GAAgBO,aAAaC,QAAQC,IAAI1a,SACvCwY,GAAsB/B,IAGxByD,GAAYM,aAAaC,QAAQC,IAAI1a,SACnCwY,GAAsB/B,IAGxB+C,GAAcgB,aAAaC,QAAQC,IAAI1a,SACrCwY,GAAsB/B,IAGxB0D,GAAiBK,aAAaC,QAAQC,IAAI1a,SACxCwY,GAAsB/B,IAGxBuD,GAAsBQ,aAAaC,QAAQC,IAAI1a,SAC7C+X,GAAQtB,IAEV2D,GAAaI,aAAaC,QAAQC,IAAI1a,SACpCwY,GAAsB/B,IAExB4D,GAAcG,aAAaC,QAAQC,IAAI1a,SACrCwY,GAAsB/B,IAExB6D,GAAuBE,aAAaC,QAAQC,IAAI1a,SAC9CwY,GAAsB/B,IAExB8D,GAAiBC,aAAaC,QAAQC,IAAI1a,SACxCwY,GAAsB/B,IAExB2C,GAAMoB,aAAaC,QAAQC,IAAI1a,SAAkB+X,GAAQtB,IAIzDgD,GAAUe,aAAaxmB,SAAS0mB,IAC7B1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,UAGjCsxB,GAAec,aAAaxmB,SAAS0mB,IAClC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,gBAEjCuxB,GAAsBa,aAAaxmB,SAAS0mB,IACzC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,kBAEjCwxB,GAA2BY,aAAaxmB,SAAS0mB,IAC9C1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,kBAGjCyxB,GAAiCW,aAAaxmB,SAAS0mB,IACpD1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,kBAGjC2xB,GAAiBS,aAAaxmB,SAAS0mB,IACpC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,cAGjC0xB,GAAQU,aAAaxmB,SAAS0mB,IAC3B1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,cAGjC4xB,GAAsBQ,aAAaxmB,SAAS0mB,IACzC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,kBAGjC6xB,GAAgBO,aAAaxmB,SAAS0mB,IACnC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,UAEjC8xB,GAAYM,aAAaxmB,SAAS0mB,IAC/B1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,WAEjC+xB,GAAiBK,aAAaxmB,SAAS0mB,IACpC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,WAEjCgyB,GAAaI,aAAaxmB,SAAS0mB,IAChC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,WAEjCiyB,GAAcG,aAAaxmB,SAAS0mB,IACjC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,UAGjCkyB,GAAuBE,aAAaxmB,SAAS0mB,IAC1C1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,UAEjCmyB,GAAiBC,aAAaxmB,SAAS0mB,IACpC1mB,GAAa4kB,GAAuB5kB,GACpC5L,GAAUqwB,GAAarwB,EAAO,U,+CC/T1B,MAAMooB,GAAYhG,mBAAOmQ,KAAgBC,MAAOxJ,IAAK,CAC1DyJ,UAAWzJ,EAAMyJ,YADMrQ,CAEtBE,QAAAC,aAAA,sjBA4BUmQ,GAAwBtQ,mBAAOuQ,MAAoBH,MAC7DxJ,IAAK,CACJ9lB,KAAM8lB,EAAM9lB,OAFqBkf,CAIpCM,QAAAH,aAAA,sCACUJ,GAAMrB,eAIJ8R,GAAsBxQ,mBAAOyQ,MAAUL,MAAOxJ,IAAK,CAC9D9lB,KAAM8lB,EAAM9lB,OADqBkf,CAEhCQ,QAAAL,aAAA,sCACQJ,GAAM7E,YAGJwV,GAAwB1Q,mBAAO2Q,MAAeP,MAAOxJ,IAAK,CACrE9lB,KAAM8lB,EAAM9lB,OADuBkf,CAElCW,QAAAR,aAAA,sCACQJ,GAAMzH,cAIJsY,GAAgB5Q,WAAOC,IAAGa,QAAAX,aAAA,4PC/ChC,MAAM0Q,GAAe3yB,IAAmB,IAAlB,SAAEgnB,GAAUhnB,EACvC,OACEonB,IAAAC,cAACqL,GAAa,KACZtL,IAAAC,cAAC+K,GAAqB,CAACxvB,KAAK,OAC5BwkB,IAAAC,cAAA,YAAOL,KAKA4L,GAAazyB,IAAyB,IAAxB,SAAE6mB,EAAQ,KAAEpkB,GAAMzC,EAC3C,OACEinB,IAAAC,cAACqL,GAAa,KACZtL,IAAAC,cAACiL,GAAmB,CAAC1vB,KAAMA,IAC3BwkB,IAAAC,cAAA,YAAOL,KAIA6L,GAAetQ,IAAyB,IAAxB,SAAEyE,EAAQ,KAAEpkB,GAAM2f,EAC7C,OACE6E,IAAAC,cAACqL,GAAa,KACZtL,IAAAC,cAACmL,GAAqB,CAAC5vB,KAAMA,IAC7BwkB,IAAAC,cAAA,YAAOL,KAKE8L,OA9Bf,SAAepK,GACb,OAAOtB,IAAAC,cAACS,GAAcY,ICDjB,SAAUqK,GAA2Bxb,GAC1C,MAAM,eAAEa,GAAmBb,EAAOpJ,QAClC,IACE,MAAM7C,QAAiB0nB,eACrB7B,GAAiC8B,IAAI,SAADhL,OAC3B7P,IAEL/F,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJC,EACE7nB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJC,EACE,IACA,IAGJC,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MACdlD,EAAM4L,SAASxI,MAAQpD,EAAM4L,SAASxI,KAAKxD,UAM7C,SAAUyY,GAAuBR,GACtC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eACrB7B,GAAiCvjB,KAAK,QAEtCK,GAEIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJC,EACE7nB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJC,EAA6D,IAAI,IAEnEC,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MACdlD,EAAM4L,SAASxI,MAAQpD,EAAM4L,SAASxI,KAAKxD,UAM7C,SAAU4Y,GAAyBX,GACxC,MAAMgB,EAAuBhB,EAAOpJ,QACpC,IACE,MAAM7C,QAAiB0nB,eACrB7B,GAAiCkC,OAAO,GAADpL,OACpC1P,IAGClG,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJC,EACE7nB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJC,EAA+D,IAAI,IAErEC,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MACdlD,EAAM4L,SAASxI,MAAQpD,EAAM4L,SAASxI,KAAKxD,UAM7C,SAAU2Y,GAAsBV,GACrC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eACrB7B,GAAiC+B,IAAI,OAErCjlB,GAEIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJC,EACE7nB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJC,EAA4D,IAAI,IAGlEC,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MACdlD,EAAM4L,SAASxI,MAAQpD,EAAM4L,SAASxI,KAAKxD,UCnH7C,MAAMiE,GAET,gEAFSA,GAIT,4DAJSA,GAMT,+DANSA,GAQT,gEARSA,GAUT,oEAVSA,GAYT,qEAZSA,GAcT,kEAdSA,GAgBT,mEAGE0H,GAAgB,CACpBqoB,iBAAkB,CAChBjoB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERywB,oBAAqB,CACnBloB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAER0wB,2BAA4B,CAC1BnoB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAER2wB,8BAA+B,CAC7BpoB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,KAyDH,MAAMiL,GAC0BE,IAAM,CACzCC,KAAM3K,GACN4K,QAAS,CAAEF,YAHFF,GAK0B2lB,CAACpoB,EAAUD,KAAO,CACrD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASmB4lB,IAAS,CACrCzlB,KAAM3K,GACN4K,QAAS,CAAEwlB,eAXF5lB,GAamB6lB,CAACtoB,EAAUD,KAAO,CAC9C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAfZ0C,GAiByBE,IAAM,CACxCC,KAAM3K,GACN4K,QAAS,CAAEF,YAnBFF,GAqByB8lB,CAACvoB,EAAUD,KAAO,CACpD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAvBZ0C,GAyB4B+lB,IAAS,CAC9C5lB,KAAM3K,GACN4K,QAAS2lB,IA3BA/lB,GA6B4BgmB,CAACzoB,EAAUD,KAAO,CACvD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aC1HlB,SAAUkoB,GAAoBhc,GACnC,MAAM,UAAEoc,GAAcpc,EAAOpJ,QAC7B,IACE,MAAM7C,QAAiB0nB,eACrB9B,GAA2B+B,IAAI,SAADhL,OACrB0L,IAELthB,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJc,GACE1oB,EAASxI,KACTuP,IAGJ,MAAO3S,GACPs0B,GAAqD,IAAI,IAItD,SAAUV,GAAiB/b,GAChC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eACrB9B,GAA2BtjB,KAAK,QAEhCK,GAEIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJc,GACE1oB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJc,GAA4D,IAAI,IAElEZ,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,QAI/C,SAAUmxB,GAAmB1c,GAClC,MAAM2c,EAAiB3c,EAAOpJ,QAC9B,IACE,MAAM7C,QAAiB0nB,eACrB9B,GAA2BmC,OAAO,GAADpL,OAC9BiM,IAGC7hB,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJc,GACE1oB,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cACJc,GAA8D,IAAI,IAEpEZ,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,QAG/C,SAAUqxB,GAAgB5c,GAC/B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAK9B,GAA2BgC,IAAI,OAASjlB,GAC9DoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJc,GACE1oB,EAASxI,KACTuP,IAGJ,MAAO3S,GACPs0B,GAA2D,IAAI,GAE1C,MAAjBt0B,EAAMiD,QACRywB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,KAAKsxB,gBAI/ChB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,QC9F/C,MAAMS,GAET,sDAFSA,GAIT,uDAJSA,GAMT,qDANSA,GAQT,sDARSA,GAUT,mEAVSA,GAYT,oEAZSA,GAcT,iEAdSA,GAgBT,kEAhBSA,GAkBT,wDAlBSA,GAoBT,yDAGE0H,GAAgB,CACpBopB,YAAa,CACXhpB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERwxB,wBAAyB,CACvBjpB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERyxB,sBAAuB,CACrBlpB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAER0xB,qBAAsB,CACpBnpB,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,KAoEH,MAAMiL,GACoB0mB,KAAA,CAC7BvmB,KAAM3K,KAFGwK,GAQqB2mB,KAAA,CAC9BxmB,KAAM3K,KATGwK,GAWsB4mB,CAACrpB,EAAUD,KAAO,CACjD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAbZ0C,GAekB6mB,KAAA,CAC3B1mB,KAAM3K,KAhBGwK,GAkBmB8mB,CAACvpB,EAAUD,KAAO,CAC9C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aApBZ0C,GAsBoBE,IAAM,CACnCC,KAAM3K,GACN4K,QAAS,CAAEF,YAxBFF,GA8BuB+lB,IAAS,CACzC5lB,KAAM3K,GACN4K,QAAS2lB,IC1IN,SAAUgB,KACf,IACE,MAAMxpB,QAAiB0nB,eAAK/B,GAAsBgC,IAAI,gBAChD5gB,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJ6B,GAAgDzpB,EAASxI,KAAMuP,IAEjE,MAAO3S,GACPq1B,GAAgD,IAAI,IAGjD,SAAUT,KACf,IACE,MAAMhpB,QAAiB0nB,eAAK/B,GAAsBgC,IAAI,kBAChD5gB,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJ6B,GACEzpB,EAASxI,KACTuP,IAGJ,MAAO3S,GACPq1B,GAAmD,IAAI,IAIpD,SAAUV,GAAY9c,GAC3B,IACE,MAAMjM,QAAiB0nB,eAAK/B,GAAsBrjB,KAAK,QAAU,CAC/DsG,UAAU,IAEN7B,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJ6B,GACEzpB,EAASxI,KACTuP,IAGJ,MAAO3S,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,QAG/C,SAAUkyB,GAAczd,GAC7B,MAAMuc,EAAYvc,EAAOpJ,QACzB,IACE,MAGMkE,EAAgC,aAHf2gB,eAAK/B,GAAsBoC,OAAO,GAADpL,OAAK6L,GAAa,CACxE5f,UAAU,KAEevR,SAAkB,QACvCuwB,cACJ6B,GAAmD,KAAM1iB,IAE3D,MAAO3S,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,QAG/C,SAAUmyB,GAAW1d,GAC1B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAK/B,GAAsBiC,IAAI,OAASjlB,GACzDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJ6B,GACEzpB,EAASxI,KACTuP,IAGJ,MAAO3S,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAM4L,SAASxI,Q,aCrE/C,MAAMS,GACuB,4CADvBA,GAEuB,4CAFvBA,GAGqB,0CAHrBA,GAKT,8CALSA,GAOT,8CAPSA,GAQuB,4CARvBA,GASoB,yCATpBA,GAUoB,yCAVpBA,GAWkB,uCAXlBA,GAaT,oDAbSA,GAeT,oDAfSA,GAiBT,kDAjBSA,GAkBgB,qCAlBhBA,GAmBgB,qCAnBhBA,GAoBc,mCApBdA,GAqBgB,qCArBhBA,GAsBgB,qCAtBhBA,GAuBc,mCAvBdA,GAwBqB,0CAxBrBA,GAyBqB,0CAzBrBA,GA0BmB,wCA1BnBA,GA4BT,+CA5BSA,GA8BT,+CA9BSA,GAgCT,6CAhCSA,GAkCT,gDAlCSA,GAoCT,8CApCSA,GAsCT,gDAtCSA,GAwCT,8CAxCSA,GAyCmB,wCAzCnBA,GA0CiB,sCA1CjBA,GA2CmB,wCA3CnBA,GA4CiB,sCA5CjBA,GA8CT,mDA9CSA,GAgDT,iDAhDSA,GAkDT,mDAlDSA,GAoDT,iDApDSA,GAqDkB,uCArDlBA,GAsDgB,qCAtDhBA,GAuDkB,uCAvDlBA,GAwDgB,qCAxDhBA,GAyDiB,sCAzDjBA,GA0De,oCA1DfA,GA2DiB,sCA3DjBA,GA4De,oCA5DfA,GA6DiB,sCA7DjBA,GA8De,oCA9DfA,GA+DiB,sCA/DjBA,GAgEe,oCAhEfA,GAiEY,iCAjEZA,GAkEY,iCAlEZA,GAmEU,+BAnEVA,GAoEU,+BApEVA,GAsET,mDAtESA,GAwET,mDAxESA,GA0ET,iDA1ESA,GA2EuB,4CA3EvBA,GA4EuB,4CA5EvBA,GA6EqB,0CA7ErBA,GA+ET,+CA/ESA,GAiFT,+CAjFSA,GAmFT,6CAnFSA,GAqFT,8CArFSA,GAuFT,8CAvFSA,GAwFuB,4CAxFvBA,GAyFsB,2CAzFtBA,GA0FsB,2CA1FtBA,GA2FoB,yCA3FpBA,GA4FmB,wCA5FnBA,GA8FT,gDA9FSA,GAgGT,gDAhGSA,GAkGT,8CAlGSA,GAoGT,oDApGSA,GAsGT,kDAtGSA,GAwGT,oDAxGSA,GA0GT,iDA1GSA,GA4GT,qDA5GSA,GA8GT,+CA9GSA,GAgHT,iDAhHSA,GAkHT,6CAlHSA,GAmHsB,2CAnHtBA,GAqHT,6CArHSA,GAuHT,sDAvHSA,GAyHT,sDAzHSA,GA2HT,oDA3HSA,GA4HmB,wCA5HnBA,GA8HT,+CA9HSA,GAgIT,+CAhISA,GAiIU,+BAjIVA,GAkIY,iCAlIZA,GAoIF,mBApIEA,GAqIJ,iBAIH0H,GAAgB,CACpBC,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,EACT0pB,uBAAwB,GACxBC,eAAgB,GAEhBC,6BAA6B,EAC7BC,8BAA8B,EAC9BC,yBAAyB,EACzBC,cAAc,EACdC,iBAAkB,GAClBC,WAAY,CACVvqB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXkqB,mBAAoB,CAClBxqB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXmqB,mBAAoB,CAClBzqB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXoqB,oBAAqB,CACnB1qB,SAAS,EACTG,SAAS,EACTC,SAAU,CACRjW,MAAO,CAAEyN,KAAM,GAAIF,KAAM,GACzB1N,MAAO,CAAE4N,KAAM,GAAIF,KAAM,GACzB3N,kBAAmB,CAAE6N,KAAM,GAAIF,KAAM,GACrCzN,QAAS,CAAE2N,KAAM,GAAIF,KAAM,IAE7B2I,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXqqB,eAAgB,CACd3qB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXsqB,eAAgB,CACd5qB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,MAETq2B,mBAAoB,CAClB7qB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,MAETs2B,0BAA2B,CACzB9qB,SAAS,EACTG,SAAS,EACTC,SAAU,CACRxI,KAAM,GACNF,KAAM,GAER2I,kBAAmB,KACnB7L,MAAO,MAETu2B,qBAAsB,CACpB/qB,SAAS,EACTG,SAAS,EACTC,SAAU,CACRxI,KAAM,GACNF,KAAM,GAER2I,kBAAmB,KACnB7L,MAAO,MAETw2B,gBAAiB,CACfhrB,SAAS,EACTG,SAAS,EACTC,SAAU,CACRxI,KAAM,GACNF,KAAM,GAER2I,kBAAmB,KACnB7L,MAAO,MAETy2B,iBAAkB,CAChBjrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX4qB,sBAAuB,CACrBlrB,SAAS,EACTG,SAAS,EACTE,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX6qB,iBAAkB,CAChBnrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX8qB,WAAY,CACVprB,SAAS,EACTG,SAAS,EACTG,SAAS,EACT9L,MAAO,IAET62B,8BAA+B,CAC7BrrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXgrB,yBAA0B,CACxBtrB,SAAS,EACTG,SAAS,EACTC,SAAU,CAAC,IACXC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXirB,uBAAwB,CACtBvrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXkrB,uBAAwB,CACtBxrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXmrB,0BAA2B,CACzBzrB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,EACTkF,GAAIkmB,mBAAS,SAEfC,sBAAuB,CACrB3rB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXsrB,yBAA0B,CACxB5rB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,EACTkF,GAAIkmB,mBAAS,SAEfG,0BAA2B,CACzB7rB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXwrB,+BAAgC,CAC9B9rB,SAAS,EACTG,SAAS,EACTC,SAAU,GACV5L,MAAO,KACP8L,SAAS,GAEXyrB,4BAA6B,CAC3B/rB,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,GAEX0rB,wBAAyB,CACvBhsB,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,EACT2rB,WAAW,GAEbC,+BAAgC,CAC9BlsB,SAAS,EACTG,SAAS,EACT3L,MAAO,KACP8L,SAAS,IAiqBN,MAAMuC,GACiBspB,CAACppB,EAAQ+B,KAAU,CAC7C9B,KAAM3K,GACN4K,QAAS,CAAEF,SAAQ+B,gBAHVjC,GAKiBupB,CAAChsB,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASgBrO,IAAK,CAC9BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAXFqO,GAa2BE,IAAM,CAC1CC,KAAM3K,GACN4K,QAAS,CAAEF,YAfFF,GAiB0BwpB,CAACjsB,EAAUD,KAAO,CACrD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAnBZ0C,GAyBiBypB,IAAQ,CAClCtpB,KAAM3K,GACN4K,QAAS,CAAEqpB,cA3BFzpB,GA6Bc0pB,KAAA,CACvBvpB,KAAM3K,KA9BGwK,GAgCgB2pB,CAACnsB,EAAmB8G,KAAS,CACtDnE,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB8G,eAlCrBtE,GAoCerO,IAAK,CAC7BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAtCFqO,GAwCa4pB,IAAS,CAC/BzpB,KAAM3K,GACN4K,QAAS,CAAEwpB,eA1CF5pB,GA4CY6pB,CAACC,EAAaxlB,KAAS,CAC5CnE,KAAM3K,GACN4K,QAAS,CAAE0pB,cAAaxlB,eA9CftE,GAgDU+pB,CAACvsB,EAAmB7L,KAAK,CAC5CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAlDrBqO,GAoDSgqB,CAACP,EAAU3iB,KAAU,CACvC3G,KAAM3K,GACN4K,QAAS,CAAEqpB,WAAU3iB,gBAtDZ9G,GAwDOiqB,KAAA,CAChB9pB,KAAM3K,KAzDGwK,GA2DSkqB,CAAC1sB,EAAmB8G,KAAS,CAC/CnE,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB8G,eA7DrBtE,GA+DQrO,IAAK,CACtBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAjEFqO,GAmEWjL,IAAI,CACxBoL,KAAM3K,GACN4K,QAAS,CAAErL,UArEFiL,GAuEUmqB,CAACzC,EAAYpjB,KAAS,CACzCnE,KAAM3K,GACN4K,QAAS,CAAEsnB,aAAYpjB,eAzEdtE,GA2EQoqB,CAAC5sB,EAAmB7L,KAAK,CAC1CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WA7ErBqO,GA+EQqqB,KAAA,CACjBlqB,KAAM3K,KAhFGwK,GAkFmBsqB,CAACC,EAAUX,KAAS,CAChDzpB,KAAM3K,GACN4K,QAAS,CAAEmqB,WAAUX,eApFZ5pB,GAyFmBwqB,CAAChtB,EAAmB8G,KAAS,CACzDnE,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB8G,eA3FrBtE,GA6FkBrO,IAAK,CAChCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WA/FFqO,GAiGa4pB,IAAS,CAC/BzpB,KAAM3K,GACN4K,QAAS,CAAEwpB,eAnGF5pB,GAqGYyqB,CAACC,EAAapmB,KAAS,CAC5CnE,KAAM3K,GACN4K,QAAS,CAAEsqB,cAAapmB,eAvGftE,GAyGU2qB,CAACntB,EAAmB7L,KAAK,CAC5CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WA3GrBqO,GA6GQ4qB,CAAChB,EAAWiB,EAAOC,EAAWC,KAAgB,CAC/D5qB,KAAM3K,GACN4K,QAAS,CACPwpB,YACAiB,QACAC,YACAC,sBAnHO/qB,GAsHMgrB,KAAA,CACf7qB,KAAM3K,KAvHGwK,GAyHQirB,CAACztB,EAAmB8G,KAAS,CAC9CnE,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB8G,eA3HrBtE,GA6HOrO,IAAK,CACrBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WA/HFqO,GAiIiB4pB,IAAS,CACnCzpB,KAAM3K,GACN4K,QAAS,CAAEwpB,eAnIF5pB,GAqIgBkrB,CAACpB,EAAaxlB,KAAS,CAChDnE,KAAM3K,GACN4K,QAAS,CAAE0pB,cAAaxlB,eAvIftE,GAyIcmrB,CAAC3tB,EAAmB7L,KAAK,CAChDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WA3IrBqO,GA6IcorB,CAAClrB,EAAQqqB,KAAQ,CACxCpqB,KAAM3K,GACN4K,QAAS,CAAEF,SAAQqqB,cA/IVvqB,GAiJYqrB,KAAA,CACrBlrB,KAAM3K,KAlJGwK,GAoJcsrB,CAAC/tB,EAAU+G,KAAS,CAC3CnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eAtJZtE,GAwJYurB,CAAC/tB,EAAmB7L,KAAK,CAC9CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WA1JrBqO,GA4JeE,IAAM,CAC9BC,KAAM3K,GACN4K,QAAS,CAAEF,YA9JFF,GAgKYwrB,KAAA,CACrBrrB,KAAM3K,KAjKGwK,GAmKcyrB,CAACluB,EAAU+G,KAAS,CAC3CnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eArKZtE,GAuKY0rB,CAACluB,EAAmB7L,KAAK,CAC9CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAzKrBqO,GA2KuB2rB,CAAC/B,EAAW1pB,KAAM,CAClDC,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAW1pB,YA7KbF,GA+KuB4rB,CAACC,EAAuBvnB,KAAS,CACjEnE,KAAM3K,GACN4K,QAAS,CAAEyrB,wBAAuBvnB,eAjLzBtE,GAmLqB8rB,CAACtuB,EAAmB7L,KAAK,CACvDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WArLrBqO,GA2L2B+rB,CAACxuB,EAAU+G,KAAS,CACxDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eA7LZtE,GA+LyBgsB,CAACxuB,EAAmB7L,KAAK,CAC3DwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAjMrBqO,GAuMsBisB,CAAC1uB,EAAU+G,KAAS,CACnDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eAzMZtE,GA2MoBksB,CAAC1uB,EAAmB7L,KAAK,CACtDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WA7MrBqO,GA+MqBE,IAAM,CACpCC,KAAM3K,GACN4K,QAAS,CAAEF,YAjNFF,GAmNoBmsB,CAAC5uB,EAAU+G,KAAS,CACjDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eArNZtE,GAuNkBosB,CAAC5uB,EAAmB7L,KAAK,CACpDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAzNrBqO,GA2NoBqsB,CAACnsB,EAAQosB,KAAK,CAC3CnsB,KAAM3K,GACN4K,QAAS,CAAEF,SAAQosB,WA7NVtsB,GA+NoBusB,CAAChvB,EAAU+G,KAAS,CACjDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eAjOZtE,GAmOkBwsB,CAAChvB,EAAmB7L,KAAK,CACpDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WArOrBqO,GA2OuBysB,CAChClvB,EACA+G,EACAooB,EACAC,KAAM,CAENxsB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,YAAWooB,qBAAoBC,YAlP3C3sB,GAoPqB4sB,CAACpvB,EAAmB7L,KAAK,CACvDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAtPrBqO,GA4PsB6sB,CAC/BtvB,EACA+G,EACAooB,EACAC,KAAM,CAENxsB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,YAAWooB,qBAAoBC,YAnQ3C3sB,GAqQoB8sB,CAACtvB,EAAmB7L,KAAK,CACtDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAvQrBqO,GA6QmB+sB,CAACxvB,EAAU+G,KAAS,CAChDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eA/QZtE,GAiRiBgtB,CAACxvB,EAAmB7L,KAAK,CACnDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAnRrBqO,GAqRcitB,KAAA,CACvB9sB,KAAM3K,KAtRGwK,GAwRwBwb,IAAK,CACtCrb,KAAM3K,GACN4K,QAAS,CAAEob,WA1RFxb,GA4RuBktB,CAAC3vB,EAAU+G,KAAS,CACpDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eA9RZtE,GAgSqBmtB,CAAC3vB,EAAmB7L,KAAK,CACvDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAlSrBqO,GAoS4BotB,CACrCxD,EACAyD,EACAC,KAAgB,CAEhBntB,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAWyD,SAAQC,sBA1SrBttB,GAgT2BrO,IAAK,CACzCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAlTFqO,GAoTyButB,CAClC3D,EACAyD,EACAC,KAAgB,CAEhBntB,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAWyD,SAAQC,sBA1TrBttB,GA4T6B4pB,IAAS,CAC/CzpB,KAAM3K,GACN4K,QAAS,CAAEwpB,eA9TF5pB,GAgUyBwtB,CAACjwB,EAAU+G,KAAS,CACtDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eAlUZtE,GAoUwBrO,IAAK,CACtCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAtUFqO,GAwUqBytB,CAC9B7D,EACA8D,EACAC,EACAvE,KAAS,CAETjpB,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAW8D,YAAWC,WAAUvE,eA/UlCppB,GAiVqB4tB,CAC9BrwB,EACA+G,EACAupB,EACAlB,KAAM,CAENxsB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,YAAWupB,sBAAqBlB,YAxV5C3sB,GA0VoBrO,IAAK,CAClCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WA5VFqO,GA8V6BE,IAAM,CAC5CC,KAAM3K,GACN4K,QAAS,CAAEF,YAhWFF,GAkW4B8tB,CAACvwB,EAAU+G,KAAS,CACzDnE,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eApWZtE,GAsW0B+tB,CAACvwB,EAAmB7L,KAAK,CAC5DwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAxWrBqO,GA0WgBE,IAAM,CAC/BC,KAAM3K,GACN4K,QAAS,CAAEF,YA5WFF,GA8WsBguB,CAACpE,EAAWqE,KAAQ,CACnD9tB,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAWqE,cAhXbjuB,GAkXsBkuB,CAACtE,EAAWuE,KAAgB,CAC3DhuB,KAAM3K,GACN4K,QAAS,CAAEwpB,YAAWuE,sBApXbnuB,GAsXSonB,IAAc,CAChCjnB,KAAM3K,GACN4K,QAAS,CAAEgnB,oBAxXFpnB,GA0XUouB,KAAA,CACnBjuB,KAAM3K,KA3XGwK,GA8XDzC,IAAQ,CAChB4C,KAAM3K,GACN4K,QAAS,CAAE7C,cAhYFyC,GAkYHrO,IAAK,CACXwO,KAAM3K,GACN4K,QAAS,CAAEzO,WCp5CF08B,GAAkBA,CAC3B/5B,EACAg6B,EACAC,EACAC,EACA55B,KAEA,MAAM65B,EAAiB,GACvBn6B,EAAYG,IAAKi6B,IACTA,EAAE95B,SAAWA,GAAQ65B,EAAevM,KAAKwM,GAEtCD,IAGX,IAAInqB,GAAY,EACVmqB,EAAe59B,OAAS,IAAIyT,GAAY,GAE9C,MAAM9G,EAAoB,GAW1B,OAVAA,EAAkB0kB,KACduM,EAAeh6B,IAAI,CAACmV,EAAM+kB,KACf,CACHC,UAAWN,EAAWK,GAAOJ,GAC7B35B,OAAQgV,EAAKhV,OACbi6B,QAASL,MAKd,CAAEhxB,oBAAmB8G,cAGnBwqB,GAAqBA,CAC9Bx6B,EACAg6B,EACAE,EACAO,KAEA,IAAIzqB,GAAY,EAChB,GAAIhQ,EAAYM,SAAWm6B,EAAY,CACnCzqB,GAAY,EAOZ,MAAO,CAAE9G,kBANiB,CACtBoxB,UAAWN,EACX15B,OAAQN,EAAYM,OACpBi6B,QAASL,GAGelqB,aAGhC,MAAO,CAAEA,cCjDN,MAAM0qB,GACJ,0JADIA,GAEH,aAFGA,GAGD,oCAHCA,GAIa,2BAJbA,GAKF,qCALEA,GAMY,2BANZA,GAOL,0CAPKA,GASD,CACRC,cAAe,sDACfC,aAAc,QACdC,cAAe,QACfC,eAAgB,QAChBC,eAAgB,2CAChBC,uBAAwB,kFAuCfC,GAAWC,KACbA,EAAMC,MAAMT,IAEVU,GAAYC,KACdA,EAAOF,MAAMT,IAeXY,GAAwBC,GAZLA,MACrBA,EAASJ,MAAMT,IAatBc,CAAgBD,IAXaA,OACrBA,EAASh/B,OAAS,IAAMg/B,EAASh/B,OAAS,IAWlDk/B,CAAiBF,KAToBA,MAC9BA,EACNG,UAAU,GACVP,MAAMT,IAONiB,CAAyBJ,GAajBK,GAAuBC,GAVLA,MACpBA,EAAQV,MAAMT,IAWrBoB,CAAeD,IATaA,OACpBA,EAAQt/B,OAAS,GAAKs/B,EAAQt/B,OAAS,IAS/Cw/B,CAAgBF,KAPoBA,MAC7BA,EAAQH,UAAU,GAAGP,MAAMT,IAOjCsB,CAAwBH,GAchBI,GAAkBf,KACpBA,EAAMgB,SAAS,KAGbC,GAAoBC,KACtBA,EAASjB,MAAMT,GAA2BM,yBChF7C/M,wBAAwB,IAAI5X,gbAE7B,SAAUgmB,GAAOnnB,GACtB,IACE,MAAM,KAAEsS,GAAStS,EAAOpJ,QAElBwwB,EAAYC,GAAU/U,EAAK8C,cAC3B1D,EAAU,CACd4V,gBAAiBF,EAAUG,kBAC3BC,MAAOJ,EAAUK,YAAY,GAC7BC,KAAMN,EAAUO,WAChBC,KAAMR,EAAUQ,QACZR,EAAU1mC,aAAe,CAC3BmnC,kBAAmBT,EAAU1mC,gBAE3B0mC,EAAUU,iBAAmB,CAC/BC,YAAaX,EAAUU,iBAEzBE,iBAAkBZ,EAAUY,kBAAoB,GAG7B,QAAjBtW,EAAQkW,aACJjM,cACJsM,GAA6CvW,EAAQ4V,yBAQjD3L,cAAIsM,GAAgD3V,UAEtDqJ,cAAI9H,GAA0BvB,EAAMZ,IAC1C,MAAOvpB,SACDwzB,cAAI9H,GAAwB1rB,KAI/B,SAAU+/B,GAAoBloB,GACnC,IACE,MAAM6nB,QAA0BM,iBAC7BC,GAAUA,EAAM9V,KAAKZ,QAAQmW,mBAE1BnV,EAAe2U,GAAUrnB,EAAOpJ,QAAQ8b,aAAa0C,cAErDiT,EAAc,IACdR,GAAqB,CAAEA,qBAC3BS,OAAQ5V,EAAa+U,YAAY,GACjCP,SAAUxU,EAAa6V,SACvBC,UAAW,gBACXC,aAAczoB,EAAOpJ,QAAQ8b,aAAakD,cAC1C8S,SAAW3C,GAAQrT,EAAa+U,YAAY,IAExC,KADAkB,wBAAsBC,qBAAqBlW,EAAakV,OAIxD7zB,QAAiB80B,gBAAM,EAAG,IAAM1P,GAAM9iB,KAAK,SAAWgyB,GAEtDvtB,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAEvDg8B,EAAYC,GAAUtzB,EAASxI,KAAK6pB,cAE1C,GAAIta,EAAW,CACb,MAAM4W,EAAU,CACd4V,gBAAiBF,EAAUG,kBAC3BC,MAAOJ,EAAUK,YAAY,GAC7BC,KAAMN,EAAUO,WAChBC,KAAMR,EAAUQ,QACZR,EAAU1mC,aAAe,CAC3BmnC,kBAAmBT,EAAU1mC,gBAE3B0mC,EAAUU,iBAAmB,CAC/BC,YAAaX,EAAUU,iBAEzBE,iBAAkBZ,EAAUY,kBAAoB,SAI1CrM,cACJsM,GAAgDl0B,EAASxI,OAG7DwqB,GAAYhiB,EAASxI,YACfowB,cAAI9H,GAA0B9f,EAASxI,KAAMmmB,KAGrD,MAAOvpB,KAmBJ,SAAU8pB,GAAejS,GAC9B,MAAM,YAAE2S,GAAgB3S,EAAOpJ,QAC/B+b,EAAYxZ,GAAK2vB,eAAKnW,EAAYxZ,IAElC,IACE,MAAMpF,QAAiB80B,gBACrB,EACA,IACAtP,GAAcmC,IAAI,2BAElB,CAAEhlB,OAAQic,IAGY,MAApB5e,EAAS3I,SACX2qB,GAAYhiB,EAASxI,MACrBsqB,KACAkT,OAAOC,SAASC,UAElB,MAAO9gC,SACDwzB,cAAI9H,GAAgC1rB,IAC1C0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gFAOrB,SAAU6mB,GAAUlS,GACzB,IACE,MAAM,cAAE4S,GAAkB5S,EAAOpJ,QAE3BsyB,EAAqBjR,IAAcrF,GACnC7e,QAAiB80B,gBACrB,EACA,IACA1P,GAAM9iB,KAAK,SAEX6yB,GAGIlX,EAAQje,EAASxI,KACjB67B,EAAYC,GAAUrV,EAAMoD,cAE5B1D,EAAU,CACd4V,gBAAiBF,EAAUG,kBAC3BC,MAAOJ,EAAUK,YAAY,GAC7BC,KAAMN,EAAUO,WAChBC,KAAMR,EAAUQ,KAChB9U,eAAgBsU,EAAU+B,sBACtB/B,EAAU1mC,aAAe,CAC3BmnC,kBAAmBT,EAAU1mC,gBAE3B0mC,EAAUU,iBAAmB,CAC/BC,YAAaX,EAAUU,iBAEzBE,iBAAkBZ,EAAUY,kBAAoB,IAG5C,UAAEltB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,YACA,KAE6B,UAA3B8a,EAAQoB,gBACViD,GAAY/D,SAER2J,cACJ9H,GACE9f,EAASxI,KACTmmB,EACA5W,EACA4W,EAAQoB,uBAGN6I,cAAIsM,GAAgDjW,IAO1D,MAAO7pB,GACuB,MAA1BA,EAAM4L,SAAS3I,QACjBT,EAAQ+tB,KAAK,cAAe,CAC1BvwB,MAAO,IACPihC,QAAQ,oLAERC,MAAO,sCACPC,KAAM,WAIV,MAAM,kBAAEt1B,GAAsBsxB,GAC5Bn9B,EACAA,EAAM4L,SACN,YACA,WAGI4nB,cAAI9H,GAA2B7f,EAAmB7L,EAAM4L,YAI3D,SAAUoe,GAAoBnS,GACnC,MAAM,YAAE2S,GAAgB3S,EAAOpJ,QAEzBF,EAAS0hB,IAAGjvB,UAAUwpB,EAAa,CACvC4W,gBAAgB,IAGlB,IACE,MAAMx1B,QAAiB80B,gBACrB,EACA,IACA1P,GAAM9iB,KAAK,yBAADqa,OACeha,IAGrBoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cAAI9H,GAAuC9f,EAAU+G,IAC3D,MAAO3S,SACDwzB,cAAI9H,GAAqC1rB,IAC/C0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,sGAQrB,SAAU+mB,GAAkBpS,GACjC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB80B,gBAAM,EAAG,IAAM1P,GAAMuC,IAAI,yBAA2B,CACzEhlB,WAGIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cAAI9H,GAAqC9f,EAAU+G,IACzD,MAAO3S,GACiBA,EAAM4L,SAAS3I,aACjCuwB,cAAI9H,GAAmC1rB,KAY1C,SAAUkqB,GAAmBrS,GAClC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBsyB,EAAqBjR,IAAcvhB,GAEzC,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA1P,GAAM9iB,KAAK,yBAEX6yB,GAGIpuB,GAAe/G,EAAS3I,QAAZ,SAEZuwB,cAAI9H,GAAsC9f,EAAU+G,IAC1D,MAAO3S,SACDwzB,cAAI9H,GAAoC1rB,KAI3C,SAAUqhC,GAAcxpB,GAC7B,UACQ6oB,gBAAM,EAAG,IAAM7P,GAAO0C,IAAI,8BAChC,MAAOzL,GACPwZ,QAAQC,IAAIzZ,GACb,QACKoE,GAAYN,MACdsC,WACMsF,cAAI9H,QC5ST,SAAUpd,GAAeuJ,GAC9B,IACE,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QACpBzC,EAASuC,EAAOtP,OAAQG,GAASA,EAAKoiC,iBACtCC,cACJz1B,EAAOlJ,IAAK4+B,GACVpO,eAAKjC,GAAUsC,OAAO,eAADpL,OAAiBmZ,EAAMF,cAGhD,MAAOxhC,GACP0zB,IAAM/nB,QAAQ+b,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,4BAGjC,SAAUy+B,GAA+B9pB,GAC9C,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKjC,GAAUkC,IAAI,iBAADhL,OAAmBha,IACtDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,EAErB,MAApB2I,EAAS3I,QACXywB,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,0DAKZO,cACJpb,EAAazJ,sCACX/C,EAASxI,KACTuP,UAGE6gB,cAAIpb,EAAavJ,uCACvB,MAAO7O,SACDwzB,cAAIpb,EAAaxJ,oCAAoC5O,IAC3D0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAUw+B,GAA0B/pB,GACzC,MAAM,OAAEtJ,EAAM,cAAEQ,GAAkB8I,EAAOpJ,QAEzC,IACE,MAAM7C,QAAiB0nB,eACrBjC,GAAUnjB,KAAK,2BAEfK,GAGIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,EAErB,MAApB2I,EAAS3I,QACXywB,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,2EAMZO,cACJpb,EAAapJ,iCAAiCpD,EAASxI,KAAMuP,UAEzD6gB,cAAIpb,EAAalJ,kCACvB,MAAOlP,SACDwzB,cAAIpb,EAAanJ,+BAA+BjP,IACtD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAUy+B,GAA2BhqB,GAC1C,MAAM,OAAEtJ,EAAM,cAAEQ,GAAkB8I,EAAOpJ,QAEzC,IACE,MAAM7C,QAAiB0nB,eACrBjC,GAAUnjB,KAAK,4BAEfK,GAGIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,EAErB,MAApB2I,EAAS3I,QACXywB,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,2EAMZO,cACJpb,EAAahJ,kCAAkCxD,EAASxI,KAAMuP,UAE1D6gB,cAAIpb,EAAa9I,mCACvB,MAAOtP,SACDwzB,cAAIpb,EAAa/I,gCAAgCrP,IACvD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAU0+B,GAAkBjqB,GACjC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKjC,GAAUnjB,KAAK,cAAgBK,GAC3D,GAAwB,MAApB3C,EAAS3I,OAAgB,CAC3B,MAAM8+B,EAAYn2B,EAASxI,KAAKA,KAAKN,IAAK4+B,GAAUA,EAAMvzB,SAE1D,IAAI6zB,EAEAD,EAAU7iC,OAAS,IACrB8iC,QAA0B1O,eACxBjC,GAAUnjB,KAAK,2BAEf,CACE+zB,UAAWF,KAKjB,MAAM/1B,EAASJ,EAASxI,KAAKA,KAAKN,IAAK4+B,IACrC,MAAMQ,EAAkBF,EAAkB5+B,KAAK++B,KAC5CvhC,GAASA,EAAKuN,UAAYuzB,EAAMvzB,SAEnC,OAAI+zB,EACK,IACFR,KACAQ,GAGAR,IAGHt+B,EAAO,IAAKwI,EAASxI,KAAMA,KAAM4I,SAEjCwnB,cAAIpb,EAAa5I,0BAA0BpM,GAAM,KAEzD,MAAOpD,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,KAAC,+CAIrB,SAAUkP,KACf,MAAMh/B,QAAakwB,eAAKjC,GAAUkC,IAAI,eACtC,GAAoB,MAAhBnwB,EAAKH,OAAgB,CACvB,MAKM2I,EAAW,CACfS,WAAY,CACV,CAAE2E,GAAI,EAAGqxB,YAAa,QAASC,MAPlBl/B,EAAKA,KAAKm/B,OACzB,CAACC,EAAaC,IAAiBD,EAAcC,EAAaH,MAC1D,OAMKl/B,EAAKA,MAEVkJ,QAAS,UAGLknB,cAAIpb,EAAaxI,yBAAyBhE,GAAU,KAGvD,SAAU82B,GAAe7qB,GAC9B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKjC,GAAUnjB,KAAK,eAAiBK,GAE5D,GAAwB,MAApB3C,EAAS3I,OAAgB,CAC3B,MAAM8+B,EAAYn2B,EAASxI,KAAKA,KAAKN,IAAK4+B,GAAUA,EAAMvzB,SAE1D,IAAI6zB,EAEAD,EAAU7iC,OAAS,IACrB8iC,QAA0B1O,eACxBjC,GAAUnjB,KAAK,2BAEf,CACE+zB,UAAWF,KAKjB,MAAM/1B,EAASJ,EAASxI,KAAKA,KAAKN,IAAK4+B,IACrC,MAAMQ,EAAkBF,EAAkB5+B,KAAK++B,KAC5CvhC,GAASA,EAAKuN,UAAYuzB,EAAMvzB,SAEnC,OAAI+zB,EACK,IACFR,KACAQ,GAGAR,IAGHt+B,EAAO,IAAKwI,EAASxI,KAAMA,KAAM4I,SACjCwnB,cAAIpb,EAAa1I,uBAAuBtM,GAAM,KAEtD,MAAOpD,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,KAAC,2CAIrB,SAAUyP,GAAyB9qB,GACxC,MAAMzU,QAAakwB,eACjBjC,GAAUkC,IAAI,gCAADhL,OACmBqa,SAC9B/qB,EAAOpJ,QAAQqB,gBAChB,kBAAAyY,OAAiB1Q,EAAOpJ,QAAQsB,mBAGnC,GAAoB,MAAhB3M,EAAKH,OAAgB,CACvB,MAIM2I,EAAW,CACfS,WAAY,CACV,CAAE2E,GAAI,EAAGqxB,YAAa,QAASC,MANlBl/B,EAAKA,KAAKm/B,OACzB,CAACC,EAAaC,IAAiBD,EAAcC,EAAaH,MAC1D,OAKKl/B,EAAKA,MAEVkJ,QAAS,UAELknB,cAAIpb,EAAapI,iCAAiCpE,GAAU,KAG/D,SAAUi3B,GAAoBhrB,GACnC,MAAMzU,QAAakwB,eACjBjC,GAAUkC,IAAI,oCAADhL,OACuB1Q,EAAOpJ,QAAQsB,mBAErD,GAAoB,MAAhB3M,EAAKH,OAAgB,CACvB,MAKM2I,EAAW,CACfS,WAAY,CACV,CAAE2E,GAAI,EAAGqxB,YAAa,QAASC,MAPlBl/B,EAAKA,KAAKm/B,OACzB,CAACC,EAAaC,IAAiBD,EAAcC,EAAaH,MAC1D,OAMKl/B,EAAKA,MAEVkJ,QAAS,UAGLknB,cAAIpb,EAAahI,4BAA4BxE,GAAU,KAI1D,SAAUk3B,GAAmBjrB,GAClC,MAAMzU,QAAakwB,eAAKjC,GAAUkC,IAAI,gBACtC,GAAoB,MAAhBnwB,EAAKH,OAAgB,CACvB,MAKM2I,EAAW,CACfS,WAAY,CACV,CAAE2E,GAAI,EAAGqxB,YAAa,QAASC,MAPlBl/B,EAAKA,KAAKm/B,OACzB,CAACC,EAAaC,IAAiBD,EAAcC,EAAaH,MAC1D,OAMKl/B,EAAKA,MAEVkJ,QAAS,UAGLknB,cAAIpb,EAAalI,2BAA2BtE,GAAU,KAGzD,SAAU0B,GAAUuK,GACzB,MAAM,WAAEvH,GAAeuH,EAAOpJ,SAExB,WAAE0G,EAAU,WAAE1R,KAAe+mB,GAAgB3S,EAAOpJ,QAAQF,OAElE,IACE,MAAM3C,QAAiB61B,cACrBxY,OAAO8Z,OAAOzyB,GAAYxN,KAAI,UAAWG,GACvC,MAAM+/B,EAAc,IACfxY,KACCvnB,IAAWggC,qBAAmBvtC,iBAAiBC,OAAS,CAC1DutC,SAAUjgC,IAURN,GANSstB,IAAGjvB,UAAUgiC,EAAa,CACvC5B,gBAAgB,EAChBlR,WAAW,EACXC,YAAa,iBAGWuQ,gBAAM,EAAG,IAAMrP,GAAUkC,IAAK,GAAI,CAC1DhlB,OAAQy0B,KAIV,OADArgC,EAAYS,KAAKH,OAASkgC,kBAAQ7yB,EAAaysB,GAAMA,IAAM95B,GACpDN,OAIL,UAAEgQ,GAAc+pB,GACpB9wB,EACAiM,EAAOpJ,QACP,OACA,YACA,KAII20B,EAAY,CAChBx3B,SAFaA,EAAS9I,IAAKmV,GAASA,EAAK7U,MAGzCuP,mBAEI6gB,cACJpb,EAAa7H,iBAAiB6yB,EAAUx3B,SAAUA,EAAS+G,YAE7D,MAAO3S,SACDwzB,cAAIpb,EAAa5H,eAAexQ,KAInC,SAAUqjC,GAAkBxrB,GACjC,MAAM,YAAEnH,GAAgBmH,EAAOpJ,QAEzB4jB,OAAgB,CACpB3hB,YAAaA,EAAYgvB,kBACzB4D,YAAa5yB,EAAYyuB,iBAG3B,IACE,MAAM,KAAE/7B,SAAekwB,eAAKjC,GAAUnjB,KAAM,kBAAmBmkB,GAE3DjvB,EAAKuI,gBACD6nB,cAAIpb,EAAazH,yBAAyBvN,EAAKA,MAAM,KAE7D,MAAOpD,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,KAAC,yCAIrB,SAAUqQ,GAAiB1rB,GAChC,MAAM,KAAEzU,SAAekwB,eACrBjC,GAAUkC,IAAI,kBAADhL,OACK1Q,EAAOpJ,QAAQN,UAE/B/K,EAAKuI,gBACD6nB,cAAIpb,EAAalH,wBAAwB9N,EAAKA,MAAM,KAIvD,SAAUogC,GAAiB3rB,GAChC,MAAMwa,OAAgB,CACpBlkB,QAAS0J,EAAOpJ,QAAQF,OAAOJ,QAC/Bs1B,WAAY5rB,EAAOpJ,QAAQF,OAAOk1B,WAClCC,UAAW7rB,EAAOpJ,QAAQF,OAAOm1B,YAG7B,KAAEtgC,SAAekwB,eAAKjC,GAAUmC,IAAK,kBAAmBnB,GAC1DjvB,EAAKuI,gBACD6nB,cAAIpb,EAAavH,wBAAwBzN,EAAKA,MAAM,KAIvD,SAAUugC,GAAqB9rB,GACpC,MAAMtJ,EAAS,CACblL,WAAYwU,EAAOpJ,QAAQF,OAAOlL,YAAc,EAChDC,SAAUuU,EAAOpJ,QAAQF,OAAOjL,UAAY,IAExC+uB,EAAU,IACXxa,EAAOpJ,QAAQF,SAEd,KAAEnL,SAAekwB,eACrBjC,GAAUnjB,KAAK,kBAADqa,OACI1Q,EAAOpJ,QAAQF,OAAOJ,QAAO,0BAC/CkkB,EACA,CAAE9jB,WAEAnL,EAAKuI,gBACD6nB,cAAIpb,EAAarG,4BAA4B3O,GAAM,KAItD,SAAUmJ,GAA+BsL,GAC9C,MAAQtJ,OAAQ8jB,GAAYxa,EAAOpJ,SAC7B,QAAEN,GAAYkkB,EAEpB,IACE,MAAM,KAAEjvB,SAAekwB,eACrBjC,GAAUnjB,KAAK,kBAADqa,OACIpa,EAAO,wBACzBkkB,GAGF,GAAIjvB,EAAKuI,QAIP,kBAHM6nB,cACJpb,EAAavG,sCAAsCzO,EAAKA,MAAM,KAKlE,MAAM,IAAIwgC,MAAMxgC,EAAK69B,SAAW,gCAChC,MAAOjhC,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAMlD,EAAMihC,gBACnCzN,cAAIpb,EAAatG,oCAAoC9R,KAIxD,SAAU6jC,GAAahsB,GAC5B,MAAM,QAAE1J,EAAO,cAAEsD,GAAkBoG,EAAOpJ,QAE1C,IACE,MAAM,KAAErL,SAAekwB,eACrBjC,GAAUnjB,KAAK,kBAADqa,OACIpa,EAAO,oBACzBsD,GAGErO,EAAKuI,cACD6nB,cAAIpb,EAAa1G,qBAAqBtO,EAAKA,KAAMA,EAAKuI,gBAEtD6nB,cACJpb,EAAa1G,qBACX,GACAtO,EAAKuI,QACL,uCAGN,MAAO3L,SACDwzB,cAAIpb,EAAa1G,qBAAqB,IAAI,EAAO1R,KAIpD,SAAU8jC,GAAsBjsB,GACrC,MAAM,KAAEzU,SAAekwB,eACrBjC,GAAUkC,IAAI,kBAADhL,OACK1Q,EAAOpJ,QAAQuC,GAAE,oBAGjC5N,EAAKuI,gBACD6nB,cAAIpb,EAAanH,6BAA6B7N,EAAKA,MAAM,KAI5D,SAAU2gC,GAAkBlsB,GACjC,MAAM,WAAE1C,EAAU,WAAE1R,KAAe+mB,GAAgB3S,EAAOpJ,QAAQF,OAC5Dy0B,EAAc,IACfxY,KACCrV,IAAe8tB,qBAAmBvtC,iBAAiBC,OAAS,CAC9DutC,SAAU/tB,IAId,IACE,MAAMvJ,QAAiB80B,gBAAM,GAAI,IAAMrP,GAAUkC,IAAK,GAAI,CACxDhlB,OAAQy0B,IAGVp3B,EAASxI,KAAKH,OAASkgC,kBACrBF,qBAAmBvtC,iBAClBqnC,GAAMA,IAAM5nB,GAIf,MAAM,UAAExC,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,oBACA,KAGIu1B,EAAe,CACnBp4B,SAAUA,EAASxI,KACnBuP,mBAGI6gB,cACJpb,EAAalG,0BACX8xB,EAAap4B,SACbo4B,EAAarxB,YAGjB,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,oBACA,WAGIowB,cAAIpb,EAAajG,wBAAwBtG,IAC/C6nB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gFAOrB,SAAU6J,GAAsB8K,GACrC,MAAM,mBAAExF,GAAuBwF,EAAOpJ,QAEhC8H,EAAO,CACXpI,QAASkE,EAAmB,GAAGlE,QAC/B81B,QAAS5xB,EAAmB,GAAGlR,OAC/B+iC,YAAa7xB,EAAmB,GAAGyZ,KACnCqY,MAAO,MAGT,IACE,MAAMv4B,QAAiB0nB,eAAKjC,GAAUnjB,KAAK,sBAAwBqI,GAGnE,KADkB3K,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,KAQtD,MAAM,IAAI2gC,MAAM,kCANfpQ,cACJpb,EAAa9F,6BAA6BD,EAAmB,KAE/DqhB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,qCAG5B,MAAOlD,SACDwzB,cAAIpb,EAAa7F,2BAA2BvS,IAClD0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAAStV,EAAmB6xB,aAAqB,IACjDxc,IAAAC,cAAA,WACC3nB,EAAM4L,SAASxI,KAAK43B,OAAOoJ,SAAS,OAMtC,SAAUC,GAAexsB,GAC9B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpB61B,EAAgB,GACtB,UACS/1B,EAAOg2B,SAASzhC,KAAI,UAAW1D,GACpC,IAAIuT,GAAY,EAChB,IACE,MAAM6xB,QAAqBrlC,YAAUC,EAAKA,MAEpCqlC,EAAmB,CACvBC,aAActlC,EAAK0sB,KACnBmY,QAASO,EACTG,mBAA0B,OAANp2B,QAAM,IAANA,OAAM,EAANA,EAAQmxB,mBAGxB9zB,QAAiB80B,gBACrB,EACA,IACArP,GAAUnjB,KAAK,cAEfu2B,IAGI,QAAEt2B,EAAO,iBAAEy2B,EAAgB,kBAAElF,KAAsBmF,GACvDzlC,QAEIshC,gBACJ,EACA,IACArP,GAAUnjB,KAAK,wBAADqa,OACU3c,EAASxI,KAAKo+B,UAAS,KAAAjZ,OAAU,OAANha,QAAM,IAANA,OAAM,EAANA,EAAQ4wB,kBAG7D0F,EAAQ12B,QAAUvC,EAASxI,KAAK+K,QAChC02B,EAAQnF,kBAA0B,OAANnxB,QAAM,IAANA,OAAM,EAANA,EAAQmxB,kBACpCmF,EAAQrD,UAAY51B,EAASxI,KAAKo+B,UAClCqD,EAAQzxB,SAAW,IAEnBT,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IACvDqhC,EAAc/T,KAAK5d,SAEb6gB,cAAIpb,EAAalF,mBAAmB2xB,UACpCrR,cACJpb,EAAa/E,yBAAyBwxB,EAAQvxB,QAAQ,GAAO,IAE/D,MAAOwxB,GACPR,EAAc/T,KAAK5d,GAES,MAAxBmyB,EAAIl5B,SAAS3I,QACfywB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,WACCmd,EAAIl5B,SAASxI,KAAK69B,UAIG,MAAxB6D,EAAIl5B,SAAS3I,QAEb6hC,EAAIl5B,SAASxI,KAAK2hC,YACoB,IAAtCD,EAAIl5B,SAASxI,KAAK4hC,iBAElBtR,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,0HAGpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,mBAIA6L,cACJpb,EAAatF,qBACX1T,EAAK0sB,KACLgZ,EAAIl5B,SAASxI,KAAK6hC,cAAgBH,EAAIl5B,SAASxI,KAAK2hC,aAGxDrR,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,OAIhC4H,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,WACCmd,EAAIl5B,SAASxI,KAAK43B,OAAOoJ,iBAI1B5Q,cACJpb,EAAa/E,yBAAyBjU,EAAKkU,QAAQ,GAAM,QAK/D,MAAMX,EAAY2xB,EAAcY,MAAOjtB,KAAWA,GAC5C7K,GAAmBuF,GAErB2xB,EAAc9jC,KAAMyX,KAAWA,GAC7BnM,EAAUw4B,EAAcY,MAAOjtB,IAAUA,IAC1CtF,IAAavF,GAAsBtB,QAgBhC0nB,cACJpb,EAAa3E,kBACX,iCACA3H,WAlBE0nB,cAAIpb,EAAavF,oBAAoBF,EAAWvF,IAElDuF,GACF+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,wCAIxBkK,GACFsmB,IAAM/nB,QACJ+b,IAAAC,cAACsL,GAAY,CAAC/vB,KAAK,MAAK,0DAY9B,MAAOlD,SACDwzB,cAAIpb,EAAa3E,kBAAkBzT,GAAO,KAG7C,SAAUmlC,GAAgBttB,GAC/B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpB61B,EAAgB,GACtB,UACS/1B,EAAOg2B,SAASzhC,KAAI,UAAW1D,GACpC,IAAIuT,GAAY,EAChB,IACE,MAAM8xB,EAAmB,CACvBR,QAAS7kC,EACTulC,mBAA0B,OAANp2B,QAAM,IAANA,OAAM,EAANA,EAAQmxB,kBAC5B0F,uBAA8B,OAAN72B,QAAM,IAANA,OAAM,EAANA,EAAQ4wB,gBAChCkG,aAAa,GAGTz5B,QAAiB80B,gBACrB,EACA,IACArP,GAAUnjB,KAAK,cAEfu2B,GAGF9xB,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IACvDqhC,EAAc/T,KAAK5d,GAEf2xB,EAAcplC,SAAWqP,EAAOg2B,SAASrlC,SAC3Cw0B,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,+CAIpBswB,cAAIpb,EAAa1F,wBAAuB,IAC9C4yB,WAAW,IAAM9iC,EAAQ+iC,GAAG,GAAI,OAElC,MAAOT,GACPpR,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,4BAEpBwkB,IAAAC,cAAA,WACCmd,EAAIl5B,SAASxI,KAAK69B,cAK3B,MAAOjhC,GACP0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,4BAEpBwkB,IAAAC,cAAA,WACC3nB,EAAM4L,SAASxI,KAAK69B,WAKtB,SAAUuE,GAAa3tB,GAC5B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBg3B,OAAiB,CACrBC,cAAqB,OAANn3B,QAAM,IAANA,OAAM,EAANA,EAAQmxB,kBACvBiG,UAAiB,OAANp3B,QAAM,IAANA,OAAM,EAANA,EAAQq3B,WAEftB,EAAgB,GACtB,UACS/1B,EAAOg2B,SAASzhC,KAAI,UAAW1D,GACpC,IAAIuT,GAAY,EAChB,IACE,MAAM,KAAEvP,SAAes9B,gBAAM,EAAG,IAAMrP,GAAUnjB,KAAK,GAAKu3B,GAEpDjB,QAAqBrlC,YAAUC,EAAKA,OACpC,QAAE+O,EAAO,iBAAEy2B,EAAgB,kBAAElF,KAAsBmF,GACvDzlC,EAEFylC,EAAQ12B,QAAU/K,EAAK+K,QACvB02B,EAAQnF,kBAA0B,OAANnxB,QAAM,IAANA,OAAM,EAANA,EAAQmxB,kBACpCmF,EAAQrD,UAAYp+B,EAAKyiC,cAEnBrS,cAAIpb,EAAalF,mBAAmB2xB,IAE1C,MAAMJ,EAAmB,CACvBt2B,QAAS/K,EAAK+K,QACd81B,QAASO,EACTN,YAAa9kC,EAAK0sB,KAClBqY,MAAO51B,EAAOwJ,WAAW+tB,cAErBl6B,QAAiB80B,gBACrB,EACA,IACArP,GAAUnjB,KAAK,sBAEfu2B,GAGF9xB,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAEvDqhC,EAAc/T,KAAK5d,SAEb6gB,cACJpb,EAAa/E,yBAAyBwxB,EAAQvxB,QAAQ,GAAO,IAE/D,MAAOwxB,GACPR,EAAc/T,KAAK5d,GACS,MAAxBmyB,EAAIl5B,SAAS3I,QACfywB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,WACCmd,EAAIl5B,SAASxI,KAAK69B,UAIG,MAAxB6D,EAAIl5B,SAAS3I,cACTuwB,cACJpb,EAAatF,qBACX1T,EAAK0sB,KACLgZ,EAAIl5B,SAASxI,MAAQ0hC,EAAIl5B,SAASxI,KAAK43B,OAAOoJ,WAGlD1Q,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,OAIhC4H,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,WACCmd,EAAIl5B,SAASxI,KAAK43B,OAAOoJ,iBAI1B5Q,cACJpb,EAAa/E,yBAAyBjU,EAAKkU,QAAQ,GAAM,QAK/D,MAAMX,EAAY2xB,EAAcY,MAAOjtB,KAAWA,GAC5C7K,GAAmBuF,GAErB2xB,EAAc9jC,KAAMyX,KAAWA,GAC7BnM,EAAUw4B,EAAcY,MAAOjtB,IAAUA,IAC1CtF,IAAavF,GAAsBtB,QAgBhC0nB,cACJpb,EAAa3E,kBACX,iCACA3H,WAlBE0nB,cAAIpb,EAAavF,oBAAoBF,EAAWvF,IAElDuF,GACF+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,yCAIxBkK,GACFsmB,IAAM/nB,QACJ+b,IAAAC,cAACsL,GAAY,CAAC/vB,KAAK,MAAK,0DAY9B,MAAOlD,GACPshC,QAAQC,IAAIvhC,SACNwzB,cAAIpb,EAAa3E,kBAAkBzT,GAAO,KAI7C,SAAU6M,GAAUgL,GACzB,IACE,MAAM,OAAE7L,GAAW6L,EAAOpJ,QAUpBkE,SATiB8uB,cACrBz1B,EAAOlJ,IAAK4+B,GACVpO,eAAKjC,GAAUmC,IAAI,GAAK,CACtBrlB,QAASuzB,EAAMvzB,QACf43B,cAAe9C,qBAAmB3tC,SAAS4M,WAC3C8jC,YAAatE,EAAMgC,eAIEwB,MACxBjtB,GAASA,EAAKhV,OAAS,KAAOgV,EAAKhV,OAAS,KAE/C,IAAI0P,EAOG,MAAM,IAAIixB,MAAM,0CANfpQ,cAAIpb,EAAaxE,iBAAiB5H,EAAQ2G,IAChD+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,+CAK5B,MAAOlD,SACDwzB,cAAIpb,EAAatE,eAAe9T,IACtC0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,6CAKrB,SAAU4J,GAAiB+K,GAChC,IACE,MAAM,OAAE7L,GAAW6L,EAAOpJ,QAMpBkE,SAJiB8uB,cACrBz1B,EAAOlJ,IAAK4+B,GAAUpO,eAAKjC,GAAUjjB,MAAM,SAAWszB,MAG7BwD,MACxBjtB,GAASA,EAAKhV,OAAS,KAAOgV,EAAKhV,OAAS,KAE/C,IAAI0P,EAWG,MAAM,IAAIixB,MAAM,kCAVfpQ,cAAIpb,EAAanE,wBAAwBtB,IAC/C+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,gDAIpBswB,cAAIpb,EAAa/D,0BACjBmf,cAAIpb,EAAazE,wBACjB6f,cAAIpb,EAAapE,yBACvBxR,EAAQ+tB,KAAK,eAEf,MAAOvwB,SACDwzB,cAAIpb,EAAalE,sBAAsBlU,IAC7C0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,wCAKrB,SAAUqK,GAAYsK,GAC3B,IACE,MAAM,OAAE7L,GAAW6L,EAAOpJ,QAEpBw3B,EAAmBj6B,EAAO/M,OAC7BG,GAA0B,OAAjBA,EAAK+O,cAAqCyD,IAAjBxS,EAAK+O,SAQpCwE,SALiB8uB,cACrBwE,EAAiBnjC,IAAK4+B,GACpBpO,eAAKjC,GAAUsC,OAAO,IAADpL,OAAMmZ,EAAMvzB,aAGV+2B,MACxBjtB,GAASA,EAAKhV,OAAS,KAAOgV,EAAKhV,OAAS,KAE3C0P,SACI6gB,cAAIpb,EAAahE,mBAAmBzB,EAAW3G,IACrD0nB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,6CAGpBswB,cAAIpb,EAAa9D,iBAAiB,+BAC1C,MAAOtU,SACDwzB,cAAIpb,EAAa9D,iBAAiBtU,KAIrC,SAAUwN,GAAmBqK,GAClC,IACE,MAAM,OAAE7L,EAAM,SAAEwI,GAAaqD,EAAOpJ,QAE9B7C,QAAiB61B,cACrBz1B,EAAOlJ,IAAK4+B,GACVhB,gBAAM,EAAG,IAAMrP,GAAUjjB,MAAM,GAADma,OAAKmZ,EAAMvzB,QAAO,eAAe,CAC7D+3B,MAAO1xB,OAKP,kBAAE3I,EAAiB,UAAE8G,GAAc+pB,GACvC9wB,EACAI,EACA,UACA,qBACA,WAGIwnB,cACJpb,EAAa3D,0BAA0B5I,EAAmB8G,IAE5D,MAAO3S,SACDwzB,cAAIpb,EAAa1D,wBAAwB1U,KAI5C,SAAUyN,GAAaoK,GAC5B,MAAM,WAAEvH,GAAeuH,EAAOpJ,SAExB,WAAE0G,EAAU,WAAE1R,KAAe+mB,GAAgB3S,EAAOpJ,QAAQF,OAElE,IACE,MAAM3C,QAAiB61B,cACrBxY,OAAO8Z,OAAOzyB,GAAYxN,KAAI,UAAWG,GACvC,MAAM+/B,EAAc,IACfxY,EAED2b,YACEljC,IAAWmjC,qBAAmB1wC,iBAAiBC,MAC3CsN,EACA,KACNigC,SAAU,GACVmD,gBAAgB,GAId1jC,QAAoB+9B,gBAAM,EAAG,IAAMrP,GAAUkC,IAAK,GAAI,CAC1DhlB,OAAQy0B,IAGV,OADArgC,EAAYS,KAAKH,OAASkgC,kBAAQ7yB,EAAaysB,GAAMA,IAAM95B,GACpDN,OAIL,UAAEgQ,GAAc+pB,GACpB9wB,EACAiM,EAAOpJ,QACP,OACA,eACA,KAKI20B,EAAY,CAChBx3B,SAHaA,EAAS9I,IAAKmV,GAASA,EAAK7U,MAIzCuP,mBAEI6gB,cACJpb,EAAavD,oBAAoBuuB,EAAUx3B,SAAUA,EAAS+G,YAEhE,MAAO3S,GACPshC,QAAQC,IAAIvhC,SACNwzB,cAAIpb,EAAatD,kBAAkB9U,KAItC,SAAUsmC,GAAqBzuB,GACpC,MAAM,WAAE1C,EAAU,WAAE1R,KAAe+mB,GAAgB3S,EAAOpJ,QAAQF,OAC5Dy0B,EAAc,IACfxY,EAED2b,YACEhxB,IAAeixB,qBAAmB1wC,iBAAiBC,MAC/Cwf,EACA,KACN+tB,SAAU,GACVmD,gBAAgB,GAIpB,IACE,MAAMz6B,QAAiB80B,gBAAM,GAAI,IAAMrP,GAAUkC,IAAK,GAAI,CACxDhlB,OAAQy0B,IAGVp3B,EAASxI,KAAKH,OAASkgC,kBACrBiD,qBAAmB1wC,iBAClBqnC,GAAMA,IAAM5nB,GAIf,MAAM,UAAExC,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,uBACA,KAGIu1B,EAAe,CACnBp4B,SAAUA,EAASxI,KACnBuP,mBAGI6gB,cACJpb,EAAapD,6BACXgvB,EAAap4B,SACbo4B,EAAarxB,YAGjB,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,uBACA,WAGIowB,cAAIpb,EAAanD,2BAA2BpJ,IAClD6nB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,2EAOrB,SAAUwK,GAAemK,GAC9B,IACE,MAAM,OAAE7L,EAAM,WAAEmJ,GAAe0C,EAAOpJ,QAEhC7C,QAAiB61B,cACrBz1B,EAAOlJ,IAAK4+B,GACVhB,gBAAM,EAAG,IAAMrP,GAAUjjB,MAAM,GAADma,OAAKmZ,EAAMvzB,QAAO,eAAe,CAC7D+0B,SAAU/tB,OAKV,kBAAEtJ,EAAiB,UAAE8G,GAAc+pB,GACvC9wB,EACAI,EACA,UACA,iBACA,WAGIwnB,cAAIpb,EAAahD,sBAAsBvJ,EAAmB8G,IAChE,MAAO3S,SACDwzB,cAAIpb,EAAa/C,oBAAoBrV,KAIxC,SAAU4N,GAAgBiK,GAC/B,MAAM,OAAEtJ,EAAM,cAAEQ,GAAkB8I,EAAOpJ,QAEnCu0B,EAAc,IACfz0B,EACH20B,SAAU,GACVmD,gBAAgB,GAGlB,IACE,MAAMz6B,QAAiB80B,gBACrB,EACA,IACArP,GAAUkC,IAAI,cAADhL,OACCxZ,GACd,CAAER,OAAQy0B,IAGNrwB,EAAgC,MAApB/G,EAAS3I,SAAkB,EAErB,MAApB2I,EAAS3I,QACXywB,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,2EAMZO,cAAIpb,EAAa5C,uBAAuB5J,EAASxI,KAAMuP,UACvD6gB,cAAIpb,EAAa1C,wBACvB,MAAO1V,SACDwzB,cAAIpb,EAAa3C,qBAAqBzV,KAIzC,SAAU6N,GAAgBgK,GAC/B,MAAM,QAAE1J,GAAY0J,EAAOpJ,QAC3B,IACE,MAAM7C,QAAiB80B,gBAAM,EAAG,IAAMrP,GAAUkC,IAAI,IAADhL,OAAMpa,IAEnDwE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cAAIpb,EAAaxC,uBAAuBhK,EAASxI,KAAMuP,IAC7D,MAAO3S,SACDwzB,cAAIpb,EAAaxC,uBAAuB5V,KAG3C,SAAU+N,GAAqB8J,GACpC,IACE,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpB9L,QAAoB+9B,gBAAM,EAAG,IAAMrP,GAAUkC,IAAI,iBAAmB,CACxEhlB,WAGc5L,EAAYM,OAAS,KAAON,EAAYM,OAAS,YAGzDuwB,cAAIpb,EAAapC,6BAA6BrT,EAAYS,QAElE,MAAOpD,SACDwzB,cAAIpb,EAAa/C,oBAAoBrV,KAIxC,SAAUgO,GAAuB6J,GACtC,MAAM,QAAE1J,EAAO,UAAE+H,EAAS,oBAAEC,GAAwB0B,EAAOpJ,QAE3D,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACArP,GAAUkC,IAAI,IAADhL,OACTpa,EAAO,0BACX,CAAEI,OAAQ,CAAE2H,eAGEtK,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,YAGnDuwB,cACJpb,EAAa/B,8BACXzK,EAASxI,KACT+S,KAIN,MAAOnW,SACDwzB,cAAIpb,EAAahC,4BAA4BpW,KAIhD,SAAUumC,GAAqC1uB,GACpD,MAAM,QAAE1J,EAAO,oBAAEgI,GAAwB0B,EAAOpJ,QAEhD,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACArP,GAAUkC,IAAI,IAADhL,OACTpa,EAAO,oCAGGvC,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,YAGnDuwB,cACJpb,EAAavB,4CACXjL,EAASxI,KACT+S,KAIN,MAAOnW,SACDwzB,cAAIpb,EAAaxB,0CAA0C5W,KAI9D,SAAUwmC,GAAwB3uB,GACvC,MAAM,KAAEtB,GAASsB,EAAOpJ,QAExB,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA9O,GAAsB1jB,KAAK,iBAE3BqI,GAEI5D,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,KACvD,QAAEwjC,GAAY76B,EAASxI,KAAKsjC,iBAElC,GAAI/zB,EACF,GAAI8zB,QACIjT,cAAIpb,EAAa3B,+BAA+B7K,EAASxI,WAC1D,CACL,MAAOpD,GAAS4L,EAASxI,KAAKsjC,iBAAiB1L,aACzCxH,cACJpb,EAAa1B,6BAA6B1W,EAAM2mC,eAGlDjT,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM2mC,gBAGrC,MAAO3mC,GACuB,MAA1BA,EAAM4L,SAAS3I,OACjBywB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAC,kCACvBS,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM2mC,qBAChCnT,cAAIpb,EAAa1B,6BAA6B1W,EAAM2mC,gBAIvD,SAAU74B,GAAiC+J,GAChD,MAAM,OAAE7L,GAAW6L,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB61B,cACrBz1B,EAAOlJ,IAAK4+B,GACVhB,gBACE,EACA,IACArP,GAAUjjB,MAAM,GAADma,OACZmZ,EAAMvzB,QAAO,0BAChB,CAAEu1B,UAAWhC,EAAMgC,cAIP93B,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,YAE7DuwB,cAAIpb,EAAarB,wCAAwC,IAAI,IACnE2c,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,0CAI1BV,EAAQ+tB,KAAK,sBAEPiD,cACJpb,EAAapB,sCACX,wCAGN,MAAOhX,SACDwzB,cAAIpb,EAAapB,sCAAsChX,KAI1D,SAAU6mC,GAA4BhvB,GAC3C,MAAM,KAAEtB,EAAI,QAAEpI,GAAY0J,EAAOpJ,QAEjC,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA9O,GAAsBxjB,MAAM,IAADma,OACvBpa,EAAO,kCACXoI,GAGc3K,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,YAGnDuwB,cAAIpb,EAAahB,mDAEzB,MAAOpX,GACHA,EAAMiD,QAA2B,MAAjBjD,EAAMiD,QACxBywB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAMg7B,OAAO,WAEpCxH,cAAIpb,EAAajB,6CAA6CnX,KAIjE,SAAU8mC,GAA4BjvB,GAC3C,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QACpBs4B,EAAgB,CACpB/1B,GAAIzC,EAAOg2B,SAAS,GAAGjxB,OACvB2wB,QAAS11B,EAAOg2B,SAAS,GAAGpjC,OAC5B+iC,YAAa31B,EAAOg2B,SAAS,GAAGzY,KAChCqY,MAAO51B,EAAOwJ,WAAW+tB,cAAgB,SAGrCtS,cAAIpb,EAAalF,mBAAmB3E,EAAOg2B,SAAS,KAE1D,IACE,MAAM34B,QAAiB80B,gBACrB,EACA,IACArP,GAAUnjB,KAAK,6BAEf64B,GAGIp0B,QAAsC,MAApB/G,EAAS3I,SAAkB,EAC/C0P,UACI6gB,cACJpb,EAAa/E,yBACX9E,EAAOg2B,SAAS,GAAGjxB,QACnB,GACA,UAGEkgB,cAAIpb,EAAavF,oBAAoBF,GAAW,IACtD+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,0CAK5B,MAAOlD,GACuB,MAA1BA,EAAM4L,SAAS3I,eACXuwB,cACJpb,EAAatF,qBACXvE,EAAOg2B,SAAS,GAAGzY,KACnB9rB,EAAM4L,SAASxI,MAAQpD,EAAM4L,SAASxI,KAAK43B,OAAOoJ,YAKxD1Q,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASpZ,EAAOg2B,SAAS,GAAGzY,MAAc,IACf,MAA1B9rB,EAAM4L,SAAS3I,QACdykB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,WACC3nB,EAAM4L,SAASxI,KAAOpD,EAAM4L,SAASxI,KAAK43B,OAAOoJ,SAAW,GAAG,QC52CrE,MAAMvgC,GACc,sCADdA,GAEc,sCAFdA,GAGY,oCAGnB0H,GAAgB,CACpBC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,MA0BF,MAAMqO,GACaE,IAAM,CAC5BC,KAAM3K,GACN4K,QAAS,CAAEF,YAHFF,GAKY24B,CAACp7B,EAAUD,KAAO,CACvC6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASWrO,IAAK,CACzBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WCxCR,SAAUinC,GAAoBpvB,GACnC,MAAM,kBAAE6nB,EAAiB,YAAEwH,GAAgBrvB,EAAOpJ,QAAQF,OAC1D,GAAImxB,EACF,IACE,MAAM9zB,QAAiB80B,gBACrB,EACA,IACA7O,GAAgB0B,IAAI,GAADhL,OAChBmX,EAAiB,gBACpB,CAAEnxB,OAAQ,CAAE44B,SAAUD,KAGlBv7B,EAA8B,MAApBC,EAAS3I,SAAkB,EAErCmkC,EAAcx7B,EAASxI,KAEvBikC,EAAkB,IACnBxvB,EAAOpJ,QACV7C,SAAUw7B,EACVz7B,iBAGI6nB,cACJ8T,GACED,EAAgBz7B,SAChBy7B,EAAgB17B,UAGpB,MAAO3L,SACDwzB,cAAI8T,GAAsCtnC,IAChD0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gFCvC9B,MAEMqkC,GAAY,CAAC,EAAG,cAKTC,GAAiBA,CAACC,EAASC,KACtCD,EAAQC,MAAQA,EAChBD,EAAQE,WAAW7kC,IAAK8kC,IACtBA,EAAIF,MAAQA,EAERE,EAAID,WAAWzoC,OAAS,GAAGsoC,GAAeI,EAAKF,MAI1CG,GAAkBJ,IAC7BA,EAAQnF,MAAQxjC,YAAc2oC,EAAQE,WAAaG,IAAkB,IAAZA,EAAEJ,OAC3DD,EAAQE,WAAW7kC,IAAK8kC,IAClBA,EAAIG,WACNH,EAAItF,MAAQxjC,YAAc8oC,EAAID,WAAaG,IAAkB,IAAZA,EAAEJ,QACjDE,EAAID,WAAWzoC,OAAS,GAAG2oC,GAAeD,MAIrCI,GAAkBA,CAACP,EAAStG,KACvC,MAAM8G,EAAc,GACpB9G,EAAKr+B,IAAKolC,IAER,GADAD,EAAY1X,KAAK2X,GACH,eAAVA,EAAwB,CAC1B,MAAMC,EAAS5U,cAAIkU,EAASQ,GACxBE,EAAOJ,WACTI,EAAO7F,MAAQxjC,YACbqpC,EAAOR,WACNG,IAAkB,IAAZA,EAAEJ,YAONU,GAAkBA,CAACX,EAASC,EAAOW,KAC9C,MAAMJ,EAAc,GACpBI,EAASvlC,IAAKolC,IAEZ,GADAD,EAAY1X,KAAK2X,GACH,eAAVA,EAAwB,CACX3U,cAAIkU,EAASQ,GACrBP,MAAQA,MA8BRY,GAAkBC,GACzBA,EAAKC,qBAAuBC,eAAa50C,WAAW,GAC/C60C,GAA0BH,GAC/BA,EAAKC,qBAAuBC,eAAa50C,WAAW,GAC/C80C,GAA0BJ,QADnC,EAIII,GAA6BJ,IAAU,IAADK,EAC1C,MAAMC,EAAW,CACfC,aAAc,EACd1B,YAAa,EACb2B,OAAQ,GAEkB,OAAJR,QAAI,IAAJA,GAAgB,QAAZK,EAAJL,EAAMd,QAAQ,UAAE,IAAAmB,GAAhBA,EAAkBjB,WAAW7kC,IAAK8jC,IAAO,IAADoC,EAC1DpC,EAAEc,QAAOmB,EAASC,cAAgB,GACd,OAADlC,QAAC,IAADA,GAAgB,QAAfoC,EAADpC,EAAGe,WAAW,UAAE,IAAAqB,GAAhBA,EAAkBrB,WAAW7kC,IAAK8kC,IAAS,IAADqB,EAC3DrB,EAAIF,QAAOmB,EAASzB,aAAe,GAClB,OAAHQ,QAAG,IAAHA,GAAkB,QAAfqB,EAAHrB,EAAKD,WAAW,UAAE,IAAAsB,GAAlBA,EAAoBtB,WAAW7kC,IAAKomC,IAChDA,EAAKxB,QAAOmB,EAASE,QAAU,SAKzC,OAAOF,GAGHH,GAA6BH,IAAU,IAADY,EAC1C,MAAMN,EAAW,CACfzB,YAAa,EACb2B,OAAQ,GAGiB,OAAJR,QAAI,IAAJA,GAAgB,QAAZY,EAAJZ,EAAMd,QAAQ,UAAE,IAAA0B,GAAhBA,EAAkBxB,WAAW7kC,IAAK8kC,IAAS,IAADwB,EAC3DxB,EAAIF,QAAOmB,EAASzB,aAAe,GAClB,OAAHQ,QAAG,IAAHA,GAAkB,QAAfwB,EAAHxB,EAAKD,WAAW,UAAE,IAAAyB,GAAlBA,EAAoBzB,WAAW7kC,IAAKomC,IAChDA,EAAKxB,QAAOmB,EAASE,QAAU,OAIvC,OAAOF,GAoBIQ,GAAwBA,CAAClB,EAAQhH,EAAMmB,KACpC,IAAVA,IAAa/O,cAAI4U,EAAQhH,EAAKmI,MAAM,EAAGnI,EAAKjiC,OAAS,IAAIwoC,OAAQ,IAGjE6B,GAAUA,CACdC,EACAhB,EACAiB,EACAC,EACAC,EACAC,KAEmB,CACjBrxC,YAAa,CACXsxC,OAAQ,CACN11C,EAAG,CAAC,GACJL,EAAG,IAAIyzC,IACPxzC,EAAG,IAAIwzC,MAAeoC,GAAkB,KAE1CG,QAAS,CACP31C,EAAG,IAAIozC,IACPzzC,EAAG,IAAIyzC,IACPxzC,EAAG,IAAIwzC,MAAeoC,GAAkB,MAAQpC,MAGpD,CAACwC,iCAA+Bl2C,WAAW,IAAK,CAC9Cg2C,OAAQ,CACN11C,EAAG,CAAC,GACJL,EAAG,IAAIyzC,MAAemC,GAAmB,IACzC31C,EAAG,IACEwzC,MACCmC,GAAmB,MACpBnC,MACCoC,GAAkB,KAG1BG,QAAS,CACP31C,EAAG,IAAIozC,IACPzzC,EAAG,IAAIyzC,MAAemC,GAAmB,MAAQnC,IACjDxzC,EAAG,IACEwzC,MACCmC,GAAmB,MACpBnC,MACCoC,GAAkB,MACnBpC,OAMOiB,GAAoBiB,GAASD,IAGpCQ,GAAale,IACjB,CACLA,OACAwW,MAAO,EACPtxB,GAAI8a,EACJme,aAAc,GACdC,YAAa,CAAC,GACdC,SAAU5C,GACVI,WAAY,GACZI,UAAU,EACVL,OAAO,EACP0C,aAAa,EACbC,aAAa,EACbC,aAAa,EACbC,eAAe,IAINC,GAAiBA,CAC5BhB,EACArI,EACAsJ,EACAnI,EACAqF,EACA+C,KAEe,CACbv2C,EAAG,CACD,CACE23B,KAAK,cACLwW,QACAtxB,GAAI,cACJi5B,aAAc,GACdC,YAAa,CAAC,GACdC,SAAU5C,GACVI,WAAYA,GAAc,GAC1BI,UAAU,EACVL,MAAOgD,EACPl/B,SAAS,EACT++B,eAAe,EACfH,aAAa,IAGjBt2C,EAAG,CACD,CACEg4B,KAAM,aACNwW,QACAtxB,GAAI,aACJi5B,aACEQ,EAAajC,qBACbuB,iCAA+Bl2C,WAAW,GACtC,IAAKstC,GAAQ,IACb,GACN+I,YACEO,EAAajC,qBACbuB,iCAA+Bl2C,WAAW,GACtC,IAAKstC,GAAQ,GAAK,GAClB,CAAC,GACPgJ,SACEM,EAAajC,qBACbuB,iCAA+Bl2C,WAAW,GACtC,IAAKstC,GAAQ,GAAK,EAAG,cACrBoG,GACNI,WAAYA,GAAc,GAC1BI,UAAU,EACVL,MAAOgD,EACPH,eAAe,EACfH,aAAa,IAGjBr2C,EAAG,CACD,CACE+3B,KAAM,QACNwW,QACAtxB,GAAI,QACJ22B,WAAYA,GAAc,GAC1BsC,aAAc,IAAK9I,GAAQ,IAC3B+I,YAAa,IAAK/I,GAAQ,GAAK,GAC/BgJ,SAAU,IAAKhJ,GAAQ,MAAQoG,IAC/BQ,UAAU,EACVL,MAAOgD,EACPH,eAAe,EACfH,aAAa,KAKLZ,IAAU,IAGpBmB,GAAkBA,CACtB5nC,EACA6nC,EACA5N,EACA0C,EACAyB,EACAxuB,EACAg1B,KAEkB,CAChBxzC,EAAG,CACD23B,KAAK,GAADvD,OAAKxlB,EAAI28B,kBAAiB,OAAAnX,OAAMxlB,EAAI8nC,iBACxC75B,GAAIjO,EAAI28B,kBACRuK,aAAc1C,GACd2C,YAAa3C,GAAUhf,OAAO,CAACyU,IAC/BmN,SAAU5C,GAAUhf,OAAO,CAACyU,EAAO,eACnC+K,UAAU,EACVL,MAAO3kC,EAAI2kC,MACXhI,kBAAmB38B,EAAI28B,kBACvBoL,gBAAiB/nC,EAAI+nC,gBACrBD,gBAAiB9nC,EAAI8nC,gBACrBE,UAAWhoC,EAAIgoC,UACfC,KAAMjoC,EAAIioC,KACVrD,WAAYA,GAAc,GAC1BsD,YAAa,aACbt/B,QAASgH,EACT43B,eAAe,EACfH,aAAa,GAEft2C,EAAG,CACDg4B,KAAK,GAADvD,OAAKxlB,EAAImoC,kBACbl6B,GAAIjO,EAAImoC,iBACRjB,aAAc9I,EACd+I,YAAa/I,EAAK5Y,OAAO,CAACyU,IAC1BmN,SAAUhJ,EAAK5Y,OAAO,CAACyU,EAAO,eAC9B+K,UAAU,EACVL,MAAO3kC,EAAI2kC,MACXhI,oBACAwL,iBAAkBnoC,EAAImoC,iBACtBH,UAAWhoC,EAAIgoC,UACfC,KAAMjoC,EAAIioC,KACVrD,WAAYA,GAAc,GAC1BsD,YAAa,QACbt/B,QAASgH,EACT43B,eAAe,EACfH,aAAa,GAEfr2C,EAAG,CACD+3B,KAAK,GAADvD,OAAKxlB,EAAIooC,aACbn6B,GAAIjO,EAAIooC,YACRlB,aAAc9I,EACd+I,YAAa/I,EAAK5Y,OAAO,CAACyU,IAC1BmN,SAAUhJ,EAAK5Y,OAAO,CAACyU,EAAO,eAC9B+K,UAAU,EACVL,MAAO3kC,EAAI2kC,MACXyD,YAAapoC,EAAIooC,YACjBJ,UAAWhoC,EAAIgoC,UACfC,KAAMjoC,EAAIioC,KACVrD,WAAYA,GAAc,GAC1Bh8B,QAASgH,EACT43B,eAAe,EACfa,QAAQ,EACRhB,aAAa,IAIAQ,IA2GNS,GAAyBZ,GAElCA,EAAajC,qBACbuB,iCAA+Bl2C,WAAW,GA3Gf42C,KAAkB,IAADa,EAAAC,EAAAC,EAAAC,EAC9C,IAAIC,GAAsB,EAC1B,MAAM7C,EAAW,CACfC,aAAc,EACd1B,YAAa,EACb2B,OAAQ,GAEJ4C,EAAuB,GACO,OAAZlB,QAAY,IAAZA,GAAwB,QAAZa,EAAZb,EAAchD,QAAQ,UAAE,IAAA6D,GAAxBA,EAA0B3D,WAAW7kC,IAAK8jC,IAAO,IAADgF,EACjEhF,EAAEc,QAAOgE,GAAsB,GACpC,IAAIG,GAAqB,EACzB,MAAMC,EAAsB,GACJ,OAADlF,QAAC,IAADA,GAAgB,QAAfgF,EAADhF,EAAGe,WAAW,UAAE,IAAAiE,GAAhBA,EAAkBjE,WAAW7kC,IAAK8kC,IAAS,IAADmE,EAC1DnE,EAAIF,QAAOmE,GAAqB,GACrC,IAAIG,GAAgB,EACpB,MAAMC,EAAiB,GACF,OAAHrE,QAAG,IAAHA,GAAkB,QAAfmE,EAAHnE,EAAKD,WAAW,UAAE,IAAAoE,GAAlBA,EAAoBpE,WAAW7kC,IAAKomC,IAC/CA,EAAKxB,QAAOsE,GAAgB,IACd,IAAf9C,EAAKxB,OACPuE,EAAe1b,KAAK,CAClB4a,YAAajC,EAAKiC,gBAInBa,IAAeH,GAAqB,GACzChD,EAASE,QAAUkD,EAAe/sC,QAChB,IAAd0oC,EAAIF,OACNoE,EAAoBvb,KAAK,CACvB2a,iBAAkBtD,EAAIsD,iBACtBR,SAAUsB,EACVE,UAAWD,MAIZJ,IAAoBH,GAAsB,GAC/C7C,EAASzB,aAAe0E,EAAoB5sC,QAC5B,IAAZ0nC,EAAEc,OACJiE,EAAqBpb,KAAK,CACxBmP,kBAAmBkH,EAAElH,kBACrBoL,gBAAiBlE,EAAEkE,gBACnBD,gBAAiBjE,EAAEiE,gBACnBH,SAAUmB,EACVM,eAAgBL,MAItBjD,EAASC,aAAe6C,EAAqBzsC,OAC7C,MAAMktC,EAAqB,CACzBC,YAAqC,QAA1Bd,EAAEd,EAAa6B,mBAAW,IAAAf,OAAA,EAAxBA,EAA0Bc,YACvCE,UAAmC,QAA1Bf,EAAEf,EAAa6B,mBAAW,IAAAd,OAAA,EAAxBA,EAA0Be,UACrCC,kBAA2C,QAA1Bf,EAAEhB,EAAa6B,mBAAW,IAAAb,OAAA,EAAxBA,EAA0Be,kBAC7C9B,SAAUgB,EACVe,gBAAiBd,GAEnB,MAAO,CAAE9C,WAAUuD,uBAuDVM,CAAejC,GAEtBA,EAAajC,qBACbuB,iCAA+Bl2C,WAAW,GAvDf42C,KAAkB,IAADkC,EAAAC,EAAAC,EAAAC,EAC9C,IAAIjB,GAAqB,EACzB,MAAMhD,EAAW,GACXiD,EAAsB,GACO,OAAZrB,QAAY,IAAZA,GAAwB,QAAZkC,EAAZlC,EAAchD,QAAQ,UAAE,IAAAkF,GAAxBA,EAA0BhF,WAAW7kC,IAAK8kC,IAAS,IAADmF,EAClEnF,EAAIF,QAAOmE,GAAqB,GACrC,IAAIG,GAAgB,EACpB,MAAMC,EAAiB,GACF,OAAHrE,QAAG,IAAHA,GAAkB,QAAfmF,EAAHnF,EAAKD,WAAW,UAAE,IAAAoF,GAAlBA,EAAoBpF,WAAW7kC,IAAKomC,IAC/CA,EAAKxB,QAAOsE,GAAgB,IACd,IAAf9C,EAAKxB,OACPuE,EAAe1b,KAAK,CAClB4a,YAAajC,EAAKiC,gBAInBa,IAAeH,GAAqB,GACzChD,EAASE,OAASkD,EAAe/sC,QACf,IAAd0oC,EAAIF,OACNoE,EAAoBvb,KAAK,CACvB2a,iBAAkBtD,EAAIsD,iBACtBR,SAAUsB,EACVE,UAAWD,MAIjBpD,EAASzB,YAAc0E,EAAoB5sC,OAE3C,MAAMktC,EAAqB,CACzBC,YAAa,EACbE,UAAW,GACXC,kBAAmB,GACnB9B,SAAUmB,EACVY,gBAAiB,CACf,CACE/M,kBAA2C,QAA1BkN,EAAEnC,EAAa/5B,mBAAW,IAAAk8B,OAAA,EAAxBA,EAA0BlN,kBAC7CoL,gBAAyC,QAA1B+B,EAAEpC,EAAa/5B,mBAAW,IAAAm8B,OAAA,EAAxBA,EAA0B/B,gBAC3CD,gBAAyC,QAA1BiC,EAAErC,EAAa/5B,mBAAW,IAAAo8B,OAAA,EAAxBA,EAA0BjC,gBAC3CH,SAAUmB,EACVM,eAAgBL,KAKtB,MAAO,CAAEjD,WAAUuD,uBAaVY,CAAevC,QAJxB,EAOWwC,GAAyBA,CAACC,EAAqBC,KAAoB,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAsB7E,MArB6B,CAC3B,CAAC5D,iCAA+Bl2C,WAAW,IAAK,CAC9C0rC,KAAK,GAADhX,OAAmB,OAAd4kB,QAAc,IAAdA,GAA2B,QAAbC,EAAdD,EAAgBb,mBAAW,IAAAc,OAAb,EAAdA,EAA6Bf,YAAW,OAAA9jB,OAAoB,OAAd4kB,QAAc,IAAdA,GAA2B,QAAbE,EAAdF,EAAgBb,mBAAW,IAAAe,OAAb,EAAdA,EAA6Bb,mBACpFx7B,GAAkB,OAAdm8B,QAAc,IAAdA,GAA2B,QAAbG,EAAdH,EAAgBb,mBAAW,IAAAgB,OAAb,EAAdA,EAA6Bd,kBACjChE,mBAAoB0E,EACpBU,WAAY,uBACZ/E,SAAU,GACVgF,WAA0B,OAAdV,QAAc,IAAdA,GAA2B,QAAbI,EAAdJ,EAAgBb,mBAAW,IAAAiB,OAAb,EAAdA,EAA6Bf,kBACzCU,oBA1dc,GA4dhB30C,YAAa,CACXgnC,KAAK,GAADhX,OAAmB,OAAd4kB,QAAc,IAAdA,GAA2B,QAAbK,EAAdL,EAAgBz8B,mBAAW,IAAA88B,OAAb,EAAdA,EAA6B9N,kBAAiB,OAAAnX,OAAoB,OAAd4kB,QAAc,IAAdA,GAA2B,QAAbM,EAAdN,EAAgBz8B,mBAAW,IAAA+8B,OAAb,EAAdA,EAA6B5C,iBAC1F75B,GAAkB,OAAdm8B,QAAc,IAAdA,GAA2B,QAAbO,EAAdP,EAAgBz8B,mBAAW,IAAAg9B,OAAb,EAAdA,EAA6BhO,kBACjC8I,mBAAoB0E,EACpBU,WAAY,cACZ/E,SAAU,GACVgF,WAA0B,OAAdV,QAAc,IAAdA,GAA2B,QAAbQ,EAAdR,EAAgBz8B,mBAAW,IAAAi9B,OAAb,EAAdA,EAA6B7C,gBACzCoC,oBAleoB,IAseIA,IAGjBY,GAAWvF,IACJ,CAChB5vC,UAAW,CACT2zC,YAAa,CACXD,YAAa9D,EAAK8D,YAClBE,UAAWhE,EAAKgE,UAChBC,kBAAmBjE,EAAKiE,mBAE1B9Q,OAAQxE,mBAAS,SACjB6W,UAAU,EACV5M,KAAM,GACNsG,QAAS,GACToB,SAAU,CACRC,aAAcP,EAAKO,aACnB1B,YAAamB,EAAKnB,YAClB2B,OAAQR,EAAKQ,QAEfpN,iBAAkB4M,EAAK5M,iBACvB6M,mBACEC,eAAahwC,uBAAuB8vC,EAAKC,oBAC3C6B,aAAa,EACbC,aAAa,EACbt5B,GAAIu3B,EAAKiE,mBAEX9zC,gBAAiB,CACfgY,YAAa,CACXg3B,OAAO,EACPhI,kBAAmB6I,EAAK7I,kBACxBqL,UAAWxC,EAAKwC,UAChBF,gBAAiBtC,EAAKsC,gBACtBG,KAAMzC,EAAKyC,KACXF,gBAAiBvC,EAAKuC,gBACtBnP,iBAAkB4M,EAAK5M,kBAEzBD,OAAQxE,mBAAS,SACjB6W,UAAU,EACV5M,KAAM,GACNsG,QAAS,GACToB,SAAU,CAAEzB,YAAamB,EAAKnB,YAAa2B,OAAQR,EAAKQ,QACxDpN,iBAAkB4M,EAAK5M,iBACvB6M,mBACEC,eAAahwC,uBAAuB8vC,EAAKC,oBAC3C6B,aAAa,EACbC,aAAa,EACbt5B,GAAIu3B,EAAK7I,kBACTsO,kBAAmB,CAACzF,EAAK7I,qBAIZ6I,EAAKC,qBAGXyF,GAAUA,CACrBlrC,EACAymC,EACA3mC,EACA6nC,EACAhL,EACAyB,EACAxuB,KAEA,MAAMu7B,EAAYnrC,EAAIvC,KAAMu8B,IAAkB,IAAZA,EAAE2K,OAC9ByG,EAAgBprC,EAAID,IAAI,CAACmV,EAAM+kB,IAC5B2N,GACL1yB,EACAuxB,EACAxM,EACA0C,EACA8K,GAAehB,EAAOrI,EAAMt+B,EAAOE,EAAI7D,OAAQ,GAAIgvC,GAAW,GAAG/D,SACjEx3B,IAGE2vB,EAAQv/B,EAAI9D,OAAQmvC,IAAkB,IAAZA,EAAE1G,OAAgBxoC,OAUlD,OATkBsrC,GAChBhB,EACArI,EACAt+B,EACAy/B,EACA6L,EACAD,IAsNSG,GAAetgB,GACC,IAAvBA,EAAOse,YAjNmBte,KAC9B,IAAI2d,GAAsB,EAC1BA,EAA4B,OAAN3d,QAAM,IAANA,OAAM,EAANA,EAAQ0e,gBAAgBjsC,KAAMu8B,IAAkB,IAAZA,EAAE2K,OAC5D,MAAM4G,EAAyB,OAANvgB,QAAM,IAANA,OAAM,EAANA,EAAQ0e,gBAAgB3pC,IAC/C,CAAC2pC,EAAiB8B,KAEhB,IAAI1C,GAAqB,EACzBA,EAAoC,OAAfY,QAAe,IAAfA,OAAe,EAAfA,EAAiBN,eAAe3rC,KAClDu8B,IAAkB,IAAZA,EAAE2K,OAEX,MAAM8G,EAAiC,OAAf/B,QAAe,IAAfA,OAAe,EAAfA,EAAiBN,eAAerpC,IACtD,CAACqpC,EAAgBsC,KAEf,IAAIzC,GAAgB,EACpBA,EAA8B,OAAdG,QAAc,IAAdA,OAAc,EAAdA,EAAgBD,UAAU1rC,KACvCu8B,IAAkB,IAAZA,EAAE2K,OAEX,MAAMgH,EAA2B,OAAdvC,QAAc,IAAdA,OAAc,EAAdA,EAAgBD,UAAUppC,IAC3C,CAACopC,EAAWyC,IAEHhE,GACLuB,EA/kBG,EAilBHyC,EACA,EACApF,GAnlBG,EAqlBDQ,iCAA+Bl2C,WAAW,GAC1C,UACA,CAAC06C,EAAkB,cACnB,CAACE,EAAiB,gBAGpB,IAKAG,EAAaF,EAAWzvC,OAAQmvC,IAAkB,IAAZA,EAAE1G,OAAgBxoC,OAExD2vC,EAAcrE,GAlmBX,EAomBPjB,GApmBO,EAsmBLQ,iCAA+Bl2C,WAAW,GAC1C,SACA,CAAC06C,EAAkB,cACnB,CAACE,EAAiB,eAEpB,CACEjG,mBAAoBuB,iCAA+Bl2C,WAAW,IAEhE+6C,EACAF,EACA1C,GAIF,OAAOrB,GACLwB,EAtnBY,EAwnBZsC,EACA,EACAlF,GA1nBY,EA4nBVQ,iCAA+Bl2C,WAAW,GAC1C,UACA,CAAC06C,EAAkB,gBAErB,EACAM,KAIAC,EAAkBN,EAAgBvvC,OAAQmvC,IAAkB,IAAZA,EAAE1G,OACrDxoC,OAEG6vC,EAAmBvE,GAxoBP,EA0oBhBjB,GA1oBgB,EA4oBdQ,iCAA+Bl2C,WAAW,GAC1C,SACA,CAAC06C,EAAkB,eAErB,CAAE/F,mBAAoBuB,iCAA+Bl2C,WAAW,IAChEi7C,EACAN,EACA3C,GAIF,OAAOlB,GACL8B,EAzpBiB,EA2pBjB8B,EACA,EACAhH,IACA,EACAwH,KAKN,KAAMT,EAAiBpvC,OAAS,GAC9B,MAAO,CAAC8qC,GAAU,2CAEpB,MAAMgF,EAAmBV,EAAiBrvC,OAAQmvC,IAAkB,IAAZA,EAAE1G,OACvDxoC,OAeH,OAbgBsrC,GA1qBO,EA4qBrB,CAAC,GACD,CACEC,aAAc,CACZjC,mBAAoBuB,iCAA+Bl2C,WAAW,KAGlEm7C,EACAV,EACA5C,IAyFmCuD,CAAuBlhB,GACjC,IAAvBA,EAAOse,YApFmBte,KAAY,IAADmhB,EAAAC,EACzC,IAAItD,GAAqB,EACzBA,EAA2B,OAAN9d,QAAM,IAANA,GAA0B,QAApBmhB,EAANnhB,EAAQ0e,gBAAgB,UAAE,IAAAyC,OAApB,EAANA,EAA4B/C,eAAe3rC,KAC7Du8B,IAAkB,IAAZA,EAAE2K,OAEX,MAAM8G,EAAwB,OAANzgB,QAAM,IAANA,GAA0B,QAApBohB,EAANphB,EAAQ0e,gBAAgB,UAAE,IAAA0C,OAApB,EAANA,EAA4BhD,eAAerpC,IACjE,CAACqpC,EAAgBsC,KACf,IAAIzC,GAAgB,EACpBA,EAA8B,OAAdG,QAAc,IAAdA,OAAc,EAAdA,EAAgBD,UAAU1rC,KAAMu8B,IAAkB,IAAZA,EAAE2K,OACxD,MAAMgH,EAA2B,OAAdvC,QAAc,IAAdA,OAAc,EAAdA,EAAgBD,UAAUppC,IAC3C,CAACopC,EAAWyC,IACHhE,GACLuB,EApsBO,EAssBPyC,EACA,EACApF,GAxsBO,EA0sBL,cACA,UACA,CAAC,EAAG,cACJ,CAACkF,EAAiB,gBAGpB,IAIAG,EAAaF,EAAWzvC,OAAQmvC,IAAkB,IAAZA,EAAE1G,OAAgBxoC,OAExD2vC,EAAcrE,GAttBP,EAwtBXjB,GAxtBW,EA0tBT,cACA,SACA,CAAC,EAAG,cACJ,CAACkF,EAAiB,eAEpB,CAAEjG,mBAAoB,eACtBoG,EACAF,EACA1C,GAIF,OAAOrB,GACLwB,EAxuBgB,EA0uBhBsC,EACA,EACAlF,GA5uBgB,EA8uBd,cACA,UACA,GACA,CAACkF,EAAiB,gBAEpB,EACAI,KAKN,KAAML,EAAgBtvC,OAAS,GAC7B,MAAO,CAAC8qC,GAAU,0CAEpB,MAAM8E,EAAkBN,EAAgBvvC,OAAQmvC,IAAkB,IAAZA,EAAE1G,OACrDxoC,OAWH,OATgBsrC,GA/vBM,EAiwBpBjB,GAjwBoB,EAiwBK,cAAe,UACxC,CAAEf,mBAAoB,eACtBsG,EACAN,EACA3C,IAQmCuD,CAAuBrhB,QAA5D,EAGWshB,GAAkBA,CAAC7gC,EAAMq6B,KACtB,CACZ,CAACJ,eAAaz0C,kBAAkBuE,aAAc,CAC5C6uC,YAAqB,OAARyB,QAAQ,IAARA,OAAQ,EAARA,EAAUzB,YACvB2B,OAAgB,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,QAEpB,CAACN,eAAaz0C,kBAAkB,yBAA0B,CACxD80C,aAAsB,OAARD,QAAQ,IAARA,OAAQ,EAARA,EAAUC,aACxB1B,YAAqB,OAARyB,QAAQ,IAARA,OAAQ,EAARA,EAAUzB,YACvB2B,OAAgB,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,SAITv6B,ICjxBF3K,GAET,+CAFSA,GAIT,+CAJSA,GAKmB,6CALnBA,GAMe,yCANfA,GAOe,yCAPfA,GAQa,uCARbA,GAUT,+CAVSA,GAYT,+CAZSA,GAamB,6CAbnBA,GAeT,oDAfSA,GAiBT,oDAjBSA,GAmBT,kDAnBSA,GAoBoB,8CApBpBA,GAqBoB,8CArBpBA,GAsBkB,4CAtBlBA,GAuBiB,2CAvBjBA,GAwBiB,2CAxBjBA,GAyBe,yCAzBfA,GA2BT,iDA3BSA,GA6BT,iDA7BSA,GA+BT,+CA/BSA,GAgCkB,4CAhClBA,GAkCS,mCAlCTA,GAmCe,yCAnCfA,GAqCT,+CArCSA,GAsCiB,2CAtCjBA,GAuCc,wCAvCdA,GAyCT,mDAzCSA,GA0CgB,0CA1ChBA,GA2CiB,2CA3CjBA,GA6CT,iDA7CSA,GA+CT,iDA/CSA,GAgDe,yCAhDfA,GAiDY,sCAjDZA,GAmDT,kDAnDSA,GAoDkB,4CApDlBA,GAsDT,2DAtDSA,GAwDT,sEAxDSA,GA0DT,sEA1DSA,GA4DT,oEA5DSA,GA8DT,gEA9DSA,GAgET,gEAhESA,GAkET,8DAGE0H,GAAgB,CACpB+jC,qBAAsB,CACpB9jC,SAAS,EACTG,SAAS,EACTC,SAAU,CACRxI,KAAM,GACNF,KAAM,GAER2I,kBAAmB,KACnB7L,MAAO,MAETw2B,gBAAiB,CACfhrB,SAAS,EACTG,SAAS,EACTC,SAAU,CACRxI,KAAM,GACNF,KAAM,GAER2I,kBAAmB,KACnB7L,MAAO,MAETu2B,qBAAsB,CACpB/qB,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXyjC,0BAA2B,CACzB/jC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX0jC,oBAAqB,CACnBhkC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX2jC,iBAAkB,CAChBjkC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEX4jC,uBAAwB,CACtBlkC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,GAEXsgC,mBAAoB,IAmlBf,MAAM/9B,GACmBE,IAAM,CAClCC,KAAM3K,GACN4K,QAAS,CAAEF,YAHFF,GAKkBshC,CAACC,EAAmBj9B,KAAS,CACxDnE,KAAM3K,GACN4K,QAAS,CAAEmhC,oBAAmBj9B,eAPrBtE,GASgBwhC,CAAChkC,EAAmB7L,KAAK,CAClDwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAXrBqO,GAaaE,IAAM,CAC5BC,KAAM3K,GACN4K,QAAS,CAAEF,YAfFF,GAiBYyhC,CAAChH,EAAcn2B,KAAS,CAC7CnE,KAAM3K,GACN4K,QAAS,CAAEq6B,eAAcn2B,eAnBhBtE,GAqBU0hC,CAAClkC,EAAmB7L,KAAK,CAC5CwO,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAvBrBqO,GAyBmBE,IAAM,CAClCC,KAAM3K,GACN4K,QAAS,CAAEF,YA3BFF,GA6BkB2hC,CAACC,EAAmBt9B,KAAS,CACxDnE,KAAM3K,GACN4K,QAAS,CAAEwhC,oBAAmBt9B,eA/BrBtE,GAiCgB6hC,CAACrkC,EAAmB7L,EAAO07B,KAAM,CAC1DltB,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,QAAO07B,YAnC5BrtB,GAqCwBE,IAAM,CACvCC,KAAM3K,GACN4K,QAAS,CAAEF,YAvCFF,GAyCuB8hC,CAACC,EAAwBz9B,KAAS,CAClEnE,KAAM3K,GACN4K,QAAS,CAAE2hC,yBAAwBz9B,eA3C1BtE,GA6CqBgiC,CAACxkC,EAAmB7L,EAAO07B,KAAM,CAC/DltB,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,QAAO07B,YA/C5BrtB,GAiDkBE,IAAM,CACjCC,KAAM3K,GACN4K,QAAS,CAAEF,YAnDFF,GAqDiBiiC,CAACC,EAAkB59B,KAAS,CACtDnE,KAAM3K,GACN4K,QAAS,CAAE8hC,mBAAkB59B,eAvDpBtE,GAyDemiC,CAAC3kC,EAAmB7L,EAAO07B,KAAM,CACzDltB,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,QAAO07B,YA3D5BrtB,GAiEcoiC,CAAC7kC,EAAU+G,EAAWgoB,KAAK,CAClDnsB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eAnEZtE,GAqEYqiC,CAAC7kC,EAAmB7L,EAAO26B,KAAK,CACrDnsB,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAvErBqO,GA6EoBsiC,CAAC/kC,EAAU+G,EAAWgoB,KAAK,CACxDnsB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU+G,eA/EZtE,GAiFkBuiC,CAAC/kC,EAAmB7L,EAAO26B,KAAK,CAC3DnsB,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB7L,WAnFrBqO,GAqFe,SAACwiC,GAAO,IAAEpZ,EAAS9lB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,IAAAA,UAAA,GAAQ,MAAM,CACzDnD,KAAM3K,GACN4K,QAAS,CAAEoiC,UAASpZ,eAvFXppB,GA6FcyiC,IAAW,CAClCtiC,KAAM3K,GACN4K,QAAS,CAAEqiC,iBA/FFziC,GAiGkBssB,IAAK,CAChCnsB,KAAM3K,GACN4K,QAAS,CAAEksB,WAnGFtsB,GAqGgBqtB,IAAM,CAC/BltB,KAAM3K,GACN4K,QAAS,CAAEitB,YAvGFrtB,GAyGY0iC,CAAC1I,EAAU3M,KAAM,CACtCltB,KAAM3K,GACN4K,QAAS,CAAE45B,WAAU3M,YA3GZrtB,GA6GsB2iC,CAC/B9G,EACAxO,EACAgM,EACAK,EACA/2B,EACAi5B,KAAY,CAEZz7B,KAAM3K,GACN4K,QAAS,CAAEy7B,cAAaxO,SAAQgM,QAAOK,WAAU/2B,KAAIi5B,kBAtH5C57B,GAwHc4iC,KAAA,CACvBziC,KAAM3K,KAzHGwK,GA2He6iC,CAAC1lC,EAASkwB,KAAM,CACxCltB,KAAM3K,GACN4K,QAAS,CAAEjD,UAASkwB,YA7HXrtB,GA+HoB8iC,CAAC3lC,EAASmvB,KAAK,CAC5CnsB,KAAM3K,GACN4K,QAAS,CAAEjD,UAASmvB,WAjIXtsB,GAmIoB+iC,CAACxlC,EAAU8vB,KAAM,CAC9CltB,KAAM3K,GACN4K,QAAS,CAAE7C,WAAU8vB,YArIZrtB,GAuIcgjC,IAAQ,CAC/B7iC,KAAM3K,GACN4K,QAAS,CAAE4iC,cAzIFhjC,GA2IWgjC,IAAQ,CAC5B7iC,KAAM3K,GACN4K,QAAS,CAAE4iC,cA7IFhjC,GA+IqB,SAC9BgjC,GAAQ,IACRC,EAAuB3/B,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,IAAAA,UAAA,GAAQ,MAC3B,CACJnD,KAAM3K,GACN4K,QAAS,CAAE4iC,WAAUC,6BApJZjjC,GAsJiBkjC,IAAa,CACvC/iC,KAAM3K,GACN4K,QAAS,CAAE8iC,mBAxJFljC,GA0J8BgjC,IAAQ,CAC/C7iC,KAAM3K,GACN4K,QAAS,CAAE4iC,cA5JFhjC,GA8JwCE,IAAM,CACvDC,KAAM3K,GACN4K,QAAS,CAAEF,YAhKFF,GAkKuCmjC,CAChD7+B,EACA/G,EACA2C,KAAM,CAENC,KAAM3K,GACN4K,QAAS,CAAEkE,YAAW/G,WAAU2C,YAxKvBF,GA0KqCojC,CAACzxC,EAAOuO,KAAM,CAC5DC,KAAM3K,GACN4K,QAAS,CAAEzO,QAAOuO,YA5KTF,GA8KmCE,IAAM,CAClDC,KAAM3K,GACN4K,QAAS,CAAEF,YAhLFF,GAkLkCqjC,CAC3C/+B,EACA/G,EACA2C,KAAM,CAENC,KAAM3K,GACN4K,QAAS,CAAEkE,YAAW/G,WAAU2C,YAxLvBF,GA0LgCsjC,CAAC3xC,EAAOuO,KAAM,CACvDC,KAAM3K,GACN4K,QAAS,CAAEzO,QAAOuO,aCj6BdqiB,wBAAwB,IAAI5X,gbAEvB44B,GAAY9gB,IAAMlkB,OAAO,CAClCmkB,QAAQ,GAADxI,OAAKqI,MAGhBghB,GAAUxf,aAAaC,QAAQC,IAAI1a,SAAkBwW,GAAiBC,ICwB/D,MAAMwjB,GAAW5R,GAAUA,EAAM9V,KAEjC,SAAU+L,GAAoBre,GACnC,IACE,MAAM,WAAEvH,GAAeuH,EAAOpJ,SACxB,WAAE0G,EAAU,WAAE1R,KAAe+mB,GAAgB3S,EAAOpJ,QAAQF,OAE5D3C,QAAiB61B,cACrBxY,OAAO8Z,OAAOzyB,GAAYxN,KAAI,UAAWG,GACvC,MAAM+/B,EAAc,IACfxY,KACCvnB,IAAW6uC,iBAAep8C,iBAAiBC,OAAS,CACtDwf,WAAYlS,IAIV8uC,QAAgBrR,gBAAM,EAAG,IAAM5O,GAAYyB,IAAK,GAAI,CACxDhlB,OAAQy0B,IAKV,OAFA+O,EAAQ3uC,KAAKH,OAASA,EAEf8uC,OAIL,UAAEp/B,GAAc+pB,GACpB9wB,EACAiM,EAAOpJ,QACP,OACA,sBACA,KAKIu1B,EAAe,CACnBp4B,SAHeA,EAAS9I,IAAKmV,GAASA,EAAK7U,MAI3CuP,mBAGI6gB,cACJsM,GACEkE,EAAap4B,SACbo4B,EAAarxB,YAGjB,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,sBACA,WAGIowB,cAAIsM,GAAwCj0B,IAClD6nB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gFAOrB,SAAU8uC,GAA4Bn6B,GAC3C,MAAMo6B,EAAgBp6B,EAAOpJ,QAAQF,QAE/B,WAAE4G,EAAU,WAAE1R,KAAeyuC,GAAcr6B,EAAOpJ,QAAQF,OAE1Dy0B,EAAc,IACfkP,KACCD,EAAc98B,aAAe28B,iBAAep8C,iBAAiBC,OAAS,CACxEwf,WAAY88B,EAAc98B,aAI9B,IACE,MAAMvJ,QAAiB80B,gBAAM,EAAG,IAAM5O,GAAYyB,IAAK,GAAI,CACzDhlB,OAAQy0B,IAGVp3B,EAASxI,KAAKH,OAASkS,EAEvB,MAAM,UAAExC,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,sBACA,KAGIu1B,EAAe,CACnBp4B,SAAUA,EAASxI,KACnBuP,mBAGI6gB,cACJsM,GACEkE,EAAap4B,SACbo4B,EAAarxB,YAGjB,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,sBACA,WAGIowB,cAAIsM,GAAwCj0B,IAClD6nB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gFAOrB,SAAU+yB,GAAmBpe,GAClC,IACE,MAAM,SAAEigB,GAAajgB,EAAOpJ,QAEtB7C,QAAiB61B,cACrB3J,EAASh1B,IAAKymB,GACZmX,gBACE,EACA,IACA5O,GAAY1jB,MAAM,IAADma,OACbgB,EAAQ0O,UAAS,uBAKrB,kBAAEpsB,EAAiB,UAAE8G,GAAc+pB,GACvC9wB,EACAksB,EACA,YACA,qBACA,WAEItE,cACJsM,GAAyCj0B,EAAmB8G,IAE9D,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,iBACA,WAEIowB,cAAIsM,GAAuCj0B,EAAmB7L,KAIjE,SAAUm2B,GAAete,GAC9B,MAAM,UAAEogB,GAAcpgB,EAAOpJ,QAE7B,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZ0P,EAAS,mBAGR,UAAEtlB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,iBACA,KAGF,GAAIkE,EAAW,CACb,MAAMwlB,EAAc,IACfvsB,EAASxI,YAGRowB,cAAIsM,GAAqC3H,EAAaxlB,KAE9D,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,iBACA,WAGIowB,cAAIsM,GAAmCj0B,EAAmB7L,KAI7D,SAAUmyC,GAAYt6B,GAC3B,IACE,MAAM,SAAEigB,EAAQ,WAAE3iB,GAAe0C,EAAOpJ,QAElC7C,QAAiB61B,cACrB3J,EAASh1B,IAAKymB,GACZmX,gBAAM,EAAG,IAAM5O,GAAY1jB,MAAM,GAADma,OAAKgB,EAAQ0O,UAAS,WAAW,CAC/Dma,kBAAmBj9B,OAKnB,kBAAEtJ,EAAiB,UAAE8G,GAAc+pB,GACvC9wB,EACAksB,EACA,YACA,cACA,WAGItE,cAAIsM,GAAkCj0B,EAAmB8G,IAC/D,MAAO3S,SACDwzB,cAAIsM,GAAgC9/B,KAIvC,SAAUqyC,GAAax6B,GAC5B,IACE,MAAM,KAAEzU,GAASyU,EAAOpJ,QAClBsnB,EAAa,CACjB8H,MAAOz6B,EAAKy6B,MACZyU,UAAWlvC,EAAKkvC,UAChB5S,kBAAmBt8B,EAAKs8B,kBACxBH,KAAMn8B,EAAKm8B,KACXgT,kBAAmBnvC,EAAKmvC,kBACxBH,kBAAmBhvC,EAAKgvC,mBAIpBxmC,QAAiB80B,gBAAM,GAAI,IAAM5O,GAAY5jB,KAAK,GAAK6nB,GAEvDpjB,EACJ/G,EAAS3I,OAAS,KAClB2I,EAAS3I,OAAS,KAClB2I,EAASxI,KAAKsjC,iBAAiBD,QAEjC,GAAI9zB,EAAW,CAAC,IAAD6/B,EACb,MAAMzc,EAAa,IACdnqB,EAASxI,MAMd,GAFmBA,EAAKqvC,QAAQvN,MAAOkJ,KAAQA,EAAEsE,UAAYtE,EAAEuE,KAE/C,CACd,MAAM/Z,EAAWx1B,EAAKqvC,QAAQxzC,OAAQmvC,KAAQA,EAAEsE,UAAYtE,EAAEuE,WAExDnf,cACJsM,GACE,CAAElH,YACFhtB,EAASxI,KAAK60B,YAMpB,IAAQ,OAAJ70B,QAAI,IAAJA,GAAW,QAAPovC,EAAJpvC,EAAMu3B,aAAK,IAAA6X,OAAP,EAAJA,EAAatzC,QAAS,EAAG,CAC3B,MAWMyM,SAXsB81B,cAC1Br+B,EAAKu3B,MAAM73B,IAAKylC,GACd7H,gBACE,EACA,IACA5O,GAAY5jB,KAAK,IAADqa,OACZ3c,EAASxI,KAAK60B,UAAS,mBAC3BsQ,MAIwBrD,MAC3B0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,WAGhCuwB,cACJsM,GAAgDl0B,EAAUD,UAEtD6nB,cAAIsM,MAKV18B,EAAKgvC,oBACLN,iBAAe99C,kBAAkBuB,0BAE3BmrC,gBACJ,EACA,IACA5O,GAAY1jB,MAAM,GAADma,OACd3c,EAASxI,KAAK60B,UAAS,2BAGxBzE,cAAIsM,YACJtM,cAAIsM,GAAmC/J,EAAYpjB,eAEnD6gB,cACJsM,GACEl0B,EAASxI,KAAKsjC,iBAAiB1L,OAC/BpvB,EAASxI,KAAKsjC,iBAAiB1L,OAAO,GAAG2L,eAI/C,MAAO3mC,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,eACA,WAGIowB,cAAIsM,GAAiCj0B,EAAmB7L,KAI3D,SAAU02B,GAAsB7e,GACrC,IACE,MAAM,SAAE+gB,EAAQ,UAAEX,GAAcpgB,EAAOpJ,QAEjC7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAY5jB,KAAK,GAADqa,OACb0P,EAAS,YACZW,IAGI,kBAAE/sB,EAAiB,UAAE8G,GAAcwqB,GACvCvxB,EACAgtB,EACA,wBACA,WAGIpF,cACJsM,GAA4Cj0B,EAAmB8G,IAEjE,MAAO3S,SACDwzB,cAAIsM,GAA0C9/B,KAIjD,SAAUo2B,GAAeve,GAC9B,MAAM,UAAEogB,GAAcpgB,EAAOpJ,QAE7B,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZ0P,EAAS,cAGR,UAAEtlB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,iBACA,KAGF,GAAIkE,EAAW,CACb,MAAMomB,EAAcntB,EAASxI,WAEvBowB,cAAIsM,GAAqC/G,EAAapmB,KAE9D,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,iBACA,WAGIowB,cAAIsM,GAAmCj0B,EAAmB7L,KAI7D,SAAU42B,GAAW/e,GAC1B,MAAMsS,QAAa6V,iBAAO6R,IAC1BjkB,GAAYzD,EAAKN,OACjB,IACE,MAAM,UAAEoO,EAAS,MAAEiB,EAAK,UAAEC,EAAS,iBAAEC,GAAqBvhB,EAAOpJ,QAE3DmkC,EAAc,CAClB1Z,QACAC,YACAC,oBAGIxtB,QAAiB80B,gBACrB,EACA,IACA5O,GAAY1jB,MAAM,GAADma,OACd0P,EAAS,aACZ2a,IAGI,UAAEjgC,GAAcwqB,GACpBvxB,EACAgnC,EACA,aACA,WAGIpf,cAAIsM,GAAiCntB,IAC3C,MAAO3S,GAAQ,IAAD6yC,EAAAC,EAAAC,EACd7kB,WACMsF,cACJsM,GAA6C,QAAf+S,EAAC7yC,EAAM4L,gBAAQ,IAAAinC,GAAM,QAANC,EAAdD,EAAgBzvC,YAAI,IAAA0vC,GAAQ,QAARC,EAApBD,EAAsB9X,cAAM,IAAA+X,OAAd,EAAdA,EAA8B3O,YAK5D,SAAU/N,GAAmBxe,GAClC,MAAM,UAAEogB,GAAcpgB,EAAOpJ,QAE7B,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZ0P,EAAS,mBAGR,UAAEtlB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,qBACA,KAGF,GAAIkE,EAAW,CACb,MAAMwlB,EAAc,IACfvsB,EAASxI,YAGRowB,cACJsM,GAAyC3H,EAAaxlB,KAG1D,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,qBACA,WAGIowB,cAAIsM,GAAuCj0B,EAAmB7L,KAIjE,SAAUy2B,GAAiB5e,GAChC,MAAM,OAAEtJ,EAAM,SAAEqqB,GAAa/gB,EAAOpJ,QAC9ByxB,EAAc,CAClBX,KAAMhxB,EAAOgxB,KACb+S,UAAW/jC,EAAO+jC,UAClBC,kBAAmBhkC,EAAOykC,cACtBpa,EAASA,UAAYA,EAASA,SAAS15B,OAAS,EAChD,CAAE05B,SAAUA,EAASA,UACrB,CAAEA,SAAU,KAGlB,IACE,MAAMhtB,QAAiB80B,gBACrB,EACA,IACA5O,GAAY1jB,MAAM,GAADma,OACdha,EAAO0pB,UAAS,iBACnBiI,IAGI,UAAEvtB,GAAcwqB,GACpBvxB,EACAs0B,EACA,mBACA,WAGI1M,cAAIsM,GAAuCl0B,EAASxI,KAAMuP,IAChE,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAM4L,SACN,mBACA,WAEI4nB,cAAIsM,GAAqCj0B,EAAmB7L,KAI/D,SAAU22B,GAAiB9e,GAChC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpByxB,EAAc,CAClBrC,MAAOtvB,EAAOsvB,OAGhB,IACE,MAAMjyB,QAAiB80B,gBACrB,EACA,IACA5O,GAAY1jB,MAAM,GAADma,OACdha,EAAO0pB,UAAS,iBACnBiI,IAEI,UAAEvtB,GAAcwqB,GACpBvxB,EACAs0B,EACA,mBACA,WAGI1M,cAAIsM,GAAuCl0B,EAASxI,KAAMuP,IAChE,MAAO3S,SACDwzB,cACJsM,GACE,GACA9/B,EAAM4L,SAASxI,KAAK43B,OAAOoJ,YAM5B,SAAU9N,GAA0Bze,GACzC,MAAM,UAAEogB,EAAS,OAAE1pB,GAAWsJ,EAAOpJ,QAE/Bu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZ0P,EAAS,yBACZ,CACE1pB,OAAQy0B,KAIN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,4BACA,KAGF,GAAIkE,EAAW,CACb,MAAMunB,EAAwB,IACzBtuB,EAASxI,YAGRowB,cACJsM,GACE5F,EACAvnB,KAIN,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,4BACA,WAGIowB,cACJsM,GAA8Cj0B,EAAmB7L,KAKhE,SAAU62B,GAA8Bhf,GAC7C,IACE,MAAM,aAAEixB,GAAiBjxB,EAAOpJ,QAE1B7C,QAAiB80B,gBAAM,EAAG,IAAM5O,GAAY5jB,KAAK,GAAK46B,IAEtD,UAAEn2B,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,gCACA,WAGI+kB,cACJsM,GAAoDl0B,GAAU,IAEhE,MAAO5L,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,gCACA,WAGIowB,cACJsM,GACEj0B,EACA7L,KAMD,SAAU82B,GAAyBjf,GACxC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBAAM,EAAG,IAAM5O,GAAYyB,IAAI,kBAAoB,CACxEhlB,OAAQy0B,KAGJ,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,2BACA,KAGF,GAAIkE,EAAW,CACb,MAAMw6B,EAAiB,IAClBvhC,EAASxI,YAGRowB,cACJsM,GACEqN,EACAx6B,KAIN,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,2BACA,WAGIowB,cACJsM,GAA6Cj0B,EAAmB7L,IAElE0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,gGAQrB,SAAU6zB,GAAuBlf,GACtC,MAAMogB,EAAYpgB,EAAOpJ,QAAQF,OAEjC,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,IAADhL,OACX0P,EAAS,+BAGTtlB,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAE7D,GAAI0P,EAAW,CACb,MAAMm2B,EAAe,IAChBl9B,EAASxI,YAGRowB,cACJsM,GAA6CgJ,EAAcn2B,KAG/D,MAAO3S,SACDwzB,cAAIsM,GAA2C,GAAI9/B,IACzD0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,kGAQrB,SAAU+zB,GAA0Bpf,GACzC,IACE,MAAM,UAAEogB,EAAS,MAAE0C,GAAU9iB,EAAOpJ,QAE9B7C,EAAW,GACXylC,EAAW,SACV1W,EAAM73B,KAAI,UAAWylC,EAAMvL,GAChC,MAAM,OAAEtB,KAAWuX,GAAS1K,EAEtBtwB,QAAayoB,gBACjB,EACA,IACA5O,GAAY5jB,KAAK,IAADqa,OACZ0P,EAAS,mBACbgb,GAEEh7B,EAAK7U,KAAKu4B,iBAAmB,GAC/B0V,EAAS9gB,KAAK,CACZmL,SACAwX,oBAAqBvY,EAAMqC,GAAOrB,iBAClCwX,oBAAqBl7B,EAAK7U,KAAKu4B,mBAEnC/vB,EAAS2kB,KAAKtY,MAGhB,MAAMtF,EAAY/G,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,KAC/DmwC,EAAYxnC,EAASs5B,MAAO0B,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAC3DvK,EAAsBtwB,EAASpL,KAClComC,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAG5B4M,EAAc,GAUpB,GATAznC,EAAS0nC,QAAQ,CAACC,EAAGvW,KACnB,MAAM/kB,EAAO,CACX7U,KAAMmwC,EAAEnwC,KACRs4B,OAAQf,EAAMqC,GAAOtB,QAGvB2X,EAAY9iB,KAAKtY,MAGftF,GAAcygC,GAAclX,EAUzB,GAAIvpB,GAAaupB,IAAwBkX,EAAW,CACzD,MAAMpY,EAAS,GAEfpvB,EAAS9I,IAAK8jC,IAAC,IAAA4M,EAAA,OACb5M,EAAExjC,KAAKsjC,iBAAiB1L,OAAO97B,OAAS,EACpC87B,EAAOzK,KAAsC,QAAlCijB,EAAC5M,EAAExjC,KAAKsjC,iBAAiB1L,OAAO,UAAE,IAAAwY,OAAA,EAAjCA,EAAmC7M,cAC/C,aAGAnT,cACJsM,GACEuT,EACA1gC,EACAupB,EACAlB,QAGC,CACL,MAAMyY,EAAiB,CACrBzY,OAAQpvB,EAAS9I,IAAK8jC,GAAMA,EAAExjC,KAAKsjC,iBAAiB1L,QACpDiG,QAASr1B,EAAS9I,IACf8jC,IAAC,IAAA8M,EAAA,OAAsC,QAAtCA,EAAK9M,EAAExjC,KAAKsjC,iBAAiB1L,OAAO,UAAE,IAAA0Y,OAAA,EAAjCA,EAAmC/M,sBAIxCnT,cACJsM,GACE2T,EAAezY,OACfyY,EAAexS,qBArCbzN,cACJsM,GACEuT,EACA1gC,GACA,EACA,WAGE6gB,cAAImgB,GAAuCtC,IAiCnD,MAAOrxC,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,4BACA,WAGIowB,cACJsM,GAA8Cj0B,EAAmB7L,KAKhE,SAAUg3B,GAAuBnf,GACtC,MAAM,OAAEtJ,EAAM,MAAEosB,GAAU9iB,EAAOpJ,QAEjC,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZha,EAAO0pB,UAAS,0BAIrB,GAFkBrsB,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAE9C,CACb,MAAM2wC,EAAsB,IACvBhoC,EAASxI,YAGRowB,cACJmgB,GAA6C,IACxCC,EAAoBC,wBACpBD,EAAoBE,yBAIrBtgB,cAAIsM,GAA6CnF,GAAO,UACxDnH,cAAImgB,IAAiD,EAAOhZ,KAEpE,MAAO36B,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,yBACA,WAGIowB,cACJsM,GACEj0B,EACA7L,EACA26B,UAGEnH,cAAImgB,IAAiD,EAAOhZ,IAClEjH,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,0EAOrB,SAAUi0B,GAAsBtf,GACrC,MAAM,UAAEogB,EAAS,OAAE1pB,EAAM,KAAEwlC,GAASl8B,EAAOpJ,SAErC,KAAE0yB,EAAI,OAAEzF,KAAWuX,GAAS1kC,EAE5By0B,EAAc,IACfiQ,GAGL,IACE,MAAMrnC,QAAiB80B,gBACrB,EACA,IACA5O,GAAYyB,IAAI,IAADhL,OACX0P,EAAS,oBAAA1P,OAAmBwrB,EAAI,SACpC,CACExlC,OAAQy0B,KAIN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,wBACA,KAGF,GAAIkE,EAAW,CACb,MAAMqhC,EAAQ,IACTpoC,EAASxI,KACZs4B,OAAQntB,EAAOmtB,OACfyF,KAAM5yB,EAAO4yB,KACb+I,YAAa37B,EAAO27B,eAChB37B,EAAOmxB,mBAAqB,CAC9BA,kBAAmBnxB,EAAOmxB,0BAIxBlM,cAAIsM,GAA4CkU,EAAOrhC,IAEhD,gBAATohC,UACIvgB,cACJmgB,GAA+CK,EAAOrhC,KAE7C,eAATohC,UACIvgB,cACJmgB,GAAoDK,EAAOrhC,KAElD,UAATohC,UACIvgB,cACJmgB,GAA8CK,EAAOrhC,MAG3D,MAAO3S,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,wBACA,WAGIowB,cACJsM,GAA0Cj0B,EAAmB7L,IAE/D0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,mEACoC6wC,EAAK,yBAO9D,SAAU1c,GAA0Bxf,GACzC,IACE,MAAM,MAAEgS,GAAUhS,EAAOpJ,QAEnBwlC,EAAWlzC,KAAKC,UAAU+rB,MAC1BmnB,EAAa,WAAA3rB,OAAcxnB,KAAKC,UAAUizC,GAAS,KAEnDE,EAAiB,CACrB,eAAgB,oBAGZvoC,QAAiB80B,gBACrB,GACA,IACAkR,GAAU1jC,KAAK,8BAEfgmC,EACA,CAAE5lB,QAAS6lB,KAGP,UAAExhC,GAAcwqB,GACpBvxB,EACAie,EACA,4BACA,WAGI2J,cACJsM,GAAgDl0B,EAASxI,KAAMuP,IAEjE,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAM4L,SACN,4BACA,WAEI4nB,cACJsM,GAA8Cj0B,EAAmB7L,KAKhE,SAAUo3B,GAAyBvf,GACxC,IACE,MAAM,UAAEogB,EAAS,MAAE0C,GAAU9iB,EAAOpJ,QAE9B7C,EAAW,SACV+uB,EAAM73B,KAAI,UAAWylC,EAAMvL,GAChC,MAAM/kB,QAAayoB,gBACjB,EACA,IACA5O,GAAY0B,IAAI,IAADjL,OACX0P,EAAS,mBACbsQ,GAGF38B,EAAS2kB,KAAKtY,MAGhB,MAAMtF,EAAY/G,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,KAC/DmwC,EAAYxnC,EAASs5B,MAAO0B,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAC3DvK,EAAsBtwB,EAASpL,KAClComC,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAG5B4K,EAAWzlC,EAAS9I,IAAI,CAACsrC,EAAGpR,KACzB,CACLkW,oBAAqBvY,EAAMqC,GAAOrB,iBAClCwX,oBAAqB/E,EAAEhrC,KAAKu4B,oBAIhC,IAAIhpB,GAAcygC,GAAclX,EAUzB,GAAIvpB,GAAaupB,IAAwBkX,EAAW,CACzD,MAAMpY,EAAS,GAEfpvB,EAAS9I,IAAK8jC,IAAC,IAAAwN,EAAA,OACbxN,EAAExjC,KAAKsjC,iBAAiB1L,OAAO97B,OAAS,EACpC87B,EAAOzK,KAAsC,QAAlC6jB,EAACxN,EAAExjC,KAAKsjC,iBAAiB1L,OAAO,UAAE,IAAAoZ,OAAA,EAAjCA,EAAmCzN,cAC/C,aAGAnT,cACJsM,GACEuR,EACA1+B,EACAupB,EACAlB,UAGExH,cAAImgB,GAA0CtC,QAC/C,CACL,MAAMoC,EAAiB,CACrBzY,OAAQpvB,EAAS9I,IAAK8jC,GAAMA,EAAExjC,KAAKsjC,iBAAiB1L,QACpDiG,QAASr1B,EAAS9I,IACf8jC,IAAC,IAAAyN,EAAA,OAAsC,QAAtCA,EAAKzN,EAAExjC,KAAKsjC,iBAAiB1L,OAAO,UAAE,IAAAqZ,OAAA,EAAjCA,EAAmC1N,sBAIxCnT,cACJsM,GACE2T,EAAezY,OACfyY,EAAexS,SAAW,uDAtCxBzN,cACJsM,GACEuR,EACA1+B,GACA,EACA,WAGE6gB,cAAImgB,GAA0CtC,IAkCtD,MAAOrxC,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,2BACA,WAGIowB,cACJsM,GACEj0B,EACA,6CAKD,SAAUyrB,GAA+Bzf,GAC9C,IACE,MAAM,UAAEogB,EAAS,OAAEyD,KAAWuX,GAASp7B,EAAOpJ,QAOxC7C,GALgBqkB,IAAGjvB,UAAUiyC,EAAM,CACvC7R,gBAAgB,EAChBlR,WAAW,UAGUwQ,gBACrB,EACA,IACA5O,GAAYyB,IAAI,IAADhL,OACX0P,EAAS,iCACb,CACE1pB,OAAQ0kC,KAaNqB,GATY1oC,EAAS3I,OAAS,KAAO2I,EAAS3I,OAShClC,KAAK+rB,MACvB5rB,YAAiB0K,EAASxI,KAAK+pC,wBAG3B3Z,cACJmgB,GAAiDW,EAAa5Y,IAEhE,MAAO17B,GACPshC,QAAQC,IAAIvhC,SACNwzB,cAAIsM,GAAmD9/B,KAG1D,SAAUu3B,GAA4B1f,GAC3C,IACE,MAAM,UAAEogB,EAAS,OAAEyD,KAAWuX,GAASp7B,EAAOpJ,QAExC7C,QAAiB80B,gBACrB,EACA,IACA5O,GAAY1jB,MAAM,IAADma,OACb0P,EAAS,4BACb,GACA,CACE1pB,OAAQ0kC,IAINtgC,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAEzD0P,SACI6gB,cACJsM,GACEl0B,EAASxI,KACTuP,UAGE6gB,cAAImgB,GAA4CjY,WAEhDlI,cACJsM,GACE,2CAGN,MAAO9/B,GACPshC,QAAQC,IAAIvhC,SACNwzB,cAAIsM,GAAgD9/B,KAIvD,SAAUu0C,GAA+B18B,GAC9C,IACE,MAAM,UAAEogB,GAAcpgB,EAAOpJ,QAEvB7C,QAAiB0nB,eACrBxB,GAAY1jB,MAAM,IAADma,OACb0P,EAAS,iCAGTtlB,EAAY/G,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,IAEzD0P,SACI6gB,cACJsM,GACEl0B,EAASxI,KACTuP,UAGE6gB,cAAImgB,MACVa,YAEMhhB,cACJsM,GACE,2CAGN,MAAO9/B,SACDwzB,cAAIsM,GAAgD9/B,KAIvD,SAAUw3B,GAAwB3f,GACvC,MAAM,UAAEogB,EAAS,UAAE8D,EAAS,SAAEC,GAAankB,EAAOpJ,QAE5C7C,EAAW,GACX6oC,EAAc,GACdC,EAAe,GAErB,UAES1Y,EAASl5B,KAAI,UAAWylC,EAAMvL,GACnC,MAAM,OAAEtB,EAAM,KAAE5P,KAASmnB,GAAS1K,EAC5BtwB,QAAayoB,gBACjB,EACA,IACA5O,GAAY0B,IAAI,IAADjL,OACX0P,EAAS,mBACbgb,GAGFwB,EAAYlkB,KAAK,CACf2iB,oBAAqB3K,EAAK5M,iBAC1BwX,oBAAqBl7B,EAAK7U,KAAKu4B,mBAGjC/vB,EAAS2kB,KAAK,IAAKtY,EAAM6T,kBAKpBiQ,EAAUj5B,KAAI,UAAWylC,EAAMvL,GACpC,MAAM,OAAEtB,EAAM,KAAE5P,KAASmnB,GAAS1K,EAE5BtwB,QAAayoB,gBACjB,EACA,IACA5O,GAAY5jB,KAAK,IAADqa,OACZ0P,EAAS,mBACbgb,GAGFyB,EAAankB,KAAK,CAChBmL,SACAwX,oBAAqB3K,EAAK5M,iBAC1BwX,oBAAqBl7B,EAAK7U,KAAKu4B,mBAGjC/vB,EAAS2kB,KAAK,IAAKtY,EAAM6T,YAK3B,MAAM,UAAEnZ,EAAS,UAAEygC,EAAS,oBAAElX,EAAmB,OAAElB,GACjDyL,GAAQ76B,GAINmwB,EAAU78B,OAAS,UACfs0B,cAAImgB,GAAuCe,KAC/C1Y,EAAS98B,OAAS,UACds0B,cAAImgB,GAA0Cc,MAGlD9hC,GAAcygC,GAAclX,EAerBvpB,IAAcygC,GAAalX,SAC9B1I,cACJsM,GACE,IAAI/D,KAAcC,IAClB,EACAE,EACAlB,UAGExH,cACJmgB,GACE,IAAIe,KAAiBD,IACrB,WAGOjhB,cAAIsM,GAA4C9E,GAAQ,WA7B7DxH,cACJsM,GACE,IAAI/D,KAAcC,IAClB,GACA,EACA,WAGExI,cACJmgB,GACE,IAAIe,KAAiBD,IACrB,KAmBN,MAAOz0C,GACPshC,QAAQC,IAAIvhC,SACNwzB,cACJsM,GAA4C9/B,EAAY,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOihC,WAKzD,SAAUvJ,GAA+B7f,GAC9C,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QACpBkmC,EAAgB,CACpBj8C,gBAAiB,GACjBC,UAAW,IAEb,IACE,MAAMgiC,QAAc+F,gBAClB,EACA,IACA5O,GAAYyB,IAAI,GAADhL,OACZha,EAAO0pB,UAAS,0BAGrB0c,EAAcj8C,gBAAkBiiC,EAAMv3B,KAAK0wC,gBAAgBhxC,IAAKsrC,IAAC,CAC/DwG,KAAMxG,EACNyG,KAAM,MAERF,EAAch8C,UAAYgiC,EAAMv3B,KAAKywC,qBAAqB/wC,IAAKsrC,IAAC,CAC9DwG,KAAMxG,EACNyG,KAAM,MAGR,MAAMxD,EAAW,IACZsD,EAAcj8C,gBAAgBoK,IAAKsrC,GAAMA,EAAEwG,SAC3CD,EAAch8C,UAAUmK,IAAKgyC,GAAMA,EAAEF,QAGhC,OAANrmC,QAAM,IAANA,OAAM,EAANA,EAAQ+iC,gCAEJ9d,cAAImgB,YAEJngB,cACJmgB,GACEtC,EAASvuC,IAAKylC,IAAI,IAAWA,EAAM5M,iBAAkB,OAIrDgZ,EAAcj8C,gBAAgBwG,OAAS,UAClCy1C,EAAcj8C,gBAAgBoK,KAAI,UAAWylC,GAClD,MAAMwM,QAAqBzhB,eACzBxB,GAAYyB,IAAI,IAADhL,OACXha,EAAO0pB,UAAS,iCACpB,CACE1pB,OAAQ,CAAEotB,iBAAkB4M,EAAKqM,KAAKjZ,oBAG1C4M,EAAKsM,KAAO9zC,KAAK+rB,MACf5rB,YAAiB6zC,EAAa3xC,KAAK+pC,qBAKrCwH,EAAch8C,UAAUuG,OAAS,UAC5By1C,EAAch8C,UAAUmK,KAAI,UAAWylC,GAC5C,MAAMwM,QAAqBzhB,eACzBxB,GAAYyB,IAAI,IAADhL,OACXha,EAAO0pB,UAAS,iCACpB,CACE1pB,OAAQ,CAAEotB,iBAAkB4M,EAAKqM,KAAKjZ,oBAG1C4M,EAAKsM,KAAO9zC,KAAK+rB,MACf5rB,YAAiB6zC,EAAa3xC,KAAK+pC,6BAoCnC3Z,cAAImgB,GAA8CtC,IAEpDsD,EAAcj8C,gBAAgBwG,OAAS,UAClCy1C,EAAcj8C,gBAAgBoK,KAAI,UAAWylC,GAClD,MAAMwM,QAAqBrU,gBACzB,EACA,IACA5O,GAAYyB,IAAI,IAADhL,OACXha,EAAO0pB,UAAS,iCACpB,CACE1pB,OAAQ,CAAEotB,iBAAkB4M,EAAKqM,KAAKjZ,oBAG1C4M,EAAKsM,KAAO9zC,KAAK+rB,MACf5rB,YAAiB6zC,EAAa3xC,KAAK+pC,qBAKrCwH,EAAch8C,UAAUuG,OAAS,UAC5By1C,EAAch8C,UAAUmK,KAAI,UAAWylC,GAC5C,MAAMwM,QAAqBrU,gBACzB,EACA,IACA5O,GAAYyB,IAAI,IAADhL,OACXha,EAAO0pB,UAAS,iCACpB,CACE1pB,OAAQ,CAAEotB,iBAAkB4M,EAAKqM,KAAKjZ,oBAG1C4M,EAAKsM,KAAO9zC,KAAK+rB,MACf5rB,YAAiB6zC,EAAa3xC,KAAK+pC,4BAKrC3Z,cACJmgB,GACE,IAAIgB,EAAcj8C,mBAAoBi8C,EAAch8C,WAC9C,OAAN4V,QAAM,IAANA,OAAM,EAANA,EAAQ+iC,gCAIN9d,cAAIsM,GAAqD,IAAI,IACnE,MAAO9/B,SACDwzB,cACJsM,GAAmD9/B,EAAOA,EAAMihC,UAElEvN,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,2FAOrB,SAAU8xC,GAAkBn9B,GACjC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKxB,GAAYyB,IAAK,GAAI,CAC/ChlB,YAGoC,MAApB3C,EAAS3I,SAAkB,WAExBuwB,cAAIsM,GAAuBl0B,EAASxI,QACzD,MAAOpD,SACDwzB,cAAIsM,GAAqB9/B,IAC/B0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,+CAKrB,SAAU+xC,GAAyBp9B,GACxC,IACE,MAAM,UAAEogB,EAAS,SAAEqE,GAAazkB,EAAOpJ,QAEjC7C,QAAiB0nB,eACrBxB,GAAY1jB,MAAM,IAADma,OACb0P,EAAS,0BACb,CACEid,YAAa,IAAI5Y,KAIH1wB,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,WAGrDuwB,cAAIsM,GAAuB,KACjC0U,YACWhhB,cAAIsM,GAAqB,KACtC,MAAO9/B,SACDwzB,cAAIsM,GAAqB9/B,IAC/B0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,0CAKrB,SAAUiyC,GAAyBt9B,GACxC,IACE,MAAM,UAAEogB,EAAS,iBAAEuE,GAAqB3kB,EAAOpJ,QAEzC7C,QAAiB0nB,eACrBxB,GAAY5jB,KAAK,IAADqa,OACZ0P,EAAS,2BACb,CACEuE,qBAIc5wB,EAAS3I,OAAS,KAAO2I,EAAS3I,OAAS,WAGrDuwB,cAAIsM,GAAuB,WAE3BtM,cAAImgB,YACJngB,cACJsM,GAAqD,CAAE7H,eAEzDuc,YACWhhB,cAAIsM,GAAqB,KACtC,MAAO9/B,SACDwzB,cAAIsM,GAAqB9/B,IAC/B0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,+DAM5B,MAAMujC,GAAW76B,IACf,MAAM+G,EAAY/G,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,KAC/DmwC,EAAYxnC,EAASs5B,MAAO0B,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAC3DvK,EAAsBtwB,EAASpL,KAClComC,IAAOA,EAAExjC,KAAKsjC,iBAAiBD,SAElC,GAAIvK,EAAqB,CACvB,MAAMlB,EAAS,GAWf,OATApvB,EAAS9I,IAAK8jC,IACoC,IAADwO,EAA3CxO,EAAExjC,KAAKsjC,iBAAiB1L,OAAO97B,OAAS,GAC1C87B,EAAOzK,KAAK,CACVzE,KAAM8a,EAAE9a,KACR6a,aAA+C,QAAnCyO,EAAExO,EAAExjC,KAAKsjC,iBAAiB1L,OAAO,UAAE,IAAAoa,OAAA,EAAjCA,EAAmCzO,iBAKhD,CAAEh0B,YAAWygC,YAAWlX,sBAAqBlB,UAGtD,MAAO,CAAEroB,YAAWygC,YAAWlX,wBAG3BsY,GAAcA,KAClB9mB,KACAkT,OAAOC,SAASC,UCz/CX,SAAUwO,GAAqBz3B,GACpC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QACpBu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA7O,GAAgB0B,IAAI,oCAEpB,CACEhlB,OAAQy0B,KAIN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,uBACA,KAGF,GAAIkE,EAAW,CACb,MAAMi9B,EAAoB,IACrBhkC,EAASxI,YAGRowB,cACJmgB,GACE/D,EACAj9B,KAIN,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,uBACA,WAGIowB,cACJmgB,GAA6C9nC,EAAmB7L,IAGlE0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,sEAOrB,SAAUszB,GAAgB3e,GAC/B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA7O,GAAgB0B,IAAI,8BAEpB,CAAEhlB,OAAQy0B,KAGN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,kBACA,KAGF,GAAIkE,EAAW,CACb,MAAMm2B,EAAe,IAChBl9B,EAASxI,YAGRowB,cACJmgB,GAAyC7K,EAAcn2B,KAG3D,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,kBACA,WAGIowB,cAAImgB,GAAuC9nC,EAAmB7L,KAIjE,SAAUu2B,GAAqB1e,GACpC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA7O,GAAgB0B,IAAI,mBAEpB,CACEhlB,OAAQy0B,KAIN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,uBACA,KAGF,GAAIkE,EAAW,CACb,MAAMm2B,EAAe,IAChBl9B,EAASxI,KACZ4N,GAAIzC,EAAOi+B,kBACX9Q,OAAQntB,EAAOmtB,OACfyF,KAAM5yB,EAAO4yB,KACb+I,YAAa37B,EAAO27B,mBAGhB1W,cACJmgB,GAA+C7K,EAAcn2B,KAGjE,MAAO3S,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,uBACA,WAGIowB,cACJmgB,GACE9nC,EACA7L,EACAuO,EAAOmtB,UAMR,SAAU6T,GAA0B13B,GACzC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,SAEpB,KAAE0yB,EAAI,OAAEzF,KAAWuX,GAAS1kC,EAE5By0B,EAAc,IACfiQ,GAGL,IACE,MAAMrnC,QAAiB80B,gBACrB,EACA,IACA7O,GAAgB0B,IAAI,kBAEpB,CACEhlB,OAAQy0B,KAIN,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,4BACA,KAEF,GAAIkE,EAAW,CACb/G,EAASxI,KAAK+oC,eAAerpC,IAAK8jC,IAChCA,EAAElH,kBAAoBnxB,EAAOmxB,oBAE/B,MAAMoJ,EAAe,IAChBl9B,EAASxI,KACZs8B,kBAAmBnxB,EAAOmxB,kBAC1BhE,OAAQntB,EAAOmtB,OACfyF,KAAM5yB,EAAO4yB,KACb+I,YAAa37B,EAAO27B,mBAGhB1W,cACJmgB,GACE7K,EACAn2B,KAIN,MAAO3S,GACP,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,4BACA,WAGIowB,cACJmgB,GACE9nC,EACA7L,EACAuO,EAAOmtB,UAMR,SAAU8T,GAAoB33B,GACnC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,SAEpB,OAAEitB,EAAM,KAAEyF,KAAS8R,GAAS1kC,EAE5By0B,EAAc,IACfiQ,GAGL,IACE,MAAMrnC,QAAiB80B,gBAAM,EAAG,IAAM7O,GAAgB0B,IAAI,aAAe,CACvEhlB,OAAQy0B,KAGJ,UAAErwB,GAAcwqB,GACpBvxB,EACAiM,EAAOpJ,QACP,sBACA,KAGF,GAAIkE,EAAW,CACb,MAAMm2B,EAAe,IAChBl9B,EAASxI,KACZs4B,OAAQntB,EAAOmtB,OACfyF,KAAM5yB,EAAO4yB,KACb+I,YAAa37B,EAAO27B,mBAGhB1W,cACJmgB,GAA8C7K,EAAcn2B,KAGhE,MAAO3S,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,sBACA,WAGIowB,cACJmgB,GACE9nC,EACA7L,EACAuO,EAAOmtB,UAMR,SAAU+T,GAAiB53B,GAChC,MAAM,MAAE8iB,GAAU9iB,EAAOpJ,QAEnB7C,EAAW,GAEjB,UACS+uB,EAAM73B,KAAI,UAAWylC,GAAO,IAAD8M,EAAAC,EAChC,MAAMtS,EAAc,CAClBqJ,YAA6B,QAAlBgJ,EAAE9M,EAAK+D,mBAAW,IAAA+I,OAAA,EAAhBA,EAAkBhJ,YAC/BG,kBAAmC,QAAlB8I,EAAE/M,EAAK+D,mBAAW,IAAAgJ,OAAA,EAAhBA,EAAkB9I,mBAGjCv0B,QAAayoB,gBACjB,EACA,IACA7O,GAAgB0B,IAAI,oBAEpB,CACEhlB,OAAQy0B,IAIZp3B,EAAS2kB,KAAK,CACZsY,SAAU5wB,EAAK7U,KACfs4B,OAAQ6M,EAAK7M,OACbz4B,OAAQgV,EAAKhV,YAIjB,MAAM0P,EAAY/G,EAASs5B,MACxBjtB,GAASA,EAAKhV,OAAS,KAAOgV,EAAKhV,OAAS,KAG3C0P,UACI6gB,cACJmgB,GAA2C/nC,EAAU+G,EAAWgoB,KAGpE,MAAO36B,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,mBACA,WAGIowB,cACJmgB,GAAyC9nC,EAAmB7L,EAAO26B,IAErEjH,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,uEAOrB,SAAUwsC,GAAuB73B,GACtC,MAAM,MAAE8iB,GAAU9iB,EAAOpJ,QAEnB7C,EAAW,GAEjB,UACS+uB,EAAM73B,KAAI,UAAWylC,GAAO,IAADgN,EAChC,MAAMvS,EAAc,CAClBtD,kBAAmC,QAAlB6V,EAAEhN,EAAK73B,mBAAW,IAAA6kC,OAAA,EAAhBA,EAAkB7V,mBAGjCznB,QAAayoB,gBACjB,EACA,IACA7O,GAAgB0B,IAAI,0BAEpB,CACEhlB,OAAQy0B,IAIZp3B,EAAS2kB,KAAK,CACZsY,SAAU5wB,EAAK7U,KACfs4B,OAAQ6M,EAAK7M,OACbz4B,OAAQgV,EAAKhV,YAIjB,MAAM0P,EAAY/G,EAASs5B,MACxBjtB,GAASA,EAAKhV,OAAS,KAAOgV,EAAKhV,OAAS,KAG3C0P,UACI6gB,cACJmgB,GACE/nC,EACA+G,EACAgoB,KAIN,MAAO36B,GACPshC,QAAQC,IAAIvhC,GACZ,MAAM,kBAAE6L,GAAsBsxB,GAC5Bn9B,EACAA,EAAMoD,KACN,yBACA,WAGIowB,cACJmgB,GACE9nC,EACA7L,EACA26B,IAGJjH,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,6EAOrB,SAAUsyC,GAA0C39B,GACzD,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpB+b,QAAoBjc,EAAOzL,IAAKktB,IAC7B,CACLqc,YAAarc,EAAEsc,YAAYD,YAC3BG,kBAAmBxc,EAAEsc,YAAYE,qBAIrC,IACE,MAAM5gC,QAAiB61B,cACrBjX,EAAY1nB,IAAK2yC,GACf/U,gBACE,EACA,IACA7O,GAAgB0B,IAAI,4CAEpB,CAAEhlB,OAAQknC,MAIV9iC,EAAY/G,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,KAErE,IAAI0P,EA6BF,MAAM,IAAIixB,MACR,wEA9BW,CACb,MAAMyN,EAAWzlC,EAAS9I,IAAI,CAACmV,EAAM+kB,KACnC,MAAM0Y,EAAa30C,KAAK+rB,MACtB5rB,YAAiB+W,EAAK7U,KAAKxD,OAAOutC,iBAGpC,MAAO,CACL0H,KAAMa,EACNha,OAAQntB,EAAOyuB,GAAOtB,OACtBmN,SAAU,CACRC,aACE4M,EAAWC,0BAA0BC,kBACvCxO,YAAasO,EAAWC,0BAA0BE,iBAClD9M,OAAQ2M,EAAWC,0BAA0BG,sBAK7CtiB,cACJmgB,GACEhhC,EACA/G,EACA2C,UAGEilB,cACJmgB,GAA0DtC,KAO9D,MAAOrxC,SACDwzB,cACJmgB,GACE3zC,EAAMihC,QACN1yB,IAGJmlB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,0EAMrB,SAAU6yC,GAAqCl+B,GACpD,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpB+b,QAAoBjc,EAAOzL,IAAKktB,IAC7B,CACL0P,kBAAmB1P,EAAEtf,YAAYgvB,qBAIrC,IACE,MAAM9zB,QAAiB61B,cACrBjX,EAAY1nB,IAAK2yC,GACf/U,gBACE,EACA,IACA7O,GAAgB0B,IAAI,sCAEpB,CACEhlB,OAAQknC,MAKV9iC,EAAY/G,EAASs5B,MAAO0B,GAAMA,EAAE3jC,OAAS,KAAO2jC,EAAE3jC,OAAS,KAErE,IAAI0P,EA2BF,MAAM,IAAIixB,MACR,wEA5BW,CACb,MAAMyN,EAAWzlC,EAAS9I,IAAI,CAACmV,EAAM+kB,KACnC,MAAM0Y,EAAa30C,KAAK+rB,MACtB5rB,YAAiB+W,EAAK7U,KAAKxD,OAAOutC,iBAGpC,MAAO,CACL0H,KAAMa,EACNha,OAAQntB,EAAOyuB,GAAOtB,OACtBmN,SAAU,CACRzB,YAAasO,EAAWC,0BAA0BE,iBAClD9M,OAAQ2M,EAAWC,0BAA0BG,sBAK7CtiB,cACJmgB,GACEhhC,EACA/G,EACA2C,UAGEilB,cACJmgB,GAA0DtC,KAO9D,MAAOrxC,SACDwzB,cACJmgB,GACE3zC,EAAMihC,QACN1yB,IAGJmlB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,0ECliBrB,MAAMW,GACiB,4CADjBA,GAEiB,4CAFjBA,GAGe,0CAHfA,GAIU,qCAJVA,GAKU,qCALVA,GAMQ,mCANRA,GAQT,sDARSA,GAUT,sDAVSA,GAYT,oDAGE0H,GAAgB,CACpByqC,iBAAkB,CAChBxqC,SAAS,EACTG,SAAS,EACTC,SAAU,CACRqqC,MAAO,GACP9yC,MAAO,GAETnD,MAAO,MAETk2C,WAAY,CACV1qC,SAAS,EACTG,SAAS,EACTC,SAAU,GACV5L,MAAO,OAmEJ,MAAMqO,GACwB8nC,IAAM,CACvC3nC,KAAM3K,GACN4K,QAAS,CAAE0nC,YAHF9nC,GAKuB+nC,CAACxqC,EAAUD,KAAO,CAClD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASsBrO,IAAK,CACpCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAXFqO,GAacgoC,CACvB3W,EACA4W,EACAC,KAAyB,CAEzB/nC,KAAM3K,GACN4K,QAAS,CAAEixB,oBAAmB4W,gBAAeC,+BAnBpCloC,GAqBcmoC,CAAC5qC,EAAUD,KAAO,CACzC6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAvBZ0C,GAyBarO,IAAK,CAC3BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WA3BFqO,GA6BSooC,IAAS,CAC3BjoC,KAAM3K,GACN4K,QAAS,CAAEgoC,eA/BFpoC,GAiCQqoC,CAAC9qC,EAAUD,KAAO,CACnC6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAnCZ0C,GAqCOrO,IAAK,CACrBwO,KAAM3K,GACN4K,QAAS,CAAEzO,WClIR,SAAU22C,GAA0B9+B,GACzC,MAAM,OAAEs+B,GAAWt+B,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eACrB3B,GAAiB4B,IAAI,oDAADhL,OACgC4tB,IAEhDxjC,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJojB,GACEhrC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAIojB,GAAoD52C,KAG3D,SAAUg2C,GAAiBn+B,GAChC,MAAM,kBAAE6nB,EAAiB,cAAE4W,EAAa,0BAAEC,GACxC1+B,EAAOpJ,QAET,IACE,MAAM7C,QAAiB0nB,eACrB3B,GAAiB4B,IAAI,sCAADhL,OACkBmX,EAAiB,KAAAnX,OAAI+tB,EAAa,KAAA/tB,OAAIguB,IAExE5jC,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJojB,GAA6ChrC,EAASxI,KAAMuP,IAE9D,MAAO3S,SACDwzB,cAAIojB,GAA2C52C,KAGlD,SAAUk2C,GAAWr+B,GAC1B,MAAM,UAAE4+B,GAAc5+B,EAAOpJ,QAE7B,IACE,MAAM7C,QAAiB0nB,eACrB3B,GAAiB4B,IAAI,+CAADhL,OAC2BkuB,IAE3C9jC,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cAAIojB,GAAuChrC,EAASxI,KAAMuP,IAChE,MAAO3S,SACDwzB,cAAIojB,GAAqC52C,KCtD5C,MAAM6D,GAET,gDAFSA,GAIT,gDAJSA,GAMT,8CANSA,GAQT,2DARSA,GAUT,2DAVSA,GAYT,yDAZSA,GAcT,iDAdSA,GAgBT,iDAhBSA,GAkBT,+CAlBSA,GAoBT,qDApBSA,GAsBT,qDAtBSA,GAwBT,mDAxBSA,GAyBiB,yCAzBjBA,GA0BiB,yCA1BjBA,GA2Be,uCA3BfA,GA6BT,+CA7BSA,GA+BT,+CA/BSA,GAgCqB,6CAhCrBA,GAiCoB,4CAjCpBA,GAkCoB,4CAlCpBA,GAmCkB,0CAnClBA,GAoCqB,6CApCrBA,GAqCqB,6CArCrBA,GAsCmB,2CAtCnBA,GAwCT,qDAxCSA,GA0CT,qDA1CSA,GA4CT,mDA5CSA,GA8CT,iDA9CSA,GAgDT,iDAhDSA,GAkDT,+CAlDSA,GAoDT,8CApDSA,GAsDT,8CAtDSA,GAuDoB,4CAG3B0H,GAAgB,CACpBsrC,uBAAwB,CACtBrrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXgrC,wBAAyB,CACvBtrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXirC,iBAAkB,CAChBvrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXkrC,iBAAkB,CAChBxrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXmrC,qBAAsB,CACpBzrC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXorC,oBAAqB,CACnB1rC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXqrC,mBAAoB,CAClB3rC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXsrC,oBAAqB,CACnB5rC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXurC,wBAAyB,CACvB7rC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,IA4LN,MAAMuC,GAAW,CACtBipC,8BAAgC/oC,IAAM,CACpCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbgpC,8BAA+BA,CAAC3rC,EAAUD,KAAO,CAC/C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvB6rC,4BAA8Bx3C,IAAK,CACjCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEby3C,wCAA0ClpC,IAAM,CAC9CC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbmpC,wCAAyCA,CAAC9rC,EAAUD,KAAO,CACzD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBgsC,sCAAwC33C,IAAK,CAC3CwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEb43C,+BAAiCrpC,IAAM,CACrCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbspC,+BAAgCA,CAACjsC,EAAUD,KAAO,CAChD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBmsC,6BAA+B93C,IAAK,CAClCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEb+3C,kCAAoCxpC,IAAM,CACxCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbypC,iCAAkCA,CAACpsC,EAAUD,KAAO,CAClD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBssC,gCAAkCj4C,IAAK,CACrCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEbk4C,wBAA0B3pC,IAAM,CAC9BC,KAAM3K,GACN4K,QAAS,CAAEF,YAEb4pC,wBAAyBA,CAACvsC,EAAUD,KAAO,CACzC6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBysC,sBAAwBp4C,IAAK,CAC3BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEbq4C,6BAA+B9pC,IAAM,CACnCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEb+pC,6BAA8BA,CAAC1sC,EAAUD,KAAO,CAC9C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvB4sC,2BAA6Bv4C,IAAK,CAChCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEbw4C,0BAA4BjqC,IAAM,CAChCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbkqC,0BAA2BA,CAAC7sC,EAAUD,KAAO,CAC3C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvB+sC,wBAA0B14C,IAAK,CAC7BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEb24C,2BAA6BpqC,IAAM,CACjCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbqqC,2BAA4BA,CAAChtC,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBktC,yBAA2B74C,IAAK,CAC9BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEb84C,+BAAiCvqC,IAAM,CACrCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEbwqC,+BAAgCA,CAACntC,EAAUD,KAAO,CAChD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBqtC,6BAA+Bh5C,IAAK,CAClCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEbi5C,iCAAmC1qC,IAAM,CACvCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEb2qC,iCAAkCA,CAACttC,EAAUD,KAAO,CAClD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvBwtC,+BAAiCn5C,IAAK,CACpCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAEbo5C,4BAA8B7qC,IAAM,CAClCC,KAAM3K,GACN4K,QAAS,CAAEF,YAEb8qC,4BAA6BA,CAACztC,EAAUD,KAAO,CAC7C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAEvB2tC,0BAA4Bt5C,IAAK,CAC/BwO,KAAM3K,GACN4K,QAAS,CAAEzO,YCzbR,SAAU62C,GAAuBh/B,GACtC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAeiC,IAAI,YAADhL,OAAcha,IACtDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBhC,8BAA8B3rC,EAASxI,KAAMuP,IAEjE,MAAO3S,SACDwzB,cAAI+lB,GAAkB/B,4BAA4Bx3C,IACxD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAUo2C,GAAiC3hC,GAChD,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpByc,EAAO,CACXuuB,UAAW,6BACXC,SAAU,2BAEZ,IACE,MAAM9tC,QAAiB0nB,eACrBhC,GAAepjB,KACfgd,EAAK3c,EAAOQ,eACZR,GAEIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkB7B,wCAChB9rC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAI+lB,GAAkB5B,sCAAsC33C,IAClE0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAUu2C,GAAwB9hC,GACvC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAepjB,KAAK,UAAYK,GACtDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkB1B,+BAA+BjsC,EAASxI,KAAMuP,IAElE,MAAO3S,SACDwzB,cAAI+lB,GAAkBzB,6BAA6B93C,IACzD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAIvC,SAAUw2C,GAA2B/hC,GAC1C,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAepjB,KAAK,iBAAmBK,GAC7DoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBvB,iCAChBpsC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAI+lB,GAAkBM,+BAA+B75C,IAC3D0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAU4zC,GAAiBn/B,GAChC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eACrBhC,GAAekC,IAAI,WAADjL,OACPha,EAAOurC,cAAa,KAAAvxB,OAAIha,EAAOwrC,SAEtCpnC,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBpB,wBAAwBvsC,EAASxI,KAAMuP,IAE3D,MAAO3S,SACDwzB,cAAI+lB,GAAkBnB,sBAAsBp4C,IAClD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAU42C,GAAmBniC,GAClC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAeiC,IAAI,eAADhL,OAAiBha,IACzDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBd,0BAA0B7sC,EAASxI,KAAMuP,IAE7D,MAAO3S,SACDwzB,cAAI+lB,GAAkBb,wBAAwB14C,IACpD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAIvC,SAAU62C,GAAsBpiC,GACrC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAeqC,OAAO,eAADpL,OAAiBha,IAC5DoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBjB,6BAA6B1sC,EAASxI,KAAMuP,IAEhE,MAAO3S,SACDwzB,cAAI+lB,GAAkBhB,2BAA2Bv4C,IACvD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAU82C,GAAcriC,GAC7B,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAekC,IAAI,UAAYjlB,GACrDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBX,2BAA2BhtC,EAASxI,KAAMuP,IAE9D,MAAO3S,SACDwzB,cAAI+lB,GAAkBV,yBAAyB74C,IACrD0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,QAGvC,SAAU+2C,GAA0BtiC,GACzC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eACrBhC,GAAepjB,KAAK,uBAEpBK,GAEIoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBL,iCAChBttC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAI+lB,GAAkBJ,+BAA+Bn5C,IAC3D0zB,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAM4L,SAASxI,KAAKsxB,iBAKlC,SAAU0lB,GAAwBviC,GACvC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAepjB,KAAK,WAAaK,GACvDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBR,+BAA+BntC,EAASxI,KAAMuP,IAElE,MAAO3S,SACDwzB,cAAI+lB,GAAkBP,6BAA6Bh5C,KAItD,SAAUi3C,GAAqBp/B,GACpC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAC1B,IACE,MAAM7C,QAAiB0nB,eAAKhC,GAAepjB,KAAK,UAAYK,GACtDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJ+lB,GAAkBF,4BAA4BztC,EAASxI,KAAMuP,IAE/D,MAAO3S,SACDwzB,cAAI+lB,GAAkBD,0BAA0Bt5C,KC9LnD,MAAM6D,GAET,uDAFSA,GAIT,uDAJSA,GAMT,qDANSA,GAOoB,8CAPpBA,GAQoB,8CARpBA,GASkB,4CATlBA,GAUoB,8CAVpBA,GAWoB,8CAXpBA,GAYkB,4CAZlBA,GAakB,4CAblBA,GAeT,oDAfSA,GAiBT,oDAjBSA,GAmBT,kDAnBSA,GAqBT,kDAGE0H,GAAgB,CACpB8uC,oBAAqB,CACnB7uC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXwuC,uBAAwB,CACtB9uC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEXyuC,oBAAqB,CACnB/uC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,GACnB7L,MAAO,KACP8L,SAAS,GAEX0uC,0BAA2B,CACzBhvC,SAAS,EACTG,SAAS,EACTC,SAAU,GACVC,kBAAmB,KACnB7L,MAAO,KACP8L,SAAS,IAkGN,MAAMuC,GAC0BE,IAAM,CACzCC,KAAM3K,GACN4K,QAAS,CAAEF,YAHFF,GAKyBosC,CAAC7uC,EAAUD,KAAO,CACpD6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASwBrO,IAAK,CACtCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAXFqO,GAakBE,IAAM,CACjCC,KAAM3K,GACN4K,QAAS,CAAEF,YAfFF,GAiBiBqsC,CAAC9uC,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAnBZ0C,GAqBgBrO,IAAK,CAC9BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAvBFqO,GAyBiBssC,CAACpsC,EAAQiJ,KAAc,CACjDhJ,KAAM3K,GACN4K,QAAS,CAAEF,SAAQiJ,oBA3BVnJ,GA6BiBusC,CAAChvC,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aA/BZ0C,GAiCgBrO,IAAK,CAC9BwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAnCFqO,GAqCewsC,KAAA,CACxBrsC,KAAM3K,GACN4K,QAAS,KAvCAJ,GAyCwBE,IAAM,CACvCC,KAAM3K,GACN4K,QAAS,CAAEF,YA3CFF,GA6CuBysC,CAACjvC,EAAmB8G,KAAS,CAC7DnE,KAAM3K,GACN4K,QAAS,CAAE5C,oBAAmB8G,eA/CrBtE,GAiDsBrO,IAAK,CACpCwO,KAAM3K,GACN4K,QAAS,CAAEzO,WAnDFqO,GAqDqB0sC,KAAA,CAC9BvsC,KAAM3K,KC3MH,SAAUm3C,GAA2BnjC,GAC1C,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAKjC,GAAUnjB,KAAK,eAAiBK,GACtDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJynB,GACErvC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAIynB,GAAqDj7C,KAI5D,SAAUq6C,GAAoBxiC,GACnC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAEpBu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA3O,GAAiBwB,IAAI,oBAErB,CAAEhlB,OAAQy0B,IAGNrwB,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJynB,GAA+CrvC,EAASxI,KAAMuP,IAEhE,MAAO3S,SACDwzB,cAAIynB,GAA6Cj7C,KAIpD,SAAUu6C,GAAoB1iC,GACnC,MAAM,OAAEtJ,EAAM,eAAEiJ,GAAmBK,EAAOpJ,QAEpCu0B,EAAc,IACfz0B,GAGL,IACE,MAAM3C,QAAiB80B,gBACrB,EACA,IACA3O,GAAiBwB,IAAI,IAADhL,OAChB/Q,EAAc,sBAClB,CAAEjJ,OAAQy0B,IAGNrwB,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJynB,GAA+CrvC,EAASxI,KAAMuP,IAEhE,MAAO3S,SACDwzB,cAAIynB,GAA6Cj7C,KAIpD,SAAUw6C,GAA0B3iC,GACzC,MAAM,OAAEtJ,GAAWsJ,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB80B,gBACrB,EACA,IACA3O,GAAiB3jB,MAAM,yBAEvB,IACKG,IAIDoE,EAAgC,MAApB/G,EAAS3I,SAAkB,QAEvCuwB,cACJynB,GACErvC,EAASxI,KACTuP,IAGJ,MAAO3S,SACDwzB,cAAIynB,GAAmDj7C,KCjG1D,MAAM6D,GACiB,mCADjBA,GAEkB,oCAFlBA,GAIT,4CAJSA,GAMT,6CAGE0H,GAAgB,CACpB2vC,mBAAoB,CAClBvvC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAER+3C,kBAAmB,CACjBxvC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,KAmCH,MAAMiL,GACiB8nC,IAAM,CAChC3nC,KAAM3K,GACN4K,QAAS,CAAE0nC,YAHF9nC,GAKiB+sC,CAACxvC,EAAUD,KAAO,CAC5C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aAPZ0C,GASgB8nC,IAAM,CAC/B3nC,KAAM3K,GACN4K,QAAS,CAAE0nC,YAXF9nC,GAagBgtC,CAACzvC,EAAUD,KAAO,CAC3C6C,KAAM3K,GACN4K,QAAS,CAAE7C,WAAUD,aC9DlB,SAAUuvC,GAAmBrjC,GAClC,MAAM,OAAEs+B,GAAWt+B,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAK5B,GAAQ8B,IAAI,cAADjL,OAAgB4tB,IACjDxjC,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cACJ8nB,GAAwC1vC,EAASxI,KAAMuP,IAEzD,MAAO3S,GACPshC,QAAQC,IAAIvhC,IAIT,SAAUm7C,GAAkBtjC,GACjC,MAAM,OAAEs+B,GAAWt+B,EAAOpJ,QAE1B,IACE,MAAM7C,QAAiB0nB,eAAK5B,GAAQ6B,IAAI,uBAADhL,OAAyB4tB,IAC1DxjC,EAAgC,MAApB/G,EAAS3I,SAAkB,QACvCuwB,cAAI8nB,GAAuC1vC,EAASxI,KAAMuP,IAChE,MAAO3S,GACPshC,QAAQC,IAAIvhC,I,aC9BT,MAAQ6D,MAAK,GAAEwK,SAAS,IAAIktC,yBAAc,CAC/CC,qBAAsB,GACtB7vC,QAAS,CAAC,UAAW,UAAW,QAChC8vC,SAAU,CAAC,SACXC,sBAAuB,CAAC,mBAAoB,QAC5CC,MAAO,KAGHC,GAAgB,CACpBjwC,SAAS,EACTs1B,QAAS,GACT79B,KAAM,GACNoI,SAAS,EACTxL,MAAO,MAyCM67C,gCAAcD,GAAe,CAC1C,CAAC/3C,GAAMi4C,WArBQ,eAAC7b,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IAChDquB,EACHt0B,SAAS,EACTH,SAAS,EACTxL,MAAO6X,EAAO7X,QAkBd,CAAC6D,GAAMk4C,wBAxCoB,eAAC9b,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IACpD3b,EACHt0B,SAAS,EACTs1B,QAAS,GACT79B,KAAM,GACNoI,SAAS,EACTxL,MAAO,OAmCP,CAAC6D,GAAMm4C,yBAhBqB,WAAoC,IAAnC/b,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GACrC,MAAO,IACF3b,EACHz0B,SAAS,EACTxL,MAAO,OAaT,CAAC6D,GAAMo4C,SAjCO,eAAChc,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IAC/CquB,EACHt0B,QAASkM,EAAOlM,QAChBs1B,QAASppB,EAAOopB,QAChB79B,KAAMyU,EAAOzU,MAAQ,GACrBoI,SAAS,EACTxL,MAAO,OA4BP,CAAC6D,GAAMq4C,OAVK,eAACjc,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IACrC3b,KACA2b,OCrDL,MAAMO,GAAmB,SACvBlb,GAII,IAHJmb,EAAQzqC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KACjBuZ,EAAIvZ,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,UACP0qC,EAAM1qC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAET,MAAM2qC,EAAWC,SAASC,cAAc,wBAExC,IAAKF,EACH,MAAM,IAAI1Y,MACR,gGAGJ,MAAM6Y,EAAQ,IAAIC,YAAY,aAAc,CAC1CC,SAAS,EACTC,OAAQ,CACNnV,QAAS,CAAExG,UAASmb,WAAUlxB,OAAMmxB,aAIxCC,EAASO,cAAcJ,IAaVK,OADD,CAAEnxC,QATA,SAACs1B,GAAO,IAAEmb,EAAQzqC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KAAM0qC,EAAM1qC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAAI,OAC5DwqC,GAAiBlb,EAASmb,EAAU,UAAWC,IAQxBr8C,MANX,SAACihC,GAAO,IAAEmb,EAAQzqC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KAAM0qC,EAAM1qC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAAI,OAC1DwqC,GAAiBlb,EAASmb,EAAU,QAASC,IAKfU,QAHhB,SAAC9b,GAAO,IAAEmb,EAAQzqC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KAAM0qC,EAAM1qC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAAI,OAC5DwqC,GAAiBlb,EAASmb,EAAU,UAAWC,KCpB1C,SAAUb,GAAqB3jC,GACpC,IACE,MAAMjM,QAAiB80B,gBAAM,EAAG,IAAM1O,GAAauB,IAAI,oBAEjD,QAAE5nB,EAAO,QAAEs1B,EAAO,KAAE79B,GAASwI,EAASxI,WACtCowB,cAAIwpB,GAAiBrxC,QAAQA,EAASs1B,EAAS79B,IACrD,MAAOpD,SACDwzB,cAAIwpB,GAAiBvB,SAASz7C,KAIjC,SAAUi9C,GAAuBplC,GACtC,IACE,MAAM,iBAAE8jB,EAAgB,KAAEv4B,GAASyU,EAC7BjM,QAAiB80B,gBACrB,EACA,IACA1O,GAAa5jB,MAAM,oBAADma,OACEoT,GACpB,IAAKv4B,KAGD,QAAEuI,EAAO,QAAEs1B,GAAYr1B,EAASxI,WAChCowB,cAAIwpB,GAAiBrxC,QAAQA,EAASs1B,IAC5C6b,GAAMnxC,QAAQC,EAASxI,KAAK69B,QAAS,KACnCz+B,EAAQ+tB,KAAK,sBAEf,MAAOvwB,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEjzB,EAAMihC,WCpC9B,MAAQp9B,MAAK,GAAEwK,SAAS,IAAIktC,yBAAc,CAC/C2B,iCAAkC,CAAC,UACnCC,kCAAmC,CAAC,UAAW,OAAQ,SAEvDC,2BAA4B,CAAC,aAC7BC,4BAA6B,CAAC,UAAW,OAAQ,SAEjDC,gCAAiC,GACjCC,iCAAkC,CAAC,UAAW,OAAQ,SAEtDC,+BAAgC,CAAC,QAG7B5B,GAAgB,CACpBsB,iCAAkC,CAChCvxC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,CACJ+yC,OAAQ,KACRxjC,WAAW,IAGfyqC,2BAA4B,CAC1BzxC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,IAERq6C,yBAA0B,CACxB9xC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,KA2EKy4C,gCAAcD,GAAe,CAC1C,CAAC/3C,GAAM65C,qCAvEgC,eAACzd,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAChE3b,EACHid,iCAAkC,CAChCvxC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,MAkER,CAACS,GAAM85C,sCA9DiC,eAAC1d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACzEquB,EACHid,iCAAkC,CAChCvxC,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACdwL,SAAS,EACTpI,KAAMyU,EAAOzU,QA2Df,CAACS,GAAM+5C,+BAtD0B,eAAC3d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAC1D3b,EACHmd,2BAA4B,CAC1BzxC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,MAiDR,CAACS,GAAMg6C,gCA7C2B,eAAC5d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACnEquB,EACHmd,2BAA4B,CAC1BzxC,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACdwL,SAAS,EACTpI,KAAMyU,EAAOzU,QAyCf,CAACS,GAAMi6C,qCAnC+B,eAAC7d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAC/D3b,EACHwd,yBAA0B,CACxB9xC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,MA8BR,CAACS,GAAMk6C,sCA1BgC,eAAC9d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACxEquB,EACHwd,yBAA0B,CACxB9xC,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACdwL,SAAS,EACTpI,KAAMyU,EAAOzU,QAuBf,CAACS,GAAMm6C,mCAjB8B,eAAC/d,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAC9D3b,MChGL,MAAQtP,kBAAkB,IAAI3X,gbAEvB,SAAUilC,GAA0BpmC,GACzC,MAAM,OAAEtJ,GAAWsJ,EACnB,IACE,MAAMjM,QAAiB0nB,eACrBjC,GAAUnjB,KAAK,wDAEfK,IAEI,OAAEtL,GAAW2I,EACJ,MAAX3I,UACIuwB,cACJ0qB,GAAiBf,mCACf,EACAvxC,EAASxI,KACT,QAIN,MAAOpD,GACP0zB,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,CAAC/vB,KAAK,MAAMlD,EAAM4L,SAASxI,QAGjD,SAAU+6C,GAAoBtmC,GACnC,MAAM,UAAEumC,GAAcvmC,EACtB,IACE,MAAMjM,QAAiB0nB,eACrBrB,GAAc/jB,KAAK,iCAEnB,CAAEkwC,eAEE,OAAEn7C,GAAW2I,EACnB,GAAe,MAAX3I,EAGF,aAFMuwB,cAAI0qB,GAAiBb,6BAA4B,EAAM,GAAI,kBAC3D7pB,cAAI0qB,GAAiBZ,oCAI7B,MAAM,IAAI1Z,MAAM,gDAChB,MAAO5jC,GAAQ,IAAD6yC,EAAAC,EAAAC,EACoDsL,EAAAC,EAAAC,EAAlE,IAAS,OAALv+C,QAAK,IAALA,OAAK,EAALA,EAAOihC,WAAgB,OAALjhC,QAAK,IAALA,GAAe,QAAV6yC,EAAL7yC,EAAO4L,gBAAQ,IAAAinC,GAAM,QAANC,EAAfD,EAAiBzvC,YAAI,IAAA0vC,GAAQ,QAARC,EAArBD,EAAuB9X,cAAM,IAAA+X,OAAxB,EAALA,EAA+B3O,SAAS,IAC5D1Q,IAAM/nB,QACJ+b,IAAAC,cAACsL,GAAY,CAAC/vB,KAAK,OACX,OAALlD,QAAK,IAALA,GAAe,QAAVq+C,EAALr+C,EAAO4L,gBAAQ,IAAAyyC,GAAM,QAANC,EAAfD,EAAiBj7C,YAAI,IAAAk7C,GAAQ,QAARC,EAArBD,EAAuBtjB,cAAM,IAAAujB,OAAxB,EAALA,EAA+Bna,SAAS,MAAW,OAALpkC,QAAK,IAALA,OAAK,EAALA,EAAOihC,iBAItDzN,cAAI0qB,GAAiBb,6BAA4B,EAAO,KAAMr9C,KAIjE,SAAUy9C,KACf,IACE,MAAM7xC,QAAiB0nB,eACrBrB,GAAcsB,IAAI,0CAId,KAAEnwB,EAAI,QAAEuI,GAAYC,EAASxI,KACnC,GAAIuI,EAIF,kBAHM6nB,cACJ0qB,GAAiBX,iCAAiC5xC,EAASvI,EAAM,QAKrE,MAAM,IAAIwgC,MAAM,8CAChB,MAAO5jC,GAAQ,IAADw+C,EAAAC,EAAAC,EACoDC,EAAAC,EAAAC,EAAlE,IAAS,OAAL7+C,QAAK,IAALA,OAAK,EAALA,EAAOihC,WAAgB,OAALjhC,QAAK,IAALA,GAAe,QAAVw+C,EAALx+C,EAAO4L,gBAAQ,IAAA4yC,GAAM,QAANC,EAAfD,EAAiBp7C,YAAI,IAAAq7C,GAAQ,QAARC,EAArBD,EAAuBzjB,cAAM,IAAA0jB,OAAxB,EAALA,EAA+Bta,SAAS,IAC5D1Q,IAAM/nB,QACJ+b,IAAAC,cAACsL,GAAY,CAAC/vB,KAAK,OACX,OAALlD,QAAK,IAALA,GAAe,QAAV2+C,EAAL3+C,EAAO4L,gBAAQ,IAAA+yC,GAAM,QAANC,EAAfD,EAAiBv7C,YAAI,IAAAw7C,GAAQ,QAARC,EAArBD,EAAuB5jB,cAAM,IAAA6jB,OAAxB,EAALA,EAA+Bza,SAAS,MAAW,OAALpkC,QAAK,IAALA,OAAK,EAALA,EAAOihC,iBAItDzN,cACJ0qB,GAAiBX,kCAAiC,EAAO,KAAMv9C,KCrF9D,MAAQ6D,MAAK,GAAEwK,SAAS,IAAIktC,yBAAc,CAE/CuD,8BAA+B,GAC/BC,gCAAiC,CAAC,QAAS,WAC3CC,iCAAkC,CAAC,UAAW,OAAQ,SACtDC,mCAAoC,CAClC,SACA,UACA,WACA,WAKFC,iCAAkC,CAAC,WACnCC,kCAAmC,CAAC,UAAW,OAAQ,SAIvDC,2BAA4B,CAAC,UAAW,eACxCC,4BAA6B,CAAC,UAAW,OAAQ,SAIjDC,yCAA0C,CACxC,UACA,SACA,mBAEFC,0CAA2C,CAAC,UAAW,OAAQ,SAI/DC,0CAA2C,CAAC,UAAW,mBACvDC,2CAA4C,CAAC,UAAW,OAAQ,WAK5DC,GAAuB,CAC3B/zC,SAAS,EACT3L,MAAO,KACPwL,SAAS,EACTpI,KAAM,GACN+J,MAAO,IA4CHyuC,GAAgB,CACpB+D,iBA3BuB,CACvBn0C,SAAS,EACTG,SAAS,EACTC,SAAU,GACV5L,MAAO,MAwBP4/C,qBAnB2B,CAC3Bp0C,SAAS,EACTG,SAAS,EACTvI,KAAM,GACNpD,MAAO,MAgBP0/C,qBAAoB,GACpBG,wBA3C8B,CAC9Br0C,SAAS,EACTG,SAAS,EACTC,SAAU,CACR81B,MAAO,GACPoe,OAAQ,GACR3zC,aAAc,IAEhBnM,MAAO,MAoCP+/C,+BAbqC,CACrCv0C,SAAS,EACTG,SAAS,EACTvI,KAAM,GACNpD,MAAO,OAiJM67C,gCAAcD,GAAe,CAC1C,CAAC/3C,GAAMm8C,kCArI6B,eAAC/f,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAC7D3b,EACHyf,qBACF,KAmIE,CAAC77C,GAAMo8C,oCAjI+B,eAAChgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACvEquB,EACHyf,qBAAsB,IACjBA,GACHl0C,SAAS,EACT2B,MAAO,IAAI0K,EAAO1K,UA6HpB,CAACtJ,GAAMq8C,qCAxGgC,eAACjgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACxEquB,EACHyf,qBAAsB,IACjBzf,EAAMyf,qBACT/zC,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACdwL,SAAS,EACTpI,KAAMyU,EAAOzU,QAkGf,CAACS,GAAMs8C,wCA1HkC,eAAClgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IAC1EquB,EACHyf,qBAAsB,IACjBzf,EAAMyf,qBACTvyC,MAAO8yB,EAAMyf,qBAAqBvyC,MAAMrK,IAAK1D,GAC3CA,EAAKkU,SAAWuE,EAAOvE,OACnB,IACKlU,EACHY,OAAQ6X,EAAOlM,QACfyH,SAAUyE,EAAOzE,SACjB6tB,QAASppB,EAAOopB,SAElB7hC,MAgHR,CAACyE,GAAMu8C,qCA9FgC,eAACngB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAChE3b,EACH4f,wBAAyB,IACpB5f,EAAM4f,wBACTr0C,SAAS,KA2FX,CAAC3H,GAAMw8C,sCAxFiC,eAACpgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACzEquB,EACH4f,wBAAyB,IACpB5f,EAAM4f,wBACTr0C,SAAS,EACTG,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACd4L,SAAUiM,EAAOzU,QAmFnB,CAACS,GAAMy8C,+BA7E0B,eAACrgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IAC1D3b,EACH0f,iBAAkB,IACb1f,EAAM0f,iBACTn0C,SAAS,KA0EX,CAAC3H,GAAM08C,gCAtE2B,eAACtgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACnEquB,EACH0f,iBAAkB,IACb1f,EAAM0f,iBACTn0C,SAAS,EACTG,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACd4L,SAAUiM,EAAOzU,QAiEnB,CAACS,GAAM28C,8CA3DwC,eAACvgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IACxE3b,EACH2f,qBAAsB,IACjB3f,EAAM2f,qBACTp0C,SAAS,KAwDX,CAAC3H,GAAM48C,+CApDyC,eAChDxgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GACR/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MACF,IACDquB,EACH2f,qBAAsB,IACjB3f,EAAM2f,qBACTp0C,SAAS,EACTG,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACd4L,SAAUiM,EAAOzU,QA4CnB,CAACS,GAAM68C,+CAtCyC,eAACzgB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IACzE3b,EACH8f,+BAAgC,IAC3B9f,EAAM8f,+BACTv0C,SAAS,KAmCX,CAAC3H,GAAM88C,gDA/B0C,eACjD1gB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GACR/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MACF,IACDquB,EACH8f,+BAAgC,IAC3B9f,EAAM8f,+BACTv0C,SAAS,EACTG,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACd4L,SAAUiM,EAAOzU,UCpNd,SAAUw9C,GAAyB/oC,GACxC,MAAM,MAAE1K,EAAK,QAAEgB,GAAY0J,EACrBgpC,EAAkB,GAExB,UACS1zC,EAAMrK,KAAI,UAAW1D,GAC1B,IACE,MAAM0hD,EAAa,CACjB3yC,UACA81B,QAAS7kC,EAAK+B,OACd+iC,YAAa9kC,EAAK0sB,KAClBqY,MAAO,MAGHv4B,QAAiB0nB,eACrBpB,GAAuBhkB,KAAK,yBAE5B4yC,IAGI,QAAEn1C,EAAO,QAAEs1B,GAAYr1B,EAASxI,KAatC,GAXAy9C,EAAgBtwB,KAAK5kB,SAEf6nB,cACJutB,GAAiB9B,mCACf7/C,EAAKkU,OACL3H,EACA,IACAs1B,KAICt1B,EACH,MAAM,IAAIi4B,MAAM3C,GAElB,MAAO6D,GACHA,EAAI7D,SACNvN,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,8BAEpBwkB,IAAAC,cAAA,WACAD,IAAAC,cAAA,cAASvoB,EAAK0sB,MAAc,IAC5BpE,IAAAC,cAAA,WACCmd,EAAI7D,cAOf,MAAMtuB,EAAYkuC,EAAgB3b,MAAOjtB,KAAWA,GAC9C7K,GAAmBuF,GAErBkuC,EAAgBrgD,KAAMyX,KAAWA,GAGrC,GAFgB4oC,EAAgB3b,MAAOjtB,IAAUA,GAU/C,kBAPMub,cACJutB,GAAiB/B,kCACf,EACA,GACA,0BAMFrsC,GACF+gB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,2CAKxBkK,GACFsmB,IAAM/nB,QACJ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAK,8DAKtBswB,cACJutB,GAAiB/B,kCAAiC,EAAM,GAAI,OAE9D,MAAOh/C,SACDwzB,cACJutB,GAAiB/B,kCAAiC,EAAO,KAAMh/C,KAK9D,SAAUghD,GAA0BnpC,GACzC,MAAM,QAAE1J,GAAY0J,EAEpB,IACE,MAAM,OAAE5U,EAAM,KAAEG,SAAekwB,eAC7BpB,GAAuBqB,IAAI,0BAADhL,OACApa,EAAO,4BAG7BxC,EAAqB,MAAX1I,IAAkB,EAClC,GAAI0I,EAQF,kBAPM6nB,cACJutB,GAAiB5B,kCACfxzC,EACI,OAAJvI,QAAI,IAAJA,OAAI,EAAJA,EAAMA,KACN,QAKN,MAAM,IAAIwgC,MAAM,0DAChB,MAAO5jC,GACP0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,4DAOrB,SAAU+9C,GAAoBppC,GACnC,MAAM,QAAE1J,EAAO,YAAE+yC,GAAgBrpC,EAEjC,IACE,MAAM,OAAE5U,EAAM,KAAEG,SAAekwB,eAC7BpB,GAAuBqB,IAAI,0BAADhL,OACApa,EAAO,uBAAAoa,OAAsB24B,IAGnDv1C,EAAqB,MAAX1I,IAAkB,EAClC,GAAI0I,EAIF,kBAHM6nB,cACJutB,GAAiB1B,4BAA4B1zC,EAAa,OAAJvI,QAAI,IAAJA,OAAI,EAAJA,EAAMA,KAAM,QAItE,MAAM,IAAIwgC,MAAM,uDAChB,MAAO5jC,GACP0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,yDAOrB,SAAUi+C,GAAkCtpC,GACjD,MAAM,QAAE1J,EAAO,OAAEI,EAAM,gBAAE6yC,GAAoBvpC,GACrC3B,UAAWgrC,GAAgB3yC,EAEnC,IACE,MAAM,KAAEnL,SAAekwB,eACrBpB,GAAuBhkB,KAAK,0BAADqa,OACDpa,EAAO,oCAAAoa,OAAmC24B,GACpE,IAAK3yC,IAGP,GAAInL,EAAKuI,QAUP,OATA+nB,IAAM/nB,QAAQ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAME,EAAK69B,gBACtCzN,cACJutB,GAAiBxB,0CACfn8C,EAAKuI,QACD,OAAJvI,QAAI,IAAJA,OAAI,EAAJA,EAAMA,KACN,YAGJg+C,IAIF,MAAM,IAAIxd,MAAMxgC,EAAK69B,SAAW,sCAChC,MAAOjhC,GACP0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,OACT,OAALlD,QAAK,IAALA,OAAK,EAALA,EAAOihC,UAAW,wCAMpB,SAAUogB,GAAmCxpC,GAClD,MAAM,QAAE1J,EAAO,gBAAEizC,GAAoBvpC,EAErC,IACE,MAAM,KAAEzU,SAAekwB,eACrBpB,GAAuBhkB,KAAK,0BAADqa,OACDpa,EAAO,0BAGnC,GAAI/K,EAAKuI,QAUP,OATA+nB,IAAM/nB,QAAQ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAME,EAAK69B,gBACtCzN,cACJutB,GAAiBtB,2CACfr8C,EAAKuI,QACD,OAAJvI,QAAI,IAAJA,OAAI,EAAJA,EAAMA,KACN,YAGJg+C,IAIF,MAAM,IAAIxd,MAAMxgC,EAAK69B,SAAW,sCAChC,MAAOjhC,SACDwzB,cACJutB,GAAiBtB,4CACf,EACA,GACAz/C,IAGJ0zB,IAAM1zB,MACJ0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,OACT,OAALlD,QAAK,IAALA,OAAK,EAALA,EAAOihC,UAAW,wCCnOpB,MAAQp9B,MAAK,GAAEwK,SAAS,IAAIktC,yBAAc,CAE/C+F,uCAAwC,CAAC,UAAW,YACpDC,wCAAyC,CAAC,UAAW,WAYjD3F,GAAgB,CACpB4F,gCARsC,CACtC71C,SAAS,EACT3L,MAAO,KACPwL,SAAS,IAmCIqwC,gCAAcD,GAAe,CAC1C,CAAC/3C,GAAM49C,6CA3BsC,eAACxhB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAa,MAAM,IACtE3b,EACHuhB,gCAAiC,IAC5BvhB,EAAMuhB,gCAET71C,SAAS,EACT3L,MAAO,KACPwL,SAAS,KAqBX,CAAC3H,GAAM69C,8CAjBuC,eAC9CzhB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GACR/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MACF,IACDquB,EACHuhB,gCAAiC,IAC5BvhB,EAAMuhB,gCAET71C,QAASkM,EAAOlM,QAChB3L,MAAO6X,EAAO7X,MACdwL,SAAS,OC7BN,SAAUg2C,GAAgC3pC,GAC/C,MAAM,QAAE1J,EAAO,SAAE+0B,GAAarrB,EAE9B,IACE,MAAMjM,QAAiB0nB,eACrBnB,GAAiB/jB,MAAM,mBAADma,OACHpa,EAAO,qBAC1B,CAAE43B,cAAe7C,KAGb,QAAEv3B,EAAO,QAAEs1B,GAAYr1B,EAASxI,KAEtC,GAAIuI,EAKF,OAJA+nB,IAAM/nB,QAAQ+b,IAAAC,cAACwL,GAAY,CAACjwB,KAAK,MAAM+9B,eACjCzN,cACJmuB,GAAqBJ,yCAAwC,EAAM,QAKvE,MAAM,IAAI3d,MAAM3C,GAChB,MAAOjhC,IACE,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOihC,UACTvN,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAW,OAALlD,QAAK,IAALA,OAAK,EAALA,EAAOihC,gBACtCzN,cACJmuB,GAAqBJ,yCAAwC,EAAOvhD,KCnCnE,MAAM6D,GACa,gCADbA,GAEa,gCAFbA,GAGW,0BAGlB0H,GAAgB,CACpBkC,aAAc,CACZjC,SAAS,EACTG,SAAS,EACTC,SAAU,CACRjW,MAAO,CAAEyN,KAAM,GAAIF,KAAM,GACzBrK,UAAW,CAAEuK,KAAM,GAAIF,KAAM,GAC7BnK,YAAa,CAAEqK,KAAM,GAAIF,KAAM,GAC/B3J,QAAS,CAAE6J,KAAM,GAAIF,KAAM,GAC3BpL,UAAW,CAAEsL,KAAM,GAAIF,KAAM,GAC7BhK,SAAU,CAAEkK,KAAM,GAAIF,KAAM,GAC5B1J,WAAY,CAAE4J,KAAM,GAAIF,KAAM,GAC9BzJ,SAAU,CAAE2J,KAAM,GAAIF,KAAM,IAE9B2I,kBAAmB,GACnB7L,MAAO,OAgCJ,MCvDQ6D,MAAK,GAAEwK,SAAS,IAAIktC,yBAAc,CAC/CqG,eAAgB,CAAC,OAAQ,iBAGrBhG,GAAgB,CACpBrc,KAAM,GACNsiB,YAAa,IASAhG,gCAAcD,GAAe,CAC1C,CAAC/3C,GAAMi+C,kBAPc,eAAC7hB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGiqC,GAAe/jC,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAAA,MAAM,IACtDquB,EACHV,KAAM1nB,EAAO0nB,KACbsiB,YAAahqC,EAAOgqC,gBCOPE,eAAgB,CAC7B53B,K5C8Da,WAA8C,IAAhC8V,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EACxD,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAM2I,SAAU,EAChB,MAEF,KAAK3H,GACHhB,EAAM2I,SAAU,EAChB3I,EAAMgnB,MAAQhS,EAAOpJ,QAAQob,MAC7BhnB,EAAM2mB,YAAc3R,EAAOpJ,QAAQob,MAAMoD,aACzCpqB,EAAM4mB,sBAAwB5R,EAAOpJ,QAAQob,MAAMsD,WACnDtqB,EAAM6mB,aAAe7R,EAAOpJ,QAAQob,MAAM4D,cAC1C5qB,EAAMymB,UAAW,EACjBzmB,EAAM0mB,QAAU1R,EAAOpJ,QAAQ8a,QAC/B,MAEF,KAAK1lB,GACHhB,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,MAC7B,MAEF,KAAK6D,GACHhB,EAAM2I,SAAU,EAChB,MAEF,KAAK3H,GACHhB,EAAM2I,SAAU,EAChB3I,EAAMgnB,MAAQhS,EAAOpJ,QAAQob,MAC7BhnB,EAAM2mB,YAAc3R,EAAOpJ,QAAQob,MAAMoD,aACzCpqB,EAAM4mB,sBAAwB5R,EAAOpJ,QAAQob,MAAMsD,WACnDtqB,EAAM6mB,aAAe7R,EAAOpJ,QAAQob,MAAM4D,cAC1C5qB,EAAMymB,UAAW,EACjBzmB,EAAM0mB,QAAU1R,EAAOpJ,QAAQ8a,QAC/B,MAEF,KAAK1lB,GACHhB,EAAM2I,SAAU,EAEhB3I,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,MAC7B,MAEF,KAAK6D,GACHhB,EAAMymB,UAAW,EACjBzmB,EAAMgnB,MAAQ,KACdhnB,EAAM0mB,QAAU,GAChB1mB,EAAM2mB,YAAc,KACpB3mB,EAAM4mB,sBAAwB,KAC9B5mB,EAAM6mB,aAAe,KACrB7mB,EAAM8mB,uBAAyB,KAC/B9mB,EAAM7C,MAAQ,KACd,MAEF,KAAK6D,GACH,MAEF,KAAKA,GACHhB,EAAMinB,eAAete,SAAU,EAC/B,MAEF,KAAK3H,GACHhB,EAAMinB,eAAete,SAAU,EAC/B3I,EAAMinB,eAAele,SAAWiM,EAAOpJ,QAAQ7C,SAC/C/I,EAAMinB,eAAene,QAAUkM,EAAOpJ,QAAQ9C,QAC9C9I,EAAM0mB,QAAU1R,EAAOpJ,QAAQ8a,QAC/B,MAEF,KAAK1lB,GACHhB,EAAMinB,eAAete,SAAU,EAC/B3I,EAAMinB,eAAe9pB,MAAQ6X,EAAOpJ,QAAQzO,MAC5C,MAEF,KAAK6D,GACHhB,EAAMknB,UAAUve,SAAU,EAC1B3I,EAAMknB,UAAUpe,SAAU,EAC1B9I,EAAMknB,UAAU/pB,MAAQ,KACxB6C,EAAMknB,UAAUje,QAAU,KAC1BjJ,EAAMknB,UAAUle,kBAAoB,KACpC,MAEF,KAAKhI,GACHhB,EAAM0mB,QAAU1R,EAAOpJ,QAAQ8a,QAC/B1mB,EAAMgnB,MAAQhS,EAAOpJ,QAAQob,MAC7BhnB,EAAM2mB,YAAc3R,EAAOpJ,QAAQob,MAAMoD,aACzCpqB,EAAM4mB,sBAAwB5R,EAAOpJ,QAAQob,MAAMsD,WACnDtqB,EAAM6mB,aAAe7R,EAAOpJ,QAAQob,MAAM4D,cACL,SAAjC5V,EAAOpJ,QAAQkc,eAA2B9nB,EAAMymB,UAAW,EAC1DzmB,EAAMymB,UAAW,EACtBzmB,EAAMknB,UAAUve,SAAU,EAC1B3I,EAAMknB,UAAUpe,QAAUkM,EAAOpJ,QAAQkE,UACzC9P,EAAMknB,UAAUje,SAAU,EAC1B,MAEF,KAAKjI,GACHhB,EAAMknB,UAAUve,SAAU,EAC1B3I,EAAMknB,UAAUje,SAAU,EAC1BjJ,EAAMknB,UAAU/pB,MAAQ6X,EAAOpJ,QAAQzO,MACvC6C,EAAMknB,UAAUle,kBAAoBgM,EAAOpJ,QAAQ5C,kBACnD,MAEF,KAAKhI,GACHhB,EAAMmnB,oBAAoBxe,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMmnB,oBAAoBxe,SAAU,EACpC3I,EAAMmnB,oBAAoBpe,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAMmnB,oBAAoBre,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMmnB,oBAAoBxe,SAAU,EACpC3I,EAAMmnB,oBAAoBhqB,MAAQ6X,EAAOpJ,QAAQzO,MACjD6C,EAAMmnB,oBAAoBle,SAAU,EACpC,MAEF,KAAKjI,GACHhB,EAAMqnB,mBAAmB1e,SAAU,EACnC,MAEF,KAAK3H,GACHhB,EAAMqnB,mBAAmB1e,SAAU,EACnC3I,EAAMqnB,mBAAmBte,SAAWiM,EAAOpJ,QAAQ7C,SACnD/I,EAAMqnB,mBAAmBve,QAAUkM,EAAOpJ,QAAQ9C,QAClD,MAEF,KAAK9H,GACHhB,EAAMqnB,mBAAmB1e,SAAU,EACnC3I,EAAMqnB,mBAAmBlqB,MAAQ6X,EAAOpJ,QAAQzO,MAChD6C,EAAMqnB,mBAAmBpe,SAAU,EACnC,MAEF,KAAKjI,GACHhB,EAAMonB,kBAAkBze,SAAU,EAClC,MAEF,KAAK3H,GACHhB,EAAMonB,kBAAkBze,SAAU,EAClC3I,EAAMonB,kBAAkBre,SAAWiM,EAAOpJ,QAAQ7C,SAClD/I,EAAMonB,kBAAkBte,QAAUkM,EAAOpJ,QAAQ9C,QACjD,MAEF,KAAK9H,GACHhB,EAAMonB,kBAAkBze,SAAU,EAClC3I,EAAMonB,kBAAkBjqB,MAAQ6X,EAAOpJ,QAAQzO,MAC/C6C,EAAMonB,kBAAkBne,SAAU,M4C7MxC41B,MvDuXa,WAA+C,IAAhCzB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,EAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EACzD,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,EAAME,kCACTlB,EAAMkJ,uBAAuBP,SAAU,EACvC,MAEF,KAAK3H,EAAMK,gCACTrB,EAAMkJ,uBAAuBP,SAAU,EACvC3I,EAAMkJ,uBAAuBJ,SAAU,EACvC9I,EAAMkJ,uBAAuBH,SAAW,GACxC/I,EAAMkJ,uBAAuBF,kBAAoB,GACjDhJ,EAAMkJ,uBAAuB/L,MAAQ,KACrC6C,EAAMkJ,uBAAuBD,SAAU,EACvC,MAEF,KAAKjI,EAAMG,kCACTnB,EAAMkJ,uBAAuBP,SAAU,EACvC3I,EAAMkJ,uBAAuBH,SAAWiM,EAAOpJ,QAAQ7C,SACvD/I,EAAMkJ,uBAAuBJ,QAAUkM,EAAOpJ,QAAQ9C,QACtD,MAEF,KAAK9H,EAAMI,gCACTpB,EAAMkJ,uBAAuBP,SAAU,EACvC3I,EAAMkJ,uBAAuBD,SAAU,EACvCjJ,EAAMkJ,uBAAuB/L,MAAQ6X,EAAOpJ,QAAQzO,MACpD,MAEF,KAAK6D,EAAMS,qCACTzB,EAAM6I,kBAAkBF,SAAU,EAClC,MAEF,KAAK3H,EAAMY,mCACT5B,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBC,SAAU,EAClC9I,EAAM6I,kBAAkBE,SAAW,GACnC/I,EAAM6I,kBAAkBG,kBAAoB,GAC5ChJ,EAAM6I,kBAAkB1L,MAAQ,KAChC6C,EAAM6I,kBAAkBI,SAAU,EAClC,MAEF,KAAKjI,EAAMU,qCACT1B,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBE,SAAWiM,EAAOpJ,QAAQ7C,SAClD/I,EAAM6I,kBAAkBC,QAAUkM,EAAOpJ,QAAQ9C,QACjD,MAEF,KAAK9H,EAAMW,mCACT3B,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBI,SAAU,EAClCjJ,EAAM6I,kBAAkB1L,MAAQ6X,EAAOpJ,QAAQzO,MAC/C,MAEF,KAAK6D,EAAMa,sCACT7B,EAAM6I,kBAAkBF,SAAU,EAClC,MAEF,KAAK3H,EAAMgB,oCACThC,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBC,SAAU,EAClC9I,EAAM6I,kBAAkBE,SAAW,GACnC/I,EAAM6I,kBAAkBG,kBAAoB,GAC5ChJ,EAAM6I,kBAAkB1L,MAAQ,KAChC6C,EAAM6I,kBAAkBI,SAAU,EAClC,MAEF,KAAKjI,EAAMc,sCACT9B,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBE,SAAWiM,EAAOpJ,QAAQ7C,SAClD/I,EAAM6I,kBAAkBC,QAAUkM,EAAOpJ,QAAQ9C,QACjD,MAEF,KAAK9H,EAAMe,oCACT/B,EAAM6I,kBAAkBF,SAAU,EAClC3I,EAAM6I,kBAAkBI,SAAU,EAClCjJ,EAAM6I,kBAAkB1L,MAAQ6X,EAAOpJ,QAAQzO,MAC/C,MAEF,KAAK6D,EAAMiB,6BACTjC,EAAMqJ,UAAUV,SAAU,EAC1B3I,EAAMqJ,UAAUP,SAAU,EAC1B,MAEF,KAAK9H,EAAMkB,8BACTlC,EAAMqJ,UAAUV,SAAU,EAC1B3I,EAAMqJ,UAAUP,SAAU,EAC1B9I,EAAMqJ,UAAUN,SAAWiM,EAAOpJ,QAAQ7C,SAC1C,MAEF,KAAK/H,EAAMqB,yBACTrC,EAAMmJ,OAAOR,SAAU,EACvB3I,EAAMmJ,OAAOL,SAAU,EACvB,MAEF,KAAK9H,EAAMsB,0BACTtC,EAAMmJ,OAAOR,SAAU,EACvB3I,EAAMmJ,OAAOL,SAAU,EACvB9I,EAAMmJ,OAAOJ,SAAWiM,EAAOpJ,QAAQ7C,SACvC,MAEF,KAAK/H,EAAMuB,oCAKX,KAAKvB,EAAMyB,8BAKX,KAAKzB,EAAMmB,4BACTnC,EAAMuJ,YAAYZ,SAAU,EAC5B3I,EAAMuJ,YAAYT,SAAU,EAC5B,MAEF,KAAK9H,EAAMoB,6BAMX,KAAKpB,EAAMwB,qCAMX,KAAKxB,EAAM0B,+BACT1C,EAAMuJ,YAAYZ,SAAU,EAC5B3I,EAAMuJ,YAAYT,SAAU,EAC5B9I,EAAMuJ,YAAYR,SAAWiM,EAAOpJ,QAAQ7C,SAC5C,MAEF,KAAK/H,EAAM2B,+BACT3C,EAAMuJ,YAAYZ,SAAU,EAC5B3I,EAAMuJ,YAAYT,SAAU,EAC5B,MAEF,KAAK9H,EAAM4B,gCACT5C,EAAMuJ,YAAYZ,SAAU,EAC5B3I,EAAMuJ,YAAYT,SAAU,EAC5B9I,EAAMuJ,YAAYR,SAAWiM,EAAOpJ,QAAQ7C,SAC5C,MAEF,KAAK/H,EAAMoD,mBACTpE,EAAMyK,UAAU9B,SAAU,EAC1B,MAEF,KAAK3H,EAAMqD,mBACTrE,EAAMyK,UAAU9B,SAAU,EAC1B9I,EACEmV,EAAOpJ,QAAQ7C,SACfq3B,qBAAmBrtC,iBACnBiN,EAAMyK,UAAU1B,UAGlB/I,EAAMyK,UAAU3B,QAAUkM,EAAOpJ,QAAQ9C,QACzC,MAEF,KAAK9H,EAAM6B,4BACT7C,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAMiJ,SAAU,EAChBjJ,EAAM7C,OAAQ,EACd6C,EAAM+I,SAAW,GAEjB,MAEF,KAAK/H,EAAM8B,6BACT9C,EAAM2I,SAAU,EAChB3I,EAAM+J,QAAS,EACf/J,EAAM8I,SAAU,EAChB9I,EAAMiJ,QAAU+L,EAAOpJ,QAAQ3C,QAC/BjJ,EAAM+I,SAAWiM,EAAOpJ,QAAQ7C,SAEhC,MAEF,KAAK/H,EAAM+B,2BACT/C,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAMiJ,SAAU,EAChBjJ,EAAM7C,OAAQ,EACd6C,EAAM8J,SAAU,EAChB9J,EAAM+I,SAAW,GAEjB,MAEF,KAAK/H,EAAMgC,4BACThD,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAMiJ,QAAU+L,EAAOpJ,QAAQ3C,QAC/BjJ,EAAM+I,SAAWiM,EAAOpJ,QAAQ7C,SAChC,MAEF,KAAK/H,EAAMqC,iCACTrD,EAAM2J,yBAA2BqL,EAAOpJ,QAAQ7C,SAChD/I,EAAM2J,yBAAyBhB,SAAU,EACzC3I,EAAM2J,yBAAyBb,QAAUkM,EAAOpJ,QAAQ9C,QACxD,MAEF,KAAK9H,EAAMmC,8BACTnD,EAAM2J,yBAA2B,CAC/BpJ,KAAM,GACNuI,SAAS,EACTG,SAAS,EACTN,SAAS,GAEX,MAEF,KAAK3H,EAAMoC,gCACTpD,EAAM2J,yBAA2B,CAAEpJ,KAAM,IACzCP,EAAM2J,yBAAyBhB,SAAU,EACzC3I,EAAM2J,yBAAyBb,SAAU,EACzC,MAGF,KAAK9H,EAAMwC,0CACTxD,EAAM0J,+BAA+Bf,SAAU,EAC/C3I,EAAM0J,+BAA+BZ,SAAU,EAC/C9I,EAAM0J,+BAA+BG,cAAe,EACpD7J,EAAM0J,+BAA+BnJ,KAAO,GAC5C,MAEF,KAAKS,EAAMyC,0CACTzD,EAAM0J,+BAA+Bf,SAAU,EAC/C3I,EAAM0J,+BAA+BZ,QAAUkM,EAAOpJ,QAAQ9C,QAC9D9I,EAAM0J,+BAA+BG,cAAe,EACpD7J,EAAM0J,+BAA+BnJ,KAAOyU,EAAOpJ,QAAQ7C,SAE3D/I,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM6J,cAAe,EACrB7J,EAAMsJ,aAAe0L,EAAOpJ,QAAQ7C,SACpC,MAEF,KAAK/H,EAAM0C,wCACT1D,EAAM0J,+BAA+Bf,SAAU,EAC/C3I,EAAM0J,+BAA+BZ,SAAU,EAC/C9I,EAAM0J,+BAA+BG,cAAe,EACpD7J,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM6J,cAAe,EACrB7J,EAAMsJ,aAAe,GACrB,MAEF,KAAKtI,EAAM2C,4BAA8B,IAADy7C,EACtCp/C,EAAM+I,SAASs2C,mBACC,QADiBD,EAC/Bp/C,EAAM+I,gBAAQ,IAAAq2C,OAAA,EAAdA,EAAgBC,mBAAmBp/C,IAAKqJ,GACf,gBAAX,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAcg2C,QACF,OAAZh2C,QAAY,IAAZA,OAAY,EAAZA,EAAcqL,kBAAmBK,EAAOpJ,QAAQ+I,eAC5C,IAAKrL,EAAci2C,WAAYj2C,EAAai2C,WAC5Cj2C,GAER,MAEF,KAAKtI,EAAM8C,4BACT9D,EAAM0J,+BAA+Bf,SAAU,EAC/C3I,EAAM0J,+BAA+BZ,SAAU,EAC/C9I,EAAM0J,+BAA+BvM,MAAQ,KAC7C,MAEF,KAAK6D,EAAM+C,6BACT/D,EAAM0J,+BAA+Bf,SAAU,EAC/C3I,EAAM0J,+BAA+BZ,QAAUkM,EAAOpJ,QAAQ9C,QAC9D9I,EAAM0J,+BAA+BvM,MAAQ6X,EAAOpJ,QAAQzO,MAC5D6C,EAAM0J,+BAA+BnJ,KAAOyU,EAAOpJ,QAAQ7C,SAC3D,MAEF,KAAK/H,EAAM6C,2BACT7D,EAAM4J,cAAgBoL,EAAOpJ,QAAQ8C,MACrC,MAEF,KAAK1N,EAAMuC,4BACTvD,EAAM8I,SAAU,EAChB9I,EAAM4J,cAAgBoL,EAAOpJ,QAAQ7C,SACrC,MAEF,KAAK/H,EAAMiC,2BACTjD,EAAM2I,SAAU,EAChB3I,EAAM+J,QAAS,EACf/J,EAAM8I,SAAU,EAChB9I,EAAMiJ,SAAU,EAChBjJ,EAAM7C,OAAQ,EACd6C,EAAM8J,SAAU,EAChB9J,EAAM+I,SAAW,GAEjB,MAEF,KAAK/H,EAAMkC,4BACTlD,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM6J,cAAe,EACrB7J,EAAMiJ,QAAU+L,EAAOpJ,QAAQ3C,QAC/BjJ,EAAM+I,SAAWiM,EAAOpJ,QAAQ7C,SAChC,MAEF,KAAK/H,EAAMsD,iBACTtE,EAAMyK,UAAU9B,SAAU,EAC1B3I,EAAMyK,UAAUtN,MAAQ6X,EAAOpJ,QAAQzO,MACvC,MAEF,KAAK6D,EAAMuD,8BACTvE,EAAMyK,UAAU9B,SAAU,EAC1B,MAEF,KAAK3H,EAAMwD,8BACTxE,EAAMyK,UAAU9B,SAAU,EAC1B5H,EACEiU,EAAOpJ,QAAQ7C,SACfq3B,qBAAmBrtC,iBACnBiN,EAAMyK,UAAU1B,UAGlB/I,EAAMyK,UAAU3B,QAAUkM,EAAOpJ,QAAQ9C,QACzC,MAEF,KAAK9H,EAAMyD,4BACTzE,EAAMyK,UAAU9B,SAAU,EAC1B3I,EAAMyK,UAAUtN,MAAQ6X,EAAOpJ,QAAQzO,MACvC,MAEF,KAAK6D,EAAMoF,gCACTpG,EAAMkK,sBAAsBvB,SAAU,EACtC3I,EAAMkK,sBAAsBpB,SAAU,EACtC9I,EAAMkK,sBAAsBnB,SAAW,GACvC/I,EAAMkK,sBAAsBjB,SAAU,EACtC,MAEF,KAAKjI,EAAMqF,gCACTrG,EAAMoK,iBAAiBE,MAAQtK,EAAMoK,iBAAiBE,MAAMrK,IACzD1D,IACKA,EAAK+O,UAAY0J,EAAOpJ,QAAQtB,MAAMgB,UACxC/O,EAAK0sB,KAAOjU,EAAOpJ,QAAQtB,MAAM2e,MACnC1sB,EAAK+B,OAAS0W,EAAOpJ,QAAQtB,MAAMhM,OAE5B/B,IAGXyD,EAAMkK,sBAAsBpB,SAAU,EACtC9I,EAAMkK,sBAAsBvB,SAAU,EACtC,MAEF,KAAK3H,EAAMsF,8BACTtG,EAAM2I,SAAU,EAChB3I,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,MAC7B,MAEF,KAAK6D,EAAMM,+BACTtB,EAAMmK,oBAAoBxB,SAAU,EACpC,MAEF,KAAK3H,EAAMO,+BACTvB,EAAMmK,oBAAoBxB,SAAU,EACpC3I,EAAMmK,oBAAoBrB,QAAUkM,EAAOpJ,QAAQkE,UACnD,MAEF,KAAK9O,EAAMQ,8BAUX,KAAKR,EAAMuF,sBACTvG,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBE,MAAQ0K,EAAOpJ,QAAQF,OAAOg2B,SACrD1hC,EAAMoK,iBAAiBC,iBACrB2K,EAAOpJ,QAAQF,OAAOq3B,UACxB/iC,EAAMoK,iBAAiBtB,SAAU,EACjC9I,EAAMoK,iBAAiBnB,SAAU,EACjCjJ,EAAMoK,iBAAiBjN,MAAQ,GAC/B,MAEF,KAAK6D,EAAMwF,oBACTxG,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBE,MAAQ,GAC/BtK,EAAMoK,iBAAiBtB,SAAU,EACjC9I,EAAMoK,iBAAiBnB,SAAU,EACjCjJ,EAAMoK,iBAAiBjN,MAAQ,GAC/B,MAEF,KAAK6D,EAAMyF,qBACTzG,EAAMoK,iBAAiBE,MAAQtK,EAAMoK,iBAAiBE,MAAMrK,IACzD1D,IAEGA,EAAKkU,SAAWuE,EAAOpJ,QAAQtB,MAAMmG,QACrCuE,EAAOpJ,QAAQtB,QAEf/N,EAAOyY,EAAOpJ,QAAQtB,OAEjB/N,IAIX,MAEF,KAAKyE,EAAM0F,8BAA+B,CACxC,MAAM84C,EAAYx/C,EAAMoK,iBAAiBE,MAAMg1B,KAC5C/iC,IAAI,IAAAkjD,EAAAC,EAAA,OACS,QAAZD,EAAAljD,EAAK+O,eAAO,IAAAm0C,OAAA,EAAZA,EAAcrhD,cAAe4W,EAAOpJ,QAAQN,UACjC,QAAXo0C,EAAAnjD,EAAKkU,cAAM,IAAAivC,OAAA,EAAXA,EAAathD,cAAe4W,EAAOpJ,QAAQN,UAE3Ck0C,IACFA,EAAUjvC,SAAWyE,EAAOpJ,QAAQ2E,UAEtC,MAEF,KAAKvP,EAAM2F,4BAA6B,CACtC,MAAM64C,EAAYx/C,EAAMoK,iBAAiBE,MAAMg1B,KAC5C/iC,GAASA,EAAKkU,SAAWuE,EAAOpJ,QAAQ6E,QAGvC+uC,IACFA,EAAUriD,MAAQ6X,EAAOpJ,QAAQzO,MACjCqiD,EAAU9uC,SAAWsE,EAAOpJ,QAAQ8E,UAEtC,MAEF,KAAK1P,EAAM4F,2BACT5G,EAAMoK,iBAAiBE,MAAQtK,EAAMoK,iBAAiBE,MAAMlO,OACzDG,IAAwB,IAAfA,EAAKY,OAGjB,MAEF,KAAK6D,EAAM6F,sBACT7G,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBtB,QAAUkM,EAAOpJ,QAAQkE,UAChD9P,EAAMoK,iBAAiBG,iBACrByK,EAAOpJ,QAAQrB,iBACjBvK,EAAMoK,iBAAiBnB,SAAU,EACjCjJ,EAAMoK,iBAAiBjN,MAAQ,GAC/B,MAEF,KAAK6D,EAAM8F,wBACT9G,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBI,SAASkjB,KAAK,CACnCiyB,UAAU,EACVC,SAAU5qC,EAAOpJ,QAAQsE,SACzB5R,OAAQ0W,EAAOpJ,QAAQtN,SAEzB,MAEF,KAAK0C,EAAM+F,8BACT/G,EAAMoK,iBAAiBI,SAAW,GAClC,MAEF,KAAKxJ,EAAMgG,oBACThH,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBtB,SAAU,EACjC9I,EAAMoK,iBAAiBnB,QAAU+L,EAAOpJ,QAAQ3C,QAChDjJ,EAAMoK,iBAAiBjN,MAAQ6X,EAAOpJ,QAAQzO,MAC9C,MAEF,KAAK6D,EAAMkG,mBACTlH,EAAMgK,UAAUrB,SAAU,EAC1B3I,EAAMgK,UAAUjB,SAAW,GAC3B/I,EAAMgK,UAAUlB,SAAU,EAC1B9I,EAAMgK,UAAUf,SAAU,EAC1B,MAEF,KAAKjI,EAAMmG,iBACTnH,EAAMgK,UAAUrB,SAAU,EAC1B3I,EAAMgK,UAAUjB,SAAW,GAC3B/I,EAAMgK,UAAUlB,SAAU,EAC1B9I,EAAMgK,UAAUf,SAAU,EAC1B,MAEF,KAAKjI,EAAMoG,mBACTpH,EAAMgK,UAAUrB,SAAU,EAC1B3I,EAAMgK,UAAUlB,QAAUkM,EAAOpJ,QAAQkE,UAEzC9P,EAAMoK,iBAAiBE,MAAQtK,EAAMoK,iBAAiBE,MAAMrK,IACzD1D,IACC,MAAMylC,EAAUhtB,EAAOpJ,QAAQoF,UAAUsuB,KACtCsD,GACCA,EAASt3B,UAAY/O,EAAK+O,SAC1Bs3B,EAAS/B,YAActkC,EAAKskC,WAIhC,OAFImB,IAASzlC,EAAOylC,GAEbzlC,IAGX,MAEF,KAAKyE,EAAMqG,iBACTrH,EAAMgK,UAAUrB,SAAU,EAC1B3I,EAAMgK,UAAUf,SAAU,EAC1BjJ,EAAMgK,UAAUlB,SAAU,EAC1B,MAEF,KAAK9H,EAAMsG,2BACTtH,EAAMiK,iBAAiBtB,SAAU,EACjC3I,EAAMiK,iBAAiBlB,SAAW,GAClC/I,EAAMiK,iBAAiBnB,SAAU,EACjC9I,EAAMiK,iBAAiBhB,SAAU,EACjC,MAEF,KAAKjI,EAAMuG,yBACTvH,EAAMiK,iBAAiBtB,SAAU,EACjC3I,EAAMiK,iBAAiBlB,SAAW,GAClC/I,EAAMiK,iBAAiBnB,SAAU,EACjC9I,EAAMiK,iBAAiBhB,SAAU,EACjC,MAEF,KAAKjI,EAAMwG,2BACTxH,EAAMiK,iBAAiBnB,QAAUkM,EAAOpJ,QAAQkE,UAChD9P,EAAMiK,iBAAiBtB,SAAU,EACjC3I,EAAMiK,iBAAiBhB,SAAU,EACjC,MAEF,KAAKjI,EAAMyG,yBACTzH,EAAMiK,iBAAiBnB,SAAU,EACjC9I,EAAMiK,iBAAiBtB,SAAU,EACjC3I,EAAMiK,iBAAiBhB,SAAU,EACjC,MAEF,KAAKjI,EAAMkH,qBACTlI,EAAM0K,YAAY/B,SAAU,EAC5B3I,EAAM0K,YAAY5B,SAAU,EAC5B9I,EAAM0K,YAAYvN,MAAQ,GAC1B6C,EAAM0K,YAAYzB,SAAU,EAE5B,MAEF,KAAKjI,EAAMmH,qBACTnI,EAAM0K,YAAY/B,SAAU,EAC5B3I,EAAM0K,YAAY5B,SAAU,EAC5B9I,EAAMoK,iBAAiBE,MAAQlN,YAC7B4C,EAAMoK,iBAAiBE,MACvB,SACA0K,EAAOpJ,QAAQtB,MACf,UAEFtK,EAAMoK,iBAAiBI,SAAWpN,YAChC4C,EAAMoK,iBAAiBI,SACvB,WACAwK,EAAOpJ,QAAQtB,MACf,QAEF,MAEF,KAAKtJ,EAAMoH,mBACTpI,EAAM0K,YAAY/B,SAAU,EAC5B3I,EAAM0K,YAAY5B,SAAU,EAC5B9I,EAAM0K,YAAYvN,MAAQ,GAC1B6C,EAAM0K,YAAYzB,SAAU,EAC5B,MAEF,KAAKjI,EAAMqH,mBACTrI,EAAM0K,YAAY/B,SAAU,EAC5B3I,EAAM0K,YAAYvN,MAAQ6X,EAAOpJ,QAAQzO,MACzC6C,EAAM0K,YAAYzB,SAAU,EAC5B,MAEF,KAAKjI,EAAM0G,8BACT1H,EAAM2K,mBAAmBhC,SAAU,EACnC3I,EAAM2K,mBAAmB7B,SAAU,EACnC9I,EAAM2K,mBAAmBxN,MAAQ,KACjC6C,EAAM2K,mBAAmB1B,QAAU,KACnCjJ,EAAM2K,mBAAmB3B,kBAAoB,KAC7C,MAEF,KAAKhI,EAAM2G,8BACT3H,EAAM2K,mBAAmBhC,SAAU,EACnC3I,EAAM2K,mBAAmB7B,QAAUkM,EAAOpJ,QAAQkE,UAClD9P,EAAM2K,mBAAmB5B,SAAWiM,EAAOpJ,QAAQ7C,SACnD/I,EAAM2K,mBAAmB1B,SAAU,EACnC,MAEF,KAAKjI,EAAM4G,4BACT5H,EAAM2K,mBAAmBhC,SAAU,EACnC3I,EAAM2K,mBAAmB1B,SAAU,EACnCjJ,EAAM2K,mBAAmBxN,MAAQ6X,EAAOpJ,QAAQzO,MAChD6C,EAAM2K,mBAAmB3B,kBACvBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,EAAM6G,4BACT7H,EAAM2K,mBAAmBhC,SAAU,EACnC3I,EAAM2K,mBAAmB7B,SAAU,EACnC9I,EAAM2K,mBAAmBxN,MAAQ,KACjC6C,EAAM2K,mBAAmB1B,QAAU,KACnCjJ,EAAM2K,mBAAmB3B,kBAAoB,KAC7C,MAEF,KAAKhI,EAAM0D,uBACT1E,EAAM4K,aAAajC,SAAU,EAC7B,MAEF,KAAK3H,EAAM2D,uBACT3E,EAAM4K,aAAajC,SAAU,EAC7B9I,EACEmV,EAAOpJ,QAAQ7C,SACfw6B,qBAAmBxwC,iBACnBiN,EAAM4K,aAAa7B,UAGrB/I,EAAM4K,aAAa9B,QAAUkM,EAAOpJ,QAAQ9C,QAC5C,MAEF,KAAK9H,EAAM4D,qBACT5E,EAAM4K,aAAajC,SAAU,EAC7B3I,EAAM4K,aAAazN,MAAQ6X,EAAOpJ,QAAQzO,MAC1C,MAEF,KAAK6D,EAAMiF,kCACTjG,EAAM4K,aAAajC,SAAU,EAC7B,MAEF,KAAK3H,EAAMkF,kCACTlG,EAAM4K,aAAajC,SAAU,EAC7B5H,EACEiU,EAAOpJ,QAAQ7C,SACfw6B,qBAAmBxwC,iBACnBiN,EAAM4K,aAAa7B,UAGrB/I,EAAM4K,aAAa9B,QAAUkM,EAAOpJ,QAAQ9C,QAC5C,MAEF,KAAK9H,EAAMmF,gCACTnG,EAAM4K,aAAajC,SAAU,EAC7B3I,EAAM4K,aAAazN,MAAQ6X,EAAOpJ,QAAQzO,MAC1C,MAEF,KAAK6D,EAAM8G,yBACT9H,EAAM6K,eAAe/B,SAAU,EAC/B9I,EAAM6K,eAAe7B,kBAAoB,GACzChJ,EAAM6K,eAAelC,SAAU,EAC/B3I,EAAM6K,eAAe5B,SAAU,EAC/BjJ,EAAM6K,eAAe1N,MAAQ,GAC7B,MAEF,KAAK6D,EAAM+G,yBACT/H,EAAM6K,eAAe/B,QAAUkM,EAAOpJ,QAAQkE,UAC9C9P,EAAM6K,eAAe7B,kBACnBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,EAAMgH,uBACThI,EAAM6K,eAAe1N,MAAQ6X,EAAOpJ,QAAQzO,MAC5C6C,EAAM6K,eAAe5B,SAAU,EAC/BjJ,EAAM6K,eAAe7B,kBACnBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,EAAMiH,uBACTjI,EAAM6K,eAAe/B,SAAU,EAC/B9I,EAAM6K,eAAe7B,kBAAoB,GACzChJ,EAAM6K,eAAelC,SAAU,EAC/B3I,EAAM6K,eAAe5B,SAAU,EAC/BjJ,EAAM6K,eAAe1N,MAAQ,GAC7B,MAEF,KAAK6D,EAAMgD,0BACThE,EAAM+K,gBAAgBpC,SAAU,EAChC,MAEF,KAAK3H,EAAMiD,0BACTjE,EAAM+K,gBAAgBpC,SAAU,EAChC3I,EAAM+K,gBAAgBhC,SAAWiM,EAAOpJ,QAAQ7C,SAChD/I,EAAM+K,gBAAgBjC,QAAUkM,EAAOpJ,QAAQ9C,QAC/C,MAEF,KAAK9H,EAAMkD,wBACTlE,EAAM+K,gBAAgBpC,SAAU,EAChC3I,EAAM+K,gBAAgB9B,SAAU,EAChCjJ,EAAM+K,gBAAgB5N,MAAQ6X,EAAOpJ,QAAQzO,MAC7C,MAEF,KAAK6D,EAAMmD,wBACTnE,EAAM+K,gBAAgBpC,SAAU,EAChC3I,EAAM+K,gBAAgBjC,SAAU,EAChC9I,EAAM+K,gBAAgBhC,SAAW,GACjC/I,EAAM+K,gBAAgB/B,kBAAoB,GAC1ChJ,EAAM+K,gBAAgB5N,MAAQ,KAC9B6C,EAAM+K,gBAAgB9B,SAAU,EAChC,MAEF,KAAKjI,EAAM6D,0BACT7E,EAAMgL,gBAAgBrC,SAAU,EAChC,MAEF,KAAK3H,EAAM8D,0BACT9E,EAAMgL,gBAAgBrC,SAAU,EAChC3I,EAAMgL,gBAAgBjC,SAAWiM,EAAOpJ,QAAQ7C,SAChD/I,EAAMgL,gBAAgBlC,QAAUkM,EAAOpJ,QAAQ9C,QAC/C,MAEF,KAAK9H,EAAM+D,wBACT/E,EAAMgL,gBAAgBrC,SAAU,EAChC3I,EAAMgL,gBAAgB/B,SAAU,EAChCjJ,EAAMgL,gBAAgB7N,MAAQ6X,EAAOpJ,QAAQzO,MAC7C,MAEF,KAAK6D,EAAMgE,gCACThF,EAAMkL,qBAAqBvC,SAAU,EACrC,MAEF,KAAK3H,EAAMkE,gCACTlF,EAAMkL,qBAAqBvC,SAAU,EACrC3I,EAAMkL,qBAAqBpC,SAAU,EACrC/H,EACE,IAAKiU,EAAOpJ,QAAQ7C,SAAU3I,OAAQ,SACtC,CACEtN,MAAO,SAETkN,EAAMkL,qBAAqBnC,UAE7B,MAEF,KAAK/H,EAAMiE,8BACTjF,EAAMkL,qBAAqB/N,MAAQ6X,EAAOpJ,QAAQzO,MAClD,MAEF,KAAK6D,EAAMmE,kCACTnF,EAAMmL,uBAAuBxC,SAAU,EACvC,MAEF,KAAK3H,EAAMoE,gCACTpF,EAAMmL,uBAAuBhO,MAAQ6X,EAAOpJ,QAAQzO,MACpD,MAEF,KAAK6D,EAAMqE,kCACTrF,EAAMmL,uBAAuBxC,SAAU,EACvC3I,EAAMmL,uBAAuBpC,SAAW,IACnCiM,EAAOpJ,QAAQ7C,SAClBuK,oBAAqB0B,EAAOpJ,QAAQ0H,qBAEtCtT,EAAMmL,uBAAuBrC,SAAU,EACvC,MAEF,KAAK9H,EAAMsE,iDACTtF,EAAMmL,uBAAuBxC,SAAU,EACvC,MAEF,KAAK3H,EAAM6+C,iDACT7/C,EAAMmL,uBAAuBhO,MAAQ6X,EAAOpJ,QAAQzO,MACpD,MAEF,KAAK6D,EAAMwE,iDACTxF,EAAMmL,uBAAuBxC,SAAU,EACvC3I,EAAMmL,uBAAuBpC,SAAW,CACtCq4B,QAASpsB,EAAOpJ,QAAQ7C,SAAS+2C,aACjCC,gBAAiB,OACjBzsC,oBAAqB0B,EAAOpJ,QAAQ0H,qBAEtCtT,EAAMmL,uBAAuBrC,SAAU,EACvC,MAEF,KAAK9H,EAAMyE,mCACTzF,EAAMoL,aAAaC,KAAK1C,SAAU,EAClC3I,EAAMoL,aAAaC,KAAKvC,SAAU,EAClC9I,EAAMoL,aAAaG,MAAMpO,MAAQ,KACjC,MAEF,KAAK6D,EAAM0E,mCACT1F,EAAMoL,aAAaC,KAAK1C,SAAU,EAClC3I,EAAMoL,aAAaC,KAAKvC,SAAU,EAClC9I,EAAMoL,aAAaC,KAAKC,QACtB0J,EAAOpJ,QAAQ7C,SAASi3C,oBAC1B,MAEF,KAAKh/C,EAAM2E,iCACT3F,EAAMoL,aAAaC,KAAK1C,SAAU,EAClC3I,EAAMoL,aAAaC,KAAKlO,MAAQ6X,EAAOpJ,QAAQzO,MAC/C,MAEF,KAAK6D,EAAM4E,iCACT5F,EAAMoL,aAAaC,KAAK1C,SAAU,EAClC3I,EAAMoL,aAAaC,KAAKvC,SAAU,EAClC9I,EAAMoL,aAAaC,KAAKlO,MAAQ,KAChC,MAEF,KAAK6D,EAAMgF,kDAMX,KAAKhF,EAAM6E,oDACT7F,EAAMoL,aAAaG,MAAM5C,SAAU,EACnC3I,EAAMoL,aAAaG,MAAMzC,SAAU,EACnC9I,EAAMoL,aAAaG,MAAMtC,SAAU,EACnC,MAEF,KAAKjI,EAAM+E,kDACT/F,EAAMoL,aAAaG,MAAM5C,SAAU,EACnC3I,EAAMoL,aAAaG,MAAMtC,SAAU,EACnCjJ,EAAMoL,aAAaG,MAAMpO,MAAQ6X,EAAOpJ,QAAQzO,MAChD,MAEF,KAAK6D,EAAM8E,oDACT9F,EAAMoL,aAAaG,MAAM5C,SAAU,EACnC3I,EAAMoL,aAAaG,MAAMzC,SAAU,EACnC,MAEF,KAAK9H,EAAMsH,4CACTtI,EAAMiL,iCAAiCtC,SAAU,EACjD3I,EAAMiL,iCAAiCnC,SAAU,EACjD9I,EAAMiL,iCAAiC9N,MAAQ,KAC/C6C,EAAMiL,iCAAiChC,QAAU,KACjDjJ,EAAMiL,iCAAiCjC,kBAAoB,KAC3D,MAEF,KAAKhI,EAAMuH,4CACTvI,EAAMiL,iCAAiCtC,SAAU,EACjD3I,EAAMiL,iCAAiCnC,QACrCkM,EAAOpJ,QAAQkE,UACjB9P,EAAMiL,iCAAiClC,SACrCiM,EAAOpJ,QAAQ7C,SACjB/I,EAAMiL,iCAAiChC,SAAU,EACjD,MAEF,KAAKjI,EAAMwH,0CACTxI,EAAMiL,iCAAiCtC,SAAU,EACjD3I,EAAMiL,iCAAiChC,SAAU,EACjDjJ,EAAMiL,iCAAiC9N,MAAQ6X,EAAOpJ,QAAQzO,MAC9D6C,EAAMiL,iCAAiCjC,kBACrCgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,EAAMyH,0CACTzI,EAAMiL,iCAAiCtC,SAAU,EACjD3I,EAAMiL,iCAAiChC,SAAU,EACjDjJ,EAAMiL,iCAAiCnC,SAAU,EACjD9I,EAAMiL,iCAAiC9N,MAAQ,GAC/C6C,EAAMiL,iCAAiCjC,kBAAoB,GAC3D,MAEF,KAAKhI,EAAMiG,6BACTjH,EAAMoK,iBAAiBzB,SAAU,EACjC3I,EAAMoK,iBAAiBE,MAAQ0K,EAAOpJ,QAAQF,OAAOg2B,SACrD1hC,EAAMoK,iBAAiBtB,SAAU,EACjC9I,EAAMoK,iBAAiBnB,SAAU,EACjCjJ,EAAMoK,iBAAiBjN,MAAQ,OuD9rCrCyjC,W1BNa,WAAoD,IAAhCxD,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC9D,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAM2I,SAAU,EAChB,MAEF,KAAK3H,GACHhB,EAAM2I,SAAU,EAChB3I,EAAM+I,SAAWiM,EAAOpJ,QAAQ7C,SAChC/I,EAAM8I,QAAUkM,EAAOpJ,QAAQ9C,QAC/B,MAEF,KAAK9H,GACHhB,EAAM2I,SAAU,EAChB3I,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,U0BRnCupB,Q/B0Va,WAAiD,IAAhC0W,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC3D,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC9I,EACEmV,EAAOpJ,QAAQ7C,SACfkmC,iBAAel8C,iBACfiN,EAAMqzB,oBAAoBtqB,UAG5B/I,EAAMqzB,oBAAoBvqB,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC3I,EAAMqzB,oBAAoBl2B,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC5H,EACEiU,EAAOpJ,QAAQ7C,SACfkmC,iBAAel8C,iBACfiN,EAAMqzB,oBAAoBtqB,UAG5B/I,EAAMqzB,oBAAoBvqB,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMqzB,oBAAoB1qB,SAAU,EACpC3I,EAAMqzB,oBAAoBl2B,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GAQL,KAAKA,GACHhB,EAAMozB,mBAAmBtqB,SAAU,EACnC9I,EAAMozB,mBAAmBnqB,SAAU,EACnCjJ,EAAMozB,mBAAmBj2B,MAAQ,KACjC6C,EAAMozB,mBAAmBzqB,SAAU,EACnC3I,EAAMozB,mBAAmBpqB,kBAAoB,GAC7C,MAEF,KAAKhI,GACHhB,EAAMozB,mBAAmBtqB,QAAUkM,EAAOpJ,QAAQkE,UAElD,MAEF,KAAK9O,GACHhB,EAAMozB,mBAAmBj2B,MAAQ6X,EAAOpJ,QAAQzO,MAChD6C,EAAMozB,mBAAmBnqB,SAAU,EACnCjJ,EAAMozB,mBAAmBpqB,kBACvBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMszB,eAAe3qB,SAAU,EAC/B3I,EAAMszB,eAAexqB,SAAU,EAC/B9I,EAAMszB,eAAen2B,MAAQ,KAC7B6C,EAAMszB,eAAetqB,kBAAoB,KACzC,MAEF,KAAKhI,GACHhB,EAAMszB,eAAe3qB,SAAU,EAC/B3I,EAAMszB,eAAexqB,QAAUkM,EAAOpJ,QAAQkE,UAC9C9P,EAAMszB,eAAevqB,SAAWiM,EAAOpJ,QAAQ0pB,YAC/C,MAEF,KAAKt0B,GACHhB,EAAMszB,eAAe3qB,SAAU,EAC/B3I,EAAMszB,eAAen2B,MAAQ6X,EAAOpJ,QAAQzO,MAC5C6C,EAAMszB,eAAetqB,kBACnBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GAQL,KAAKA,GACHhB,EAAMmzB,mBAAmBrqB,SAAU,EACnC9I,EAAMmzB,mBAAmBnqB,kBAAoB,GAC7ChJ,EAAMmzB,mBAAmBxqB,SAAU,EACnC3I,EAAMmzB,mBAAmBlqB,SAAU,EACnCjJ,EAAMmzB,mBAAmBh2B,MAAQ,GACjC,MAEF,KAAK6D,GACHhB,EAAMmzB,mBAAmBrqB,QAAUkM,EAAOpJ,QAAQkE,UAClD9P,EAAMmzB,mBAAmBnqB,kBACvBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMmzB,mBAAmBh2B,MAAQ6X,EAAOpJ,QAAQzO,MAChD6C,EAAMmzB,mBAAmBlqB,SAAU,EACnCjJ,EAAMmzB,mBAAmBnqB,kBACvBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMkzB,WAAWvqB,SAAU,EAC3B3I,EAAMkzB,WAAWpqB,SAAU,EAC3B9I,EAAMkzB,WAAW/1B,MAAQ,KACzB6C,EAAMkzB,WAAWlqB,kBAAoB,KACrChJ,EAAMkzB,WAAWjqB,SAAU,EAC3B,MAEF,KAAKjI,GACHhB,EAAMkzB,WAAWvqB,SAAU,EAC3B3I,EAAMkzB,WAAWpqB,QAAUkM,EAAOpJ,QAAQkE,UAC1C9P,EAAMkzB,WAAWnqB,SAAWiM,EAAOpJ,QAAQsnB,WAC3ClzB,EAAMkzB,WAAWjqB,SAAU,EAE3B,MAEF,KAAKjI,GACHhB,EAAMkzB,WAAWvqB,SAAU,EAC3B3I,EAAMkzB,WAAW/1B,MAAQ6X,EAAOpJ,QAAQzO,MACxC6C,EAAMkzB,WAAWlqB,kBAAoBgM,EAAOpJ,QAAQ5C,kBACpDhJ,EAAMkzB,WAAWjqB,SAAU,EAC3BjJ,EAAMkzB,WAAWpqB,SAAU,EAC3B,MAEF,KAAK9H,GACHhB,EAAMkzB,WAAWpqB,SAAU,EAC3B9I,EAAMkzB,WAAWjqB,SAAU,EAC3BjJ,EAAMkzB,WAAW/1B,MAAQ,KACzB6C,EAAMkzB,WAAWvqB,SAAU,EAC3B3I,EAAMkzB,WAAWlqB,kBAAoB,KACrC,MAEF,KAAKhI,GACHhB,EAAM6zB,sBAAsBlrB,SAAU,EACtC3I,EAAM6zB,sBAAsB/qB,SAAU,EACtC9I,EAAM6zB,sBAAsB5qB,SAAU,EACtCjJ,EAAM6zB,sBAAsB12B,MAAQ,KACpC6C,EAAM6zB,sBAAsB7qB,kBAAoB,GAChD,MAEF,KAAKhI,GACHhB,EAAM6zB,sBAAsBlrB,SAAU,EACtC3I,EAAM6zB,sBAAsB/qB,SAAU,EACtC9I,EAAM6zB,sBAAsB5qB,SAAU,EACtCjJ,EAAM6zB,sBAAsB12B,MAAQ,KACpC6C,EAAM6zB,sBAAsB7qB,kBAAoB,GAChD,MAEF,KAAKhI,GACHhB,EAAM6zB,sBAAsBlrB,SAAU,EACtC3I,EAAM6zB,sBAAsB/qB,QAAUkM,EAAOpJ,QAAQkE,UACrD9P,EAAM6zB,sBAAsB7qB,kBAC1BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM6zB,sBAAsBlrB,SAAU,EACtC3I,EAAM6zB,sBAAsB12B,MAAQ6X,EAAOpJ,QAAQzO,MACnD6C,EAAM6zB,sBAAsB5qB,SAAU,EACtC,MAEF,KAAKjI,GACHhB,EAAMuzB,eAAe5qB,SAAU,EAC/B3I,EAAMuzB,eAAezqB,SAAU,EAC/B9I,EAAMuzB,eAAep2B,MAAQ,KAC7B6C,EAAMuzB,eAAevqB,kBAAoB,KACzC,MAEF,KAAKhI,GACHhB,EAAMuzB,eAAe5qB,SAAU,EAC/B3I,EAAMuzB,eAAezqB,QAAUkM,EAAOpJ,QAAQkE,UAC9C9P,EAAMuzB,eAAexqB,SAAWiM,EAAOpJ,QAAQsqB,YAC/C,MAEF,KAAKl1B,GACHhB,EAAMuzB,eAAe5qB,SAAU,EAC/B3I,EAAMuzB,eAAep2B,MAAQ6X,EAAOpJ,QAAQzO,MAC5C6C,EAAMuzB,eAAevqB,kBACnBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM+zB,WAAWjrB,SAAU,EAC3B9I,EAAM+zB,WAAW9qB,SAAU,EAC3BjJ,EAAM+zB,WAAWprB,SAAU,EAC3B3I,EAAM+zB,WAAW52B,MAAQ,GACzB,MAEF,KAAK6D,GACHhB,EAAM+zB,WAAWjrB,SAAU,EAC3B9I,EAAM+zB,WAAW9qB,SAAU,EAC3BjJ,EAAM+zB,WAAWprB,SAAU,EAC3B,MAEF,KAAK3H,GACHhB,EAAM+zB,WAAWjrB,SAAU,EAC3B9I,EAAM+zB,WAAWprB,SAAU,EAC3B,MAEF,KAAK3H,GACHhB,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,MAC7B6C,EAAM+zB,WAAW9qB,SAAU,EAC3BjJ,EAAM+zB,WAAW52B,MAAQ6X,EAAOpJ,QAAQzO,MACxC6C,EAAM+zB,WAAWprB,SAAU,EAC3B,MAEF,KAAK3H,GACHhB,EAAMwzB,mBAAmB7qB,SAAU,EACnC3I,EAAMwzB,mBAAmB1qB,SAAU,EACnC9I,EAAMwzB,mBAAmBr2B,MAAQ,KACjC6C,EAAMwzB,mBAAmBxqB,kBAAoB,KAC7C,MAEF,KAAKhI,GACHhB,EAAMwzB,mBAAmB7qB,SAAU,EACnC3I,EAAMwzB,mBAAmB1qB,QAAUkM,EAAOpJ,QAAQkE,UAClD9P,EAAMwzB,mBAAmBzqB,SAAWiM,EAAOpJ,QAAQ0pB,YACnD,MAEF,KAAKt0B,GACHhB,EAAMwzB,mBAAmB7qB,SAAU,EACnC3I,EAAMwzB,mBAAmBr2B,MAAQ6X,EAAOpJ,QAAQzO,MAChD6C,EAAMwzB,mBAAmBxqB,kBACvBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM4zB,iBAAiBjrB,SAAU,EACjC3I,EAAM4zB,iBAAiB9qB,SAAU,EACjC9I,EAAM4zB,iBAAiB3qB,SAAU,EACjCjJ,EAAM4zB,iBAAiBz2B,MAAQ,KAC/B6C,EAAM4zB,iBAAiB5qB,kBAAoB,KAC3C,MAEF,KAAKhI,GACHhB,EAAM4zB,iBAAiBjrB,SAAU,EACjC3I,EAAM4zB,iBAAiB9qB,SAAU,EACjC9I,EAAM4zB,iBAAiB3qB,SAAU,EACjCjJ,EAAM4zB,iBAAiBz2B,MAAQ,KAC/B6C,EAAM4zB,iBAAiB5qB,kBAAoB,KAC3C,MAEF,KAAKhI,GACHhB,EAAM4zB,iBAAiBjrB,SAAU,EACjC3I,EAAM4zB,iBAAiB3qB,SAAU,EACjCjJ,EAAM4zB,iBAAiB9qB,QAAUkM,EAAOpJ,QAAQkE,UAChD9P,EAAM4zB,iBAAiB7qB,SAAWiM,EAAOpJ,QAAQ7C,SACjD,MAEF,KAAK/H,GACHhB,EAAM4zB,iBAAiBjrB,SAAU,EACjC3I,EAAM4zB,iBAAiB3qB,SAAU,EACjCjJ,EAAM4zB,iBAAiBz2B,MAAQ6X,EAAOpJ,QAAQzO,MAC9C6C,EAAM4zB,iBAAiB5qB,kBACrBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM8zB,iBAAiBnrB,SAAU,EACjC3I,EAAM8zB,iBAAiBhrB,SAAU,EACjC9I,EAAM8zB,iBAAiB7qB,SAAU,EACjCjJ,EAAM8zB,iBAAiB32B,MAAQ,KAC/B6C,EAAM8zB,iBAAiB9qB,kBAAoB,KAC3C,MAEF,KAAKhI,GACHhB,EAAM8zB,iBAAiBnrB,SAAU,EACjC3I,EAAM8zB,iBAAiBhrB,SAAU,EACjC9I,EAAM8zB,iBAAiB7qB,SAAU,EACjCjJ,EAAM8zB,iBAAiB32B,MAAQ,KAC/B6C,EAAM8zB,iBAAiB9qB,kBAAoB,KAC3C,MAEF,KAAKhI,GACHhB,EAAM8zB,iBAAiBnrB,SAAU,EACjC3I,EAAM8zB,iBAAiB7qB,SAAU,EACjCjJ,EAAM8zB,iBAAiBhrB,SAAU,EACjC9I,EAAM8zB,iBAAiB/qB,SAAWiM,EAAOpJ,QAAQ7C,SACjD,MAEF,KAAK/H,GACHhB,EAAM8zB,iBAAiBnrB,SAAU,EACjC3I,EAAM8zB,iBAAiB7qB,SAAU,EACjCjJ,EAAM8zB,iBAAiB32B,MAAQ6X,EAAOpJ,QAAQzO,MAC9C6C,EAAM8zB,iBAAiB9qB,kBACrBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMyzB,0BAA0B9qB,SAAU,EAC1C3I,EAAMyzB,0BAA0B3qB,SAAU,EAC1C9I,EAAMyzB,0BAA0Bt2B,MAAQ,KACxC6C,EAAMyzB,0BAA0BzqB,kBAAoB,KACpD,MAEF,KAAKhI,GACHhB,EAAMyzB,0BAA0B9qB,SAAU,EAC1C3I,EAAMyzB,0BAA0B3qB,QAAUkM,EAAOpJ,QAAQkE,UACzD9P,EAAMyzB,0BAA0B1qB,SAASxI,KACvCyU,EAAOpJ,QAAQyrB,sBACjBr3B,EAAMyzB,0BAA0B1qB,SAAS1I,KACvC2U,EAAOpJ,QAAQyrB,sBAAsB/2B,MACvC,MAEF,KAAKU,GACHhB,EAAMyzB,0BAA0B9qB,SAAU,EAC1C3I,EAAMyzB,0BAA0Bt2B,MAAQ6X,EAAOpJ,QAAQzO,MACvD6C,EAAMyzB,0BAA0BzqB,kBAC9BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMg0B,8BAA8BrrB,SAAU,EAC9C3I,EAAMg0B,8BAA8BlrB,SAAU,EAC9C9I,EAAMg0B,8BAA8B72B,MAAQ,KAC5C6C,EAAMg0B,8BAA8B/qB,QAAU,KAC9CjJ,EAAMg0B,8BAA8BhrB,kBAAoB,KACxD,MAEF,KAAKhI,GACHhB,EAAMg0B,8BAA8BrrB,SAAU,EAC9C3I,EAAMg0B,8BAA8BlrB,QAAUkM,EAAOpJ,QAAQkE,UAC7D9P,EAAMg0B,8BAA8BjrB,SAAWiM,EAAOpJ,QAAQ7C,SAC9D/I,EAAMg0B,8BAA8B/qB,SAAU,EAC9C,MAEF,KAAKjI,GACHhB,EAAM8zB,iBAAiBnrB,SAAU,EACjC3I,EAAM8zB,iBAAiB7qB,SAAU,EACjCjJ,EAAM8zB,iBAAiB32B,MAAQ6X,EAAOpJ,QAAQzO,MAC9C6C,EAAM8zB,iBAAiB9qB,kBACrBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMi0B,yBAAyBtrB,SAAU,EACzC3I,EAAMi0B,yBAAyBnrB,SAAU,EACzC9I,EAAMi0B,yBAAyB92B,MAAQ,KACvC6C,EAAMi0B,yBAAyBhrB,QAAU,KACzCjJ,EAAMi0B,yBAAyBjrB,kBAAoB,KACnD,MAEF,KAAKhI,GACHhB,EAAMi0B,yBAAyBtrB,SAAU,EACzC3I,EAAMi0B,yBAAyBnrB,QAAUkM,EAAOpJ,QAAQkE,UACxD9P,EAAMi0B,yBAAyBlrB,SAAWiM,EAAOpJ,QAAQ7C,SACzD/I,EAAMi0B,yBAAyBhrB,SAAU,EACzC,MAEF,KAAKjI,GACHhB,EAAMk0B,uBAAuBvrB,SAAU,EACvC3I,EAAMk0B,uBAAuBjrB,SAAU,EACvCjJ,EAAMk0B,uBAAuB/2B,MAAQ6X,EAAOpJ,QAAQzO,MACpD6C,EAAMk0B,uBAAuBlrB,kBAC3BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMk0B,uBAAuBvrB,SAAU,EACvC3I,EAAMk0B,uBAAuBprB,SAAU,EACvC9I,EAAMk0B,uBAAuB/2B,MAAQ,KACrC6C,EAAMk0B,uBAAuBjrB,QAAU,KACvCjJ,EAAMk0B,uBAAuBlrB,kBAAoB,KACjD,MAEF,KAAKhI,GACHhB,EAAMk0B,uBAAuBvrB,SAAU,EACvC3I,EAAMk0B,uBAAuBprB,QAAUkM,EAAOpJ,QAAQkE,UACtD9P,EAAMk0B,uBAAuBnrB,SAAWiM,EAAOpJ,QAAQ7C,SACvD/I,EAAMk0B,uBAAuBjrB,SAAU,EACvC,MAEF,KAAKjI,GACHhB,EAAMk0B,uBAAuBvrB,SAAU,EACvC3I,EAAMk0B,uBAAuBjrB,SAAU,EACvCjJ,EAAMk0B,uBAAuB/2B,MAAQ6X,EAAOpJ,QAAQzO,MACpD6C,EAAMk0B,uBAAuBlrB,kBAC3BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMm0B,uBAAuBxrB,SAAU,EACvC3I,EAAMm0B,uBAAuBrrB,SAAU,EACvC9I,EAAMm0B,uBAAuBh3B,MAAQ,KACrC6C,EAAMm0B,uBAAuBlrB,QAAU,KACvCjJ,EAAMm0B,uBAAuBnrB,kBAAoB,KACjD,MAEF,KAAKhI,GACHhB,EAAMm0B,uBAAuBxrB,SAAU,EACvC3I,EAAMm0B,uBAAuBrrB,QAAUkM,EAAOpJ,QAAQkE,UACtD9P,EAAMm0B,uBAAuBprB,SAAWiM,EAAOpJ,QAAQ7C,SACvD/I,EAAMm0B,uBAAuBlrB,SAAU,EACvC,MAEF,KAAKjI,GACHhB,EAAMm0B,uBAAuBxrB,SAAU,EACvC3I,EAAMm0B,uBAAuBlrB,SAAU,EACvCjJ,EAAMm0B,uBAAuBh3B,MAAQ6X,EAAOpJ,QAAQzO,MACpD6C,EAAMm0B,uBAAuBnrB,kBAC3BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMo0B,0BAA0BzrB,SAAU,EAC1C3I,EAAMo0B,0BAA0BtrB,SAAU,EAC1C9I,EAAMo0B,0BAA0Bj3B,MAAQ,KACxC6C,EAAMo0B,0BAA0BnrB,QAAU,KAC1CjJ,EAAMo0B,0BAA0BprB,kBAAoB,KACpD,MAEF,KAAKhI,GACHhB,EAAMo0B,0BAA0BzrB,SAAU,EAC1C3I,EAAMo0B,0BAA0BtrB,QAAUkM,EAAOpJ,QAAQkE,UACzD9P,EAAMo0B,0BAA0BrrB,SAAWiM,EAAOpJ,QAAQ7C,SAC1D/I,EAAMo0B,0BAA0B8D,mBAC9BljB,EAAOpJ,QAAQssB,mBACjBl4B,EAAMo0B,0BAA0Bj3B,MAAQ6X,EAAOpJ,QAAQusB,OACvDn4B,EAAMo0B,0BAA0BnrB,SAAU,EAC1C,MAEF,KAAKjI,GACHhB,EAAMo0B,0BAA0BzrB,SAAU,EAC1C3I,EAAMo0B,0BAA0BnrB,SAAU,EAC1CjJ,EAAMo0B,0BAA0Bj3B,MAAQ6X,EAAOpJ,QAAQzO,MACvD6C,EAAMo0B,0BAA0BprB,kBAC9BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMs0B,sBAAsB3rB,SAAU,EACtC3I,EAAMs0B,sBAAsBxrB,SAAU,EACtC9I,EAAMs0B,sBAAsBn3B,MAAQ,KACpC6C,EAAMs0B,sBAAsBrrB,QAAU,KACtCjJ,EAAMs0B,sBAAsBtrB,kBAAoB,KAChD,MAEF,KAAKhI,GACHhB,EAAMs0B,sBAAsB3rB,SAAU,EACtC3I,EAAMs0B,sBAAsBxrB,QAAUkM,EAAOpJ,QAAQkE,UACrD9P,EAAMs0B,sBAAsBvrB,SAAWiM,EAAOpJ,QAAQ7C,SACtD/I,EAAMs0B,sBAAsBrrB,SAAU,EACtC,MAEF,KAAKjI,GACHhB,EAAMs0B,sBAAsB3rB,SAAU,EACtC3I,EAAMs0B,sBAAsBrrB,SAAU,EACtCjJ,EAAMs0B,sBAAsBn3B,MAAQ6X,EAAOpJ,QAAQzO,MACnD6C,EAAMs0B,sBAAsBtrB,kBAC1BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMu0B,yBAAyB5rB,SAAU,EACzC3I,EAAMu0B,yBAAyBzrB,SAAU,EACzC9I,EAAMu0B,yBAAyBp3B,MAAQ,KACvC6C,EAAMu0B,yBAAyBtrB,QAAU,KACzCjJ,EAAMu0B,yBAAyBvrB,kBAAoB,KACnD,MAEF,KAAKhI,GACHhB,EAAMu0B,yBAAyB5rB,SAAU,EACzC3I,EAAMu0B,yBAAyBzrB,QAAUkM,EAAOpJ,QAAQkE,UACxD9P,EAAMu0B,yBAAyBxrB,SAAWiM,EAAOpJ,QAAQ7C,SACzD/I,EAAMu0B,yBAAyBtrB,SAAU,EACzCjJ,EAAMu0B,yBAAyB2D,mBAC7BljB,EAAOpJ,QAAQssB,mBACjBl4B,EAAMu0B,yBAAyBp3B,MAAQ6X,EAAOpJ,QAAQusB,OACtD,MAEF,KAAKn3B,GACHhB,EAAMu0B,yBAAyB5rB,SAAU,EACzC3I,EAAMu0B,yBAAyBtrB,SAAU,EACzCjJ,EAAMu0B,yBAAyBp3B,MAAQ6X,EAAOpJ,QAAQzO,MACtD6C,EAAMu0B,yBAAyBvrB,kBAC7BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMu0B,yBAAyB5rB,SAAU,EACzC3I,EAAMu0B,yBAAyBzrB,SAAU,EACzC9I,EAAMu0B,yBAAyBp3B,MAAQ,KACvC6C,EAAMu0B,yBAAyBtrB,QAAU,KACzCjJ,EAAMu0B,yBAAyBvrB,kBAAoB,KACnDhJ,EAAMo0B,0BAA0BzrB,SAAU,EAC1C3I,EAAMo0B,0BAA0BtrB,SAAU,EAC1C9I,EAAMo0B,0BAA0Bj3B,MAAQ,KACxC6C,EAAMo0B,0BAA0BnrB,QAAU,KAC1CjJ,EAAMo0B,0BAA0BprB,kBAAoB,KACpDhJ,EAAMo0B,0BAA0B8D,oBAAqB,EACrDl4B,EAAM20B,wBAAwBhsB,SAAU,EACxC3I,EAAM20B,wBAAwBC,WAAY,EAC1C50B,EAAM20B,wBAAwB7rB,SAAU,EACxC9I,EAAM20B,wBAAwBx3B,MAAQ,KACtC6C,EAAM20B,wBAAwB1rB,QAAU,KACxCjJ,EAAM20B,wBAAwB3rB,kBAAoB,KAClDhJ,EAAM20B,wBAAwBuD,oBAAqB,EACnD,MAEF,KAAKl3B,GACHhB,EAAMw0B,0BAA0B7rB,SAAU,EAC1C3I,EAAMw0B,0BAA0B1rB,SAAU,EAC1C9I,EAAMw0B,0BAA0Br3B,MAAQ,KACxC6C,EAAMw0B,0BAA0BvrB,QAAU,KAC1CjJ,EAAMw0B,0BAA0BxrB,kBAAoB,KACpD,MAEF,KAAKhI,GACHhB,EAAMw0B,0BAA0B7rB,SAAU,EAC1C3I,EAAMw0B,0BAA0B1rB,QAAUkM,EAAOpJ,QAAQkE,UACzD9P,EAAMw0B,0BAA0BzrB,SAAWiM,EAAOpJ,QAAQ7C,SAC1D/I,EAAMw0B,0BAA0BvrB,SAAU,EAC1C,MAEF,KAAKjI,GACHhB,EAAMw0B,0BAA0B7rB,SAAU,EAC1C3I,EAAMw0B,0BAA0BvrB,SAAU,EAC1CjJ,EAAMw0B,0BAA0Br3B,MAAQ6X,EAAOpJ,QAAQzO,MACvD6C,EAAMw0B,0BAA0BxrB,kBAC9BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAMy0B,+BAA+B9rB,SAAU,EAC/C3I,EAAMy0B,+BAA+B3rB,SAAU,EAC/C9I,EAAMy0B,+BAA+Bt3B,MAAQ,KAC7C6C,EAAMy0B,+BAA+BxrB,QAAU,KAC/C,MAEF,KAAKjI,GACHhB,EAAMy0B,+BAA+B9rB,SAAU,EAC/C3I,EAAMy0B,+BAA+B3rB,QAAUkM,EAAOpJ,QAAQkE,UAC9D9P,EAAMy0B,+BAA+B1rB,SAAWiM,EAAOpJ,QAAQ7C,SAC/D/I,EAAMy0B,+BAA+BxrB,SAAU,EAC/C,MAEF,KAAKjI,GACHhB,EAAMy0B,+BAA+B9rB,SAAU,EAC/C3I,EAAMy0B,+BAA+BxrB,SAAU,EAC/CjJ,EAAMy0B,+BAA+Bt3B,MAAQ6X,EAAOpJ,QAAQzO,MAE5D,MAEF,KAAK6D,GACHhB,EAAM00B,4BAA4B/rB,SAAU,EAC5C3I,EAAM00B,4BAA4B5rB,SAAU,EAC5C9I,EAAM00B,4BAA4Bv3B,MAAQ,KAC1C6C,EAAM00B,4BAA4BzrB,QAAU,KAC5C,MAEF,KAAKjI,GACHhB,EAAM00B,4BAA4B/rB,SAAU,EAC5C3I,EAAM00B,4BAA4B5rB,QAAUkM,EAAOpJ,QAAQkE,UAC3D9P,EAAM00B,4BAA4BzrB,SAAU,EAC5C,MAEF,KAAKjI,GACHhB,EAAM00B,4BAA4B/rB,SAAU,EAC5C3I,EAAM00B,4BAA4BzrB,SAAU,EAC5CjJ,EAAM00B,4BAA4Bv3B,MAAQ6X,EAAOpJ,QAAQzO,MAEzD,MAEF,KAAK6D,GACHhB,EAAM20B,wBAAwBhsB,SAAU,EACxC3I,EAAM20B,wBAAwBC,UAAY5f,EAAOpJ,QAAQgpB,UACzD50B,EAAM20B,wBAAwB7rB,SAAU,EACxC9I,EAAM20B,wBAAwBx3B,MAAQ,KACtC6C,EAAM20B,wBAAwB1rB,QAAU,KACxC,MAEF,KAAKjI,GACHhB,EAAM20B,wBAAwBhsB,SAAU,EACxC3I,EAAM20B,wBAAwB7rB,QAAUkM,EAAOpJ,QAAQkE,UACvD9P,EAAM20B,wBAAwB5rB,SAAWiM,EAAOpJ,QAAQ7C,SACxD/I,EAAM20B,wBAAwB1rB,SAAU,EACxCjJ,EAAM20B,wBAAwB0E,oBAC5BrkB,EAAOpJ,QAAQytB,oBACjBr5B,EAAM20B,wBAAwBx3B,MAAQ6X,EAAOpJ,QAAQusB,OACrD,MAEF,KAAKn3B,GACHhB,EAAM20B,wBAAwBhsB,SAAU,EACxC3I,EAAM20B,wBAAwB1rB,SAAU,EACxCjJ,EAAM20B,wBAAwBx3B,MAAQ6X,EAAOpJ,QAAQzO,MACrD6C,EAAM20B,wBAAwBC,WAAY,EAC1C,MAEF,KAAK5zB,GACHhB,EAAM60B,+BAA+BlsB,SAAU,EAC/C3I,EAAM60B,+BAA+B/rB,SAAU,EAC/C9I,EAAM60B,+BAA+B13B,MAAQ,KAC7C6C,EAAM60B,+BAA+B5rB,QAAU,KAC/C,MAEF,KAAKjI,GACHhB,EAAM60B,+BAA+BlsB,SAAU,EAC/C3I,EAAM60B,+BAA+B/rB,QAAUkM,EAAOpJ,QAAQkE,UAC9D9P,EAAM60B,+BAA+B9rB,SAAWiM,EAAOpJ,QAAQ7C,SAC/D/I,EAAM60B,+BAA+B5rB,SAAU,EAC/CjJ,EAAM60B,+BAA+BwE,oBACnCrkB,EAAOpJ,QAAQytB,oBACjBr5B,EAAM60B,+BAA+B13B,MAAQ6X,EAAOpJ,QAAQusB,OAC5D,MAEF,KAAKn3B,GACHhB,EAAM60B,+BAA+BlsB,SAAU,EAC/C3I,EAAM60B,+BAA+B5rB,SAAU,EAC/CjJ,EAAM60B,+BAA+B13B,MAAQ6X,EAAOpJ,QAAQzO,MAC5D,MAEF,KAAmB6D,GACjBhB,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM7C,MAAQ,KACd6C,EAAMiJ,SAAU,EAChBjJ,EAAM2yB,uBAAyB,GAC/B,MAEF,KAAK3xB,GACHhB,EAAM4yB,eAAiB5d,EAAOpJ,QAAQgnB,eACtC,MAEF,KAAK5xB,GACHhB,EAAM4yB,eAAiB,GACvB,MAGF,KAAK5xB,GACHhB,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM7C,MAAQ,KACd6C,EAAMiJ,SAAU,EAChBjJ,EAAM2yB,uBAAyB3d,EAAOpJ,QAAQ7C,SAC9C,MAEF,KAAK/H,GACHhB,EAAM2I,SAAU,EAChB3I,EAAM8I,SAAU,EAChB9I,EAAM7C,MAAQ6X,EAAOpJ,QAAQzO,MAC7B6C,EAAMiJ,SAAU,EAChBjJ,EAAM2yB,uBAAyB,O+B9+BrC9kB,YvB+Ha,WAAqD,IAAhCuvB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC/D,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMysC,qBAAqB9jC,SAAU,EACrC3I,EAAMysC,qBAAqB3jC,SAAU,EACrC9I,EAAMysC,qBAAqBtvC,MAAQ,KACnC6C,EAAMysC,qBAAqBzjC,kBAAoB,KAC/C,MAEF,KAAKhI,GAAuC,IAADi/C,EACzCjgD,EAAMysC,qBAAqB9jC,SAAU,EACrC3I,EAAMysC,qBAAqB3jC,QAAUkM,EAAOpJ,QAAQkE,UACpD9P,EAAMysC,qBAAqB1jC,SAASxI,KAClCyU,EAAOpJ,QAAQmhC,kBACjB/sC,EAAMysC,qBAAqB1jC,SAAS1I,KACF,QADM4/C,EACtCjrC,EAAOpJ,QAAQmhC,yBAAiB,IAAAkT,OAAA,EAAhCA,EAAkC3/C,MACpC,MAEF,KAAKU,GACHhB,EAAMysC,qBAAqB9jC,SAAU,EACrC3I,EAAMysC,qBAAqBtvC,MAAQ6X,EAAOpJ,QAAQzO,MAClD6C,EAAMysC,qBAAqBzjC,kBACzBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM2zB,gBAAgBhrB,SAAU,EAChC3I,EAAM2zB,gBAAgB7qB,SAAU,EAChC9I,EAAM2zB,gBAAgBx2B,MAAQ,KAC9B6C,EAAM2zB,gBAAgB3qB,kBAAoB,KAC1C,MAEF,KAAKhI,GACHhB,EAAM2zB,gBAAgBhrB,SAAU,EAChC3I,EAAM2zB,gBAAgB7qB,QAAUkM,EAAOpJ,QAAQkE,UAC/C9P,EAAM2zB,gBAAgB5qB,SAASxI,KAAOyU,EAAOpJ,QAAQq6B,aACrDjmC,EAAM2zB,gBAAgB5qB,SAAS1I,KAAO2U,EAAOpJ,QAAQq6B,aAAa3lC,MAClE,MAEF,KAAKU,GACHhB,EAAM2zB,gBAAgBhrB,SAAU,EAChC3I,EAAM2zB,gBAAgBx2B,MAAQ6X,EAAOpJ,QAAQzO,MAC7C6C,EAAM2zB,gBAAgB3qB,kBACpBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM0zB,qBAAqB/qB,SAAU,EACrC3I,EAAM0zB,qBAAqB5qB,SAAU,EACrC9I,EAAM0zB,qBAAqBv2B,MAAQ,KACnC6C,EAAM0zB,qBAAqB1qB,kBAAoB,KAC/C,MAEF,KAAKhI,GAAsC,CACzChB,EAAM0zB,qBAAqB/qB,SAAU,EACrC3I,EAAM0zB,qBAAqB5qB,QAAUkM,EAAOpJ,QAAQkE,UACpD9P,EAAM0zB,qBAAqB3qB,SAAWiM,EAAOpJ,QAAQwhC,kBACrD,MAAM8S,EAAYlgD,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQwhC,kBAAkBvU,QAI7D,GAFAqnB,EAAU1Y,aAAc,EAEpBxyB,EAAOpJ,QAAQwhC,kBAAkBxD,gBAAgBvtC,OAAS,EAAG,CAC/D,MAAM8jD,EAAU/U,GACdp2B,EAAOpJ,QAAQwhC,kBAAkBxD,gBACjC,EACAsW,EACAlrC,EAAOpJ,QAAQwhC,kBAAkBvF,SACjC,EACA7yB,EAAOpJ,QAAQwhC,kBAAkB9O,KACjCtpB,EAAOpJ,QAAQwhC,kBAAkBt9B,WAEnCswC,cACEF,EAAUtb,QACV5vB,EAAOpJ,QAAQwhC,kBAAkB9O,QAC9B6hB,QAGLD,EAAUtb,QAAQlX,KAChByZ,GAAU,2CAWd,MAEF,KAAKnmC,GACHhB,EAAM0zB,qBAAqB/qB,SAAU,EACrC3I,EAAM0zB,qBAAqBv2B,MAAQ6X,EAAOpJ,QAAQzO,MAClD6C,EAAM0zB,qBAAqB1qB,kBACzBgM,EAAOpJ,QAAQ5C,kBACChJ,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAEjC2O,aAAc,EACxB,MAEF,KAAKxmC,GACHhB,EAAM0sC,0BAA0B/jC,SAAU,EAC1C3I,EAAM0sC,0BAA0B5jC,SAAU,EAC1C9I,EAAM0sC,0BAA0BvvC,MAAQ,KACxC6C,EAAM0sC,0BAA0B1jC,kBAAoB,KACpD,MAEF,KAAKhI,GAA2C,CAAC,IAADq/C,EAC9CrgD,EAAM0sC,0BAA0B/jC,SAAU,EAC1C3I,EAAM0sC,0BAA0B5jC,QAAUkM,EAAOpJ,QAAQkE,UACzD9P,EAAM0sC,0BAA0B3jC,SAC9BiM,EAAOpJ,QAAQ2hC,uBAEjB,MAAM2S,EAAYlgD,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQ2hC,uBAAuB1U,QAGlE,GADAqnB,EAAU1Y,aAAc,GACgC,QAApD6Y,EAAArrC,EAAOpJ,QAAQ2hC,uBAAuBjE,sBAAc,IAAA+W,OAAA,EAApDA,EAAsDhkD,QAAS,EAAG,CACpE,MAAM8jD,EAAU/U,GACdp2B,EAAOpJ,QAAQ2hC,uBAAuBjE,eACtC,EACA4W,EACAlrC,EAAOpJ,QAAQ2hC,uBAAuB1F,SACtC7yB,EAAOpJ,QAAQ2hC,uBAAuB1Q,kBACtC7nB,EAAOpJ,QAAQ2hC,uBAAuBjP,MACtC,GAGA4hB,EAAUva,qBACVuB,iCAA+Bl2C,WAAW,GAE1CovD,cACEF,EAAUtb,QACV5vB,EAAOpJ,QAAQ2hC,uBAAuBjP,KACtC6hB,GAGFC,cACEF,EAAUtb,QACV5vB,EAAOpJ,QAAQ2hC,uBAAuBjP,QACnC6hB,QAIPD,EAAUtb,QAAQlX,KAChByZ,GAAU,0CAGd,MAEF,KAAKnmC,GACHhB,EAAM0sC,0BAA0B/jC,SAAU,EAC1C3I,EAAM0sC,0BAA0BvvC,MAAQ6X,EAAOpJ,QAAQzO,MACvD6C,EAAM0sC,0BAA0B1jC,kBAC9BgM,EAAOpJ,QAAQ5C,kBACChJ,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAEjC2O,aAAc,EACxB,MAEF,KAAKxmC,GACHhB,EAAM2sC,oBAAoBhkC,SAAU,EACpC3I,EAAM2sC,oBAAoB7jC,SAAU,EACpC9I,EAAM2sC,oBAAoBxvC,MAAQ,KAClC6C,EAAM2sC,oBAAoB3jC,kBAAoB,KAC9C,MAEF,KAAKhI,GAAqC,CACxChB,EAAM2sC,oBAAoBhkC,SAAU,EACpC3I,EAAM2sC,oBAAoB7jC,QAAUkM,EAAOpJ,QAAQkE,UACnD9P,EAAM2sC,oBAAoB5jC,SAAWiM,EAAOpJ,QAAQ8hC,iBACpD,MAAMwS,EAAYlgD,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQ8hC,iBAAiB7U,QAG5D,GADAqnB,EAAU1Y,aAAc,EACpBxyB,EAAOpJ,QAAQ8hC,iBAAiBrE,UAAUhtC,OAAS,EAAG,CACxD,MAAM8jD,EAAU/U,GACdp2B,EAAOpJ,QAAQ8hC,iBAAiBrE,UAChC,EACA6W,EACAlrC,EAAOpJ,QAAQ8hC,iBAAiB7F,SAChC,EACA7yB,EAAOpJ,QAAQ8hC,iBAAiBpP,MAChC,GAEF8hB,cAAIF,EAAUtb,QAAS5vB,EAAOpJ,QAAQ8hC,iBAAiBpP,KAAM6hB,GAC7DC,cACEF,EAAUtb,QACV,IAAI5vB,EAAOpJ,QAAQ8hC,iBAAiBpP,KAAM,YAC1C,QAGF5N,cACEwvB,EAAUtb,QACV5vB,EAAOpJ,QAAQ8hC,iBAAiBrG,aAChCK,eAAgB,EAEpB,MAEF,KAAK1mC,GACehB,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQ8hC,iBAAiB7U,QAElD2O,aAAc,EACxBxnC,EAAM2sC,oBAAoBhkC,SAAU,EACpC3I,EAAM2sC,oBAAoBxvC,MAAQ6X,EAAOpJ,QAAQzO,MACjD6C,EAAM2sC,oBAAoB3jC,kBACxBgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM4sC,iBAAiBjkC,SAAU,EACjC3I,EAAM4sC,iBAAiB9jC,SAAU,EACjC9I,EAAM4sC,iBAAiBzvC,MAAQ,KAC/B6C,EAAM4sC,iBAAiB5jC,kBAAoB,KAC3ChJ,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQksB,MAAMwH,KAC/BoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAG5B,MAEF,KAAKzmC,GACHhB,EAAM4sC,iBAAiBjkC,SAAU,EACjC3I,EAAM4sC,iBAAiB9jC,QAAUkM,EAAOpJ,QAAQkE,UAChD9P,EAAM4sC,iBAAiB7jC,SAAWiM,EAAOpJ,QAAQ7C,SAUjD/I,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ7C,SAASu2B,KAClCoR,GAAMnF,EAAE1S,SAAW6X,EAAE7X,QAEpB6M,IACF6F,EAAEvF,SAAW,CACXC,aAAcP,EAAKM,SAAS+M,kBAC5BxO,YAAamB,EAAKM,SAASgN,iBAC3B9M,OAAQR,EAAKM,SAASiN,cAG1B1H,EAAE9D,aAAc,IAElB,MAEF,KAAKzmC,GACHhB,EAAM4sC,iBAAiBjkC,SAAU,EACjC3I,EAAM4sC,iBAAiBzvC,MAAQ6X,EAAOpJ,QAAQzO,MAC9C6C,EAAM4sC,iBAAiB5jC,kBACrBgM,EAAOpJ,QAAQ5C,kBACjBhJ,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQksB,MAAMwH,KAC/BoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5B,MAEF,KAAKzmC,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQksB,MAAMwH,KAC/BoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5BznC,EAAM6sC,uBAAuBlkC,SAAU,EACvC3I,EAAM6sC,uBAAuB/jC,SAAU,EACvC9I,EAAM6sC,uBAAuB1vC,MAAQ,KACrC6C,EAAM6sC,uBAAuB7jC,kBAAoB,KACjD,MAEF,KAAKhI,GACHhB,EAAM6sC,uBAAuBlkC,SAAU,EACvC3I,EAAM6sC,uBAAuB/jC,QAAUkM,EAAOpJ,QAAQkE,UACtD9P,EAAM6sC,uBAAuB9jC,SAAWiM,EAAOpJ,QAAQ7C,SAUvD/I,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ7C,SAASu2B,KAClCoR,GAAMnF,EAAE1S,SAAW6X,EAAE7X,QAEpB6M,IACF6F,EAAEvF,SAAW,CACXzB,YAAamB,EAAKM,SAASgN,iBAC3B9M,OAAQR,EAAKM,SAASiN,cAG1B1H,EAAE9D,aAAc,IAElB,MAEF,KAAKzmC,GACHhB,EAAM6sC,uBAAuBlkC,SAAU,EACvC3I,EAAM6sC,uBAAuB1vC,MAAQ6X,EAAOpJ,QAAQzO,MACpD6C,EAAM6sC,uBAAuB7jC,kBAC3BgM,EAAOpJ,QAAQ5C,kBACjBhJ,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQksB,MAAMwH,KAC/BoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5B,MAEF,KAAKzmC,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQoiC,QAAQ1O,KACjCiM,GACCA,EAAE1S,SAAW1L,EAAE0L,QACf0S,EAAE+E,sBAAwBnjB,EAAE2L,oBAG9B3L,EAAE+d,UAAWl2B,EAAOpJ,QAAQgpB,YAAqBzH,EAAE+d,SACnD/d,EAAE6Y,SAAWP,GAAetY,MAIhC,MAEF,KAAKnsB,GACHhB,EAAMupC,mBAAqBvpC,EAAMupC,mBAAmBtpC,IAAKylC,KAC/C,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAM7M,UAAW7jB,EAAOpJ,QAAQitB,SAClC6M,EAAKd,QAAU5vB,EAAOpJ,QAAQg5B,QAC9Bc,EAAK4a,gBAAkBtrC,EAAOpJ,QAAQ00C,gBACtC5a,EAAK7M,OAAS7jB,EAAOpJ,QAAQitB,UAGjC,MAEF,KAAK73B,GACHhB,EAAMupC,mBAAqB,IACtBvpC,EAAMupC,sBACNv0B,EAAOpJ,QAAQqiC,aAEpB,MAEF,KAAKjtC,GACHgU,EAAOpJ,QAAQksB,MAAM73B,IAAK8jC,IACxB/jC,EAAMupC,mBAAmB7b,KAAKud,GAAQlH,MAExC,MAEF,KAAK/iC,GACHhB,EAAMupC,mBAAqBvpC,EAAMupC,mBAAmBntC,OACjDspC,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAE3C,MAEF,KAAK73B,GACHhB,EAAMupC,mBAAmBjK,KACtBoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QACzCyF,KAAOtpB,EAAOpJ,QAAQ45B,SACxB,MAEF,KAAKxkC,GAA0C,CAC7C,MAAMk/C,EAAYlgD,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAE3CnI,cAAIwvB,EAAUtb,QAAS5vB,EAAOpJ,QAAQy7B,aAAaxC,MACjD7vB,EAAOpJ,QAAQi5B,MAEb7vB,EAAOpJ,QAAQi5B,OACjBU,GACE2a,EAAUtb,QACV5vB,EAAOpJ,QAAQi5B,MACf7vB,EAAOpJ,QAAQy7B,aAOnB1C,GACEjU,cAAIwvB,EAAUtb,QAAS5vB,EAAOpJ,QAAQy7B,aACtCryB,EAAOpJ,QAAQi5B,OAGZ7vB,EAAOpJ,QAAQs5B,WAClBxU,cACEwvB,EAAUtb,QACV5vB,EAAOpJ,QAAQw7B,aAAaX,MAC1B,EACAzxB,EAAOpJ,QAAQw7B,aAAa/qC,OAAS,IAEvCojC,MAAQxjC,YACRy0B,cAAIwvB,EAAUtb,QAAS5vB,EAAOpJ,QAAQw7B,cACrClN,IAAkB,IAAZA,EAAE2K,OAGX2B,GACE0Z,EAAUtb,QACV5vB,EAAOpJ,QAAQy7B,YACf3W,cACEwvB,EAAUtb,QACV5vB,EAAOpJ,QAAQy7B,YAAYZ,MACzB,EACAzxB,EAAOpJ,QAAQy7B,YAAYhrC,OAAS,IAEtCojC,QAQNuF,GAAetU,cAAIwvB,EAAUtb,QAAS5vB,EAAOpJ,QAAQy7B,cACrDlC,GAAgB+a,EAAUtb,QAAS5vB,EAAOpJ,QAAQy7B,aAClD,MAEF,KAAKrmC,GACHhB,EAAMupC,mBAAqB,GAC3B,MAEF,KAAKvoC,GACehB,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAEjC2O,YAAcxyB,EAAOpJ,QAAQjD,QACvC,MAEF,KAAK3H,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQksB,MAAMwH,KAAMiM,GAAMpe,EAAE0L,SAAW0S,EAAE1S,UAEnD1L,EAAEsa,YAAczyB,EAAOpJ,QAAQjD,WAE3C,MAEF,KAAK3H,GAAwC,CAC3C,MAAMk/C,EAAYlgD,EAAMupC,mBAAmBjK,KACxCoG,GAASA,EAAK7M,SAAW7jB,EAAOpJ,QAAQitB,QAEvCqnB,IACFA,EAAUtb,QAAU4G,GAAYx2B,EAAOpJ,QAAQ7C,UAC/Cm3C,EAAUK,UAAW,GAGvB,MAEF,KAAKv/C,GACHhB,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ6iC,wBACxBz5B,EAAOpJ,QAAQ4iC,SAASlP,KACrBoR,IAAC,IAAA8P,EAAAC,EAAA,OACC,OAADlV,QAAC,IAADA,OAAC,EAADA,EAAGp9B,OAAQ,OAADuiC,QAAC,IAADA,GAAO,QAAN8P,EAAD9P,EAAGqB,YAAI,IAAAyO,OAAN,EAADA,EAAS7W,qBAClB,OAAD4B,QAAC,IAADA,OAAC,EAADA,EAAGp9B,OAAQ,OAADuiC,QAAC,IAADA,GAAO,QAAN+P,EAAD/P,EAAGqB,YAAI,IAAA0O,OAAN,EAADA,EAAS5jB,qBAEvB7nB,EAAOpJ,QAAQ4iC,SAASlP,KACrBoR,GAAMnF,EAAEzS,mBAAqB4X,EAAEqB,KAAKjZ,kBAEvC4M,IACF6F,EAAE3G,QAAU4G,GAAY9F,EAAKsM,MAC7BzG,EAAEgV,UAAW,EACbhV,EAAEJ,kBAAoBzF,EAAKsM,KAAKpI,gBAAgB3pC,IAC7CsrC,GAAMA,EAAE1O,sBAKf,MAEF,KAAK77B,GACHhB,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ4iC,SAASlP,KAClCoR,GAAMnF,EAAE1S,SAAW6X,EAAE7X,QAEpB6M,IACF6F,EAAE3G,QAAU4G,GAAY9F,EAAKsM,MAC7BzG,EAAEgV,UAAW,EACbhV,EAAEJ,kBAAoBzF,EAAKsM,KAAKpI,gBAAgB3pC,IAC7CsrC,GAAMA,EAAE1O,mBAEX0O,EAAEvF,SAAWN,EAAKM,YAItB,MAEF,KAAKhlC,GACHhB,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ4iC,SAASlP,KAClCoR,GAAMnF,EAAEzS,mBAAqB4X,EAAEL,qBAE9B3K,IAAM6F,EAAEzS,iBAAmB4M,EAAK4K,uBAGtC,MAEF,KAAKtvC,GACHhB,EAAMupC,mBAAmBkH,QAASlF,IAChC,MAAM7F,EAAO1wB,EAAOpJ,QAAQ4iC,SAASlP,KAClCoR,GACCnF,EAAEzS,mBAAqB4X,EAAEL,qBACzB9E,EAAE1S,SAAW6X,EAAE7X,QAEf6M,IAAM6F,EAAEzS,iBAAmB4M,EAAK4K,uBAGtC,MAEF,KAAKtvC,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IAChC,MAAMuY,EAAO1wB,EAAOpJ,QAAQ8iC,cAAcpP,KACvCiM,GAAMA,EAAEzS,mBAAqB3L,EAAE2L,kBAG9B4M,IAAMvY,EAAE6Y,SAAWwG,GAAgB9G,EAAKC,mBAAoBD,MAGlE,MAEF,KAAK1kC,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQF,OAAO4zB,KAChCoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5B,MAEF,KAAKzmC,GASL,KAAKA,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQF,OAAO4zB,KAChCoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5B,MAEF,KAAKzmC,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQF,OAAO4zB,KAChCoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,KAE5B,MAEF,KAAKzmC,GAWL,KAAKA,GACHhB,EAAMupC,mBAAmBkH,QAAStjB,IACnBnY,EAAOpJ,QAAQF,OAAO4zB,KAChCoG,GAASvY,EAAE0L,SAAW6M,EAAK7M,UAEpB1L,EAAEsa,aAAc,SuBrsBlCiZ,UFEa,WAAmD,IAAhCtjB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC7D,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAM4K,aAAajC,SAAU,EAC7B,MAEF,KAAK3H,GACHhB,EAAM4K,aAAajC,SAAU,EAC7B9I,EACEmV,EAAOpJ,QAAQ7C,SACfw6B,qBAAmBxwC,iBACnBiN,EAAM4K,aAAa7B,UAGrB/I,EAAM4K,aAAa9B,QAAUkM,EAAOpJ,QAAQ9C,QAC5C,MAEF,KAAK9H,GACHhB,EAAM4K,aAAajC,SAAU,EAC7B3I,EAAM4K,aAAazN,MAAQ6X,EAAOpJ,QAAQzO,UErBhDmM,afiCa,WAAsD,IAAhC8zB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAChE,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMy3C,uBAAuB9uC,SAAU,EACvC,MAEF,KAAK3H,GACHhB,EAAMy3C,uBAAuB9uC,SAAU,EACvC3I,EAAMy3C,uBAAuB1uC,SAAWiM,EAAOpJ,QAAQ7C,SACvD/I,EAAMy3C,uBAAuB3uC,QAAUkM,EAAOpJ,QAAQ9C,QACtD,MAEF,KAAK9H,GACHhB,EAAMy3C,uBAAuB9uC,SAAU,EACvC3I,EAAMy3C,uBAAuBxuC,SAAU,EACvCjJ,EAAMy3C,uBAAuBt6C,MAAQ6X,EAAOpJ,QAAQzO,MACpD,MAEF,KAAK6D,GACHhB,EAAMw3C,oBAAoB7uC,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMw3C,oBAAoB7uC,SAAU,EACpC3I,EAAMw3C,oBAAoBzuC,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAMw3C,oBAAoB1uC,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMw3C,oBAAoB7uC,SAAU,EACpC3I,EAAMw3C,oBAAoBvuC,SAAU,EACpCjJ,EAAMw3C,oBAAoBr6C,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GACHhB,EAAM03C,oBAAoB/uC,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAM03C,oBAAoB/uC,SAAU,EACpC3I,EAAM03C,oBAAoB3uC,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAM03C,oBAAoB5uC,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAM03C,oBAAoB/uC,SAAU,EACpC3I,EAAM03C,oBAAoBzuC,SAAU,EACpCjJ,EAAM03C,oBAAoBv6C,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GACHhB,EAAM03C,oBAAoB/uC,SAAU,EACpC3I,EAAM03C,oBAAoB5uC,SAAU,EACpC9I,EAAM03C,oBAAoB3uC,SAAW,GACrC/I,EAAM03C,oBAAoB1uC,kBAAoB,GAC9ChJ,EAAM03C,oBAAoBv6C,MAAQ,KAClC6C,EAAM03C,oBAAoBzuC,SAAU,EACpC,MAEF,KAAKjI,GACHhB,EAAM23C,0BAA0B7uC,SAAU,EAC1C9I,EAAM23C,0BAA0B3uC,kBAAoB,GACpDhJ,EAAM23C,0BAA0BhvC,SAAU,EAC1C3I,EAAM23C,0BAA0B1uC,SAAU,EAC1CjJ,EAAM23C,0BAA0Bx6C,MAAQ,GACxC,MAEF,KAAK6D,GACHhB,EAAM23C,0BAA0B7uC,QAAUkM,EAAOpJ,QAAQkE,UACzD9P,EAAM23C,0BAA0B3uC,kBAC9BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM23C,0BAA0Bx6C,MAAQ6X,EAAOpJ,QAAQzO,MACvD6C,EAAM23C,0BAA0B1uC,SAAU,EAC1CjJ,EAAM23C,0BAA0B3uC,kBAC9BgM,EAAOpJ,QAAQ5C,kBACjB,MAEF,KAAKhI,GACHhB,EAAM23C,0BAA0B7uC,SAAU,EAC1C9I,EAAM23C,0BAA0B3uC,kBAAoB,GACpDhJ,EAAM23C,0BAA0BhvC,SAAU,EAC1C3I,EAAM23C,0BAA0B1uC,SAAU,EAC1CjJ,EAAM23C,0BAA0Bx6C,MAAQ,OetH9CwjD,yBACAC,aACAC,aACAC,aACAC,iBACAC,WjBqGa,WAAoD,IAAhC5jB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC9D,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMg0C,uBAAuBrrC,SAAU,EACvC,MAEF,KAAK3H,GACHhB,EAAMg0C,uBAAuBrrC,SAAU,EACvC3I,EAAMg0C,uBAAuBjrC,SAAWiM,EAAOpJ,QAAQ7C,SACvD/I,EAAMg0C,uBAAuBlrC,QAAUkM,EAAOpJ,QAAQ9C,QACtD,MAEF,KAAK9H,GACHhB,EAAMg0C,uBAAuBrrC,SAAU,EACvC3I,EAAMg0C,uBAAuB/qC,SAAU,EACvCjJ,EAAMg0C,uBAAuB72C,MAAQ6X,EAAOpJ,QAAQzO,MACpD,MAEF,KAAK6D,GACHhB,EAAMi0C,wBAAwBtrC,SAAU,EACxC,MAEF,KAAK3H,GACHhB,EAAMi0C,wBAAwBtrC,SAAU,EACxC3I,EAAMi0C,wBAAwBlrC,SAAWiM,EAAOpJ,QAAQ7C,SACxD/I,EAAMi0C,wBAAwBnrC,QAAUkM,EAAOpJ,QAAQ9C,QACvD,MAEF,KAAK9H,GACHhB,EAAMi0C,wBAAwBtrC,SAAU,EACxC3I,EAAMi0C,wBAAwBhrC,SAAU,EACxCjJ,EAAMi0C,wBAAwB92C,MAAQ6X,EAAOpJ,QAAQzO,MACrD,MAEF,KAAK6D,GACHhB,EAAMo0C,qBAAqBzrC,SAAU,EACrC,MAEF,KAAK3H,GACHhB,EAAMo0C,qBAAqBzrC,SAAU,EACrC3I,EAAMo0C,qBAAqBrrC,SAAWiM,EAAOpJ,QAAQ7C,SACrD/I,EAAMo0C,qBAAqBtrC,QAAUkM,EAAOpJ,QAAQ9C,QACpD,MAEF,KAAK9H,GACHhB,EAAMo0C,qBAAqBzrC,SAAU,EACrC3I,EAAMo0C,qBAAqBnrC,SAAU,EACrCjJ,EAAMo0C,qBAAqBj3C,MAAQ6X,EAAOpJ,QAAQzO,MAClD,MAEF,KAAK6D,GACHhB,EAAMk0C,iBAAiBvrC,SAAU,EACjC,MAEF,KAAK3H,GACHhB,EAAMk0C,iBAAiBvrC,SAAU,EACjC3I,EAAMk0C,iBAAiBnrC,SAAWiM,EAAOpJ,QAAQ7C,SACjD/I,EAAMk0C,iBAAiBprC,QAAUkM,EAAOpJ,QAAQ9C,QAChD,MAEF,KAAK9H,GACHhB,EAAMk0C,iBAAiBvrC,SAAU,EACjC3I,EAAMk0C,iBAAiBjrC,SAAU,EACjCjJ,EAAMk0C,iBAAiB/2C,MAAQ6X,EAAOpJ,QAAQzO,MAC9C,MAEF,KAAK6D,GACHhB,EAAMm0C,iBAAiBxrC,SAAU,EACjC,MAEF,KAAK3H,GACHhB,EAAMm0C,iBAAiBxrC,SAAU,EACjC3I,EAAMm0C,iBAAiBprC,SAAWiM,EAAOpJ,QAAQ7C,SACjD/I,EAAMm0C,iBAAiBrrC,QAAUkM,EAAOpJ,QAAQ9C,QAChD,MAEF,KAAK9H,GACHhB,EAAMm0C,iBAAiBxrC,SAAU,EACjC3I,EAAMm0C,iBAAiBlrC,SAAU,EACjCjJ,EAAMm0C,iBAAiBh3C,MAAQ6X,EAAOpJ,QAAQzO,MAC9C,MAEF,KAAK6D,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC,MAEF,KAAK3H,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC3I,EAAMs0C,mBAAmBvrC,SAAWiM,EAAOpJ,QAAQ7C,SACnD/I,EAAMs0C,mBAAmBxrC,QAAUkM,EAAOpJ,QAAQ9C,QAClD,MAEF,KAAK9H,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC3I,EAAMs0C,mBAAmBrrC,SAAU,EACnCjJ,EAAMs0C,mBAAmBn3C,MAAQ6X,EAAOpJ,QAAQzO,MAChD,MAEF,KAAK6D,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC,MAEF,KAAK3H,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC3I,EAAMs0C,mBAAmBvrC,SAAWiM,EAAOpJ,QAAQ7C,SACnD/I,EAAMs0C,mBAAmBxrC,QAAUkM,EAAOpJ,QAAQ9C,QAClD,MAEF,KAAK9H,GACHhB,EAAMs0C,mBAAmB3rC,SAAU,EACnC3I,EAAMs0C,mBAAmBrrC,SAAU,EACnCjJ,EAAMs0C,mBAAmBn3C,MAAQ6X,EAAOpJ,QAAQzO,MAChD,MAEF,KAAK6D,GACHhB,EAAMu0C,oBAAoB5rC,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMu0C,oBAAoB5rC,SAAU,EACpC3I,EAAMu0C,oBAAoBxrC,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAMu0C,oBAAoBzrC,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMu0C,oBAAoB5rC,SAAU,EACpC3I,EAAMu0C,oBAAoBtrC,SAAU,EACpCjJ,EAAMu0C,oBAAoBp3C,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GACHhB,EAAMw0C,wBAAwB7rC,SAAU,EACxC,MAEF,KAAK3H,GACHhB,EAAMw0C,wBAAwB7rC,SAAU,EACxC3I,EAAMw0C,wBAAwBzrC,SAAWiM,EAAOpJ,QAAQ7C,SACxD/I,EAAMw0C,wBAAwB1rC,QAAUkM,EAAOpJ,QAAQ9C,QACvD,MAEF,KAAK9H,GACHhB,EAAMw0C,wBAAwB7rC,SAAU,EACxC3I,EAAMw0C,wBAAwBvrC,SAAU,EACxCjJ,EAAMw0C,wBAAwBr3C,MAAQ6X,EAAOpJ,QAAQzO,MACrD,MAEF,KAAK6D,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC3I,EAAMq0C,oBAAoBtrC,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAMq0C,oBAAoBvrC,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC3I,EAAMq0C,oBAAoBprC,SAAU,EACpCjJ,EAAMq0C,oBAAoBl3C,MAAQ6X,EAAOpJ,QAAQzO,MACjD,MAEF,KAAK6D,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC3I,EAAMq0C,oBAAoBtrC,SAAWiM,EAAOpJ,QAAQ7C,SACpD/I,EAAMq0C,oBAAoBvrC,QAAUkM,EAAOpJ,QAAQ9C,QACnD,MAEF,KAAK9H,GACHhB,EAAMq0C,oBAAoB1rC,SAAU,EACpC3I,EAAMq0C,oBAAoBprC,SAAU,EACpCjJ,EAAMq0C,oBAAoBl3C,MAAQ6X,EAAOpJ,QAAQzO,UiBpRvD8jD,cnBAa,WAAuD,IAAhC7jB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EACjE,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMmzC,iBAAiBxqC,SAAU,EACjC,MAEF,KAAK3H,GACHhB,EAAMmzC,iBAAiBxqC,SAAU,EACjC3I,EAAMmzC,iBAAiBpqC,SAAWiM,EAAOpJ,QAAQ7C,SACjD/I,EAAMmzC,iBAAiBrqC,QAAUkM,EAAOpJ,QAAQ9C,QAChD9I,EAAMmzC,iBAAiBh2C,OAAQ,EAC/B,MAEF,KAAK6D,GACHhB,EAAMmzC,iBAAiBxqC,SAAU,EACjC,MAEF,KAAK3H,GAA4C,CAC/ChB,EAAMmzC,iBAAiBxqC,SAAU,EACjC,MAAMu4C,EAAgBlhD,EAAMmzC,iBAAiBpqC,SAASqqC,MAAM+N,UACzDpjD,GAASA,EAAKu1C,SAAWt+B,EAAOpJ,QAAQ7C,SAASuqC,QAGpD,IAAuB,IAAnB4N,EAKF,OAHAlhD,EAAMmzC,iBAAiBpqC,SAASqqC,MAAM8N,GACpClsC,EAAOpJ,QAAQ7C,SAInB/I,EAAMmzC,iBAAiBrqC,QAAUkM,EAAOpJ,QAAQ9C,QAChD9I,EAAMmzC,iBAAiBh2C,OAAQ,EAC/B,MAEF,KAAK6D,GACHhB,EAAMmzC,iBAAiBxqC,SAAU,EACjC3I,EAAMmzC,iBAAiBh2C,MAAQ6X,EAAOpJ,QAAQzO,MAC9C6C,EAAMmzC,iBAAiBrqC,SAAU,EACjC,MAEF,KAAK9H,GACHhB,EAAMqzC,WAAW1qC,SAAU,EAC3B,MAEF,KAAK3H,GACHhB,EAAMqzC,WAAW1qC,SAAU,EAC3B3I,EAAMqzC,WAAWtqC,SAAWiM,EAAOpJ,QAAQ7C,SAC3C/I,EAAMqzC,WAAWvqC,QAAUkM,EAAOpJ,QAAQ9C,QAC1C9I,EAAMqzC,WAAWl2C,OAAQ,EACzB,MAEF,KAAK6D,GACHhB,EAAMqzC,WAAW1qC,SAAU,EAC3B3I,EAAMqzC,WAAWl2C,MAAQ6X,EAAOpJ,QAAQzO,MACxC6C,EAAMqzC,WAAWvqC,SAAU,MmBtDjCs4C,KbVa,WAA8C,IAAhChkB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EACxD,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMq4C,mBAAmB1vC,SAAU,EACnC,MAEF,KAAK3H,GACHhB,EAAMq4C,mBAAmB1vC,SAAU,EACnC3I,EAAMq4C,mBAAmB93C,KAAOyU,EAAOpJ,QAAQ7C,SAC/C/I,EAAMq4C,mBAAmBvvC,QAAUkM,EAAOpJ,QAAQ9C,QAClD9I,EAAMq4C,mBAAmBl7C,OAAQ,EACjC,MAGF,KAAK6D,GACHhB,EAAMs4C,kBAAkB3vC,SAAU,EAClC,MAEF,KAAK3H,GACHhB,EAAMs4C,kBAAkB3vC,SAAU,EAClC3I,EAAMs4C,kBAAkB/3C,KAAOyU,EAAOpJ,QAAQ7C,SAC9C/I,EAAMs4C,kBAAkBxvC,QAAUkM,EAAOpJ,QAAQ9C,QACjD9I,EAAMs4C,kBAAkBn7C,OAAQ,MaZtCkkD,mBjCea,WAA4D,IAAhCjkB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EACtE,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC,MAEF,KAAK3H,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC3I,EAAM+xB,wBAAwBxxB,KAAOyU,EAAOpJ,QAAQ7C,SACpD/I,EAAM+xB,wBAAwBjpB,QAAUkM,EAAOpJ,QAAQ9C,QACvD9I,EAAM+xB,wBAAwB50B,OAAQ,EACtC,MAEF,KAAK6D,GACHhB,EAAMiyB,qBAAqBtpB,SAAU,EACrC,MAEF,KAAK3H,GACHhB,EAAMiyB,qBAAqBtpB,SAAU,EACrC3I,EAAMiyB,qBAAqB1xB,KAAOyU,EAAOpJ,QAAQ7C,SACjD/I,EAAMiyB,qBAAqBnpB,QAAUkM,EAAOpJ,QAAQ9C,QACpD9I,EAAMiyB,qBAAqB90B,OAAQ,EACnC,MAEF,KAAK6D,GACHhB,EAAM8xB,YAAYnpB,SAAU,EAC5B,MAEF,KAAK3H,GACHhB,EAAM8xB,YAAYnpB,SAAU,EAC5B3I,EAAM8xB,YAAYvxB,KAAOyU,EAAOpJ,QAAQ7C,SACxC/I,EAAM8xB,YAAYhpB,QAAUkM,EAAOpJ,QAAQ9C,QAC3C9I,EAAM8xB,YAAY30B,OAAQ,EAC1B,MAGF,KAAK6D,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC,MAEF,KAAK3H,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC3I,EAAM+xB,wBAAwBxxB,KAAOyU,EAAOpJ,QAAQ7C,SACpD/I,EAAM+xB,wBAAwBjpB,QAAUkM,EAAOpJ,QAAQ9C,QACvD9I,EAAM+xB,wBAAwB50B,OAAQ,EACtC,MAEF,KAAK6D,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC,MAEF,KAAK3H,GACHhB,EAAM+xB,wBAAwBppB,SAAU,EACxC3I,EAAM+xB,wBAAwBxxB,KAAOyU,EAAOpJ,QAAQ7C,SACpD/I,EAAM+xB,wBAAwBjpB,QAAUkM,EAAOpJ,QAAQ9C,QACvD9I,EAAM+xB,wBAAwB50B,OAAQ,MiCtE5CmkD,wBnCUa,WAAiE,IAAhClkB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,GAAesM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAC3E,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,GACHhB,EAAMgxB,oBAAoBroB,SAAU,EACpC,MAEF,KAAK3H,GACHhB,EAAMgxB,oBAAoBroB,SAAU,EACpC3I,EAAMgxB,oBAAoBzwB,KAAOyU,EAAOpJ,QAAQ7C,SAChD/I,EAAMgxB,oBAAoBloB,QAAUkM,EAAOpJ,QAAQ9C,QACnD9I,EAAMgxB,oBAAoB7zB,OAAQ,EAClC,MAEF,KAAK6D,GACHhB,EAAM+wB,iBAAiBpoB,SAAU,EACjC,MAEF,KAAK3H,GACHhB,EAAM+wB,iBAAiBpoB,SAAU,EACjC3I,EAAM+wB,iBAAiBxwB,KAAOyU,EAAOpJ,QAAQ7C,SAC7C/I,EAAM+wB,iBAAiBjoB,QAAUkM,EAAOpJ,QAAQ9C,QAChD9I,EAAM+wB,iBAAiB5zB,OAAQ,EAC/B,MAGF,KAAK6D,GACHhB,EAAMixB,2BAA2BtoB,SAAU,EAC3C,MAEF,KAAK3H,GACHhB,EAAMixB,2BAA2BtoB,SAAU,EAC3C3I,EAAMixB,2BAA2B1wB,KAAOyU,EAAOpJ,QAAQ7C,SACvD/I,EAAMixB,2BAA2BnoB,QAAUkM,EAAOpJ,QAAQ9C,QAC1D9I,EAAMixB,2BAA2B9zB,OAAQ,EACzC,MAEF,KAAK6D,GACHhB,EAAMkxB,8BAA8BvoB,SAAU,EAC9C,MAEF,KAAK3H,GACHhB,EAAMkxB,8BAA8BvoB,SAAU,EAC9C3I,EAAMkxB,8BAA8B3wB,KAAOyU,EAAOpJ,QAAQ7C,SAC1D/I,EAAMkxB,8BAA8BpoB,QAAUkM,EAAOpJ,QAAQ9C,QAC7D9I,EAAMkxB,8BAA8B/zB,OAAQ,MmCtDlDokD,8BrDSa,WAGZ,IAFDnkB,EAAKtuB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAGpG,EACRsM,EAAMlG,UAAAzS,OAAA,EAAAyS,UAAA,QAAAC,EAEN,OAAOowC,YAAQ/hB,EAAQp9B,IACrB,OAAQgV,EAAOrJ,MACb,KAAK3K,EACHhB,EAAMyV,0BAA0B9M,SAAU,EAC1C,MAEF,KAAK3H,EACHhB,EAAMyV,0BAA0B9M,SAAU,EAC1C3I,EAAMyV,0BAA0BlV,KAAOyU,EAAOpJ,QAAQ7C,SACtD/I,EAAMyV,0BAA0B3M,QAAUkM,EAAOpJ,QAAQ9C,QACzD9I,EAAMyV,0BAA0BtY,OAAQ,EACxC,MAEF,KAAK6D,EACHhB,EAAMwV,uBAAuB7M,SAAU,EACvC,MAEF,KAAK3H,EACHhB,EAAMwV,uBAAuB7M,SAAU,EACvC3I,EAAMwV,uBAAuBjV,KAAOyU,EAAOpJ,QAAQ7C,SACnD/I,EAAMwV,uBAAuB1M,QAAUkM,EAAOpJ,QAAQ9C,QACtD9I,EAAMwV,uBAAuBrY,OAAQ,EACrC,MAGF,KAAK6D,EACHhB,EAAM0V,sBAAsB/M,SAAU,EACtC,MAEF,KAAK3H,EACHhB,EAAM0V,sBAAsB/M,SAAU,EACtC3I,EAAM0V,sBAAsBnV,KAAOyU,EAAOpJ,QAAQ7C,SAClD/I,EAAM0V,sBAAsB5M,QAAUkM,EAAOpJ,QAAQ9C,QACrD9I,EAAM0V,sBAAsBvY,OAAQ,EACpC,MAEF,KAAK6D,EACHhB,EAAM2V,yBAAyBhN,SAAU,EACzC,MAEF,KAAK3H,EACHhB,EAAM2V,yBAAyBhN,SAAU,EACzC3I,EAAM2V,yBAAyBpV,KAAOyU,EAAOpJ,QAAQ7C,SACrD/I,EAAM2V,yBAAyB7M,QAAUkM,EAAOpJ,QAAQ9C,QACxD9I,EAAM2V,yBAAyBxY,OAAQ,QsDtF/C,MAAMqkD,GAAc,GAOdC,GAAiBC,YAAqB,CAAEC,YAFxC,OAINH,GAAY9zB,KAAK+zB,GAAgB7sC,GAEjC,MAEMgtC,GAAQC,aCpBEC,GDqBEA,GCpBSC,YACvB,CACE/4B,IAAK,OACLg5B,YACAC,UAAW,IAEbH,KDeFI,YACEC,eAAmBX,IALRx8B,GAAMA,IClBL88B,OD6BhB,MAAMM,GAAYC,YAAaT,IAE/BH,GAAea,KEqLA,kBACP1jB,cAAI,CAER2jB,qBACEC,EACA7sC,IAEF4sC,qBACEC,EACAhyB,IAEF+xB,qBACEC,EACAhtC,IAEF+sC,qBACEC,EACA9sC,IAKF6sC,qBACEE,GACA7wB,IAEF2wB,qBACEE,GACA/wB,IAEF6wB,qBACEE,GACAzxB,IAEFuxB,qBACEE,GACA1xB,IAIFwxB,qBACEG,GACAnwB,IAEFgwB,qBAAWG,GAA6ChwB,IACxD6vB,qBAAWG,GAAgDjwB,IAC3D8vB,qBACEG,GACA3wB,IAEFwwB,qBAAWG,GAA8C5wB,IAGzDywB,qBAAWI,GAA2BxmB,IACtComB,qBAAWI,GAAyCzlB,IACpDqlB,qBAAWI,GAAoC17B,IAC/Cs7B,qBAAWI,GAA8Bz7B,IACzCq7B,qBAAWI,GAAyCx7B,IACpDo7B,qBAAWI,GAAwCt7B,IACnDk7B,qBAAWI,GAAuCv7B,IAClDm7B,qBAAWI,GAAmCnkB,IAK9C+jB,qBAAWttC,EAAWtS,+BAAgCq9B,IACtDuiB,qBAAWttC,EAAWhU,yBAA0BwK,IAChD82C,qBACEttC,EAAW/T,kCACX49B,IAEFyjB,qBAAWttC,EAAW3T,+BAAgCghC,IACtDigB,qBAAWttC,EAAWzT,8BAA+BggC,IACrD+gB,qBACEttC,EAAWxT,qCACXs9B,IAEFwjB,qBACEttC,EAAWpT,sCACXm9B,IAEFujB,qBAAWttC,EAAW9S,4BAA6Bo9B,IACnDgjB,qBAAWttC,EAAWxS,8BAA+Bw9B,IACrDsiB,qBAAWttC,EAAW5S,yBAA0Bw9B,IAChD0iB,qBAAWttC,EAAWhT,6BAA8Bg9B,IACpDsjB,qBACEttC,EAAW1S,oCACXu9B,IAEFyiB,qBAAWttC,EAAW7Q,mBAAoBqG,IAC1C83C,qBAAWttC,EAAW1Q,8BAA+B28B,IACrDqhB,qBACEttC,EAAW7O,gCACX8D,IAEFq4C,qBAAWttC,EAAW1O,sBAAuBo8B,IAC7C4f,qBAAWttC,EAAW/N,mBAAoB8C,IAC1Cu4C,qBAAWttC,EAAW3N,2BAA4B2C,IAClDs4C,qBAAWttC,EAAW/M,qBAAsBwC,IAC5C63C,qBAAWttC,EAAWvN,8BAA+BiD,IACrD43C,qBAAWttC,EAAWvQ,uBAAwBkG,IAC9C23C,qBACEttC,EAAWhP,kCACXw9B,IAEF8e,qBAAWttC,EAAWnN,yBAA0B+C,IAChD03C,qBAAWttC,EAAWjR,0BAA2B+G,IACjDw3C,qBAAWttC,EAAWpQ,0BAA2BmG,IACjDu3C,qBACEttC,EAAWjQ,gCACXkG,IAEFq3C,qBACEttC,EAAW9P,kCACXgG,IAEFo3C,qBACEttC,EAAW3P,iDACXo+B,IAEF6e,qBACEttC,EAAWxP,mCACXk+B,IAGF4e,qBACEttC,EAAW3M,4CACX2C,IAEFs3C,qBACEttC,EAAWpP,oDACXm+B,IAEFue,qBACEttC,EAAWhO,6BACXg9B,IAEFse,qBAAWttC,EAAWpS,4BAA6B29B,IACnD+hB,qBAAWttC,EAAWlS,2BAA4B49B,IAClD4hB,qBAAWttC,EAAWhS,2BAA4By9B,IAClD6hB,qBACEttC,EAAW7R,gCACX09B,IAEFyhB,qBACEttC,EAAWzR,0CACXkG,IAEF64C,qBAAWttC,EAAW3R,2BAA4B29B,IAClDshB,qBAAWttC,EAAWnR,4BAA6Bk9B,IAInDuhB,qBAAWK,GAAyCxe,IAIpDme,qBAAWM,GAA4CxvB,IACvDkvB,qBACEM,GACA1T,IAEFoT,qBACEM,GACAzvB,IAEFmvB,qBAAWM,GAAwCvvB,IACnDivB,qBAAWM,GAA2CvT,IACtDiT,qBAAWM,GAAoCrT,IAC/C+S,qBACEM,GACAhvB,IAEF0uB,qBAAWM,GAAwCtvB,IACnDgvB,qBAAWM,GAA0C9uB,IACrDwuB,qBAAWM,GAA6CrvB,IACxD+uB,qBAAWM,GAAyCjvB,IACpD2uB,qBAAWM,GAAyC/uB,IACpDyuB,qBACEM,GACApvB,IAEF8uB,qBACEM,GACA7uB,IAEFuuB,qBACEM,GACA5uB,IAEFsuB,qBACEM,GACA3uB,IAEFquB,qBACEM,GACA1uB,IAEFouB,qBACEM,GACAzuB,IAEFmuB,qBACEM,GACAtuB,IAEFuuB,oBACED,GACAvuB,IAEFiuB,qBACEM,GACAruB,IAEF+tB,qBACEM,GACApuB,IAEF8tB,qBACEM,GACAnuB,IAEF6tB,qBACEM,GACAnR,IAEF6Q,qBACEM,GACAluB,IAEF4tB,qBACEM,GACAhuB,IAEF0tB,qBAAWM,GAA2C1Q,IACtDoQ,qBACEM,GACAzQ,IAEFmQ,qBACEM,GACAvQ,IAKFiQ,qBACEQ,GACAtW,IAEF8V,qBAAWQ,GAA2CpvB,IACtDmvB,oBACEC,GACArvB,IAEFovB,oBACEC,GACArW,IAEFoW,oBACEC,GACApW,IAEFmW,oBAAUC,GAA6CnW,IACvDkW,oBACEC,GACAlW,IAIF0V,qBACES,GACAhP,IAEFuO,qBACES,GACArM,IAEF4L,qBACES,GACAlM,IAEFyL,qBACES,GACAjM,IAEFwL,qBAAWS,GAA4C7O,IACvDoO,qBACES,GACA5L,IAEFmL,qBACES,GACA7L,IAEFoL,qBAAWS,GAAgD3L,IAC3DkL,qBACES,GACA1L,IAEFiL,qBACES,GACAzL,IAEFgL,qBACES,GACA5O,IAKFmO,qBACEU,GACAnP,IAEFyO,qBAAWU,GAAmC5P,IAC9CkP,qBAAWU,GAA0C9P,IAMrDoP,qBACEW,GACA5K,IAEFiK,qBAAWW,GAAuC7K,IAMlDkK,qBACEY,GACAhL,IAEFoK,qBACEY,GACA3L,IAEF+K,qBACEY,GACAzL,IAEF6K,qBACEY,GACAxL,IAEFmL,oBACEC,GACApQ,IAEFmQ,oBACEC,GACA7P,IAKFqP,qBAAWa,GAAelK,uBAAwBP,IAClD4J,qBAAWa,GAAejK,wBAAyBiB,IAInDmI,qBACEc,GAAexI,oCACfO,IAEFmH,qBACEc,GAAetI,8BACfO,IAEFiH,qBACEc,GAAepI,oCACfL,IAKF2H,qBACEe,GAAelG,mCACfW,IAEFwE,qBACEe,GAAe/F,oCACfY,IAEFoE,qBACEe,GAAe7F,8BACfW,IAEFmE,qBACEe,GAAe3F,6CACfW,IAEFiE,qBACEe,GAAezF,8CACfW,IAKF+D,qBACEgB,GAAmB3E,4CACnBD,SFvkBS,QAAEiD,SAAOQ,c,2BGpBjB,SAASoB,GAAallD,EAAQ4R,EAAUuzC,GAC7C,MAAMC,EAjBD,SAA2BD,EAAWE,GAC3C,MAAMC,EAAQ,CACZC,IAAI,0BAADn+B,OAA4Bi+B,GAC/BG,KAAK,0BAADp+B,OAA4Bi+B,GAChCI,IAAI,+BAADr+B,OAAiCi+B,GACpCK,IAAI,yBAADt+B,OAA2Bi+B,GAC9BM,KAAK,0BAADv+B,OAA4Bi+B,GAChCO,IAAI,+BAADx+B,OAAiCi+B,GACpCQ,IAAI,0BAADz+B,OAA4Bi+B,GAC/BS,KAAK,iFAAD1+B,OAAmFi+B,IAGzF,OAAIF,EAAkBG,EAAMH,EAAUY,WAAW,IAAK,IAAIC,eACnD,KAIMC,CAAkBd,EAAWnlD,GAEpCkmD,EAAW9K,SAAS50B,cAAc,KACxC0/B,EAASC,KAAOf,EAChBc,EAASA,SAAWt0C,EACpBwpC,SAAShmC,KAAKgxC,YAAYF,GAC1BA,EAASG,QACTjL,SAAShmC,KAAKkxC,YAAYJ,G,wGCpB5B,MAAM,kBAAEK,GAAiB,wBAAEC,IAA4B3uC,gbAqCxC4uC,OAnCIA,KACjB,MAAO7vC,EAAY8vC,GAAiBl5B,qBA+BpC,MAAO,CAtBkBm5B,IACvB,MAAMC,GAAmB,IAAIC,MAC1BC,iBAAiBD,KAAiBE,OAClCC,QAAQ,GAAD5/B,OAAIm/B,GAAiB,KAAAn/B,OAAIu/B,IAChCM,QAMH,OAJAL,EAAiBM,gCAAkC,IACnDN,EAAiBO,4BAA8B,IAE/CT,EAAcE,GACPA,GAjBcnwC,gBACfmwC,EACH54B,QACAo5B,KAAMtwC,GAASqpB,QAAQC,IAAItpB,EAAM,aACjCuwC,MAAOxoD,GAAUshC,QAAQC,IAAIvhC,EAAO,WAgBjB4X,gBAChBmwC,EACHU,OACAF,KAAK,QACLC,MAAOxoD,IACNshC,QAAQC,IAAIvhC,MAIwC+X,ICgX7C2wC,OA7XUn/B,IACvB,MAAMpR,EAAWoT,eACX,iBAAEte,EAAgB,oBAAED,GAAwB27C,YAC/C1oB,GAAUA,EAAMyB,QAEZknB,EAAiBC,EAAgBC,EAAiB/wC,GACvD6vC,KAyEImB,EAAgBC,IACN,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MAAO,CAC5CixD,aAAc,QACdC,iBAAkB,GAClBC,eAAgB,CAAC,QAEnB,CAACH,wBAAsBt0D,gBAAgB,aAAc,CACnDu0D,aAAc,SACdC,iBAAkB,GAClBC,eAAgB,CAAC,QAEnB,CAACH,wBAAsBt0D,gBAAgBuD,QAAS,CAC9CgxD,aAAc,SACdC,iBAAkB,EAClBC,eAAgB,CAAC,MAAO,OAAQ,SAElC,CAACH,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eAAgB,CACrDkxD,aAAc,QACdC,iBAAkB,GAClBC,eAAgB,CAAC,MAAO,UAIfJ,IAqBTK,EAAYC,sBACfN,IACe,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MAAO,CAC5CynC,kBAA0B,OAAPnW,QAAO,IAAPA,OAAO,EAAPA,EAASmW,kBAC5BkG,UAAWqjB,wBAAsBp1D,WAAW,IAE9C,CAACo1D,wBAAsBt0D,gBAAgB,aAAc,CACnD+qC,kBAA0B,OAAPnW,QAAO,IAAPA,OAAO,EAAPA,EAASmW,kBAC5BkG,UAAWqjB,wBAAsBp1D,WAAW,GAC5CsrC,gBAAwB,OAAP5V,QAAO,IAAPA,OAAO,EAAPA,EAAS4V,iBAE5B,CAAC8pB,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eAAgB,CACrD0nC,kBAA0B,OAAPnW,QAAO,IAAPA,OAAO,EAAPA,EAASmW,kBAC5BkG,UAAWqjB,wBAAsBp1D,WAAW,KAInCm1D,IAEf,CAACz/B,IAGGggC,EAAcD,sBAClB1xC,MAAOoxC,EAAMzkB,EAAU6X,KACrB,GAAI7X,GAAYA,EAASrlC,OAAS,EAAG,CACnC,MAAMsqD,QAAaZ,EAAgB,2BAC7BC,EAAeW,GACrB,MAAMj7C,EAAS,MACP86C,EAAUL,IAASK,EAAUL,GACnCzkB,WACAxsB,WAAYyxC,GAEdrxC,EAtDe6wC,KACL,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MACrCmgB,EAAa5F,oBACf,CAACy2C,wBAAsBt0D,gBAAgB,aACrCyjB,EAAaxF,sBACf,CAACq2C,wBAAsBt0D,gBAAgBuD,QACrCkgB,EAAad,mCACf,CAAC2xC,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eACrCogB,EAAa5F,qBAGJw2C,IAuCAS,CAAYT,EAAZS,CAAkBl7C,IAC3B6tC,MAGJ,CAACwM,EAAiBS,EAAWR,EAAgB1wC,IAqBzCuxC,EAAYA,CAAAppD,EAAiCqpD,KAAgB,IAAhD,WAAEC,EAAU,eAAEC,GAAgBvpD,GACjC,OAAVqpD,QAAU,IAAVA,OAAU,EAAVA,EAAYR,mBAAoBU,GAClCn2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,8BACgB02B,EAAWR,iBAAiB,wBAM1DS,EAAW1qD,OAAS,GACtB0qD,EAAWtW,QAAStzC,KACJ,OAAV2pD,QAAU,IAAVA,OAAU,EAAVA,EAAYT,eAAgBlpD,EAAMA,MAAM8pD,YAC1Cp2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,aACFvL,IAAAC,cAAA,cAAS3nB,EAAM8rB,MAAc,0CAMjC,OAAV69B,QAAU,IAAVA,OAAU,EAAVA,EAAYP,kBACF,OAAVO,QAAU,IAAVA,OAAU,EAAVA,EAAYP,eAAelqD,QAAS,GACpCc,EAAMA,MAAM+pD,mBAEZr2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,aACFvL,IAAAC,cAAA,cAAS3nB,EAAM8rB,MAAc,6CAqF7Ck+B,EAAmB78C,IACvB,MAAMo3B,EAAWp3B,EAAMrK,IAAK1D,IACnB,CACL+O,QAAS/O,EAAK+O,QACd87C,YAAahnB,qBAAmB3tC,SAASyM,YACzCmoD,eAAgBC,qBAAmB70D,SAASyB,sBAC5CotC,MAAO,QAIPI,EAASrlC,OAAS,GACpBiZ,EAASC,EAAarE,wBAAwBwwB,KAI5C6lB,EAAYA,CAACj9C,EAAOk9C,KAaxB/kB,WAAW,IAAM9iC,EAAQ+iC,GAAG,GAAI,OAG5B+kB,EAAuBn9C,IAC3B,MAAMo3B,EAAWp3B,EAAMrK,IAAK1D,IACnB,CACL+O,QAAS/O,EAAK+O,QACd87C,YAAahnB,qBAAmB3tC,SAASyM,YACzCmoD,eAAgBC,qBAAmB70D,SAASkC,0BAC5C2sC,MAAO,QAMPI,EAASrlC,OAAS,GACpBiZ,EAASC,EAAarE,wBAAwBwwB,KAG5CgmB,EAA8Bp9C,IAClC,MAAMo3B,EAAWp3B,EAAMrK,IAAK1D,IACnB,CACL+O,QAAS/O,EAAK+O,QACdu1B,UAAWtkC,EAAKskC,aAIhBa,EAASrlC,OAAS,GACpBiZ,EAASC,EAAatB,wCAAwCytB,KAMlE,MAAO,CAELimB,eApWsBxB,IACR,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MACrCyvB,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,qBAEAvD,IAAAC,cAAA,cAAQ,2CAA0C,iCAC1BD,IAAAC,cAAA,cAAQ,MAAW,YAC3CD,IAAAC,cAAA,cAAQ,SAAc,aACfD,IAAAC,cAAA,cAAQ,QAAa,UAGhC,CAACshC,wBAAsBt0D,gBAAgB,aACrC+yB,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,qBAEAvD,IAAAC,cAAA,cAAQ,2CAA0C,iCAC1BD,IAAAC,cAAA,cAAQ,MAAW,YAC3CD,IAAAC,cAAA,cAAQ,SAAc,aACfD,IAAAC,cAAA,cAAQ,QAAa,UAGhC,CAACshC,wBAAsBt0D,gBAAgBuD,QACrCwvB,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,qBAEAvD,IAAAC,cAAA,cAAQ,2CAA0C,0BAC9BD,IAAAC,cAAA,cAAQ,KAAU,2BACtCD,IAAAC,cAAA,cAAQ,wBAA6B,cAC7BD,IAAAC,cAAA,cAAQ,QAAa,KAGjC,CAACshC,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eACrC0vB,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,SACMvD,IAAAC,cAAA,cAAQ,mBAAkB,UACzBD,IAAAC,cAAA,cAAQ,kCAAoC,wBACnDD,IAAAC,cAAA,cAAQ,oCAAyC,aAC1CD,IAAAC,cAAA,cAAQ,QAAa,wCAKrBqhC,IA2TbyB,gBAxTuBzB,IACT,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MAAO,CAC5CisC,YAAa,gCACb/C,KAAMupB,MAER,CAACzB,wBAAsBt0D,gBAAgB,aAAc,CACnDuvC,YAAa,4BACb/C,KAAMwpB,MAER,CAAC1B,wBAAsBt0D,gBAAgBuD,QAAS,CAC9CgsC,YAAa,iCACb/C,KAAMypB,MAER,CAAC3B,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eAAgB,CACrDksC,YAAa,sCACb/C,KAAM0pB,OAIG7B,IAkSbD,eACAQ,cACAuB,UAtMiB9B,IACH,CACZ,CAACC,wBAAsBt0D,gBAAgBsD,MAAQ+iC,GAC7C0uB,EAAU1uB,EAAQ+tB,EAAaC,IACjC,CAACC,wBAAsBt0D,gBAAgB,aAAeqmC,GACpD0uB,EAAU1uB,EAAQ+tB,EAAaC,IACjC,CAACC,wBAAsBt0D,gBAAgBuD,QAAU8iC,GAC/C0uB,EAAU1uB,EAAQ+tB,EAAaC,IACjC,CAACC,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eAAiBgjC,GACtD0uB,EAAU1uB,EAAQ+tB,EAAaC,KAGtBA,IA0Lb+B,gBAjJsBA,CAAC/B,EAAM5M,EAAUiO,KACzB,CACZ,CAACpB,wBAAsBt0D,gBAAgBsD,MAAO,KAC5CkgB,EAASC,EAAa5E,2BACtBhR,EAAQ+tB,KAAK,8BAEf,CAAC04B,wBAAsBt0D,gBAAgB,aAAc,KACnDy1D,EAAUn9C,EAAiBE,MAAOk9C,IAEpC,CAACpB,wBAAsBt0D,gBAAgBuD,QAAS,KAC9CigB,EAASC,EAAa5E,2BACtB4oC,KAEF,CAAC6M,wBAAsBt0D,gBAAgBkD,UAAYgwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBF,qBAAaozB,GAAMA,EAC1D,CAACohC,wBAAsBt0D,gBAAgB+C,eAAYmwB,GAAMA,EACzD,CAACohC,wBAAsBt0D,gBAAgBqD,eAAgB,KACrDmgB,EAASC,EAAa5E,2BACtBhR,EAAQ+tB,KAAK,+BAIJy4B,IA4HbgC,kBAzHyBzmB,IACpB0mB,MAAMC,QAAQ3mB,KAAWA,EAAW,CAACA,IAE1CpsB,EAASC,EAAajE,mBAAmBowB,KAuHzCxsB,aAGAozC,aApGmBA,CAACh+C,EAAO/J,EAAMg5C,KACjC,MAAM3W,EAAW,GAoBjB,OAnBAt4B,EAAMrK,IAAK1D,IACT,MAAM,UAAEskC,KAAcmB,GAAYzlC,EAE5BgsD,EAAehoD,EAAKsgC,UAAUtkC,EAAK+O,SAErCi9C,IAAiBhsD,EAAKskC,WACxB+B,EAASlV,KAAK,IACTsU,EACH12B,QAAS/O,EAAK+O,QACdu1B,UAAW0nB,MAKb3lB,EAASvmC,OAAS,IACpBiZ,EAASC,EAAa1E,iBAAiB+xB,IACvC2W,KAGK3W,GAgFP4lB,aAtHmBA,CAACngC,EAAM89B,EAAM77C,KAChC,MAAMm+C,EAAQ,CACZ,CAACC,uBAAqB52D,gBAAgBkJ,eAAgB,CACpD,CAACorD,wBAAsBt0D,gBAAgBqD,eACrCsyD,EACF,CAACrB,wBAAsBt0D,gBAAgBsD,MAAOqyD,GAEhD,CAACiB,uBAAqB52D,gBAAgBiJ,WAAY,CAChD,CAACqrD,wBAAsBt0D,gBAAgBsD,MAAO+xD,EAC9C,CAACf,wBAAsBt0D,gBAAgBqD,eACrCuyD,IAIN,OAAOvB,GAAQsC,EAAMpgC,GAAM89B,GAAM77C,MCtS9B,MAAMq+C,GAAiB/rB,IAC5B,MAAMlnC,EAAc,CAClBjE,qBACEksC,wBAAsBxsC,kBAAkBM,qBAC1CD,oBACEmsC,wBAAsBxsC,kBAAkBK,qBAG5C,OAAO40B,OAAO8Z,OAAOxqC,GAAasmC,SAASY,IAGhCgsB,GAAWhsB,IACtB,MAAMisB,EAAgB,CACpBC,IAAKnrB,wBAAsBxsC,kBAAkB23D,KAG/C,OAAO1iC,OAAO8Z,OAAO2oB,GAAe7sB,SAASY,IAGlCmsB,GAAuBvB,IAClC,MAAM,KAAE5qB,GAAS4qB,EACXwB,EAAoB,CACxBv3D,qBACEksC,wBAAsBxsC,kBAAkBM,qBAC1CD,oBACEmsC,wBAAsBxsC,kBAAkBK,qBAEtCy3D,EACJzB,EAAK0B,eAAe,qBACpB,WAAWC,KAAK3B,EAAKxqB,kBAEvB,OAAO5W,OAAO8Z,OAAO8oB,GAAmBhtB,SAASY,IAASqsB,GAO/CG,GAAcziC,IACzB,MAAM,KAAEiW,EAAI,OAAEysB,GAAWhtB,GAAU1V,GAGnC,OAD8BiW,GAAQysB,GACNT,GAAQhsB,IARpBysB,KACZtuB,GAAQsuB,GAOiCC,CAAaD,I,UC5CzD,MAAM9jC,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFAOKH,WAAOwkB,EAAClkB,QAAAH,aAAA,wD,aCPhD,MAAM6pC,GAASC,qBAAS/pC,QAAAC,aAAA,wFASX6F,GAAYhG,WAAOC,IAAGK,QAAAH,aAAA,oIAEpB6pC,GAGH9rD,IAAA,IAAC,OAAEijB,GAAQjjB,EAAA,OAAMijB,EAAM,GAAAgF,OAAMhF,GAAM,QAE3C9iB,IAAA,IAAC,MAAEijB,GAAOjjB,EAAA,OACVijB,GACAjB,eAAGG,QAAAL,aAAA,gCACQmB,KCTA4oC,I,2BAAAA,GARf,SAAehsD,GAAyC,IAAxC,SAAEgnB,EAAQ,OAAE/D,EAAM,MAAEG,KAAUsF,GAAO1oB,EACnD,OACEonB,IAAAC,cAACS,GAASa,OAAAC,OAAA,CAAC3F,OAAQA,EAAQG,MAAOA,GAAWsF,GAC1C1B,ICLA,MAAMc,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sIAO/BjiB,IAAA,IAAC,UAAEisD,GAAWjsD,EAAA,OACdisD,EACI9pC,eAAGC,QAAAH,aAAA,+CACagqC,GAAS,uBAKpBC,GAA6BpqC,WAAOC,IAAGO,QAAAL,aAAA,yDAIhD9hB,IAAA,IAAC,UAAE8rD,GAAW9rD,EAAA,OACd8rD,EACI9pC,eAAGM,QAAAR,aAAA,6CACagqC,GAAS,KAIpBE,GAA4BrqC,WAAOC,IAAGa,QAAAX,aAAA,6NAUtCmqC,GAA4BtqC,WAAOC,IAAGgB,QAAAd,aAAA,uGAG/CM,IAAA,IAAC,eAAEsB,GAAgBtB,EAAA,OACnBsB,EACI1B,eAAGe,QAAAjB,aAAA,kDACkB4B,GAAc,2BAIvCnB,IAAA,IAAC,YAAE2pC,GAAa3pC,EAAA,OAChB2pC,EACIlqC,eAAGkB,QAAApB,aAAA,+CACeoqC,GAAW,IAGjCxpC,IAAA,IAAC,WAAE0B,GAAY1B,EAAA,OACf0B,EACIpC,eAAGmB,QAAArB,aAAA,8CACcsC,GAAU,KChDnC,SAAS+nC,GAAUtsD,GAA2B,IAA1B,SAAEgnB,EAAQ,UAAEilC,GAAWjsD,EACzC,OAAOonB,IAAAC,cAACS,GAAS,CAACmkC,UAAWA,GAAYjlC,GAG3C,MAAMulC,GAAoBpsD,IAA8B,IAA7B,SAAE6mB,EAAQ,UAAEilC,GAAW9rD,EAChD,OACEinB,IAAAC,cAAC6kC,GAA0B,CAACD,UAAWA,GACpCjlC,IAKDwlC,GAAmBjqC,IAAmB,IAAlB,SAAEyE,GAAUzE,EACpC,OAAO6E,IAAAC,cAAC8kC,GAAyB,KAAEnlC,IAG/BylC,GAAmB/pC,IAKlB,IALmB,SACxBsE,EAAQ,eACRnD,EAAc,YACdwoC,EAAW,WACX9nC,GACD7B,EACC,OACE0E,IAAAC,cAAC+kC,GAAyB,CACxBvoC,eAAgBA,EAChBwoC,YAAaA,EACb9nC,WAAYA,GAEXyC,I,4BCjCA,MAAMc,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,q2IAsBXJ,GAAMzH,aACVyH,GAAMzH,aASAyH,GAAMzH,aACNyH,GAAMzH,aASRyH,GAAMzH,aAmIfyH,GAAMpC,UAIKoC,GAAMrC,YACjBqC,GAAMpC,UAMKoC,GAAMzH,cC7IjBsyC,I,8BAAAA,GAnCf,SAAmB1sD,GAAgD,IAA/C,KAAEwrB,EAAI,QAAEmhC,EAAO,SAAEC,EAAQ,MAAEhlB,EAAK,SAAEilB,GAAU7sD,EAC9D,MAAM8sD,EAAgBC,iBAAO,OACvB,UAAEC,EAAS,cAAEC,EAAa,aAAEC,EAAY,MAAExtD,GAAUytD,aAAS3hC,GAUnE,OATAgD,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKmlC,EAAcM,QACnBvsB,KAAM,cACNqsB,kBAED,CAACF,EAAWC,IAGb7lC,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACgmC,KAAY,CACX1lC,IAAKmlC,EACLthC,KAAMA,EACN8hC,UAAU,oBACVV,SAAUA,EACVhlB,MAAOA,EACP2lB,UAAU,SACVC,UAAW,KACXC,aAAcrmC,IAAAC,cAACqmC,KAAiB,CAAC9qD,KAAK,KAAKulB,MAAOtG,GAAMrD,OACxDmvC,eAAe,KACfC,iBAAiB,KACjBC,gBAAgB,OAChBC,kBAAgB,EAChBnB,QAAS,IAAI3/B,KAAK2/B,GAClBoB,OAAO,QACPlB,SAAUA,M,SCpCX,MAAM/kC,GAAYhG,WAAOksC,MAAKhsC,QAAAC,aAAA,oLAOjCjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGC,QAAAH,aAAA,0CACUyC,GAAO,IAIxBvkB,IAAA,IAAC,OAAE8tD,GAAQ9tD,EAAA,OACX8tD,EACI9rC,eAAGG,QAAAL,aAAA,2CACSgsC,GAAM,eAItB1rC,IAAA,IAAC,YAAEgG,GAAahG,EAAA,OAChBgG,EACIpG,eAAGM,QAAAR,aAAA,iDACesG,GAAW,IAIjC7F,IAAA,IAAC,UAAEC,GAAWD,EAAA,OACdC,EACIR,eAAGS,QAAAX,aAAA,6CACaU,GAAS,sBAI7BE,IAAA,IAAC,WAAEyF,GAAYzF,EAAA,OACfyF,EACInG,eAAGY,QAAAd,aAAA,8CACcqG,GAAU,IAI/BtF,IAAA,IAAC,UAAEkrC,GAAWlrC,EAAA,OACdkrC,EACI/rC,eAAGe,QAAAjB,aAAA,6CACaisC,GAEhB,IAEJ/qC,IAAA,IAAC,aAAEuD,GAAcvD,EAAA,OACjBuD,EACIvE,eAAGkB,QAAApB,aAAA,kDACgByE,GAAY,IAInCjD,IAAA,IAAC,MAAE/jB,GAAO+jB,EAAA,OACV/jB,EACIyiB,eAAGmB,QAAArB,aAAA,0SAEUJ,GAAM5E,IAGKkxC,aAAQ,IAAMtsC,GAAMnH,UACpBmH,GAAMnH,SAGNyzC,aAAQ,IAAMtsC,GAAMnH,UACpBmH,GAAMnH,UAAQ,KAMjC0zC,GAAetsC,WAAOusC,KAAI7qC,QAAAvB,aAAA,4EAC5BJ,GAAMnH,UC9BF4zC,I,YAAAA,GA7Cf,SAAuBtuD,GAgBnB,IAhBoB,KACtByoB,EAAI,SACJzB,EAAQ,WACRsB,EAAU,UACV4lC,EAAS,aACTxnC,EAAY,YACZ6B,EAAW,OACX0lC,EAAM,QACNvpC,EAAO,YACP6pC,EAAW,YACXC,EAAeloB,IAAMA,GAAC,KACtBp4B,EAAI,MACJia,EAAK,KACLD,EAAI,WACJumC,EAAU,MACV/uD,GAAQ,GACTM,EACC,OACEonB,IAAAC,cAACS,GAAS,CACRpD,QAASA,EACTupC,OAAQA,EACR1lC,YAAaA,EACb7B,aAAcA,EACd4B,WAAYA,EACZ4lC,UAAWA,EACXhnC,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdz8C,MAAOA,GAEP0nB,IAAAC,cAAC0B,QAAI,CACHN,KAAsB,SAAhB8lC,EAAyB,GAAK9lC,EACpC/D,QAAS6pC,EACTpmC,MAAOA,EACP+lC,UAAW,EACXhmC,KAAMA,EACNumC,WAAYA,IAEbznC,EACAtnB,GAAS0nB,IAAAC,cAAC+mC,GAAY,KAAE1uD,KC3CxB,MAAMivD,GAAkB7sC,WAAOC,IAAGC,QAAAC,aAAA,iIAW5B6F,GAAYhG,WAAOC,IAAGK,QAAAH,aAAA,8MAQ/BjiB,IAAA,IAAC,OAAEgrB,GAAQhrB,EAAA,OACXgrB,EACI7I,eAAGG,QAAAL,aAAA,kEAIHE,eAAGM,QAAAR,aAAA,6FC6cI2sC,I,SAAAA,GA1cf,SAAsB5uD,GAQlB,IARmB,OACrBgrB,EAAM,wBACN6jC,EAAuB,YACvB/nB,EAAW,kCACXgoB,EAAiC,kBACjCC,EAAiB,kBACjBC,EAAiB,uBACjBC,GAAyB,GAC1BjvD,EACC,MAAMkvD,EAAc,CAClB,CACEC,cAAeA,IAAMC,EAAmB,QACxC3mC,KAAM,QAER,CACE0mC,cAAeA,IAAMC,EAAmB,UACxC3mC,KAAM,UAER,CACE0mC,cAAeA,IAAMC,EAAmB,oBACxC3mC,KAAM,qBAIJ4mC,EAAsB,CAC1B,CACEF,cAAeA,IAAMG,EAA2B,eAChD7mC,KAAM,eAER,CACE0mC,cAAeA,IAAMG,EAA2B,mBAChD7mC,KAAM,mBAER,CACE0mC,cAAeA,IAAMG,EAA2B,eAChD7mC,KAAM,eAER,CACE0mC,cAAeA,IAAMG,EAA2B,oBAChD7mC,KAAM,oBAER,CACE0mC,cAAeA,IAAMG,EAA2B,YAChD7mC,KAAM,aAIJ8mC,EAAkB,CACtB,CACEJ,cAAeA,IAAMK,EAA6B,SAClD/mC,KAAM,SAER,CACE0mC,cAAeA,IAAMK,EAA6B,OAClD/mC,KAAM,OAER,CACE0mC,cAAeA,IAAMK,EAA6B,UAClD/mC,KAAM,WAIJgnC,EAAe,CACnB,CACEN,cAAeA,IAAMO,EAAoB,SACzCjnC,KAAM,SAER,CACE0mC,cAAeA,IAAMO,EAAoB,OACzCjnC,KAAM,OAER,CACE0mC,cAAeA,IAAMO,EAAoB,UACzCjnC,KAAM,YAIJ,QAAEQ,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAC3C8lC,EAAiCxC,aACrC,0BACAF,cACI2C,EAAsBzC,aAAS,qBAAqBF,cACpD4C,EAAkB1C,aAAS,2BAA2BF,cACtD6C,EAAgB3C,aAAS,QAAQF,cACjC8C,EAAuB5C,aAAS,gBAAgBF,cAChD+C,EAAsB7C,aAAS,cAAcF,cAC7CgD,EAAiB9C,aAAS,SAASF,cACnCiD,EAAmB/C,aAAS,WAAWF,cACvCkD,EAAgBhD,aAAS,SAASF,eAEjCmD,EAAsBC,GAA2BhiC,mBAAS,KAC1DiiC,EAAcC,GAAmBliC,mBAAS,KAC1CmiC,EAAoBC,GAAyBpiC,mBAAS,KACtDqiC,EAAeC,GAAoBtiC,mBAAS,KAC5CuiC,EAAkBC,GAAuBxiC,mBAAS,KAClDyiC,EAA6BC,GAClC1iC,mBAAS,KACJ2iC,EAA8BC,GACnC5iC,mBAAS,KACJ6iC,EAAwBC,GAA6B9iC,mBAAS,KAC9D+iC,EAAeC,GAAoBhjC,mBAAS,KAC5CijC,EAAwBC,GAA6BljC,oBAAS,IAC9DmjC,EAA4BC,GACjCpjC,oBAAS,IACJqjC,EAAOC,GAAYtjC,mBAAS,CACjCujC,cAAe,KACfC,eAAgB,KAChBC,kBAAmB,KACnBC,mBAAoB,OA8CtB,SAASzC,EAA2B7mC,GAClC4nC,EAAwB5nC,GAG1B,SAAS2mC,EAAmB4C,GAC1BzB,EAAgByB,GAyClB,SAASxC,EAA6B/mC,GACpC0oC,EAA0B1oC,GAE5B,SAASinC,EAAoBjnC,GAC3B4oC,EAAiB5oC,GAGnB+F,oBAAU,KAGHkjC,EAAME,eAAiBF,EAAMG,iBAC5BH,EAAME,gBAAkBF,EAAMG,eAEhCN,GAA0B,GAE1BA,GAA0B,GAIzBG,EAAMI,mBAAqBJ,EAAMK,qBAChCL,EAAMI,oBAAsBJ,EAAMK,mBAEpCN,GAA8B,GAE9BA,GAA8B,IAKjC,CAACC,IAEJ,MAAMO,GAAmBjJ,sBAAakJ,IACpC,MAAMC,EAAsB,CAAC,GAAI,IAEjC,OAAOD,EAAiB1vD,IAAI+f,IAAA,IAAC,iBAAEqoB,EAAgB,OAAEnC,GAAQlmB,EAAA,OACvD4vC,EAAoB5zB,SAASqM,GACzB,CACEniB,KAAMmiB,EAAiBjqC,WACvB8nC,OAAQ,IAEV,CACEhgB,KAAMmiB,EAAiBjqC,WACvB8nC,OAAQA,EAAOjmC,IAAK4vD,GAAUA,EAAMvnB,YAAYlqC,gBAGvD,IAEH,OACEymB,IAAAC,cAACS,GAAS,CAACkD,QAAM,GACf5D,IAAAC,cAACilC,GAAU,KACTllC,IAAAC,cAACmlC,GAAgB,KAAC,sBAClBplC,IAAAC,cAACklC,GAAiB,CAACN,UAAU,OAC3B7kC,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,yBACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACdwnC,UAAW,GACXuE,UAAU,oCACVvqC,KAAK,yBACLwqC,cAAc,OACd9F,SAAWplC,KAtEvB,SAA2CA,GACzCupC,EAA+BvpC,EAAEmrC,OAAO/qB,OAsE5BgrB,CAAkCprC,IAEpCogB,MAAOkpB,EACP+B,YAAY,oDACZC,SAAUnD,IAEZvoC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAAS+nB,EACTtkC,KAAK,WACLxH,MAAO,IACPqvC,UAAU,QACVjnC,KAAK,OACL0iC,UAAW,GACXjrC,OAAQ,GACR6vC,SAAUhD,GAETQ,GAAgB,oBAEnBlpC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASkoB,EACTzkC,KAAK,WACLxH,MAAO,IACPqvC,UAAU,qBACVjnC,KAAK,eACL0iC,UAAW,GACXjrC,OAAQ,GACR6vC,SAAU/C,GAETK,GAAwB,kCAE3BhpC,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACT5H,IAAKnrB,wBAAsBxsC,kBAAkB23D,KAE/C6H,SAAUjqC,EAAQkW,MAElB/X,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,oBACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACdwnC,UAAW,GACXuE,UAAU,cACVvqC,KAAK,yBACLwqC,cAAc,OACd9F,SAAWplC,KAlJzB,SAAsCA,IACb,KAAnBA,EAAEmrC,OAAO/qB,OAAgBnK,GAASjW,EAAEmrC,OAAO/qB,SAC7CipB,EAAoBrpC,EAAEmrC,OAAO/qB,OAER,KAAnBpgB,EAAEmrC,OAAO/qB,QACX6oB,EAAsB,IACtBE,EAAiB,KA6ILwC,CAA6B3rC,IAE/B4rC,OAAS5rC,GACPsnC,EAAkCtnC,EAAGopC,GAEvChpB,MAAOgpB,EACPiC,YAAY,0BACZC,SAAUlD,KAGdxoC,IAAAC,cAACgsC,wBAAoB,CACnBC,cAAe7C,EACfttB,WAAYqtB,EACZ4B,MAAO1B,EACP6C,SAAU5C,EACV7pB,YACG8pB,GAAqB3nC,EAAQmW,kBAE1B6yB,GAAiBnrB,GADjB,GAGNkpB,oBAAqBA,EACrBC,eAAgBA,EAChB7/C,YAAawgD,EACb3C,OAAQ,KAEV7mC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASooB,EACT3kC,KAAK,WACLxH,MAAO,IACPqvC,UAAU,kBACVjnC,KAAK,UACL0iC,UAAW,GACXjrC,OAAQ,GACR6vC,SAAU5C,GAETgB,GAA0B,SAE7B9pC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASsoB,EACT7kC,KAAK,WACLxH,MAAO,IACPqvC,UAAU,QACVjnC,KAAK,QACL0iC,UAAW,GACXjrC,OAAQ,GACR6vC,SAAU3C,GAETiB,GAAiB,UAED,QAAjBnoC,EAAQkW,MAAkBmsB,GAAoBriC,KAC9CgmC,GACE7nC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,0BACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACdwnC,UAAW,GACX5lC,WAAY,GACZmqC,UAAU,qCACVvqC,KAAK,yBACLwqC,cAAc,OACd9F,SAAWplC,KA9K3B,SAA2CrnB,GAAc,IAAb,OAAEwyD,GAAQxyD,EACpD8wD,EAAgC0B,EAAO/qB,OA8KvB4rB,CAAmChsC,IAErCogB,MAAOopB,EACP6B,YAAY,kDACZC,SAAUjD,KAIlBzoC,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACinC,GAAc,CAAC5nC,aAAa,IAAI+B,KAAK,yBACpCrB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,gBACLohC,SAjRhB,SAA6BplC,GAC3B,GAAIA,EAAEmrC,OAAQ,OACd,MAAMd,EAAiBrqC,EAAIkqC,EAAMG,eAAiBrqC,EAAIkqC,EAAMG,eAC5DF,EAAS,CACPC,cAAepqC,EACfqqC,iBACAC,kBAAmBJ,EAAMI,kBACzBC,mBAAoBL,EAAMK,sBA2QdnqB,MAAO8pB,EAAME,gBAEfxqC,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTE,SA3QhB,SAA8BplC,GACxBA,EAAEmrC,QACNhB,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBrqC,EAChBsqC,kBAAmBJ,EAAMI,kBACzBC,mBAAoBL,EAAMK,sBAsQdvmC,KAAK,iBACLmhC,QAAS+E,EAAME,cACfhqB,MAAO8pB,EAAMG,mBAInBzqC,IAAAC,cAACinC,GAAc,CACb5nC,aAAa,IACb+B,KAAK,4BACLH,WAAW,QAEXlB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,oBACLohC,SAhRhB,SAAiCplC,GAC/B,GAAIA,EAAEmrC,OAAQ,OACd,MAAMZ,EACJvqC,EAAIkqC,EAAMK,mBAAqBvqC,EAAIkqC,EAAMK,mBAC3CJ,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBC,kBAAmBtqC,EACnBuqC,wBAyQYnqB,MAAO8pB,EAAMI,oBAEf1qC,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTE,SAzQhB,SAAkCplC,GAC5BA,EAAEmrC,QACNhB,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBC,kBAAmBJ,EAAMI,kBACzBC,mBAAoBvqC,KAoQRgE,KAAK,qBACLmhC,QAAS+E,EAAMI,kBACflqB,MAAO8pB,EAAMK,yBAMvB3qC,IAAAC,cAAColC,GAAgB,CAAC5oC,eAAe,QAE/BuD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZsC,cAAe,EACfwlC,YAAa,EACboH,aAAc,EACd3oC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLma,QACEipC,GAA0BE,EAA6B,GAAM,EAE/DtpC,KAAK,0BACL9E,MAAO,KACR,aAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLrG,WAAY,EACZsC,cAAe,EACfwlC,YAAa,EACboH,aAAc,EACd3oC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLgZ,QAlRV,WACEqpC,EAAgB,IAChBF,EAAwB,IACxBI,EAAsB,IACtBE,EAAiB,IACjBgB,EAAS,CACPC,cAAe,KACfC,eAAgB,KAChBC,kBAAmB,KACnBC,mBAAoB,OAEtBlB,EAAoB,IACpB9B,EAAkB,IAClBC,IACA+B,EAA+B,IAC/BI,EAA0B,IAC1BE,EAAiB,IACjBJ,EAAgC,KAkQxB/oC,KAAK,0BACL9E,MAAO,KACR,c,UC5dJ9L,eAAeo8C,GAAU50D,GAC9B,MAAM+B,QAAehC,YAAUC,GAC/B,MAAO,CACLA,OACA0sB,KAAM1sB,EAAK0sB,KACXmoC,aAAc70D,EAAK8D,KACnBgxD,QAASC,IAAIC,gBAAgBh1D,GAC7BgU,SAAU,EACVG,UAAU,EACVvT,OAAO,EACP6vB,IAAK,KACL1uB,SACAmS,OAAQ+gD,gBAIL,SAASC,GACdC,EACArL,GAIC,IAHDC,EAAgBx3C,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,EACnBy3C,EAAcz3C,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,CAAC,OAClB6iD,EAAe7iD,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KAExB,MAAMqpB,EAAS,CACb8uB,YAAY,EACZD,gBAAgB,EAChBE,mBAAmB,GAGfH,EAAa,GACb6K,EAAgBF,EAAWt1D,OAAQ2B,IAUvC,GATAo6B,EAAO8uB,YAAa,EACpB9uB,EAAO+uB,mBAAoB,EACvBb,GAAgBtoD,EAAKqzD,aAAe/K,IACtCluB,EAAO8uB,YAAa,GAEjBV,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,iBACtD55B,EAAO+uB,mBAAoB,GAEzBwK,EAAWr1D,OAASiqD,IAAkBnuB,EAAO6uB,gBAAiB,KAE9DjpD,EAAKqzD,aAAe/K,IACtBE,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,gBACnDL,EAAWr1D,QAAUiqD,EAErB,OAAOvoD,EAET,MAAM,eAAEipD,KAAmB5W,GAASjY,EACpC4uB,EAAWr5B,KAAK,CAAEvwB,MAAOizC,EAAMryC,WAKjC,OAFA4zD,EAAgB,CAAE5K,aAAYC,eAAgB7uB,EAAO6uB,iBAE9C4K,ECtDgBryC,WAAOC,IAAGC,QAAAC,aAAA,0FAA5B,MAMM4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,mQAkBdH,WAAOC,IAAGO,QAAAL,aAAA,mDCwCjC,MAAM2F,GAAcznB,IAAkB,IAAjB,QAAE+mB,GAAS/mB,EAC9B,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLE,eAAa,EACbD,aAAW,EACXtC,YAAa,GACbL,KAAK,0BACL9E,MAAO,IACP8D,QAASA,GACV,YAGDE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACbD,aAAW,EACX5D,UAAQ,EACRoB,QAAS,GACTH,KAAK,0BACL9E,MAAO,KACR,cAODmxC,GAAuBhyC,IAAA,IAAC,aAAEiyC,EAAY,oBAAEC,GAAqBlyC,EAAA,OACjEkyC,EACErtC,IAAAC,cAACwB,GAAW,KAAE4rC,GAEdrtC,IAAAC,cAACwB,GAAW,KAAC,6BAEXzB,IAAAC,cAAA,KAAG2/B,KAAkB,OAAZwN,QAAY,IAAZA,OAAY,EAAZA,EAAc3zB,KAAMkmB,SAAsB,OAAZyN,QAAY,IAAZA,OAAY,EAAZA,EAAc5wB,aAClD,IAAI,mBACS,KACZ,kEAKK8wB,I,SAAAA,GApGf,SAAwB10D,GAapB,IAbqB,YACvB20D,EAAW,aACXH,EAAY,oBACZC,EAAsB,KAAI,OAC1BzpC,EAAM,QACN9D,EAAO,cACP0tC,EAAa,YACbC,EAAW,iBACXhM,EAAgB,aAChBD,EAAY,eACZE,EAAc,gBACdgM,EAAe,gBACfZ,EAAkBA,UACnBl0D,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJ9H,MAAO,IACP4H,OAAQA,EACR9D,QAASA,EACTs4B,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,YACVQ,OAAQ/D,IAAAC,cAACO,GAAW,CAACV,QAASA,IAC9B6tC,qBAAqB,YAErB3tC,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,CACXrC,SAAS,SACTjC,MAAM,QACNH,OAAO,OACPN,UAAU,QAEVyE,IAAAC,cAAC2tC,aAAS,CACRlyC,SAAU,IACV6xC,YAAavtC,IAAAC,cAACwB,GAAW,KAAE8rC,GAC3BM,qBACE7tC,IAAAC,cAACktC,GAAoB,CACnBC,aAAcA,EACdC,oBAAqBA,IAGzBf,UAAWA,GACXkB,cAAeA,EACfE,gBAAiBA,EACjBd,kBAAoBC,GAClBD,GACEC,EACArL,EACAC,EACAC,EACAoL,SCvDT,MAAMpsC,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,gGAMtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,qSAkBxBizC,GAAcpzC,WAAOC,IAAGO,QAAAL,aAAA,6BCwBrC,MAAMkzC,GAAgBh1D,IAA8B,IAA7B,KAAErB,EAAI,cAAEs2D,GAAej1D,EAC5C,OACEinB,IAAAC,cAAC6tC,GAAW,CAAC3pC,IAAKzsB,EAAK4R,IACrB0W,IAAAC,cAACguC,cAAU,CACTlT,SAAUrjD,EAAK0sB,KACf8pC,SAAUx2D,EAAK60D,aACf4B,eAAgBz2D,EAAKgU,SACrBsiD,cAAeA,EACft2D,KAAMA,MAMR8oB,GAAcrF,IAMb,IANc,QACnBrX,EAAO,cACPkqD,EAAa,MACbvoD,EAAK,UACLwF,EAAS,qBACTmjD,GACDjzC,EACC,OACE6E,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLE,eAAa,EACbD,aAAW,EACX5D,SAAU/b,EACVqd,YAAa,GACbL,KAAK,0BACL9E,MAAO,IACP8D,QAASA,IAAMkuC,EAAcvoD,IAC9B,YAIDua,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACbD,aAAW,EACX5D,UAAW5U,EACXgW,QAAUhW,EAAkB,EAAN,GACtB6V,KAAK,0BACL9E,MAAO,IACP8D,QAASsuC,EACTC,IAAK,IACN,cAOQC,OAhGf,SAAyB11D,GAOrB,IAPsB,OACxBgrB,EAAM,qBACNwqC,EAAoB,UACpBnjD,EAAS,MACTxF,EAAK,cACLuoD,EAAa,QACblqD,GACDlL,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJ9H,MAAO,IACPH,OAAQ,IACR+H,OAAQA,EACR9D,QAASA,IAAMkuC,EAAcvoD,GAC7Boa,SAAU/b,EACVs0C,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,YACVQ,OACE/D,IAAAC,cAACO,GAAW,CACV1c,QAASA,EACTkqD,cAAeA,EACfvoD,MAAOA,EACPwF,UAAWA,EACXmjD,qBAAsBA,IAG1BT,qBAAqB,YAErB3tC,IAAAC,cAACI,GAAmB,CAACxE,OAAO,MAAMyB,QAAQ,SACxC0C,IAAAC,cAACK,GAAY,KACXN,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACwB,GAAW,KAAC,qDAGZF,OAAO8Z,OAAO51B,GAAOrK,IAAK1D,GACzBsoB,IAAAC,cAAC8tC,GAAa,CAACr2D,KAAMA,EAAMs2D,cAAeA,UCmBzCO,IC5DXC,GAAIC,GD4DOF,GApDQ31D,IAahB,IAAD81D,EAAAC,EAAAC,EAAA,IAbkB,UACtBC,EAAS,gBACT/B,EAAe,eACfgC,EAAc,gBACdC,EAAe,kBACfC,EAAiB,mBACjBC,EAAkB,YAClBpN,EAAW,UACX52C,EAAS,MACTxF,EAAK,aACLypD,EAAY,wBACZC,EAAuB,QACvBrrD,GACDlL,EACC,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,eAAEqgC,EAAc,gBAAEC,EAAe,aAAE1B,EAAY,gBAAEgC,GACrDrC,KAEF,OACEhhC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACqtC,GAAe,CACdC,YAAazK,EAAe+L,GAC5BzB,aAAcrK,EAAgB8L,GAC9BpB,YAActtC,GAAMA,EACpByD,OAAQkrC,EACRhvC,QAASkvC,EACTxB,cAAgB3wB,IACdglB,EAAYhlB,IAEd4kB,iBAAyC,QAAzBiN,EAAErN,EAAawN,UAAU,IAAAH,OAAA,EAAvBA,EAAyBjN,iBAC3CD,aAAqC,QAAzBmN,EAAEtN,EAAawN,UAAU,IAAAF,OAAA,EAAvBA,EAAyBnN,aACvCE,eAAuC,QAAzBkN,EAAEvN,EAAawN,UAAU,IAAAD,OAAA,EAAvBA,EAAyBlN,eACzCgM,iBAAe,EACfZ,gBAAiBA,IAEnB9sC,IAAAC,cAACquC,GAAgB,CACfF,qBAAsB/K,EACpBwL,EACAM,EACAttC,GAEF/B,QAASmvC,EACTrrC,OAAQmrC,EACR9jD,UAAWA,EACXxF,MAAOA,EACPuoD,cAAekB,EACfprD,QAASA,M,SCrDjB,SAASsrD,KAAiS,OAApRA,GAAW7tC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM0lD,GAAY/2D,IAChB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAOmvC,GAAS,CACtDS,iBAAkB,gBAClBh0C,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAMg1B,KAAOA,GAAkB,IAAMvuC,cAAc,IAAK,KAAmB,IAAMA,cAAc,OAAQ,CACjL8vC,KAAM,OACNl0C,OAAQ,GACRG,MAAO,KACQ,IAAMiE,cAAc,OAAQ,CAC3C8vC,KAAM,OACNl0C,OAAQ,GACRG,MAAO,KACQ,IAAMiE,cAAc,OAAQ,CAC3C8vC,KAAM,OACNl0C,OAAQ,GACRG,MAAO,OACHyyC,KAAQA,GAAmB,IAAMxuC,cAAc,IAAK,KAAmB,IAAMA,cAAc,IAAK,MAAoB,IAAMA,cAAc,OAAQ,CACpJ+vC,EAAG,iHAGDC,GAA0B,IAAMC,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc0vC,GAAWP,GAAS,CACpHQ,OAAQrvC,GACPe,KACY,IClCX,GDkCW,ICjCf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMkmD,GAAYv3D,IAChB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtD4vC,iBAAkB,gBAClBh0C,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAO,GAAkB,IAAMvZ,cAAc,IAAK,KAAmB,IAAMA,cAAc,OAAQ,CACjL8vC,KAAM,OACNl0C,OAAQ,GACRG,MAAO,KACQ,IAAMiE,cAAc,OAAQ,CAC3C+vC,EAAG,+DAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAckwC,GAAW,GAAS,CACpHP,OAAQrvC,GACPe,KACY,IC1BX8uC,GAAOC,GD0BI,ICzBf,SAAS,KAAiS,OAApR,GAAW9uC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMqmD,GAAgB13D,IACpB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM42B,KAAUA,GAAqB,IAAMnwC,cAAc,OAAQ,CAC3IgB,QAAS,IACT8uC,KAAM,OACNC,EAAG,qBACAK,KAAWA,GAAsB,IAAMpwC,cAAc,OAAQ,CAChE+vC,EAAG,yOAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcqwC,GAAe,GAAS,CACxHV,OAAQrvC,GACPe,KACY,ICzBX,GAAO,GDyBI,ICxBf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMsmD,GAAiB33D,IACrB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,gBACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,+EAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcswC,GAAgB,GAAS,CACzHX,OAAQrvC,GACPe,KACY,ICxBf,MAAQ4H,wBAAwB,IAAI5X,gbAEvBk/C,GAAe,CAC1BC,KAAM,CACJtoC,IAAI,GAADtH,OAAKqI,GAAuB,cAC/B9E,KAAM,QAERssC,cAAe,CACbvoC,IAAI,GAADtH,OAAKqI,GAAuB,uBAC/B9E,KAAM,SAERusC,WAAY,CACVxoC,IAAI,GAADtH,OAAKqI,GAAuB,6BAC/B9E,KAAM,SAERwsC,sBAAuB,CACrBzoC,IAAI,GAADtH,OAAKqI,GAAuB,8BAC/B9E,KAAM,SAERysC,eAAgB,CACd1oC,IAAI,GAADtH,OAAKqI,GAAuB,wBAC/B9E,KAAM,SAER0sC,yBAA0B,CACxB3oC,IAAI,GAADtH,OAAKqI,GAAuB,wCAC/B9E,KAAM,SAER2sC,4BAA6B,CAC3B5oC,IAAI,GAADtH,OAAKqI,GAAuB,wCAC/B9E,KAAM,SAER4sC,kBAAmB,CACjB7oC,IAAI,GAADtH,OAAKqI,GAAuB,sBAC/B9E,KAAM,U,gBC5BH,MAAM6sC,GAAev2C,WAAOC,IAAGC,QAAAC,aAAA,QAEzBq2C,GAAqBx2C,WAAOC,IAAGK,QAAAH,aAAA,QAE/B4G,GAAc/G,WAAOC,IAAGO,QAAAL,aAAA,8HAE1BJ,GAAMrD,MAKJsJ,GAAYhG,WAAOC,IAAGU,QAAAR,aAAA,yWAEbJ,GAAMlD,QAWJwvC,aAAQ,IAAMtsC,GAAMzH,cAG7ByH,GAAMzH,aAIPyH,GAAMzH,c,0DCjCb,MAAM0N,GAAYhG,mBAAOwyB,SAAMpiB,MAAOxJ,IAAK,CAChDhF,WAAYgF,EAAMhF,aADK5B,CAEtBE,QAAAC,aAAA,sZAQgBjiB,IAAA,IAAC,aAAEooB,GAAcpoB,EAAA,OAChCooB,EACIjG,eAAGC,QAAAH,aAAA,mCACCmG,GAEJjG,eAAGG,QAAAL,aAAA,YAEP9hB,IAAA,IAAC,OAAE8iB,GAAQ9iB,EAAA,OACX8iB,EACId,eAAGM,QAAAR,aAAA,2CACSgB,GAEZ,iBAEJV,IAAA,IAAC,MAAEa,GAAOb,EAAA,OACVa,EACIjB,eAAGS,QAAAX,aAAA,0CACQmB,GAEX,gBAEJV,IAAA,IAAC,SAAEuE,GAAUvE,EAAA,OACZuE,EAMG,GALA9E,eAAGY,QAAAd,aAAA,mFAOPY,IAAA,IAAC,YAAE01C,GAAa11C,EAAA,OAChB01C,EACIp2C,eAAGe,QAAAjB,aAAA,2CAGH,IAEAe,IAAA,IAAC,aAAE0D,GAAc1D,EAAA,OACrB0D,EACIvE,eAAGkB,QAAApB,aAAA,yEAEgByE,GAEnB,IAENvD,IAAA,IAAC,QAAEa,GAASb,EAAA,OACVa,EACI7B,eAAGmB,QAAArB,aAAA,4CACU+B,GAEb,IAENP,IAAA,IAAC,OAAEwqC,GAAQxqC,EAAA,OACTwqC,EACI9rC,eAAGqB,QAAAvB,aAAA,2CACSgsC,GAEZ,IAENrqC,IAAA,IAAC,WAAEF,GAAYE,EAAA,OACbF,EACIvB,eAAGwB,QAAA1B,aAAA,mDACmByB,GAEtB,8BCpCO80C,OAlCGx4D,IAAA,IAAC,SACjBy4D,EAAQ,KACRjtC,EAAI,SACJvE,EAAQ,YACRsxC,EAAW,aACX7xC,EAAY,QACZQ,EAAWK,IAAMA,GAAC,MAClBnE,EAAK,OACLH,EAAM,aACNmF,EAAY,SACZpB,KACG0B,GACJ1oB,EAAA,OACConB,IAAAC,cAACS,GAASa,OAAAC,OAAA,GACJF,EAAK,CACTzB,SAAUA,EACVsxC,YAAaA,EACb7xC,aAAcA,EACdQ,QAAUM,IACRA,EAAEknC,mBACDznC,GAAYC,KAEf9D,MAAOA,EACPH,OAAQA,EACRmF,aAAcA,IAEbqwC,EACCrxC,IAAAC,cAACqxC,SAAK,CAACC,IAAKF,GAAYG,KAAgBC,IAAKrtC,IAE7CxE,ICFSstB,I,YAAAA,GAtBFt0C,IAAA,IAAC,KAAEyoB,EAAI,QAAEvB,EAAO,SAAEF,GAAUhnB,EAAA,OACvConB,IAAAC,cAACS,GAAS,CAACZ,QAASA,GAClBE,IAAAC,cAACgxC,GAAY,KACXjxC,IAAAC,cAACmxC,GAAS,CACRtxC,QAASA,EACTkB,aAAa,IACbpE,QAAQ,IACRN,WAAW,UACXgD,aAAc,IAEbM,IAGLI,IAAAC,cAACixC,GAAkB,KACjBlxC,IAAAC,cAACwB,GAAW,KACTJ,MCvBF,MAAMX,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,oHAUtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,mKAE1BJ,GAAM5C,SAYJ65C,IALUh3C,WAAOC,IAAGO,QAAAL,aAAA,mDAKAH,WAAOC,IAAGU,QAAAR,aAAA,mFAG7BJ,GAAMlD,QACJkD,GAAMzH,e,aC5Bf,MAAM0N,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,oHAUtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,mKAE1BJ,GAAM5C,SAOM6C,WAAOC,IAAGO,QAAAL,aAAA,mDCsClB82C,OA5Cf,SAA8B/4D,GAAoC,IAAnC,OAAEgrB,EAAM,QAAE9D,EAAO,YAAEsnC,GAAaxuD,EAC7D,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAIjD,OAHcw+B,YAAa1oB,GAAUA,EAAMyB,OAC1BnW,cAGf7D,IAAAC,cAAC6D,SAAK,CACJ9H,MAAO,IACPH,OAAQ,IACR+H,OAAQA,EACR9D,QAASA,EACTs4B,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,gBAEVvD,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACwB,GAAW,KAAC,mBACKzB,IAAAC,cAAA,cAAQ,WAAgB,OAAID,IAAAC,cAAA,cAAQ,eAEtDD,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAA,KACE2/B,KAAM4Q,GAAaM,yBAAyB3oC,IAC5CypC,MAAO,CACLC,eAAgB,SAGlB7xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,WACTrB,IAAAC,cAAC6xC,GAAM,CAAC/B,KAAMt1C,GAAMxG,gBAGxB+L,IAAAC,cAAA,KACE2/B,KAAM4Q,GAAaO,4BAA4B5oC,IAC/CypC,MAAO,CACLC,eAAgB,SAGlB7xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,cACTrB,IAAAC,cAAC6xC,GAAM,CAAC/B,KAAMt1C,GAAMxG,oBCiEnB89C,I,eAAAA,GA5Ff,SAAuBn5D,GAAoC,IAAnC,OAAEgrB,EAAM,QAAE9D,EAAO,YAAEsnC,GAAaxuD,EACtD,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAC3CuX,EAAQinB,YAAa1oB,GAAUA,EAAMyB,OACrCvpB,EAAWoT,eACVmuC,EAAmBC,GAAwBhrC,oBAAS,GAM3D,SAASirC,IACPD,GAAsBD,GASxB,OANA5qC,oBAAU,KACiD,IAAD+qC,IAA9C,OAALn4B,QAAK,IAALA,OAAK,EAALA,EAAOl2B,WAAgB,OAALk2B,QAAK,IAALA,OAAK,EAALA,EAAO/1B,WAAgB,OAAL+1B,QAAK,IAALA,OAAK,EAALA,EAAO90B,SAC9CpK,EAAQ+tB,KAAK,sBAADhI,OAA4B,OAALmZ,QAAK,IAALA,GAAe,QAAVm4B,EAALn4B,EAAO91B,gBAAQ,IAAAiuD,OAAV,EAALA,EAAiB1rD,WAErD,CAACuzB,IAGFha,IAAAC,cAAC6D,SAAK,CACJ9H,MAAO,IACPH,OAAQ,IACR+H,OAAQA,EACR9D,QAASA,EACTs4B,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,4CAEVvD,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACwB,GAAW,KAAC,mEAGbzB,IAAAC,cAACS,GAAS,KACsB,SAA7BmB,EAAQmW,kBACPhY,IAAAC,cAAAD,IAAAuD,SAAA,KAAEvD,IAAAC,cAACitB,GAAI,CACL7rB,KAAK,cACLvB,QAASoyC,GAETlyC,IAAAC,cAAC6xC,GAAM,CAAC/B,KAAMt1C,GAAMxG,eAElB+L,IAAAC,cAAC0xC,GAAqB,CACpB/tC,OAAQouC,EACRlyC,QAASoyC,KACblyC,IAAAC,cAAA,KACF2/B,KAAM4Q,GAAaK,eAAe1oC,IAClCypC,MAAO,CACLC,eAAgB,SAGlB7xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,eACTrB,IAAAC,cAAC6xC,GAAM,CAAC/B,KAAMt1C,GAAMxG,gBAGxB+L,IAAAC,cAAA,KACE2/B,KAAM4Q,GAAaK,eAAe1oC,IAClCypC,MAAO,CACLC,eAAgB,SAGlB7xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,mBACTrB,IAAAC,cAACmyC,GAAM,CAACrC,KAAMt1C,GAAMxG,gBAGxB+L,IAAAC,cAAA,KACE2/B,KAAM4Q,GAAaK,eAAe1oC,IAClCypC,MAAO,CACLC,eAAgB,SAGlB7xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,eACTrB,IAAAC,cAACoyC,GAAM,CAACtC,KAAMt1C,GAAMxG,gBAGxB+L,IAAAC,cAACitB,GAAI,CACH7rB,KAAK,mBACLvB,QAASA,IACPsnC,EAAY7F,wBAAsBt0D,gBAAgBqD,gBAGpD0vB,IAAAC,cAACqyC,GAAW,CAACvC,KAAMt1C,GAAMxG,eAE3B+L,IAAAC,cAACyxC,GAAiB,KAChB1xC,IAAAC,cAACitB,GAAI,CAAC7rB,KAAK,UAAUvB,QA5E/B,WACErP,EAASC,EAAa3H,yBAAyB8Y,MA4ErC7B,IAAAC,cAACsyC,KAAe,CAACxxC,MAAOtG,GAAMxG,oB,SCvG5C,MAAMu+C,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAWX43C,IADY/3C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,KAWJE,IAPsBh4C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAKyBH,WAAOC,IAAGa,QAAAX,aAAA,iUAGdJ,GAAMzH,eCtCf,I,YAAA,IACbiZ,OACE,sGACF4mC,OACE,qOACFC,UACE,uSACFC,cACE,mSACFC,cACE,qOCRG,MAAMtyC,GAAYhG,WAAOu4C,IAAGr4C,QAAAC,aAAA,8BAC/BjiB,IAAA,IAAC,WAAEsoB,GAAYtoB,EAAA,OACfsoB,GACAnG,eAAGC,QAAAH,aAAA,sCACcqG,IAEjBnoB,IAAA,IAAC,OAAEm6D,GAAQn6D,EAAA,OACXm6D,GACAn4C,eAAGG,QAAAL,aAAA,iCACSq4C,IAGd/3C,IAAA,IAAC,OAAE0rC,GAAQ1rC,EAAA,OACT0rC,GACA9rC,eAAGM,QAAAR,aAAA,iCACSgsC,KCcDsM,I,2HAAAA,GAzBFv6D,IAAA,IAAC,KACZ4C,EAAI,MACJulB,EAAK,KACLqyC,EAAI,MACJxB,EAAK,WACL1wC,EAAU,QACVpB,EAAO,OACPozC,EAAM,OACNrM,GACDjuD,EAAA,OACConB,IAAAC,cAACS,GAAS,CACRkxC,MAAOA,EACP51C,MAAK,GAAA6E,OAAKrlB,GACVqgB,OAAM,GAAAgF,OAAKrlB,GACX63D,MAAM,6BACNC,WAAW,+BACXpyC,WAAYA,EACZpB,QAASA,EACTozC,OAAQA,EACRrM,OAAQA,GAER7mC,IAAAC,cAAA,QAAM8vC,KAAMhvC,EAAOivC,EAAGuD,GAASH,GAAOI,cAAY,gBCvB/C,MAAM9yC,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,iSAG/BjiB,IAAA,IAAC,UAAE66D,EAAS,SAAElsC,EAAW,QAAQ3uB,EAAA,OACrB2uB,EACRxM,eAAGC,QAAAH,aAAA,gDACY0M,EAAYo9B,qBAASzpC,QAAAL,aAAA,UAAG44C,IAEvC,IAEJ16D,IAAA,IAAC,MAAE26D,GAAO36D,EAAA,OACV26D,EACI34C,eAAGM,QAAAR,aAAA,4NAQUJ,GAAM9I,UAGnB,IAEJwJ,IAAA,IAAC,KAAEw4C,GAAMx4C,EAAA,MACO,kBAATw4C,EACH54C,eAAGS,QAAAX,aAAA,uCACO84C,GAEVA,EACA54C,eAAGY,QAAAd,aAAA,sCAGH,IAEJS,IAAA,IAAC,OAAEs4C,GAAQt4C,EAAA,OACXs4C,EACI74C,eAAGe,QAAAjB,aAAA,qDAGH,IAEJY,IAAA,IAAC,KAAEo4C,GAAMp4C,EAAA,OACTo4C,EACI94C,eAAGkB,QAAApB,aAAA,8CAGH,IAEJe,IAAA,IAAC,eAAEk4C,GAAgBl4C,EAAA,OACnBk4C,EACI/4C,eAAGmB,QAAArB,aAAA,+CAGH,IAEJkB,IAAA,IAAC,UAAE+qC,GAAW/qC,EAAA,MACO,kBAAd+qC,EACH/rC,eAAGqB,QAAAvB,aAAA,+CACaisC,GAEhBA,EACA/rC,eAAGwB,QAAA1B,aAAA,+CAGH,IAEJwB,IAAA,IAAC,aAAEiD,GAAcjD,EAAA,OACjBiD,EACIvE,eAAG2B,QAAA7B,aAAA,kDAGH,IACJ2B,IAAA,IAAC,WAAE0E,GAAY1E,EAAA,OACf0E,EACInG,eAAG8B,QAAAhC,aAAA,8CACcqG,GAEjB,IAEJvE,IAAA,IAAC,YAAEo3C,GAAap3C,EAAA,MACO,kBAAhBo3C,EACHh5C,eAAGgC,QAAAlC,aAAA,gFACck5C,EACCA,GAElBA,EACAh5C,eAAGkC,QAAApC,aAAA,6EAIH,IAEJmC,IAAA,IAAC,QAAEJ,GAASI,EAAA,MACO,kBAAZJ,EACH7B,eAAGqC,QAAAvC,aAAA,4CACU+B,GAEbA,EACA7B,eAAGwC,QAAA1C,aAAA,4CAGH,IAEJqC,IAAA,IAAC,aAAE82C,GAAc92C,EAAA,MACO,kBAAjB82C,EACHj5C,eAAG0C,QAAA5C,aAAA,kFACem5C,EACCA,GAEnBA,EACAj5C,eAAG4C,QAAA9C,aAAA,iFAIH,IAENwC,IAAA,IAAC,YAAE4nC,GAAa5nC,EAAA,MACU,kBAAjB22C,aACHj5C,eAAG+C,QAAAjD,aAAA,iDACeoqC,GAElBA,EACAlqC,eAAGgD,QAAAlD,aAAA,iDAGH,IAEJ2C,IAAA,IAAC,QAAEsC,GAAStC,EAAA,OACZsC,EACI/E,eAAGmD,QAAArD,aAAA,8CAGH,IAEJ+C,IAAA,IAAC,cACD8F,EAAa,oBACbuwC,EAAmB,WACnBC,EAAU,aACV/I,EAAY,mBACZgJ,EAAkB,mBAClBC,GACDx2C,EAAA,OACC8F,EACI3I,eAAGoD,QAAAtD,aAAA,sDAGHo5C,EACAl5C,eAAGsD,QAAAxD,aAAA,6DAGHq5C,EACAn5C,eAAGuD,QAAAzD,aAAA,wDAGHs5C,EACAp5C,eAAGyD,QAAA3D,aAAA,4DAGHu5C,EACAr5C,eAAG0D,QAAA5D,aAAA,4DAGHswC,EACApwC,eAAG4D,QAAA9D,aAAA,0DAGH,IAEJmD,IAAA,IAAC,WAAEq2C,EAAU,YAAE5wC,EAAW,SAAE6wC,GAAUt2C,EAAA,OACtCq2C,EACIt5C,eAAG6D,QAAA/D,aAAA,sDAGH4I,EACA1I,eAAG+D,QAAAjE,aAAA,kDAGHy5C,EACAv5C,eAAGiE,QAAAnE,aAAA,oDAGH,IAEJuD,IAAA,IAAC,UAAEm2C,EAAS,UAAEC,GAAWp2C,EAAA,OACzBm2C,EACIx5C,eAAGmE,QAAArE,aAAA,0CAGH25C,EACAz5C,eAAGqE,QAAAvE,aAAA,yCAGH,IAEJ0D,IAAA,IAAC,WAAEk2C,GAAYl2C,EAAA,OACfk2C,EACI15C,eAAGwE,QAAA1E,aAAA,yCACQ45C,GAEX,IAEJ/1C,IAAA,IAAC,OAAE7C,GAAQ6C,EAAA,OACX7C,EACId,eAAG2E,QAAA7E,aAAA,yCACSgB,GAEZ,IACJkD,IAAA,IAAC,MAAE/C,GAAO+C,EAAA,OACV/C,EACIjB,eAAG25C,QAAA75C,aAAA,wCACQmB,GAEX,IAEFiD,IAAA,IAAC,YAAE01C,GAAa11C,EAAA,OAChB01C,EACI55C,eAAG65C,QAAA/5C,aAAA,gDAGH,IAEJsE,IAAA,IAAC,aAAEG,GAAcH,EAAA,OACjBG,EACIvE,eAAG85C,QAAAh6C,aAAA,sDAGH,IAEJwE,IAAA,IAAC,QAAEzC,GAASyC,EAAA,MACO,kBAAZzC,EACH7B,eAAG+5C,QAAAj6C,aAAA,gDACU+B,GAEbA,EACA7B,eAAGg6C,QAAAl6C,aAAA,6CAGH,IAEJ2E,IAAA,IAAC,aAAEw0C,GAAcx0C,EAAA,OACjBw0C,GAAwC,kBAAjBA,EACnBj5C,eAAGi6C,QAAAn6C,aAAA,uFAIH,KChLKowC,I,MAAAA,GAvEKryD,IAAA,IAAC,SACnBgnB,EAAQ,YACR+0C,EAAW,KACXhB,EAAI,OACJC,EAAM,cACNlwC,EAAa,oBACbuwC,EAAmB,WACnBC,EAAU,aACV/I,EAAY,mBACZgJ,EAAkB,mBAClBC,EAAkB,WAClBC,EAAU,YACV5wC,EAAW,SACX6wC,EAAQ,UACRxN,EAAS,aACTxnC,EAAY,YACZy0C,EAAW,QACXn3C,EAAO,aACPo3C,EAAY,YACZ/O,EAAW,UACXuP,EAAS,UACTD,EAAS,OACT14C,EAAM,MACNG,EAAK,WACLy4C,EAAU,KACVZ,EAAI,eACJC,EAAc,QACdh0C,EAAU,KAAI,MACd4zC,EAAK,UACLD,EAAS,SACTlsC,EAAQ,WACRrG,KACGI,GACJ1oB,EAAA,OACConB,IAAAC,cAACS,GAASa,OAAAC,OAAA,GACJF,EAAK,CACTqyC,KAAMA,EACNc,WAAYA,EACZE,YAAaA,EACb1P,YAAaA,EACb2O,OAAQA,EACR/3C,OAAQA,EACRG,MAAOA,EACPw4C,UAAWA,EACXH,WAAYA,EACZ3wC,cAAeA,EACfuwC,oBAAqBA,EACrBC,WAAYA,EACZC,mBAAoBA,EACpBC,mBAAoBA,EACpB3wC,YAAaA,EACb6wC,SAAUA,EACVxN,UAAWA,EACXxnC,aAAcA,EACdy0C,YAAaA,EACbn3C,QAASA,EACTo3C,aAAcA,EACd7I,aAAcA,EACdoJ,UAAWA,EACXV,KAAMA,EACNC,eAAgBA,EAChBh0C,QAASA,GAAW,KACpB4zC,MAAOA,EACPD,UAAWA,EACXlsC,SAAUA,EACVrG,WAAYA,IAEXtB,ICrEL,MAAMq1C,GAAYtQ,qBAAS/pC,QAAAC,aAAA,kGASd43C,GAAwB/3C,WAAOC,IAAGK,QAAAH,aAAA,uEAE1Bo6C,ICLN,SAASC,GAAct8D,GAA2B,IAA1B,OAAEijB,EAAM,KAAErgB,EAAI,MAAEulB,GAAOnoB,EAC5D,OACEonB,IAAAC,cAACgrC,GAAW,CAACpvC,OAAQA,EAAQ6H,eAAa,EAACD,aAAW,GACpDzD,IAAAC,cAACwyC,GAAqB,KACpBzyC,IAAAC,cAACk1C,KAAyB,CACxB35D,KAAMA,GAAQ,KACdulB,MAAOA,GAAStG,GAAMzH,iBC8BhC,MAAQkW,wBAAwB,IAAI5X,gbA8EpC,MAAM8jD,GAAmBr8D,IAMlB,IANmB,QACxBs8D,EAAO,QACPxzC,EAAO,SACPmhB,EAAQ,eACRsyB,EAAc,kBACdC,GACDx8D,EACC,OACEinB,IAAAC,cAACu1C,YAAQ,KACM,aAAZH,GAA0BtR,GAAQliC,EAAQkW,MACzC/X,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAAS5yB,EACTljB,QAAUM,GAAMk1C,EAAel1C,GAC/BvE,OAAQ,GACRG,MAAO,MAIXgE,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAAS5yB,GAAYuyB,EACrBz1C,QAAUM,GAAMk1C,EAAel1C,GAC/BvE,OAAQ,GACRG,MAAO,MAKbgE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,SAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,eAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,sBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,iBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,SAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,qBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,UAG9B,aAAZR,GAA0BtR,GAAQliC,EAAQkW,MACzC/X,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,cAGzC,KAEJ71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,GAAIm6C,SAAU,OAKrCC,GAAa36C,IAkBZ,IAlBa,OAClB7W,EAAM,SACNyxD,EAAQ,oBACRC,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,oBACvBC,EAAmB,QACnBd,EAAO,iBACPe,EAAgB,WAChBC,EAAU,QACVx0C,EAAO,iBACPy0C,EAAgB,aAChBC,EAAY,eACZC,EAAc,6BACdC,EAA4B,kBAC5BlB,EAAiB,wBACjBmB,EAAuB,sBACvBC,GACDx7C,EACC,MAAO6nB,EAAU4zB,GAAe3vC,oBAAS,IAClC4vC,EAAkBC,GAAuB7vC,mBAAS,IA4BnD8vC,EAAmBA,KACvB,MAAMC,EAAa,EAAIjB,EAASn6D,SAC1Bq7D,EAAWD,EAAajB,EAASn6D,SACjCs7D,EAAmB5yD,EAAOs9B,MAAMo1B,EAAYC,GAE5CE,EAAgBZ,EAAah/D,OAAQ6/D,IACjCF,EAAiBp+D,KACtBI,GAASA,EAAKuN,UAAY2wD,EAAa3wD,UAI5C+vD,EAAeW,GACfP,GAAY,IAYdxvC,oBAAU,KACRwvC,EAV4BS,MAC5B,MAAML,EAAa,EAAIjB,EAASn6D,SAC1Bq7D,EAAWD,EAAajB,EAASn6D,SAEvC,OADyB0I,EAAOs9B,MAAMo1B,EAAYC,GAC1Bz5B,MAAOtkC,GAC7Bq9D,EAAaz9D,KAAMs+D,GAAiBA,EAAa3wD,UAAYvN,EAAKuN,WAKxD4wD,KACX,CAACd,IAEJ,MAAMe,EAAmB,CACvB,CACEvP,cAAeA,IAAM2O,EAAwB,yBAC7Cr1C,KAAM,yBAER,CACE0mC,cAAeA,IAAM2O,EAAwB,0BAC7Cr1C,KAAM,2BAcV,OAXA+F,oBAAU,KACoBkzB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAao6D,EAASp6D,WAC5BR,EAAMS,SAAWm6D,EAASn6D,SAC1BT,EAAMY,WAAag6D,EAASh6D,WAErBZ,KAGR,IAGD6kB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,OAAOG,MAAM,QACzBu6C,EAAa/+D,OAAS,GACT,aAAZ69D,GACAtR,GAAQliC,EAAQkW,OACd/X,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,OAAOG,MAAM,QAC1BgE,IAAAC,cAACs3C,GAAW,CACVlC,QAASA,EACTwB,iBAAkBA,EAClBT,iBAAkBA,EAClBD,oBAAqBA,EACrBF,iBAAkBA,EAClBuB,UAAWnB,EACXn1C,WAAY,GACZq1C,aAAcA,KAIrBA,EAAa/+D,OAAS,EACrBwoB,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,OAAOG,MAAM,QAC1BgE,IAAAC,cAACgrC,eAAW,CAAC3rC,aAAc,GAAI20C,qBAAmB,EAACxwC,aAAW,GAC5DzD,IAAAC,cAACw3C,UAAM,CAAC3wD,KAAK,WACXkZ,IAAAC,cAAA,YAAM,sBACas2C,EAAa/+D,OAAO,OAAKu+D,EAASxxD,WAAY,IAAI,8BAIvEyb,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTkD,QAASA,KACP02C,EAAe,MAElB,0BAKH,KACJx2C,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAACm1C,GAAgB,CACfC,QAASA,EACTxzC,QAASA,EACTmhB,SAAUA,EACVsyB,eA9GiBsC,KACvB50B,EACF+zB,IApBmBzB,MACrB,GAAIC,EACF,OAEF,MAIM4B,EAJW7yD,EAAOs9B,MACtB,EACA5lC,KAAK67D,IAAIvzD,EAAO9M,OAAyB,EAAjBu+D,EAASn6D,WAEJrE,OAC5B2B,IACEq9D,EAAaz9D,KACXs+D,GAAiBA,EAAa3wD,UAAYvN,EAAKuN,UAGtD+vD,EAAe,IAAID,KAAiBY,IACpCP,GAAY,IAOVtB,IA2GQC,kBAAmBA,KAItBjxD,EAAOlJ,IAAK4+B,GACXha,IAAAC,cAAC63C,GAAY,CACX3zC,IAAK6V,EAAMvzB,QACXuzB,MAAOA,EACPgJ,SAAUA,EACV8zB,oBAAqBA,EACrBD,iBAAkBA,EAClBZ,iBAAkBA,EAClBE,oBAAqBA,EACrBd,QAASA,EACTxzC,QAASA,EACT00C,aAAcA,EACdC,eAAgBA,EAChBjB,kBAAmBA,EACnBoB,sBAAuBA,OAK/B32C,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,GACpBv0C,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,GACxCj0C,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACvF,IAAK,GAAIzxC,QAAS,IACpCoD,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAAC01C,YAAQ,CACPC,QAASL,EACTz1C,QAAUM,GAAMq2C,EAA6Br2C,GAC7CvE,OAAQ,GACRG,MAAO,KAETgE,IAAAC,cAAC0B,QAAI,CACHN,KAAI,aAAAR,OAAek1C,EAASxxD,WAAU,oCAG1Cyb,IAAAC,cAAC0rC,YAAQ,CACP9E,OAAQ,EACR9mB,QAASu3B,EACT9zC,KAAK,SACL3H,OAAQ,GACRS,WAAY7B,GAAMzH,aAClB+kD,WAAW,2BAEX/3C,IAAAC,cAAC+3C,KAAc,CAACx8D,KAAK,KAAKulB,MAAOtG,GAAMhH,eAAgB,uBAI1DsiD,EAASxxD,WAAa,IACrByb,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOs6D,EAASxxD,WAChB0xD,iBAAkBA,EAClBD,oBAAqBA,EACrBkC,mBAAoB5B,EACpBJ,wBAAyBA,QASjC4B,GAAex8C,IAad,IAbe,MACpB0e,EAAK,SACLgJ,EAAQ,oBACR8zB,EAAmB,iBACnBD,EAAmB,GAAE,oBACrBV,EAAmB,QACnBd,EAAO,QACPxzC,EAAO,aACP00C,EAAY,eACZC,EAAc,iBACdP,EAAgB,kBAChBV,EAAiB,sBACjBoB,GACDr7C,EACC,MAAO68C,EAAaC,GAAkBnxC,oBAAS,GAS/C,SAASoxC,EAAuBC,GAG1BA,GAFuB,cAEH,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUC,YACxBz9D,EAAQ+tB,KAAK,sBAADhI,OAA+B,OAARy3C,QAAQ,IAARA,OAAQ,EAARA,EAAU7xD,QAAO,aAEpDyyB,OAAOC,SAASq/B,QAAQ,GAAD33C,OAClBqI,GAAuB,iCAAArI,OAAgCy3C,EAAS7xD,UAKzE,MAiBMgyD,EAAgBz+B,EAAM0+B,gBACxB1+B,EAAM0+B,gBAAgB1L,MAAM,KAAK2L,KAAK,OACtC3+B,EAAM0+B,gBAEJE,GAAmB,OAAL5+B,QAAK,IAALA,OAAK,EAALA,EAAOmE,QAAQ06B,SAAS,aAAa,EACzD,OACE74C,IAAAC,cAACu1C,YAAQ,CACPsD,aA3CJ,SAA+B14C,GAC7Bg4C,GAAgBD,IA2CdY,aAzCJ,SAA+B34C,GACzB+3C,GAAaC,GAAgBD,IAyC/Bh0C,IAAK6V,EAAMvzB,SAEXuZ,IAAAC,cAAC+4C,aAAS,CAACtD,WAAS,EAACvxC,IAAK6V,EAAMvzB,SAC9BuZ,IAAAC,cAAC01C,YAAQ,CACPC,QACEW,EAAaz9D,KACVs+D,GAAiBA,EAAa3wD,UAAYuzB,EAAMvzB,UAC9C8uD,EAEPz1C,QAAUM,GAnCOlnB,KACvB,GAAIq8D,EACF,OAEF,MAAM0D,EAAa1C,EAAaz9D,KAC7Bs+D,GAAiBA,EAAa3wD,UAAYvN,EAAKuN,SAGhD+vD,EADEyC,EAEA1C,EAAah/D,OACV6/D,GAAiBA,EAAa3wD,UAAYvN,EAAKuN,SAIrC,IAAI8vD,EAAcr9D,KAqBbggE,CAAgBl/B,GAChCne,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAAC+4C,aAAS,CACRl5C,QAASA,IAAMu4C,EAAuBr+B,GACtCm/B,cAAY,EACZtD,SAAU,IACVn6C,SAAU,KAETse,EAAMmE,SAETne,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMgE,cAAc,MAAIhE,EAAMo/B,eAEjCp5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjC+8C,GAEHz4C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMq/B,WACHC,aAAO,IAAI1zC,KAAKoU,EAAMq/B,YAAa,mBAAoB,CACrDE,SAAU,sBAEZ,MAENv5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMw/B,QACHF,aAAO,IAAI1zC,KAAKoU,EAAMw/B,SAAU,oBAChC,MAENx5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMy/B,aACHH,aAAO,IAAI1zC,KAAKoU,EAAMy/B,cAAe,oBACrC,MAENz5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KAChCy8C,GAA2B,aAAZ9C,GAChB8C,GAAerU,GAAcjiC,EAAQkW,MACpC/X,IAAAC,cAACy5C,GAAiB,CAChBrB,uBAAwBA,IAAMA,EAAuBr+B,GACrDvzB,QAASuzB,EAAMvzB,QACfkzD,YACEp+B,qBAAmB5tC,oBAAoBqsC,EAAMqE,eAE/C83B,oBAAqBA,CAAC1vD,EAASlL,IAC7B46D,EAAoB1vD,EAASlL,EAAQq9D,GAEvC9+B,UAAWE,EAAMmE,QACjBw4B,sBAAuBA,IAGzBp7B,qBAAmB5tC,oBAAoBqsC,EAAMqE,gBAGpC,aAAZg3B,GAA0BtR,GAAQliC,EAAQkW,MACzC/X,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCy8C,GACDn+B,EAAMqE,gBAAkB9C,qBAAmB3tC,SAAS4M,WAClDwlB,IAAAC,cAACy5C,GAAiB,CAChBrB,uBAAwBA,IAAMA,EAAuBr+B,GACrDvzB,QAASuzB,EAAMvzB,QACfkzD,YACEp+B,qBAAmB5tC,oBAAoBqsC,EAAMqE,eAE/Cu7B,eAAgB5/B,EAAM6/B,WACtB1D,oBAAqBA,CAAC1vD,EAASlL,IAC7B46D,EAAoB1vD,EAASlL,EAAQq9D,GAEvCkB,SAAU9/B,EAAMu+B,WAChBz+B,UAAWE,EAAMmE,QACjBw4B,sBAAuBA,IAGzB32C,IAAAC,cAAAD,IAAAuD,SAAA,KAAGyW,EAAM6/B,WAAa7/B,EAAM+/B,YAAc,MAG5C,KACJ/5C,IAAAC,cAAC+4C,aAAS,KACPh/B,EAAMggC,mBACLh6C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAM9E,MACb0L,KAAK,uIACLvG,SAAS,QAETkF,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACi6C,KAAM,CAAC1+D,KAAK,KAAKulB,MAAOtG,GAAMrI,wBASvC+nD,GAAeA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACmP,YAAU,EAAC12C,eAAa,EAACD,aAAW,GAC/CzD,IAAAC,cAACwyC,GAAqB,KAAC,+BAIrB8E,GAAc97C,IAOb,IAPc,iBACnBo7C,EAAgB,oBAChBV,EAAmB,iBACnBF,EAAgB,WAChB/0C,EAAU,UACVs2C,EAAS,aACTjB,GACD96C,EACC,OACEuE,IAAAC,cAACgrC,eAAW,CAAC3rC,aAAc,GAAI20C,qBAAmB,EAACxwC,aAAW,GAC5DzD,IAAAC,cAACw3C,UAAM,CAAC3wD,KAAK,WACXkZ,IAAAC,cAAA,YAAM,sBACas2C,EAAa/+D,OAAO,MAAI,IACxCggE,GAAa,GAAKvB,EAAiBr6D,SAAW47D,EAAU,YAG7Dx3C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTsE,WAAYA,EACZpB,QAASA,IACPq2C,EACEI,EACAh7B,qBAAmB5tC,oBAAoB,IAAI6qE,QAAQ,OAAQ,IAC3DjC,EAAaz9D,KAAMuhE,GAAiB,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQl8B,QAAQ06B,SAAS,aAI3D74C,IAAAC,cAACq6C,KAAK,CAAC9+D,KAAK,KAAKo3D,OAAQn4C,GAAMzH,eAAgB,mBAOjD0mD,GAAoB99C,IASnB,IAToB,uBACzBy8C,EAAsB,QACtB5xD,EAAO,YACPkzD,EAAW,oBACXxD,EAAmB,eACnByD,EAAc,SACdE,EAAW,KAAI,UACfhgC,EAAS,sBACT68B,GACD/6C,EACC,MACM,QAAEiG,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAChCoB,cACjB,OACE7D,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAAC2wC,oBAAkB,GACzCp0C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,SACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CAAC5yC,QAASA,IAAMu4C,KAC3Br4C,IAAAC,cAACs6C,KAAQ,CAAC/+D,KAAK,KAAKulB,MAAOtG,GAAMpC,cAIpCwJ,EAAQkW,OAASe,wBAAsBxsC,kBAAkB23D,OAChD,OAATnqB,QAAS,IAATA,OAAS,EAATA,EAAW++B,SAAS,cAAuB,OAAT/+B,QAAS,IAATA,OAAS,EAATA,EAAW++B,SAAS,OACrD74C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,oCACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CAAC5yC,QAASA,IAAM62C,EAAsB78B,IACjD9Z,IAAAC,cAAC+3C,KAAc,CAACx8D,KAAK,KAAKulB,MAAOtG,GAAMpC,cAGzC,KAEa,8BAAhBshD,GACDG,GA/BkB,aAgClBA,EACE95C,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACT5H,IAAKnrB,wBAAsBxsC,kBAAkB23D,KAE/C6H,SAAUjqC,EAAQkW,MAElB/X,IAAAC,cAACu6C,GAAe,CACdb,YAAaA,EACblzD,QAASA,EACT0vD,oBAAqBA,EACrByD,eAAgBA,KAGlB,OAKJY,GAAkBz+C,IAKjB,IALkB,YACvB49C,EAAW,QACXlzD,EAAO,oBACP0vD,EAAmB,eACnByD,GACD79C,EACC,MAAMxgB,EAASo+D,EAAYnB,QAAQ,OAAQ,IACrCiC,EAAgB,CACpBC,wBAAyB,CACvB/4C,KAAOi4C,EAAqC,0BAApB,kBACxBzG,KAAOyG,EAGL55C,IAAAC,cAACkzC,GAAI,CAAC33D,KAAK,KAAKulB,MAAOtG,GAAMpC,UAAW+6C,KAAK,kBAF7CpzC,IAAAC,cAACq6C,KAAK,CAAC9+D,KAAK,KAAKulB,MAAOtG,GAAMpC,YAIhCyH,QAAU85C,EAEN,IAAMzD,EAAoB1vD,EAAS,YADnC,IAAM0vD,EAAoB1vD,EAASlL,KAS3C,SAASo/D,IACP,OAAOF,EAAcl/D,GAAQomB,KAG/B,OACE3B,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAMs5C,IACN7/C,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CACXkI,WAAUD,IACV76C,QAAS26C,EAAcl/D,GAAQukB,SAhB5B26C,EAAcl/D,GAAQ43D,QAuBlB0H,I,GAAAA,GAhqBf,SAAsBjiE,GAelB,IAfmB,oBACrBo9D,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,oBACvBC,EAAmB,iBACnBC,EAAgB,oBAChB0E,EAAmB,iBACnBxE,EAAgB,aAChBC,EAAY,eACZC,EAAc,6BACdC,EAA4B,kBAC5BlB,EAAiB,wBACjBmB,EAAuB,qBACvBqE,EAAoB,sBACpBpE,GACD/9D,EACC,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,YAAE/d,EAAW,OAAEJ,GAAW28C,YAAa1oB,GAAUA,EAAMyB,OACvDz+B,EAASmJ,EAAYR,SAASU,QAuDpC,OAXAwiB,oBAAU,KACR,MAAM4zC,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMS,SAAW,GACjBT,EAAMQ,WAAa,IAGrBq6D,EAAoBgF,GACpBxE,EAAe,IACfuE,GAAqB,IACpB,CAACx/D,IAEGykB,IAAAC,cAAAD,IAAAuD,SAAA,KA9CP,SAAsBo2C,GAA8B,IAAjBtE,EAAOprD,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAC3C,MAAMwD,EAAa8tB,qBAAmBvtC,iBAAiBqnE,GACvD,OAAI/wD,EAAOR,QACFkc,IAAAC,cAACg7C,GAAe,MAGnBtB,EAAYj+D,MAAQi+D,EAAYj+D,KAAKlE,OAAS,EAEhDwoB,IAAAC,cAAC61C,GAAUv0C,OAAAC,OAAA,CACTu0C,SAAU4D,EACVr1D,OAAQq1D,EAAYj+D,KACpBs6D,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAAyBA,EACzBC,oBAAqBA,EACrBC,iBAAkBA,EAClB0E,oBAAqBA,EACrBxE,iBAAmB4E,GACjB5E,EAAiB4E,EAAWztD,GAE9B4oD,WAAYsD,EAAYp1D,YACnB8wD,GAAW,CAAEA,WAAS,CAC3BxzC,QAASA,EACT00C,aAAcA,EACdC,eAAgBA,EAChBC,6BAA8BA,EAC9BlB,kBAAmBA,EACnBmB,wBAAyBA,EACzBC,sBAAuBA,KAItB32C,IAAAC,cAACk6C,GAAY,MAcZgB,CAAa72D,EAAOJ,SApDN,IAAlB3I,EAAO/D,QAAiC,KAAjB+D,EAAO,GAAG+N,GAC5B,WAEF,WCpEJ,MAAMmY,GAAc/G,WAAOC,IAAGC,QAAAC,aAAA,oYCuDtB,I,GAAA,GApDYjiB,IAAyC,IAAxC,UAAEwiE,EAAY,EAAC,QAAEC,GAAU,GAAOziE,EAC5D,GAAIwiE,GAAa,EACf,MAAM,IAAIl/B,MAAM,kDAElB,MAAMo/B,EAAyB,IAAdF,EAEjB,OAAIC,EAEAr7C,IAAAC,cAACwB,GAAW,KACT65C,EACG,mDACA,6DACJt7C,IAAAC,cAAA,cACGq7C,EACG,mDACA,qDACG,IAETt7C,IAAAC,cAAA,WACCq7C,EACG,oCACA,uCAKRt7C,IAAAC,cAACwB,GAAW,KAAC,4BACczB,IAAAC,cAAA,cAAQ,6BAAkC,sBAEnED,IAAAC,cAAA,WAAM,+CAEND,IAAAC,cAAA,WACCq7C,EACG,oCACA,wCAkBK,GAbcviE,IAAgC,IAA/B,WAAEwiE,EAAU,UAAEC,GAAWziE,EACrD,OACEinB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SChDrD,MAAM+3C,GAAkB/gD,WAAOksC,MAAKhsC,QAAAC,aAAA,4CCO5B,SAAS6gD,KACtB,MAAMjrD,EAAWoT,eACX,YAAEnf,EAAW,OAAEJ,GAAW28C,YAAa1oB,GAAUA,EAAMyB,QACvD,QAAEnY,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,YAAEX,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAE/C,MAAEk5C,GAAUnkC,GAAU1V,GAEtBjb,EAAS,CACb+0D,YAAa,EACbC,UAAW,GACXC,gBAAiB5X,GAAoBriC,GACrCk6C,qBAAsB,CACpBC,SAA2B,QAAjBn6C,EAAQkW,KAClBx8B,OAAQ,GACR0gE,UAAW,KACXC,gCAAiC,KACjCC,UAAW,KACXC,YAAa,KACbC,gBACmB,QAAjBx6C,EAAQkW,MAAkBmsB,GAAoBriC,GAC1C,KACAA,EAAQmW,kBACdskC,cAAe,KACfC,UAAW,KACXC,SAAS,EACTC,QAAQ,EACRC,mBAAoB,KACpBC,mBAAoB,KACpBC,iBAAkB,KAClBC,kBAAmB,KACnBC,gBAAiB,KACjBC,eAAwC,SAAxBpB,EAAMzO,gBAqB1B,SAAS8P,EAAqB1nC,GAC5B,MAAM2nC,EAASv4D,EAAYR,SAASU,QAAQ0wB,GACtC4nC,EAAcx4D,EAAYR,SAASU,QAAQ61B,KAC/C,CAACl/B,EAAQ+zD,IAA6B,UAAvB/zD,EAAOo/B,aAElBwiC,EAAiBz4D,EAAYR,SAASS,WAAWpN,OACrD,CAACgE,EAAQ+zD,IAA6B,UAAvB/zD,EAAOo/B,aAGxB,GAA2B,UAAvBsiC,EAAOtiC,YAAyB,CAClC,MAAMz2B,EAAW,CACfS,WAAY,IACPD,EAAYR,SAASU,WACrBF,EAAYR,SAASS,YAE1BC,QAAS,IAELw4D,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,GAAIg5D,GAAeC,EAAgB,CACjC,MAAME,EAAY34D,EAAYR,SAASU,QAAQrN,OAC7C,CAACgE,EAAQ+zD,IACgB,UAAvB/zD,EAAOo/B,aACPp/B,EAAOo/B,cAAgBsiC,EAAOtiC,aAE5Bz2B,EAAW,CACfS,WAAY,CAACu4D,EAAaD,KAAWv4D,EAAYR,SAASS,YAC1DC,QAASy4D,GAELD,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,MAAMo5D,EAAoB54D,EAAYR,SAASU,QAAQrN,OACrD,CAAC4oB,EAAGmvC,IAAMA,IAAMh6B,GAEZpxB,EAAW,CACfS,WAAY,IAAID,EAAYR,SAASS,WAAYs4D,GACjDr4D,QAAS04D,GAGLF,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GA8D3D,SAASq5D,EAAqBjoC,GAC5B7kB,EA5DF,SAAiC6kB,GAC/B,MAAMkoC,EAAY94D,EAAYR,SAASS,WAAW2wB,GAC5C+nC,EAAY34D,EAAYR,SAASS,WAAWpN,OAChD,CAACgE,EAAQ+zD,IAAoB,IAAd/zD,EAAO+N,IAA6B,IAAjB/N,EAAOq/B,OAGrC6iC,EAAe/4D,EAAYR,SAASS,WAAWpN,OAClD2B,GAAwB,IAAfA,EAAK0hC,OAEX8iC,EAAYh5D,EAAYR,SAASS,WAAWpN,OAC/C2B,GAAwB,IAAfA,EAAK0hC,OAGjB,GAAyB,IAArByiC,EAAU7lE,OAAc,CAC1B,MAAM0M,EAAW,CACfS,WAAY,IAAI+4D,GAChB94D,QAAS,IAAI64D,KAAiB/4D,EAAYR,SAASU,UAG/Cw4D,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAI1B,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,GAAqB,IAAjBs5D,EAAUl0D,GAAU,CACtB,MAAMpF,EAAW,CACfS,WAAY,IAAI+4D,GAChB94D,QAAS,IAAI64D,KAAiB/4D,EAAYR,SAASU,UAG/Cw4D,EAAYl5D,EAASU,QAAQxJ,IAAKG,GAAWA,EAAO+N,IAI1D,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,MAIMA,EAAW,CACfS,WAL2BD,EAAYR,SAASS,WAAWpN,OAC3D,CAAC4oB,EAAGmvC,IAAMA,IAAMh6B,GAKhB1wB,QAAS,IAAIF,EAAYR,SAASU,QAAS44D,IAGvCJ,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAI1B,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAIhDy5D,CAAwBroC,IACjC7kB,EAASC,EAAa3I,sBAAsBlB,IA4B9C,OArKAugB,oBAAU,KACJvF,EAAQmW,oBAAsBksB,GAAoBriC,GACpDpR,EACEC,EAAavI,gCACX0Z,EAAQmW,kBACgB,SAAxB2jC,EAAMzO,gBAGDhJ,GAAoBriC,GAC7BpR,EACEC,EAAajI,2BAAmD,SAAxBkzD,EAAMzO,gBAGhDz8C,EAASC,EAAanI,8BAEvB,IAsJCjE,EAAOR,SAAWY,EAAYZ,QAE9Bkc,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXuH,IAAK,EACL/uC,aAAc,GACd6rC,cAAY,EACZ1nC,aAAW,EACXynC,UAAQ,EACR0I,QAAM,GAEN5zC,IAAAC,cAAC0B,QAAI,CAACnmB,KAAM,GAAIoiE,MAAI,EAACv8C,KAAK,yBAC1BrB,IAAAC,cAACi1C,GAAc,CAACr5C,OAAQ,MAK5BmE,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIuH,IAAK,EAAGlD,cAAY,EAACkJ,YAAU,EAACnJ,UAAQ,GACjExmD,EAAYR,SAASS,WAAWvJ,IAC/B,CAAAxC,EAA6B08B,KAAK,IAAjC,GAAEhsB,EAAE,YAAEqxB,EAAW,MAAEC,GAAOhiC,EAAA,OACzBonB,IAAAC,cAACw7C,GAAe,CAACt3C,IAAK7a,GACpB0W,IAAAC,cAAC49C,SAAK,CACJ/9C,QAASA,IAAMy9C,EAAqBjoC,GACpCvU,MAAO,UACP+8C,eAAa,EACbz8C,KAAI,GAAAR,OAAK8Z,EAAW,MAAA9Z,OAAK+Z,EAAK,KAC9BmjC,cAAenjC,EAAQ,QAMjC5a,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXxnC,aAAc,GACd+uC,IAAK,EACLlD,cAAY,EACZkJ,YAAU,EACVnJ,UAAQ,GAERlrC,IAAAC,cAAC0B,QAAI,CAACN,KAAK,uBACV3c,EAAYR,SAASU,QAAQxJ,IAC5B,CAAArC,EAA6Bu8B,KAAK,IAAjC,GAAEhsB,EAAE,YAAEqxB,EAAW,MAAEC,GAAO7hC,EAAA,OACzBinB,IAAAC,cAACw7C,GAAe,CAACt3C,IAAK7a,GACpB0W,IAAAC,cAAC49C,SAAK,CACJ/9C,QAASA,IAvEvB,SAA2BwV,GAEzB,MAA2B,UADZ5wB,EAAYR,SAASU,QAAQ0wB,GACjCqF,aASPj2B,EAAYR,SAASU,QAAQpN,QAAU,GARzCiZ,EACEC,EAAa1I,uBACX,CAAEzD,WAAY,EAAG7I,KAAM,GAAIK,WAAY,IACvC,IAGG0U,EAASusD,EAAqB1nC,MAYvC7kB,EAASusD,EAAqB1nC,SAC9B7kB,EAASC,EAAa3I,sBAAsBlB,KAiDjBm3D,CAAkB1oC,GACjCjU,KAAI,GAAAR,OAAK8Z,EAAW,MAAA9Z,OAAK+Z,EAAK,YCuwB9C,MAAMqjC,GAA0B3iD,IAAwC,IAAvC,QAAEwE,EAAO,UAAEo+C,EAAS,UAAE1C,GAAWlgD,EAChE,OACE0E,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP6D,SAAUq+C,EACVp9C,KAAK,2BACN,YAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAAS07C,EACTt6C,WAAY,GACZpa,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP6D,SAAUq+C,EACVp9C,KAAK,2BACN,SAOQq9C,OA9+Bf,WACE,MAAM1tD,EAAWoT,eAEX,mBACJ/d,EAAkB,iBAClBP,EAAgB,YAChBM,EAAW,YACXnB,EAAW,kBACXV,EAAiB,uBACjBK,GACE48C,YAAa1oB,GAAUA,EAAMyB,OAC3BokC,EAAiBnd,YAAa1oB,GAAUA,EAAMyB,MAAMp0B,WACpDD,EAAWJ,EAAiBI,UAAY,CAC5C,CACEm1C,UAAU,EACVrhD,OAAQ,QAIN,QAAEooB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,QAAExe,EAAO,SAAEC,GAAa+8C,YAAa1oB,GAAUA,EAAMwD,aAEpDsiC,EAAmBC,GAAwBr3C,oBAAS,IACpDs3C,EAAYC,GAAiBv3C,mBAAS,KAEtCw3C,EAAyBC,GAA8Bz3C,oBAAS,IAGhE03C,EAAkBC,GAAuB33C,oBAAS,IAClD8nC,EAAiB8P,GAAsB53C,oBAAS,IAChD63C,EAAYC,GAAiB93C,oBAAS,IACtC4nC,EAAWmQ,GAAgB/3C,mBAAS,GAErC1rB,EAASmJ,EAAYR,SAASU,QACjCrN,OAAOqB,IAAA,IAAC,GAAE0Q,GAAI1Q,EAAA,OAAY,IAAP0Q,IACnBlO,IAAIrC,IAAA,IAAC,GAAEuQ,GAAIvQ,EAAA,OAAKuQ,KAEb,YAAEwY,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAE/C,MAAEk5C,GAAUnkC,GAAU1V,GAEtBm9C,EAAyB,CAC7BnlC,UAAW,KACX9B,kBACmB,QAAjBnW,EAAQkW,KAAiBlW,EAAQmW,kBAAoB,KACvDknC,iBAAkB,KAClBC,mBAAoB,KACpBlhC,UAAW,KACXmhC,mBAAoB,KACpB57B,iBAAkB,KAClBC,YAAa,KACb47B,QAAS,KACTC,MAAO,KACP9U,cAAe,KACfC,eAAgB,KAChBC,kBAAmB,KACnBC,mBAAoB,KACpB4U,wBAAyB,KACzBC,qBAAsBtb,GAAoBriC,GACtCA,EAAQsW,iBACR,MAEAsnC,EAAsB,CAC1B7D,YAAa,EACbC,UAAW,GACXC,gBAAiB5X,GAAoBriC,GACrCk6C,qBAAsB,CACpBC,SAA2B,QAAjBn6C,EAAQkW,KAClBx8B,OAAQA,EACR0gE,UAAW,KACXC,gCAAiC,KACjCC,UAAW,KACXC,YAAa,KACbC,gBACmB,QAAjBx6C,EAAQkW,MAAkBmsB,GAAoBriC,GAC1C,KACAA,EAAQmW,kBACdskC,cAAe,KACfC,UAAW,KACXC,SAAS,EACTC,QAAQ,EACRC,mBAAoB,KACpBC,mBAAoB,KACpBC,iBAAkB,KAClBC,kBAAmB,KACnBC,gBAAiB,KACjBC,eAAwC,SAAxBpB,EAAMzO,gBAGpBwS,EAAsB,CAC1B/jE,WAAY,EACZC,SAAU,IAGN+jE,EAAwB,CAC5B,CACE5X,cAAeA,IACb6X,GAAare,wBAAsBt0D,gBAAgBsD,MACrD8wB,KAAM,iBAER,CACE0mC,cAAeA,IACb6X,GAAare,wBAAsBt0D,gBAAgB,aACrDo0B,KAAM,mBAIJ,YAAEwgC,EAAW,UAAEuB,EAAS,kBAAEE,GAC9BtC,GAAgBn/B,IAEXg+C,EAAiBC,GAAsB74C,mBAC5Cg4C,IAEKc,EAAcC,GAAmB/4C,mBAASw4C,IAC1CxJ,EAAkBD,GAAuB/uC,mBAASy4C,IAClDO,EAAaC,GAAkBj5C,mBAAS,CAC7C3iB,OAAQ,GACRw1D,SAAU,MAGLqG,EAAmBC,GAAwBn5C,mBAAS,CACzDo5C,UAAU,EACVC,WAAW,KAEN/J,GAAcC,IAAkBvvC,mBAAS,KACzCsuC,GAAmBwF,IAAwB9zC,oBAAS,GAErDs5C,GAAsB,CAC1BC,iBAAmC,QAAjB3+C,EAAQkW,KAC1B0oC,aAAa,EACbC,SAAU,GACV3E,qBAAsB,KACtBD,gBAAiB5X,GAAoBriC,IAEjC8+C,GAAoBrmB,YAAQ2b,EAAmB96D,IACnDA,EAAMQ,WAAas6D,EAAiBt6D,WAAa,EACjDR,EAAMS,SAAWq6D,EAAiBr6D,YAG7BglE,GAAkBC,IAAuB55C,mBAAS,CACvDhjB,SAAS,EACTs1B,QAAS,MAEJunC,GAAuBC,IAA4B95C,mBAAS,CACjEouB,SAAS,EACT9b,QAAS,GACTynC,WAAY,GACZxF,UAAW,QAENyF,GAAiBC,IAAsBj6C,oBAAS,IAChDk6C,GAAcC,IAAmBn6C,mBAASs5C,IAEjD,SAAS3Y,KACPoY,EAAgBP,GAiGlB,SAAS4B,KACP/C,GAAsBD,GAGxB,SAASiD,GAAkBlhD,GACzBo+C,EAAcp+C,EAAEmrC,OAAO/qB,OAGzB,SAAS+gC,GAAmBnhD,GAC1B,GAAkB,KAAdA,EAAEohD,QAAgB,CAEpB,GAAIjmE,EAAO/D,QAAU,EAAG,CACtB,MAGMqP,EAAS,IAHSyzC,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASA,KAMtC,OADAy6D,EAAoB0J,GACbjvD,EAASC,EAAa3I,sBAAsBlB,IAGrD,MAAM46D,EAAc,CAAC,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAEzD,GAAuB,KAAnBrhD,EAAEmrC,OAAO/qB,MAAc,CACzB,MAAMkhC,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASkmE,EACpCtmE,EAAM4gE,qBAAqBE,UAAY,OAKzC,OAFA+D,EAAgB0B,GAChBR,IAAmB,GACZzwD,EAASC,EAAa3I,sBAAsB25D,IAGrD,MAAMA,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBE,UAAY77C,EAAEmrC,OAAO/qB,QAE5C35B,EAAS,IACV66D,GAELjxD,EAASC,EAAa3I,sBAAsBlB,IAC5C63D,GAA2B,GAC3BwC,IAAmB,GACnBlB,EAAgB0B,IA0HpB,SAAStL,GAAiB9xD,EAAQw1D,GAChC,MAEM6H,EAAmBr9D,EAAO/M,OAC7ByiC,GACyB,KAAxBA,EAAMqE,eAJY,aAIYrE,EAAMu+B,YAGxC,GAAIoJ,EAAiBnqE,OAAS,EAAG,CAC/B,MAIMoqE,EAAcC,GAAyB/H,EAJ9B6H,EAAiBvmE,IAAK0mE,IAC5B,CAAEr7D,QAASq7D,EAAEr7D,YAKtBgK,EAASmxD,IAIb,SAAS9G,GAAoBx2D,EAAQw1D,GACnC,MAKM8H,EAAcC,GAAyB/H,EAL9B,CACb,CACErzD,QAASnC,KAIbmM,EAASmxD,GAGX,SAASC,GAAyB1xD,EAAQtJ,GAQxC,MAPgB,CACd6zD,wBAAyBhqD,EAAa7D,0BACpChG,GACA,GAEFk7D,SAAUrxD,EAAa7D,0BAA0BhG,GAAQ,IAE5CsJ,GAgBjB,SAAS6xD,KACPnB,GAAoB,CAClB58D,SAAU28D,GAAiB38D,UAGzB6B,EAAmB7B,SACrBwM,EAASC,EAAazD,2BAGxB,MAIMpG,EAAS,IAJSyzC,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASA,OAKjColE,IAGLlwD,EAASC,EAAa3I,sBAAsBlB,IAI9C,SAASo7D,KACPlD,GAAeD,GAGjB,MAAMoD,GAAyBtgB,sBAAY,KACzCid,GAAoB9P,IACnB,CAACA,IAEJ,SAASoT,KACPvD,GAAqBD,GAGvB,MAAMyD,GAA0BxgB,sBAC7BzkB,IACC4jC,GAAyB,CACvB1rB,SAAUyrB,GAAsBzrB,QAChC9b,QACE,wGACFynC,WAAY,WACZxF,UAAWA,KACLja,wBAAsBt0D,gBAAgB,cAAgB4hE,GACxDvL,EAAkBnmB,GAClB1sB,EAASC,EAAa9J,eAAerB,EAAiBE,UAEtD69C,EAAkBnmB,GACdA,EAAQ3lC,SAAW+N,EAAiBE,MAAMjO,QAC5CiZ,EAASC,EAAapF,kCAMhC,CAACg4C,EAAmBwd,GAAsBzrB,UAGtCuqB,GAAgBte,IACpB,MAAM+gB,EAAQ,CACZ,CAAC9gB,wBAAsBt0D,gBAAgBsD,MAAO4xE,GAC9C,CAAC5gB,wBAAsBt0D,gBAAgB,aAAck1E,GACrD,CAAC5gB,wBAAsBt0D,gBAAgBuD,QAAS2xE,GAChD,CAAC5gB,wBAAsBt0D,gBAAgBkD,UAAW8xE,GAClD,CAAC1gB,wBAAsBt0D,gBAAgBF,qBAAYk1E,GACnD,CAAC1gB,wBAAsBt0D,gBAAgB+C,eAAWiyE,GAClD,CAAC1gB,wBAAsBt0D,gBAAgBqD,eAAgB,KACrD2xE,KACAE,OAIJ,OADAnD,EAAa1d,GACN+gB,EAAM/gB,MAgJf,OAjEAl6B,oBAAU,KACR,IAAK/iB,EAAuBP,SAAWO,EAAuBJ,SACP,KAAjDI,EAAuBH,SAASo+D,aAAqB,CACvD,MAAM1jB,EAAY,CAChB,aAAc,MACd,WAAY,OAGd2jB,GACEl+D,EAAuBH,SAASo+D,aAChCj+D,EAAuBH,SAASs+D,iBAChC5jB,EAAUv6C,EAAuBH,SAASu+D,gBAI/C,CAACp+D,EAAuBP,QAASO,EAAuBH,WAE3DkjB,oBAAU,MACHpjB,EAAkBF,SAAWE,EAAkBC,SACF,KAA5CD,EAAkBE,SAASo+D,cA/BnC,SAAsB7oE,EAAQ4R,GAC5B,MAAMwzC,EAAI,wCAAAh+B,OAA2C6hD,mBACnDjpE,IAEIkmD,EAAW9K,SAAS50B,cAAc,KACxC0/B,EAASC,KAAOf,EAChBc,EAASA,SAAWt0C,EACpBwpC,SAAShmC,KAAKgxC,YAAYF,GAC1BA,EAASG,QACTjL,SAAShmC,KAAKkxC,YAAYJ,GAuBtBhB,CACE36C,EAAkBE,SAASo+D,aAC3Bt+D,EAAkBE,SAASs+D,kBAK5Bx+D,EAAkBF,SACrBs8D,EAAqB,CAAEC,UAAU,EAAOC,WAAW,KAEpD,CAACt8D,EAAkBF,QAASE,EAAkBE,WAEjDkjB,oBAAU,KA1ZJ08B,GAAcjiC,EAAQkW,OACxBtnB,EACEmvB,GAAwC,CACtC5H,kBAAmB6nC,EAAgB7nC,kBACnCwH,aAAa,KAwZnBmjC,YAAM,KACJlyD,EAASC,EAAanF,qBACtBkF,EAASC,EAAa/D,uBAEvB,IAEHya,oBAAU,KACJvhB,EAAY5B,UACVsB,EAAiBE,MAAMjO,OAAS,GAClC4qE,KACAF,OAEAE,KACAvD,GAAmB,KAGvBpuD,EAASC,EAAa/D,qBACrB,CAAC9G,EAAY5B,UAEhBmjB,oBAAU,KACJthB,EAAmB7B,SACrB48D,GAAoB,CAClB58D,SAAU28D,GAAiB38D,QAC3Bs1B,QAC2B,aAAzB0mC,EAAYnG,SACR,sCACA,mCAGT,CAACh0D,EAAmB7B,UAGrB+b,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,gCACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgrC,eAAW,CACV6X,gBAAiB,GACjB5O,YAAU,EACVzwC,aAAW,EACXswC,YAAa,GACb7I,UAAQ,EACRmD,IAAK,GACLltC,YAAa,GAEbnB,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACTj/D,qBACEksC,wBAAsBxsC,kBACnBM,sBAEPk/D,SAAUjqC,EAAQkW,MAEhBmsB,GAAoBriC,GAYpB7B,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbroC,QAAS,EACTq3C,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IACP8/C,GACG1b,GAAoBriC,GAEjB0/B,wBAAsBt0D,gBAAgBuD,OADtC+wD,wBAAsBt0D,gBAAgBsD,OAK9CyvB,IAAAC,cAAC8iD,KAAY,CAAChiD,MAAOtG,GAAMzH,eAAgB,iBA9B7CgN,IAAAC,cAAC0rC,YAAQ,CACP9E,OAAQ,EACR9mB,QAAS4/B,EACTn8C,KAAK,SACL3H,OAAQ,GACRS,WAAY7B,GAAMzH,aAClB+kD,WAAW,2BACZ,kBA4BD7T,GAAoBriC,IACpB7B,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASmiD,IAETjiD,IAAAC,cAAC+iD,KAAa,CAACjiD,MAAM,UAAU,iBAOzCf,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CAAEA,KAAM,QAAS0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,oBAItD7I,IAAAC,cAACy7C,GAAU,MAEVngE,EAAO/D,OAAS,EACfwoB,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACpJ,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,EAAC9jD,aAAc,IAC/DU,IAAAC,cAACojD,aAAS,CACRvjD,QAASuhD,GACTiC,UAAWjF,EACX5S,YAAY,6BACZjG,SAAU8b,GACV9gC,MAAO+9B,EACPgF,UAAWhC,GACX9C,wBAAyBA,EACzB+E,cAAe5b,GACf6b,WAAYC,KACZC,WAAYC,QAIhB5jD,IAAAC,cAAC4jD,KAAI,CAACC,SAhjBd,SAAsBpoE,GACpB,MAAMmL,EA9ER,SAAoBnL,GAClB,MAAMqoE,EAAe,CACnBC,KAAK,EACLC,UAAK,GAGDC,EACa,QAAjBriD,EAAQkW,MAAkBmsB,GAAoBriC,GAC1C,KACAA,EAAQmW,kBAER0pC,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASA,EACpCJ,EAAM4gE,qBAAqBE,UACV,KAAfsC,EAAoB,KAAOA,EAC7BpjE,EAAM4gE,qBAAqBG,gCACzBxgE,EAAKyoE,uBAAyBzoE,EAAKyoE,uBAAyB,KAE9DhpE,EAAM4gE,qBAAqBI,UACX,qBAAdzgE,EAAK8nB,KACD,KACA4gD,gBAAcx2E,SAAS8N,EAAK8nB,MAElCroB,EAAM4gE,qBAAqBK,YACH,mCAAtB1gE,EAAK2oE,aACD,KACA9iB,wBAAsBn0D,yBAAyBsO,EAAK2oE,cAE1DlpE,EAAM4gE,qBAAqBM,gBAAkB3gE,EAAKs8B,kBAC9Ct8B,EAAKs8B,kBACLksC,EAEJ/oE,EAAM4gE,qBAAqBO,cACL,2BAApB5gE,EAAKqgC,WAA0C,KAAOrgC,EAAKqgC,WAE7D5gC,EAAM4gE,qBAAqBQ,UACV,sBAAf7gE,EAAKsvD,MAAgC,KAAOtvD,EAAKsvD,MAEnD7vD,EAAM4gE,qBAAqBS,QACR,UAAjB9gE,EAAK2jE,SAA8B0E,EAAaroE,EAAK2jE,SAEvDlkE,EAAM4gE,qBAAqBU,OACV,UAAf/gE,EAAK4jE,OAA4ByE,EAAaroE,EAAK4jE,OACrDnkE,EAAM4gE,qBAAqBW,mBACR,QAAjB76C,EAAQkW,MAAkBmsB,GAAoBriC,GAC1CnmB,EAAK6jE,wBACL,KAENpkE,EAAM4gE,qBAAqBY,mBAAqBjhE,EAAK8uD,cACjD8O,aAAO59D,EAAK8uD,cAAe,uBAC3B,KAEJrvD,EAAM4gE,qBAAqBa,iBAAmBlhE,EAAK+uD,eAC/C6O,aAAO59D,EAAK+uD,eAAgB,uBAC5B,KAEJtvD,EAAM4gE,qBAAqBc,kBAAoBnhE,EAAKgvD,kBAChD4O,aAAO59D,EAAKgvD,kBAAmB,uBAC/B,KAEJvvD,EAAM4gE,qBAAqBe,gBAAkBphE,EAAKivD,mBAC9C2O,aAAO59D,EAAKivD,mBAAoB,uBAChC,OAGA9jD,EAAS,IACV66D,KACAf,IAIL,OADAX,EAAgB0B,GACT76D,EAOQy9D,CAAW5oE,GAC1BwlE,IAAmB,GACnBzwD,EAASC,EAAa3I,sBAAsBlB,IAC5C63D,GAA2B,KA6iBnB1+C,IAAAC,cAACgrC,eAAW,CACVsJ,WAAS,EACTpJ,cAAY,EACZkJ,YAAU,EACV+O,KAAG,EACH9jD,aAAc,IAEdU,IAAAC,cAACojD,aAAS,CACRvjD,QAASuhD,GACTiC,UAAWjF,EACX5S,YAAY,6BACZjG,SAAU8b,GACV9gC,MAAO+9B,EACPgF,UAAWhC,GACX9C,wBAAyBA,EACzB+E,cAAe5b,GACf6b,WAAYC,KACZC,WAAYC,MAEZ5jD,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,EAACzP,MAAI,EAACr0C,aAAc,IAC1DU,IAAAC,cAACskD,GAAkB,CACjB9c,wBAAyBxjD,EACzBy7B,YAAax7B,EACbwjD,kCA1clB,SAA2CtnC,EAAG4X,GAI5C,GAHA5X,EAAEknC,kBACgB,KAAdlnC,EAAEohD,SAAgBphD,EAAEokD,iBAGtBxsC,GACA6nC,EAAgB7nC,oBAAsBA,EACtC,CACA,MAAM0pC,EAAkBpnB,YAAQulB,EAAkB1kE,IAChDA,EAAM68B,kBAAoBA,IAG5B8nC,EAAmB4B,GACf3d,GAAQliC,EAAQkW,OAClBtnB,EACEmvB,GAAwC,CACtC5H,kBAAmB0pC,EAAgB1pC,kBACnCwH,aAAa,KAKrBk/B,GAA2B,IAubX/W,kBAAmB6W,EACnB5W,kBAAmBA,GACnBC,wBAAsB,QAQlC7nC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAAC1nC,aAAW,EAACmwC,QAAM,GACzCr4D,EAAO/D,OAAS,IAAMypE,GACrBjhD,IAAAC,cAAC0B,QAAI,CACHnmB,KAAM,GACNoiE,MAAI,EACJv8C,KAAK,oEAGPrB,IAAAC,cAAC46C,GAAa,CACZ7E,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBA/hBZ,SAAiC91C,GAC/B,MAAMshD,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASA,IAEtC,GAAkB,KAAd6kB,EAAEohD,QAAgB,CACpB,GAAIjmE,EAAO/D,OAAS,EAAG,CACrB,MAAMqP,EAAS,IACV85D,MACAZ,GAEL,OAAOtvD,EAASC,EAAa3I,sBAAsBlB,IAErD,MAAMA,EAAS,IACV66D,KACAf,IAG+B,KAAhC1K,EAAiBt6D,YACnB8U,EAASC,EAAa3I,sBAAsBlB,MA8gBtCsvD,oBA1cZ,SAA6B7xD,EAAQw1D,EAAUuB,GAC7C6E,EAAe,CACb57D,SACAw1D,aAGF,MAAMsB,EAAY7X,MAAMC,QAAQl/C,GAAUA,EAAO9M,OAAS,EAE1D49C,GAAMC,QACJr1B,IAAAC,cAACwkD,GAAsC,CACrCpJ,QAASA,EACTD,UAAWA,IAEb,OACAjgD,IAAA,IAAC,WAAEogD,GAAYpgD,EAAA,OACb6E,IAAAC,cAACwkD,GAAwC,CACvClJ,WAAYA,EACZC,UAAWA,MASnB,SAAsBl3D,EAAQw1D,GACrBvW,MAAMC,QAAQl/C,GACjB8xD,GAAiB9xD,EAAQw1D,GACzBgB,GAAoBx2D,EAAQw1D,GAXxB4K,CAAapgE,EAAQw1D,GACrByB,UAwbEnF,iBAAkBA,GAClB0E,oBAAqBA,GACrBxE,iBAjgBZ,SAA0B4E,EAAWztD,GACnC,MAAMutD,EAAsB1gB,YAAQ4gB,EAAY//D,IAC9CA,EAAMQ,WAAau/D,EAAUv/D,WAAa,EAC1CR,EAAMS,SAAWs/D,EAAUt/D,WAG7B,GAAIL,EAAO/D,OAAS,EAAG,CACrB,MAAMqP,EAAS,IACVk5D,KACA/E,GAGL,OAAOvqD,EAASC,EAAa3I,sBAAsBlB,IAGrD,MAIMA,EAAS,IAJSyzC,YAAQylB,EAAe5kE,IAC7CA,EAAM4gE,qBAAqBxgE,OAASA,OAKjCy/D,GAGL,OAAOvqD,EAASC,EAAa3I,sBAAsBlB,KA0ezC89D,gBA9gBZ,SAAyBC,GACvB,MAAMC,EAAiB,GAAAhkD,OAAM+jD,EAC1BE,OAAO,GACPrlB,eAAa5+B,OAAG+jD,EAAQhjC,MAAM,KAC3B,WAAEjmC,EAAU,SAAEC,GAAawiE,EAAel6D,SAAS2gE,GACzD7O,EAAqB+O,IAAS,IACzBA,EACHppE,aACAC,eAugBQmkE,aAAcA,EACdxJ,aAAcA,GACdC,eAAgBA,GAChBC,6BA7mBZ,WACED,GAAe,IACfuE,IAAsBxF,KA4mBZA,kBAAmBA,GACnBmB,wBAnTZ,SAAiCx9D,GAC/B,IAAImO,EAEJ,GAA4B,IAAxBkvD,GAAa/+D,SAAiB+9D,GAChC,OAAOvpC,IAAM1zB,MACX0nB,IAAAC,cAACsL,GAAY,KAAC,iEAKlB,GAAIryB,EAAKi+B,SAAS,YAAa,CAC7B,MAAM5/B,EAAS+iD,YAAQylB,EAAe5kE,IACpCA,EAAM4gE,qBAAqBxgE,OAASA,IAGhCsL,EAASyzC,YAAQ6mB,GAAehmE,IACpCA,EAAMulE,SAAWnL,GACb,GACAgB,GAAan7D,IAAK0mE,GAAMA,EAAEr7D,SAC9BtL,EAAMslE,aAAc,EACpBtlE,EAAM4gE,qBAAuBxG,GACzBh+D,EAAOwkE,qBACP,OAGNtrD,EACEC,EAAatJ,iCAAiCP,EAAQ,aAExDk0D,IAAqB,GACrB1zD,EAAgB,gBACX,GAAInO,EAAKi+B,SAAS,aAAc,CACrC,MAAM5/B,EAAS+iD,YAAQylB,EAAe5kE,IACpCA,EAAM4gE,qBAAqBxgE,OAASA,IAEhCsL,EAASyzC,YAAQ6mB,GAAehmE,IACpCA,EAAMulE,SAAWnL,GACb,GACAgB,GAAan7D,IAAK0mE,GAAMA,EAAEr7D,SAC9BtL,EAAMslE,aAAc,EACpBtlE,EAAM4gE,qBAAuBxG,GACzBh+D,EAAOwkE,qBACP,OAGNtrD,EACEC,EAAajJ,kCAAkCZ,EAAQ,cAEzDk0D,IAAqB,GACrB1zD,EAAgB,YAGlB,MAAM29D,EAAa1qB,YAAQ6lB,EAAoBhlE,IAC7CA,EAAMkM,IAAiB,IAGzB+4D,EAAqB4E,IA6PXjK,qBAAsBA,GACtBpE,sBA3PZ,SAA+B5b,GAC7BtqC,EAASC,EAAa1J,+BAA+B+zC,QA8PjD/6B,IAAAC,cAACglD,wBAAoB,CAACC,KAAMv/D,GAC1Bqa,IAAAC,cAACsuC,GAAc,CACbO,eAAgB6P,EAChB5P,gBAAiBA,EACjBC,kBAAmBmT,GACnBlT,mBAAoBiT,GACpBrT,UAAWA,EACX/B,gBAAiB1J,EAAUyL,GAC3BppD,MAAOF,EAAiBE,MACxBo8C,YAAchlB,GACZglB,EAAYgN,EAAWhyB,EAAU,KAC/BslC,KACAD,OAGJj3D,UACE1F,EAAiBtB,SAAWsB,EAAiBG,iBAE/CwpD,aAAex3D,IACbwqE,KACAE,GAAwB1qE,IAE1By3D,wBACEjL,GAAoBriC,GAChB,KACEqgD,KA3alB,WACE,MAAMr7D,EAAS,IACVovD,EACHuJ,qBAAsBtb,GAAoBriC,GACtCA,EAAQsW,iBACR,MAGN1nB,EACEC,EAAa/H,iBAAiB9B,EAAQ00B,qBAAmBvtC,mBAma3C4X,IAEDua,GAAMA,EAEbrc,QAASyB,EAAiBzB,WAG9Bkc,IAAAC,cAAC6D,SAAK,CACJs0B,OACEp4B,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAACmwC,QAAM,EAACD,MAAI,GAClC3zC,IAAAC,cAAC0B,QAAI,CACHZ,MAAM,mBACND,KAAK,8CACLtlB,KAAM,GACN6lB,KAAK,oBAIXuC,OAAQ5f,EAAkBF,SAE1Bkc,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAACmwC,QAAM,EAACD,MAAI,EAACtF,IAAK,IACxCruC,IAAAC,cAAC0B,QAAI,CAACwjD,QAAM,EAAC9jD,KAAK,0CAClBrB,IAAAC,cAACi1C,GAAc,QAGnBl1C,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASA,KACPsiD,KACAvD,GAAmB,IAErBj7C,OAAQk9C,GAAsBzrB,QAC9BtxB,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASA,KACPsiD,KACAvD,GAAmB,IAErBrD,UAAWsF,GAAsBtF,UACjC0C,UAAWr4D,EAAY/B,WAI3Bkc,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMy/C,GAAsBvnC,QAC5BzY,KAAK,qBACLC,MAAOtG,GAAMpF,UACbyxC,UAAW,GACXiN,YAAa,GACbz0C,aAAc,MAGlBU,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASkiD,GACTp+C,OAAQg9C,GAAiBrnC,QACzBxV,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAASkiD,IACV,QAMLhiD,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMu/C,GAAiBrnC,QACvBzY,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC8xC,GAAc,CACbnuC,OAAQk7C,EACRh/C,QAASmiD,GACT7a,YAAawY,Q,SC39BRwF,OAnCEA,CAACC,EAAc9rC,EAASmb,KACvC,MAAM4wB,EAAc,CAClB1hD,OAAQyhD,EACR9rC,UACAzZ,QAAS40B,IAGJU,EAAOmwB,GAAYt+C,mBAASq+C,GAyBnC,MAAO,CAAElwB,QAAOowB,YAvBK9wB,IACnB,MAAM+wB,EAAiBnrB,YAAQlF,EAAQj6C,IACrCA,EAAMyoB,QAAUzoB,EAAMyoB,OAEfzoB,IAGToqE,EAASE,GACT/wB,KAe2BiN,UAZXA,CAAC0jB,EAAc9rC,EAASmb,KACxC,MAAM+wB,EAAiBnrB,YAAQlF,EAAQj6C,IACrCA,EAAMyoB,OAASyhD,EACflqE,EAAMo+B,QAAUA,EAChBp+B,EAAM2kB,QAAU40B,EAETv5C,IAGToqE,EAASE,MCmBEC,I,gDAAAA,GAhDGC,IAChB,MAAOC,EAAOC,GAAY5+C,mBAAS0+C,IAC5BG,EAAWC,GAAgB9+C,oBAAS,GAuBrC++C,EAAQA,KACZH,EAAS,KAmBX,OAPAz+C,oBAAU,KACJw+C,EAAMpuE,OAAS,GAAKouE,EAAMpoC,MAAOyoC,KAAQA,EAAEC,WAC7CH,GAAa,GACbC,MAED,CAACJ,IAEG,CAzCM1sE,IACX,MAAMitE,EAAW7rB,YAAQsrB,EAAQzqE,IAC1BA,EAAMs/B,KAAMwrC,GAAMA,EAAE38D,KAAOpQ,EAAKoQ,KAAKnO,EAAM0tB,KAAK3vB,GAE9CiC,IAGT0qE,EAASM,IAiBK78D,IACd,MAAM68D,EAAW7rB,YAAQsrB,EAAQzqE,GAC/BA,EAAQA,EAAM5D,OAAQ0uE,GAAMA,EAAE38D,KAAOA,IAKvCu8D,EAASM,IAUUL,EAAWC,EAhChB7sE,IACd,MAAMitE,EAAW7rB,YAAQsrB,EAAQzqE,IACXA,EAAMs/B,KAAMwrC,GAAMA,EAAE38D,KAAOpQ,EAAKoQ,IAExC48D,QAAUhtE,EAAKgtE,QAEpB/qE,IAGT0qE,EAASM,IAuB2CH,IC3CjD,MAAMtlD,GAAYhG,WAAOg5C,MAAK94C,QAAAC,aAAA,2uBAG1BJ,GAAMpC,UAKJoC,GAAMrD,KAIaqD,GAAM9E,MACN8E,GAAMzH,aAGV+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAGN+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAG5Bpa,IAAoB,IAAnB,UAAE8yC,GAAW9yC,EACZ8yC,EACM3wB,eAAGC,QAAAH,aAAA,2GACqBksC,aAAQ,IAAMtsC,GAAMnH,UACpBmH,GAAMnH,UAE9ByH,eAAGG,QAAAL,aAAA,SAGf9hB,IAAA,IAAC,OAAE8tD,GAAQ9tD,EAAA,OACT8tD,EACM9rC,eAAGM,QAAAR,aAAA,iDACWgsC,GAEd,IAEN1rC,IAAA,IAAC,UAAE2rC,GAAW3rC,EAAA,OACZ2rC,EACM/rC,eAAGS,QAAAX,aAAA,yDACeisC,GAElB,IAEVxrC,IAAA,IAAC,OAAEsF,GAAQtF,EAAA,OACTsF,EACM7F,eAAGY,QAAAd,aAAA,+CACW+F,GAAM,qBAAAC,OAECpG,GAAMpC,YAKnCoD,IAAA,IAAC,WAAEa,GAAYb,EAAA,OACba,EACMvB,eAAGe,QAAAjB,aAAA,mDACeyB,GAAU,eAAAuE,OAEbpG,GAAM9E,MAAK,iCAIhCiG,IAAA,IAAC,SAAEiE,GAAUjE,EAAA,OACXiE,EACM9E,eAAGkB,QAAApB,aAAA,8IACeJ,GAAMnF,qBAIxByF,eAAGmB,QAAArB,aAAA,SAGbkB,IAAA,IAAC,aAAEiF,GAAcjF,EAAA,OACfiF,EACMjG,eAAGqB,QAAAvB,aAAA,sDACkBmG,GAAY,sBAOzC3E,IAAA,IAAC,QAAE4E,GAAS5E,EAAA,OACV4E,EACMlG,eAAGwB,QAAA1B,aAAA,gDACYoG,GAAO,cAM9BzE,IAAA,IAAC,MAAEuE,GAAOvE,EAAA,OACRuE,EACMhG,eAAG2B,QAAA7B,aAAA,8CACUkG,GAAK,UAAAF,OAERpG,GAAM2rD,iBAMxBzpD,IAAA,IAAC,KAAEmE,GAAMnE,EAAA,OACPmE,EACM/F,eAAG8B,QAAAhC,aAAA,6CACSiG,GAAI,8BAMxB9D,IAAA,IAAC,UAAEqpD,GAAWrpD,EAAA,OACZqpD,EACMtrD,eAAGgC,QAAAlC,aAAA,mDACewrD,GAAS,oBAMjCnpD,IAAA,IAAC,MAAElB,GAAOkB,EAAA,OACRlB,EACMjB,eAAGkC,QAAApC,aAAA,oDACUmB,GAEb,MAIRqB,IAAA,IAAC,OAAExB,GAAQwB,EAAA,OACTxB,EACMd,eAAGqC,QAAAvC,aAAA,qDACWgB,GAEd,MAMI2B,IAAA,IAAC,iBAAE8oD,GAAkB9oD,EAAA,OAC7B8oD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SCvFrCC,I,iCAAAA,GA5DD3tE,IAAA,IAAC,UACbkuD,EAAS,WACTxqC,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,KACTjiD,EAAI,KACJtd,EAAI,MACJ05B,EAAK,aACLgmC,EAAgBtnC,IAAMA,GAAC,mBACvBqiC,EAAsBriC,IAAMA,GAAC,YAC7BkoB,EAAeloB,IAAMA,GAAC,OACtB8sB,EAAU9sB,IAAMA,GAAC,MACjBljB,EAAK,OACLH,EAAM,YACN4vC,EAAW,SACX5rC,EAAQ,OACRgnC,EAAM,UACNX,GACDttD,EAAA,OACConB,IAAAC,cAACS,GAAS,CACRmmC,OAAQA,EACRC,UAAWA,EACX1iC,KAAMA,EACNohC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfwuB,UAAYxuB,IACVA,EAAMuS,kBACNia,EAAmBxsB,IAErBj1B,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdiX,OAASjX,IACPA,EAAMuS,kBACN0E,EAAOjX,IAETvU,MAAOA,EACP15B,KAAMA,EACN8Z,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXrqD,MAAOA,EACPH,OAAQA,EACR4vC,YAAaA,EACb5rC,SAAUA,EACVqmC,UAAWA,KCrDR,MAAMxlC,GAAYhG,mBAAO6rD,KAAP7rD,CAAaE,QAAAC,aAAA,2OAGpCjiB,IAAA,IAAC,MAAEojB,GAAOpjB,EAAA,OACRojB,EACMjB,eAAGC,QAAAH,aAAA,8CACUmB,GAAK,iBAM1BjjB,IAAA,IAAC,OAAE8iB,GAAQ9iB,EAAA,OACT8iB,EACMd,eAAGG,QAAAL,aAAA,+CACWgB,GAAM,iBAM5BV,IAAA,IAAC,OAAEyF,GAAQzF,EAAA,OACTyF,EACM7F,eAAGM,QAAAR,aAAA,+CACW+F,GAAM,qBAAAC,OAECpG,GAAM5F,aAKnCyG,IAAA,IAAC,WAAEgB,GAAYhB,EAAA,OACbgB,EACMvB,eAAGS,QAAAX,aAAA,mDACeyB,GAAU,eAAAuE,OAEbpG,GAAMjG,QAAO,iCAKpCiH,IAAA,IAAC,aAAEuF,GAAcvF,EAAA,OACfuF,EACMjG,eAAGY,QAAAd,aAAA,qDACiBmG,GAAY,sBAOxCpF,IAAA,IAAC,QAAEqF,GAASrF,EAAA,OACVqF,EACMlG,eAAGe,QAAAjB,aAAA,gDACYoG,GAAO,cAM9BlF,IAAA,IAAC,MAAEgF,GAAOhF,EAAA,OACRgF,EACMhG,eAAGkB,QAAApB,aAAA,8CACUkG,GAAK,UAAAF,OAERpG,GAAM/E,oBAMxB2G,IAAA,IAAC,KAAEyE,GAAMzE,EAAA,OACPyE,EACM/F,eAAGmB,QAAArB,aAAA,6CACSiG,GAAI,8BAMxBtE,IAAA,IAAC,UAAE6pD,GAAW7pD,EAAA,OACZ6pD,EACMtrD,eAAGqB,QAAAvB,aAAA,mDACewrD,GAAS,oBAMnC1pD,IAAA,IAAC,cAAE8pD,GAAe9pD,EAAA,OAChB8pD,EACM1rD,eAAGwB,QAAA1B,aAAA,uDACmB4rD,GAAa,2BC1D9BC,I,GAAAA,GApCE9tE,IAAA,IAAC,WAChB0jB,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,cACTI,EAAa,MACbzqD,EAAK,OACLH,EAAM,KACNuI,EAAI,MACJoc,EAAK,aACLgmC,EAAgBtnC,IAAMA,IACvBtmC,EAAA,OACConB,IAAAC,cAACS,GAAS,CACR8kC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfn0B,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXI,cAAeA,EACfzqD,MAAOA,EACPH,OAAQA,EACRuI,KAAMA,EACNoc,MAAOA,EACPmmC,WAAS,K,SChCN,MAAMjmD,GAAYhG,WAAOiG,OAAM/F,QAAAC,aAAA,0FAC7BJ,GAAMxG,aCSA2yD,I,0CAAAA,GARMhuE,IAAkB,IAAjB,QAAEknB,GAASlnB,EAC7B,OACIonB,IAAAC,cAACS,GAAS,CAAC5Z,KAAK,SAASgZ,QAASA,GAC9BE,IAAAC,cAAC4mD,KAAO,QCLb,MAAMnmD,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,mVAW/BjiB,IAAA,IAAC,OAAEgoB,GAAQhoB,EAAA,OACXgoB,EACI7F,eAAGC,QAAAH,aAAA,yCACS+F,GAAM,6BAItB7nB,IAAA,IAAC,WAAEujB,GAAYvjB,EAAA,OACfujB,EACIvB,eAAGG,QAAAL,aAAA,6CACayB,GAAU,eAAAuE,OAEXpG,GAAMnF,oBAAmB,iCAE5C6F,IAAA,IAAC,aAAE6F,GAAc7F,EAAA,OACjB6F,EACIjG,eAAGM,QAAAR,aAAA,gDACgBmG,GAAY,sBAInC1F,IAAA,IAAC,QAAE2F,GAAS3F,EAAA,OACZ2F,EACIlG,eAAGS,QAAAX,aAAA,0CACUoG,GAAO,cAIxBxF,IAAA,IAAC,MAAEsF,GAAOtF,EAAA,OACVsF,EACIhG,eAAGY,QAAAd,aAAA,wCACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAEpBxqD,IAAA,IAAC,KAAEkF,GAAMlF,EAAA,OACTkF,EACI/F,eAAGe,QAAAjB,aAAA,uCACOiG,GAAI,8BAIlB/E,IAAA,IAAC,UAAEsqD,GAAWtqD,EAAA,OACdsqD,EACItrD,eAAGkB,QAAApB,aAAA,6CACawrD,GAAS,oBAI7BhqD,IAAA,IAAC,MAAEL,GAAOK,EAAA,OACVL,EACIjB,eAAGmB,QAAArB,aAAA,0CACQmB,GAEX,MAEJQ,IAAA,IAAC,OAAEX,GAAQW,EAAA,OACXX,EACId,eAAGqB,QAAAvB,aAAA,2CACSgB,GAEZ,MACJc,IAAA,IAAC,SAAEkD,GAAUlD,EAAA,OACbkD,EACI9E,eAAGwB,QAAA1B,aAAA,kDAGH,MAIAmC,IAAA,IAAC,iBAAEspD,GAAkBtpD,EAAA,OACrBspD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SAIvCQ,GAAcpsD,WAAOg5C,MAAKh3C,QAAA7B,aAAA,4BAI1BksD,GAAgBrsD,WAAOC,IAAGkC,QAAAhC,aAAA,uRAahBH,WAAOC,IAAGoC,QAAAlC,aAAA,sFCgClBmsD,I,qBAAAA,GA/Hf,SAAkBpuE,GASd,IATe,KACjBlB,EAAI,iBACJ+pD,EAAgB,aAChBD,EAAY,eACZE,EAAc,gBACdgM,EAAe,gBACfZ,EAAkBA,SAAQ,SAC1Bma,EAAQ,QACRnjE,GACDlL,EACC,MAAO8C,EAAMusB,GAAWhB,mBAAS,KAC1BigD,EAAaC,GAAkBlgD,oBAAS,GAEzCmgD,EAAezhB,iBAAO,MAc5Bz1C,eAAe2xC,EAAYwlB,GACzB,MAAM/zC,EAAS,CACb8uB,YAAY,EACZD,gBAAgB,EAChBE,mBAAmB,GAGfH,EAAa,GACnB,IAAIrlB,QAAiBllC,QAAQoiC,IAC3BxY,OAAO8Z,OAAOgsC,GAAWjsE,IAAI8U,UAC3B,MAAMzW,QAAehC,YAAU0lC,GAC/B,MAAO,CACLA,UACA/Y,KAAM+Y,EAAQ/Y,KACdmoC,aAAcpvB,EAAQ3hC,KACtBgxD,QAASC,IAAIC,gBAAgBvvB,GAC7BzxB,SAAU,EACVG,UAAU,EACVvT,OAAO,EACPmB,SACAmS,OAAQ+gD,eACRlmD,QAAS/O,EAAK+O,QACdy2B,iBAAkB,KAClBlF,kBAAmB,KACnBgE,UAAW,OAKb0xB,IACF7wB,EAAWA,EAAStlC,OAAQ2B,IAS1B,GARAo6B,EAAO8uB,YAAa,EACpB9uB,EAAO+uB,mBAAoB,EACvBnpD,EAAKqzD,aAAe/K,IAAcluB,EAAO8uB,YAAa,GAErDV,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,iBACtD55B,EAAO+uB,mBAAoB,GAEzBxlB,EAASrlC,OAASiqD,IAAkBnuB,EAAO6uB,gBAAiB,KAE5DjpD,EAAKqzD,aAAe/K,IACtBE,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,gBACnDrwB,EAASrlC,QAAUiqD,EAEnB,OAAOvoD,EAET,MAAM,eAAEipD,KAAmB5W,GAASjY,EACpC4uB,EAAWr5B,KAAK,CAAEvwB,MAAOizC,EAAMnnB,KAAMlrB,EAAKkrB,SAG5C0oC,EAAgB,CAAE5K,aAAYC,eAAgB7uB,EAAO6uB,kBAEnDtlB,EAASrlC,OAAS,GAAGyvE,EAASpqC,GAqBpC,OACE7c,IAAAC,cAACS,GAAS,CACR7E,OAAO,KACPG,MAAM,MACN8D,QAzFJ,WACEsnD,EAAaphB,QAAQlG,SAyFnB0F,SAtFJ,SAAsBplC,GACpB+mD,GAAe,GACfl/C,EAAQ,IAER,MAAM,MAAExiB,GAAU2a,EAAEmrC,OACpB1J,EAAYp8C,IAkFV6hE,WAxBJ,SAAkBlnD,GAChBA,EAAEokD,kBAwBA+C,YAtBJ,SAAmBnnD,GACjBA,EAAEokD,kBAsBAgD,YApBJ,SAAmBpnD,GACjBA,EAAEokD,kBAoBAiD,OAlBJ,SAAkBrnD,GAChBA,EAAEokD,iBACF,MAAM,MAAE/+D,GAAU2a,EAAEsnD,aAEhBjiE,EAAMjO,QACRqqD,EAAYp8C,IAcZoa,SAAU/b,GAEVkc,IAAAC,cAAA,SAAIvoB,EAAK0sB,MACTpE,IAAAC,cAAC6mD,GAAW,CACVvmD,IAAK6mD,EACLlhB,UAAU,YACVp/C,KAAK,OACL6gE,UAAQ,EACR9nD,SAAU/b,IAEZkc,IAAAC,cAAC8mD,GAAa,KACZ/mD,IAAAC,cAAC8iD,KAAY,CAAChiD,MAAM,eC9H5B,MAAMyxC,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAYX+sD,IAFYltD,WAAOC,IAAGK,QAAAH,aAAA,QAEFH,mBAAOy6C,KAAPz6C,CAAiCQ,QAAAL,aAAA,mBAC5DjiB,IAAA,IAAC,UAAEslE,GAAWtlE,EAAA,OACZslE,EACMnjD,eAAGM,QAAAR,aAAA,2IACc23C,GACJ/3C,GAAMzH,cAGnB+H,eAAGS,QAAAX,aAAA,6DAKgBH,mBAAOuQ,KAAPvQ,CAA0BiB,QAAAd,aAAA,kDAC9CJ,GAAMrB,eAIcsB,mBAAOmtD,KAAPntD,CAAqBoB,QAAAjB,aAAA,kDACzCJ,GAAMzH,cCyEJ80D,I,YAAAA,GAjFf,SAA6BlvE,GAOzB,IAP0B,KAC5BlB,EAAI,QACJoM,EAAO,cACPikE,EAAa,wBACbC,EAAuB,KACvB1mB,EAAI,YACJO,GACDjpD,EACC,MACM,aAAEyoD,EAAY,UAAE+B,GAAcpC,MAE9B,QAAEn/B,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAEjD,OACEzC,IAAAC,cAACgoD,YAAQ,KACPjoD,IAAAC,cAACioD,kBAAc,CAACvU,MAAI,EAACM,qBAAmB,EAACxwC,aAAW,EAAC8wC,WAAS,GAC5Dv0C,IAAAC,cAACgrC,eAAW,CACVgJ,qBAAmB,EACnBxwC,aAAW,EACX7G,QAAQ,KACR23C,WAAS,EACTrzC,WAAY,IAEXxpB,EAAK0sB,KACNpE,IAAAC,cAAC2mD,GAAY,CAAC9mD,QAASA,IAAMkoD,EAAwBtwE,OAGzDsoB,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,EAACkJ,YAAU,GAC3Cr0C,IAAAC,cAACkoD,mBAAe,CAAC1rD,eAAe,QAAQgE,WAAW,SACjDT,IAAAC,cAACgrC,eAAW,CACVC,UAAQ,EACR+I,qBAAmB,EACnBI,YAAU,EACV/0C,aAAc,IAEdU,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,SACnBrB,IAAAC,cAACsmD,GAAK,CAACvqD,MAAM,MAAMH,OAAO,KAAK2kB,MAAO9oC,EAAKoiC,UAAWja,UAAQ,KAEhEG,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,eACnBrB,IAAAC,cAACsmD,GAAK,CACJvqD,MAAM,MACNH,OAAO,KACP2kB,MAAK,GAAA3f,OAAKnpB,EAAKsgC,kBAAiB,OAAAnX,OAAMgB,EAAQqW,aAC9CrY,UAAQ,MAIdG,IAAAC,cAACgrC,eAAW,CAAC3rC,aAAc,IACzBU,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,6BACnBrB,IAAAC,cAACymD,GAAQ,CACPtiD,KAAI,aAAAvD,OAAenpB,EAAK+O,QAAO,KAC/BuV,MAAM,QACNH,OAAO,WAIZylC,IAASC,wBAAsBt0D,gBAAgBqD,cAC9C0vB,IAAAC,cAACgrC,eAAW,CAACmJ,oBAAkB,EAAC3wC,aAAW,EAACnE,aAAc,IACxDU,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACwU,WAAS,EAAC9oD,aAAc,IAC1CU,IAAAC,cAACinC,GAAc,CAACpnC,QAASA,OAAUuB,KAAK,YACxCrB,IAAAC,cAAC+mD,GAAS,CACRe,cAAeA,EACfjkE,QAASA,EACTpM,KAAMA,EACN+pD,iBAxDQ,EAyDRD,aAAcH,EAAaC,GAAME,aACjCE,eAAgBL,EAAaC,GAAMI,eACnCgM,iBAAe,EACfZ,gBAAiB1J,EAAU9B,GAC3B2lB,SAAUplB,KAGd7hC,IAAAC,cAAC2nD,GAAiB,CAAC1J,UAAWp6D,KAE9B,SCrGP,MAAM4c,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kHAOtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,4VAsBxBwtD,GAAiB3tD,WAAOC,IAAGO,QAAAL,aAAA,iFAK3B6G,GAAchH,mBAAOiH,QAAPjH,CAAYW,QAAAR,aAAA,wHCUxBytD,I,GAAAA,GArCf,SAAqB1vE,GAAoC,IAAnC,OAAEgrB,EAAM,QAAE9D,EAAO,KAAEuB,EAAI,MAAEknD,GAAO3vE,EAChDijB,EAAS,MACTgC,GAAqB,EAKzB,OAJI0qD,IACF1qD,GAAqB,EACrBhC,EAAS,OAGTmE,IAAAC,cAAC6D,SAAK,CAACF,OAAQA,EAAQ9D,QAASA,EAASjE,OAAQA,EAAQG,MAAO,KAC9DgE,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,CACXzC,mBAAoBA,EACpBI,SAAS,SACT1C,UAAU,QAEVyE,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACuoD,KAAgB,CAACznD,MAAOtG,GAAMzH,aAAcxX,KAAK,QAClDwkB,IAAAC,cAACyB,GAAW,CAACL,KAAK,aAClBrB,IAAAC,cAACwB,GAAW,KAAEJ,GACdrB,IAAAC,cAACooD,GAAc,KAAEE,GACjBvoD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAASA,GACV,WCpCN,MAAMY,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFC0TpB4tD,I,sDAAAA,GAzRf,WACE,MAAMh4D,EAAWoT,eAEX,QACJ/f,EAAO,UACPqB,EAAS,+BACTujE,EAA8B,iBAC9BnjE,EAAgB,sBAChBF,EAAqB,iBACrBD,EAAgB,iCAChBgB,GACE66C,YAAa1oB,GAAUA,EAAMyB,QAK3B,aAAEypB,EAAY,aAAEE,EAAY,kBAAEL,GAAsBtC,KACpD/8C,EAAUmhE,IAAS,EAAO,GAAKjlD,GAAMA,IAGzCwoD,EACAC,EACAC,EACAC,EACAC,EACAC,IAPY5D,IAAS,EAAO,GAAKjlD,GAAMA,GAQrCulD,GAAS,MAUNuD,EAAaC,GAAkBjiD,sBAC/BkiD,EAAYC,GAAiBniD,oBAAS,GAEvCoiD,EAAoBznB,sBAAY,KACpC,MAAM0nB,EAAiB,CACrBttC,UAAW,IAEbz2B,EAAiBE,MAAMrK,IAAKqK,IAC1B81C,cAAI+tB,EAAettC,UAAWv2B,EAAMgB,QAAShB,EAAMu2B,aAGrDktC,EAAeI,IACd,CAAC/jE,EAAiBE,QAiBfo8C,EAAenqD,IACnB+Y,EAASC,EAAahG,6BAA6BhT,KAgD/C6xE,EAAeA,KACnB5G,YAAM,KACJlyD,EAASC,EAAa/D,oBACtB8D,EAASC,EAAazE,kBACtBwE,EAASC,EAAapE,2BAExBxR,EAAQ+tB,KAAK,gBAWf,OARAzB,oBAAU,KACJ7hB,EAAiBE,MAAMjO,OAAS,EAClC6xE,IAEAE,KAED,CAAChkE,EAAiBE,MAAO4jE,IAG1BrpD,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC4jD,KAAI,CAACC,SAnFV,SAAsBpoE,GACpB+nD,EAAal+C,EAAiBE,MAAO/J,EAAM,SAkFXutE,YAAaA,GACzCjpD,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,gBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CAAEA,KAAM,QAAS0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,gBAChD,CACE4Q,KAAM,gBACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,kCAKvC7I,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACxCruD,EAAiBE,MAAMrK,IAAK1D,GAC3BsoB,IAAAC,cAAC6nD,GAAoB,CACnBpwE,KAAMA,EACNqwE,cAAeW,EACfV,wBAAyB1kB,EACzBhC,KACEC,wBAAsBt0D,gBACpBsY,EAAiBC,kBAGrBq8C,YAAaA,EACb/9C,QAASuB,EAAsBvB,YAIrCkc,IAAAC,cAACgrC,eAAW,KACTmZ,gBAAcj4E,WAAWoZ,EAAiBC,oBAC3C4+D,gBAAcj4E,WAAWmE,cACvB0vB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACL+Y,SAvHR1a,EAAUrB,SACVuB,EAAsBvB,SACtBsB,EAAiBtB,QAqHe,WAAa,KACrCgd,KAAK,0BACLhB,QAASA,KACPspD,GAAc,KAEjB,UAGC,KACJppD,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACL,YAAU,EAACI,UAAQ,EAACP,YAAa,GAAI7I,UAAQ,GACjEkZ,gBAAcj4E,WAAWoZ,EAAiBC,oBAC3C4+D,gBAAcj4E,WAAWmE,cACvB0vB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbroC,QAAS,EACTq3C,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmF,YAAa,GACbD,WAAY,GACZJ,KAAK,0BACLhB,QAASA,KACP6jC,EACEE,uBAAqB52D,gBAAgBkJ,cACrCorD,wBAAsBt0D,gBACpBsY,EAAiBC,kBAEnBD,EAAiBE,SAcrBua,IAAAC,cAACupD,KAAmB,CAACzoD,MAAM,YAAY,aAGvC,KACJf,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASA,KACP6jC,EACEE,uBAAqB52D,gBAAgBiJ,UACrCqrD,wBAAsBt0D,gBACpBsY,EAAiBC,kBAEnBD,EAAiBE,SAcrBua,IAAAC,cAACwpD,KAAU,CAAC1oD,MAAM,UAAU,cAMpCf,IAAAC,cAACqoD,GAAY,CACXjnD,KAAMpd,EAAQmxC,MAAM7b,QACpBzZ,QAASA,IACP7b,EAAQuhE,YACL2D,EAAoC,IAAMC,GAAc,GAA3C,IAAMG,KAGxB3lD,OAAQ3f,EAAQmxC,MAAMxxB,W,2BC5SvB,MAAM63C,GAAkB/gD,mBAAO0G,IAAQ0J,MAAOxJ,IAAK,CACxDxa,KAAMwa,EAAMxa,OADiB4T,CAE5BE,QAAAC,aAAA,ijBACmB6uD,GAAOryD,QAEPqyD,GAAOryD,QAkBfiK,GAAUA,EAAMP,MACN2oD,GAAOl1D,QAG3B5b,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGC,QAAAH,aAAA,0CACUyC,GAEbvC,eAAGG,QAAAL,aAAA,iCAIP9hB,IAAA,IAAC,OAAEkkE,GAAQlkE,EAAA,OACXkkE,GACAliD,eAAGM,QAAAR,aAAA,2LAISyG,GAAUA,EAAMP,MACN2oD,GAAOl1D,UAG3B2G,IAAA,IAAC,cAAEwuD,EAAa,OAAE1M,GAAQ9hD,EAAA,OAC5BwuD,IAAkB1M,EACdliD,eAAGS,QAAAX,aAAA,mNAISyG,GAAUA,EAAMP,MACN2oD,GAAOl1D,SAE7B,MAGF8G,IAAA,IAAC,UAAEo6C,GAAWp6C,EAAA,OAChBo6C,EACI36C,eAAGY,QAAAd,aAAA,0CAGHE,eAAGe,QAAAjB,aAAA,+CAKE+uD,GAAgBlvD,WAAOC,IAAGsB,QAAApB,aAAA,8EAM1BgvD,GAAiBnvD,WAAOC,IAAGuB,QAAArB,aAAA,yFAClB6uD,GAAOl1D,QAGzBiH,IAAA,IAAC,QAAE6B,GAAS7B,EAAA,OACZ6B,EACIvC,eAAGqB,QAAAvB,aAAA,QACHE,eAAGwB,QAAA1B,aAAA,6CAGPe,IAAA,IAAC,UAAEL,GAAWK,EAAA,OACdL,EACIR,eAAG2B,QAAA7B,aAAA,6CACaU,GAEhBR,eAAG8B,QAAAhC,aAAA,iDAILkB,IAAA,IAAC,UAAE8oC,GAAW9oC,EAAA,OAChB8oC,EACI9pC,eAAGgC,QAAAlC,aAAA,6CACagqC,GAEhB9pC,eAAGkC,QAAApC,aAAA,iDAGLwB,IAAA,IAAC,OAAER,GAAQQ,EAAA,OACbR,EACId,eAAGqC,QAAAvC,aAAA,yCACSgB,GAEZd,eAAGwC,QAAA1C,aAAA,8CAKEivD,GAAmBpvD,WAAOC,IAAG8C,QAAA5C,aAAA,qDChH3BkvD,OAFOv4D,0BCkBtB,MAAMw4D,GAAYpxE,IASX,IATY,KACjBwrB,EAAI,KACJ/C,EAAI,MACJN,EAAK,OACLk8C,EAAM,SACNr9C,EAAQ,QACRE,EAAO,UACP41C,EAAS,QACTp4C,GACD1kB,EACC,OACEonB,IAAAC,cAACw7C,GAAe,CACd37C,QAASA,EACTsE,KAAMA,EACNrD,MAAOA,EACPM,KAAMA,EACN47C,OAAQA,EACRvH,UAAWA,EACX5uD,KAAK,SACLwW,QAASA,GAERsC,IAKDqqD,GAAmBlxE,IAAmB,IAAlB,SAAE6mB,GAAU7mB,EACpC,MAAM,WAAEmxE,GAAenqD,qBAAWgqD,IA0BlC,OAAO/pD,IAAAC,cAAC2pD,GAAa,KARrB,WACE,OAjBevuE,EAiBAukB,EAhBNvkB,GAAOA,EAAI7D,OAAS,EAAI6D,EAAMkoD,MAAMloD,IAgBpBD,IAAK+uE,IAC5B,GAAIC,yBAAeD,GACjB,OAfN,SAAmBA,GACjB,OAAKD,EACDC,EAAM7oD,MAAM8C,OAAS8lD,EAChBG,uBAAaF,EAAO,CACzBlN,QAAQ,IAGLoN,uBAAaF,EAAO,CACzBlN,QAAQ,IAPckN,EAcbG,CAAUH,KAnBvB,IAAiB9uE,EAwBMkvE,KAGnBC,GAAoBrvD,IAOnB,IAPoB,SACzByE,EAAQ,WACR6qD,EAAU,OACVxN,EAAM,QACNn9C,EAAO,OACPjE,EAAM,UACNN,GACDJ,EACC,MAAM,WAAE+uD,GAAenqD,qBAAWgqD,KAC3BzsD,EAASotD,GAAczjD,oBAAS,GAWvC,OAJAG,oBAAU,KACgBsjD,KAAxBzN,GAAWiN,IALPA,IAAeO,IAMlB,CAACP,EAAY5sD,EAAS2/C,IAElB3/C,EACL0C,IAAAC,cAAC4pD,GAAc,CAAChuD,OAAQA,EAAQN,UAAWA,EAAW+B,QAASA,GAC5DsC,GAGHI,IAAAC,cAAC4pD,GAAc,OAIbc,GAAervD,IAAmB,IAAlB,SAAEsE,GAAUtE,EAChC,MAAO4uD,EAAYU,GAAW3jD,mBAAS,IAUvC,OACEjH,IAAAC,cAAC6pD,GAAgB,CAAChqD,QATpB,SAAsBM,GACpB,MAAMgE,OACcla,IAAlBkW,EAAEmrC,OAAOnnC,KAAqBhE,EAAEmrC,OAAOnnC,KAAOhE,EAAEmrC,OAAOsf,cAAczmD,KACnEA,GACFwmD,EAAQxmD,KAMRpE,IAAAC,cAAC8pD,GAAce,SAAQ,CAACtqC,MAAO,CAAE0pC,eAC9BtqD,KAgBToqD,GAAUe,aAAe,CACvBhqD,MAAOtG,GAAMxG,YACbgpD,QAAQ,G,uBCrIH,MAAMv8C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kHAOtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,mXAuBxBmwD,GAAUtwD,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,wHCWpBowD,I,YAAAA,GA/Bf,SAAmBryE,GAA6B,IAA5B,OAAEgrB,EAAM,QAAE9D,EAAO,KAAEuB,GAAMzoB,EAC3C,OACEonB,IAAAC,cAAC6D,SAAK,CAACF,OAAQA,EAAQ9D,QAASA,EAASjE,OAAQ,IAAKG,MAAO,KAC3DgE,IAAAC,cAACN,GAAW,CAAClD,eAAe,aAC5BuD,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,CAACrC,SAAS,SAAS1C,UAAU,QACxCyE,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACirD,KAAQ,CAACnqD,MAAM,UAAUvlB,KAAK,QAC/BwkB,IAAAC,cAAC+qD,GAAO,CAAC3pD,KAAK,UACdrB,IAAAC,cAACwB,GAAW,KAAEJ,EAAK,KACnBrB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRhB,WAAW,UACXsE,OAAO,UACP9Z,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASA,GACV,SAMPE,IAAAC,cAACO,GAAW,QClCX,MAAME,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,yIAQtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,sWAsBxB6G,GAAchH,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,uJASXH,mBAAO0G,GAAP1G,CAAcW,QAAAR,aAAA,oECD1C,MAAM85B,GAAS57C,IAAA,IAAC,QAAE+mB,EAAO,UAAEo+C,EAAS,UAAE1C,GAAWziE,EAAA,OAC/CinB,IAAAC,cAACO,GAAW,CAAC5D,QAAQ,KACnBoD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP6D,SAAUq+C,EACVp9C,KAAK,2BACN,YAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAAS07C,EACTt6C,WAAY,GACZpa,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP6D,SAAUq+C,EACVp9C,KAAK,2BACN,SAMUqqD,OA5Df,SAA0BvyE,GAOtB,IAPuB,OACzBgrB,EAAM,QACN9D,EAAO,UACP07C,EAAS,KACTn6C,EAAI,WACJ2/C,EAAU,UACV9C,GACDtlE,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,SAAUo+C,GAAap+C,EACvBjE,OAAQ,IACRG,MAAM,MACN+H,OACE/D,IAAAC,cAAC00B,GAAM,CAAC70B,QAASA,EAAS07C,UAAWA,EAAW0C,UAAWA,KAG7Dl+C,IAAAC,cAACK,GAAY,KACXN,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACgL,KAAkB,CAAClK,MAAOtG,GAAM3B,OAAQtd,KAAK,QAC9CwkB,IAAAC,cAACyB,GAAW,CAACL,KAAM2/C,IACnBhhD,IAAAC,cAACwB,GAAW,KAAEJ,OCjCT+pD,OAFS55D,0BCgBT65D,I,mJAAAA,GAhBSA,CAAC9qD,EAAKm0B,KAC5B,MAAM0S,EAAehnC,IACfG,EAAIylC,UAAYzlC,EAAIylC,QAAQslB,SAASlrD,EAAEmrC,SACzC7W,KAIJttB,oBAAU,KACRytB,SAAS02B,iBAAiB,QAASnkB,GAE5B,KACLvS,SAAS22B,oBAAoB,QAASpkB,OCRrC,MAAM1mC,GAAYhG,WAAO+wD,GAAE7wD,QAAAC,aAAA,6JAI9BjiB,IAAA,IAAC,gBAAE8yE,GAAiB9yE,EAAA,OACpB8yE,EACI3wD,eAAGC,QAAAH,aAAA,gGAOP9hB,IAAA,IAAC,MAAEijB,GAAOjjB,EAAA,OACVijB,EACIjB,eAAGG,QAAAL,aAAA,0CACQmB,GAAK,IAIpBb,IAAA,IAAC,UAAEI,GAAWJ,EAAA,OACdI,EACIR,eAAGM,QAAAR,aAAA,6CACaU,GAAS,sBAG7BD,IAAA,IAAC,OAAEsF,GAAQtF,EAAA,OACXsF,EACI7F,eAAGS,QAAAX,aAAA,mDACS+F,EAAgBnG,GAAMzH,cAAY,qBAAA6N,OAEzBpG,GAAMzH,eAE/ByI,IAAA,IAAC,WAAEa,GAAYb,EAAA,OACfa,EACIvB,eAAGY,QAAAd,aAAA,6CACayB,GAAU,eAAAuE,OAEXpG,GAAM9E,MAAK,iCAE9BiG,IAAA,IAAC,aAAEoF,GAAcpF,EAAA,OACjBoF,EACIjG,eAAGe,QAAAjB,aAAA,gDACgBmG,GAAY,sBAInCjF,IAAA,IAAC,QAAEkF,GAASlF,EAAA,OACZkF,EACIlG,eAAGkB,QAAApB,aAAA,0CACUoG,GAAO,cAIxB5E,IAAA,IAAC,MAAE0E,GAAO1E,EAAA,OACV0E,EACIhG,eAAGmB,QAAArB,aAAA,wCACQkG,GAAK,UAAAF,OAENpG,GAAM/E,oBAEpB8G,IAAA,IAAC,KAAEsE,GAAMtE,EAAA,OACTsE,EACI/F,eAAGqB,QAAAvB,aAAA,uCACOiG,GAAI,8BAIlBnE,IAAA,IAAC,UAAE0pD,GAAW1pD,EAAA,OACd0pD,EACItrD,eAAGwB,QAAA1B,aAAA,6CACawrD,GAAS,oBAI7BrpD,IAAA,IAAC,cAAEypD,GAAezpD,EAAA,OAClBypD,EACI1rD,eAAG2B,QAAA7B,aAAA,iDACiB4rD,GAAa,2BAK5BkF,GAAejxD,WAAOkxD,GAAE/uD,QAAAhC,aAAA,mYAOjCqC,IAAA,IAAC,MAAE6D,GAAO7D,EAAA,OACV6D,EACIhG,eAAGgC,QAAAlC,aAAA,wCACQkG,GAAK,IAMXtG,GAAMzH,aACK+zC,aAAQ,IAAMtsC,GAAMzH,cAKpByH,GAAMzH,aACNyH,GAAMzH,aACjByH,GAAM9E,MAIf0H,IAAA,IAAC,MAAErB,GAAOqB,EAAA,OACVrB,EACIjB,eAAGkC,QAAApC,aAAA,0CACQmB,GAAK,IAIpBwB,IAAA,IAAC,aAAEwD,GAAcxD,EAAA,OACjBwD,EACIjG,eAAGqC,QAAAvC,aAAA,gDACgBmG,GAAY,wBAK1B6qD,GAAiBnxD,WAAOC,IAAG4C,QAAA1C,aAAA,whBAElC+C,IAAA,IAAC,aAAEkuD,GAAcluD,EAAA,OACjBkuD,EACI/wD,eAAG0C,QAAA5C,aAAA,sHACmBJ,GAAMzH,aACN+zC,aAAQ,IAAMtsC,GAAMzH,cAC/ByH,GAAMzH,cAAY,IAKvByH,GAAMsxD,gBAoBlB/tD,IAAA,IAAC,YAAEmD,GAAanD,EAAA,OAChBmD,EACIpG,eAAG4C,QAAA9C,aAAA,+CACesG,GAAW,IAIjC/C,IAAA,IAAC,OAAEwC,GAAQxC,EAAA,OACXwC,EACI7F,eAAG+C,QAAAjD,aAAA,yCACS+F,GAEZ7F,eAAGgD,QAAAlD,aAAA,mDACmBJ,GAAMxG,cAGhCsK,IAAA,IAAC,MAAEwC,GAAOxC,EAAA,OACVwC,EACIhG,eAAGmD,QAAArD,aAAA,wCACQkG,GAEXhG,eAAGoD,QAAAtD,aAAA,wCACQJ,GAAMrD,OAGrBsH,IAAA,IAAC,QAAEstD,GAASttD,EAAA,OACXstD,EAIGjxD,eAAGuD,QAAAzD,aAAA,sOAEeJ,GAAMrC,YACAqC,GAAMxG,YACjBwG,GAAMxG,aAPnB8G,eAAGsD,QAAAxD,aAAA,+CAYPkE,IAAA,IAAC,aAAEiC,GAAcjC,EAAA,OACjBiC,EACIjG,eAAGyD,QAAA3D,aAAA,gDACgBmG,GAAY,uBAInC/B,IAAA,IAAC,MAAEjD,GAAOiD,EAAA,OACVjD,EACIjB,eAAG0D,QAAA5D,aAAA,wCACQmB,GAAK,oBAIpBmD,IAAA,IAAC,OAAEtD,GAAQsD,EAAA,OACXtD,EACId,eAAG4D,QAAA9D,aAAA,yCACSgB,GAAM,qBAItBwD,IAAA,IAAC,WAAE4sD,GAAY5sD,EAAA,OACf4sD,EACIlxD,eAAG6D,QAAA/D,aAAA,8CACcoxD,GAAU,IAI/BzsD,IAAA,IAAC,OAAEy9C,GAAQz9C,EAAA,OACXy9C,EACIliD,eAAG+D,QAAAjE,aAAA,4GACmBJ,GAAMzH,aACN+zC,aAAQ,IAAMtsC,GAAMzH,cAC/ByH,GAAMzH,cAEjB+H,eAAGiE,QAAAnE,aAAA,UAGEqxD,GAAkBxxD,WAAOC,IAAGuE,QAAArE,aAAA,yQAcrCsxD,IAAA,IAAC,QAAE7uD,GAAS6uD,EAAA,OACZ7uD,EACIvC,eAAGqE,QAAAvE,aAAA,0CACUyC,GAAO,IAIxB8uD,IAAA,IAAC,aAAEprD,GAAcorD,EAAA,OACjBprD,EACIjG,eAAGwE,QAAA1E,aAAA,gDACgBmG,GAAY,uBAInCqrD,IAAA,IAAC,MAAErwD,GAAOqwD,EAAA,OACVrwD,EACIjB,eAAG2E,QAAA7E,aAAA,wCACQmB,GAAK,oBAIpBswD,IAAA,IAAC,OAAEzwD,GAAQywD,EAAA,OACXzwD,EACId,eAAG25C,QAAA75C,aAAA,yCACSgB,GAAM,oBAItB0wD,IAAA,IAAC,SAAE1W,GAAU0W,EAAA,OACb1W,EACI96C,eAAG65C,QAAA/5C,aAAA,4CACYg7C,GAEf,KAEK2W,GAAkB9xD,WAAOC,IAAGk6C,QAAAh6C,aAAA,sIAGrC4xD,IAAA,IAAC,OAAE5lB,GAAQ4lB,EAAA,OACX5lB,EACI9rC,eAAG+5C,QAAAj6C,aAAA,yCACSgsC,GAAM,IAItB6lB,IAAA,IAAC,QAAEpvD,GAASovD,EAAA,OACZpvD,EACIvC,eAAGg6C,QAAAl6C,aAAA,0CACUyC,GAAO,IAIxBqvD,IAAA,IAAC,aAAE3rD,GAAc2rD,EAAA,OACjB3rD,EACIjG,eAAGi6C,QAAAn6C,aAAA,gDACgBmG,GAAY,uBAInC4rD,IAAA,IAAC,MAAE5wD,GAAO4wD,EAAA,OACV5wD,EACIjB,eAAG8xD,QAAAhyD,aAAA,wCACQmB,GAAK,oBAIpB8wD,IAAA,IAAC,OAAEjxD,GAAQixD,EAAA,OACXjxD,EACId,eAAGgyD,QAAAlyD,aAAA,qEACagB,EACJA,GAAM,qBAItBmxD,IAAA,IAAC,gBAAEC,GAAiBD,EAAA,OACpBC,EACIlyD,eAAGmyD,QAAAryD,aAAA,mDACmBoyD,GAAe,qBAAApsD,OAEhBpG,GAAM9E,QAE/Bw3D,IAAA,IAAC,WAAEjsD,GAAYisD,EAAA,OACfjsD,EACInG,eAAGqyD,QAAAvyD,aAAA,gDACcqG,GAAU,IAI/BmsD,IAAA,IAAC,YAAElsD,GAAaksD,EAAA,OAChBlsD,EACIpG,eAAGuyD,QAAAzyD,aAAA,iDACesG,GAAW,IAIjCosD,IAAA,IAAC,UAAEzmB,GAAWymB,EAAA,OACdzmB,EACI/rC,eAAGyyD,QAAA3yD,aAAA,+CACaisC,GAAS,IAI7B2mB,IAAA,IAAC,QAAEzB,GAASyB,EAAA,OACXzB,EAEGjxD,eAAG2yD,QAAA7yD,aAAA,yGAEaJ,GAAMrC,aAHtB2C,eAAG4yD,QAAA9yD,aAAA,UCrVL8wC,GAAW/yD,IAeV,IAfW,KAChByoB,EAAI,WACJ/E,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,cACTI,EAAa,SACb7mD,EAAQ,QACRE,EAAO,UACPvE,EAAS,MACTS,EAAK,gBACL0vD,GACD9yE,EACC,MAAM,OAAEgrB,GAAW7D,qBAAWqrD,IAC9B,OAAOxnD,EACL5D,IAAAC,cAACS,GAAS,CACRE,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXhlD,KAAMA,EACNolD,cAAeA,EACf3mD,QAASA,EACTvE,UAAWA,EACXS,MAAOA,EACP0vD,gBAAiBA,GAEhB9rD,GAED,MAGAguD,GAAS70E,IAA6D,IAA5D,KAAEqrB,EAAI,SAAExE,EAAQ,QAAEE,EAAO,KAAEuB,EAAI,aAAEL,EAAY,MAAED,GAAOhoB,EACpE,OACEinB,IAAAC,cAAC0rD,GAAY,CACX3qD,aAAcA,EACd6sD,YAAWxsD,EACXvB,QAASA,EACTsE,KAAMA,EACNrD,MAAOA,GAEN,IACAnB,EAAS,IAAEyB,EAAM,MAKlBysD,GAAwB3yD,IAMvB,IANwB,SAC7ByE,EAAQ,MACR5D,EAAK,aACLgF,EAAY,QACZ1D,EAAO,SACPu4C,GACD16C,EACC,MAAM,OAAEyI,GAAW7D,qBAAWqrD,IAC9B,OACEprD,IAAAC,cAACisD,GAAe,CACd5uD,QAASsG,EAAStG,EAAU,OAC5B0D,aAAcA,EACdhF,MAAOA,EACP65C,SAAUA,GAETj2C,EAAU,MAIXmuD,GAAiBzyD,IAahB,IAbiB,SACtBsE,EAAQ,KACRwE,EAAI,MACJpI,EAAK,aACLgF,EAAY,QACZgrD,EAAO,MACPjrD,EAAK,WACLkrD,EAAU,UACVpnB,EAAS,OACThpC,EAAM,aACNiwD,EAAY,UACZ5lB,KACG3a,GACJjwB,EACC,MAAM0yD,EAAWroB,iBAAO,OAClB,UAAEC,EAAS,aAAEE,EAAY,cAAED,GAAkBE,aAAS3hC,IACtD,OAAER,GAAW7D,qBAAWqrD,IAU9B,OARAhkD,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKytD,EAAShoB,QACdvsB,KAAM,iBAEP,CAACmsB,EAAWC,IAGb7lC,IAAAC,cAAC4rD,GAActqD,OAAAC,OAAA,CACb0kC,UAAWA,EACX9hC,KAAMA,EACN7D,IAAKytD,EACLloB,aAAcA,EACd9pC,MAAOA,EACP6oC,UAAWA,EACXhpC,OAAQA,EACRmF,aAAcA,EACdgrD,QAASA,EACTjrD,MAAOA,EACPkrD,WAAYA,EACZhP,OAAQr5C,IAAWkoD,GACfvgC,GAEH3rB,EACDI,IAAAC,cAACguD,KAAmB,CAACzyE,KAAK,WAI1B0yE,GAAoBzyD,IAanB,IAboB,SACzBmE,EAAQ,QACRosD,EAAO,gBACPiB,EAAe,MACfjxD,EAAK,aACLgF,EAAY,QACZ1D,EAAO,YACP6D,EAAW,WACXD,EAAU,UACV4lC,EAAS,OACTlmC,EAAM,OACNimC,EAAM,UACNX,GACDzqC,EACC,MAAOmI,EAAQuqD,GAAalnD,oBAAS,GAC/B1G,EAAMolC,mBAQZ,OADA0lB,GAAgB9qD,EAAK,IAAM4tD,GAAU,IAEnCnuD,IAAAC,cAACusD,GAAe,CACdS,gBAAiBA,EACjB1sD,IAAKA,EACLT,QAVcM,IACX4rD,GACC5rD,EAAEmrC,QAAQ4iB,GAAWvqD,IASzB5H,MAAOA,EACPgF,aAAcA,EACd1D,QAASA,EACT6D,YAAaA,EACbD,WAAYA,EACZ4lC,UAAWA,EACXklB,QAASA,EACTprD,OAAQA,EACRimC,OAAQA,EACRX,UAAWA,GAEXlmC,IAAAC,cAACmrD,GAAgBN,SAAQ,CAACtqC,MAAO,CAAE5c,WAChChE,KA4BT+rC,GAASof,aAAe,CACtB1pD,KAAM,GACN/E,WAAY,KACZsE,OAAQ,KACRI,aAAc,KACdC,QAAS,KACTF,MAAO,KACPD,KAAM,KACNulD,UAAW,KACXI,cAAe,KACf3mD,QAAUof,GAAMA,GAOlB0uC,GAAO7C,aAAe,CACpBnrD,SAAU,MClJGwuD,I,kBAAAA,GAjEEx1E,IAcV,IAdW,QAChBozE,EAAO,KACP5nD,EAAI,WACJiqD,EAAU,UACV9yD,EAAS,QACTwkB,EAAO,QACPjgB,EAAWK,IAAMA,GAAC,cAClBmuD,GAAgB,EAAK,OACrBznE,EAAM,UACN86C,EAAS,UACTuE,EAAS,MACTlqC,EAAK,OACLH,EAAM,UACNgpC,GACDjsD,EAYC,OACEonB,IAAAC,cAACiuD,GAAiB,CAChBlyD,MAAOA,EACP6oC,UAAWhpC,EACXA,OAAQA,EACRqqC,UAAWA,EACX8lB,QAASA,GAEThsD,IAAAC,cAAC8tD,GAAc,CACblpB,UAAWhpC,EACXA,OAAQA,EACRmwD,QAASA,EACT5nD,KAAMA,EACNpI,MAAOA,GAENqyD,GAEHruD,IAAAC,cAAC6tD,GAAqB,CAAC9xD,MAAOA,GAC5BgE,IAAAC,cAAC0rC,GAAQ,KACNpqC,OAAO8Z,OAAO0E,GAAS3kC,IAAI,CAACqlC,EAAQnL,IACnCtV,IAAAC,cAAC2tD,GAAM,CACLxpD,KAAMA,EACND,IAAG,GAAAtD,OAAKyU,EAAK,KAAAzU,OAAI4f,GACjB3gB,QACEwuD,EACKluD,IACCN,EAAQM,IAETA,GAvCEA,KACnB,MAAMoqB,EAAY8P,YAAQzzC,EAAS1L,IACjCA,EAAMilB,EAAEmrC,OAAOnnC,MAAQhE,EAAEmrC,OAAOgjB,aAAa,SAC3CnuD,EAAEmrC,OAAOijB,QAAQntD,KAEZlmB,IAGTwmD,EAAUnX,IA+Ba4c,CAAYhnC,GAEzBiB,KAAMof,SC3Db,MAAM/f,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,gGAK/BjiB,IAAA,IAAC,YAAEuoB,GAAavoB,EAAA,OAChBuoB,EACIpG,eAAGC,QAAAH,aAAA,iDACesG,GAElB,KAEKstD,GAAsB/zD,WAAOC,IAAGO,QAAAL,aAAA,qOAMvBJ,GAAMxG,aAOfy6D,GAAch0D,mBAAO6rD,IAAOz7C,MAAOxJ,IAAK,CACnDkf,MAAOlf,EAAMkf,MACbgmC,aAAcllD,EAAMkkC,SACpBwG,OAAQ1qC,EAAM0qC,OACduV,mBAAoBjgD,EAAMigD,qBAJD7mD,CAKxBW,QAAAR,aAAA,0IAMU8zD,GAAiBj0D,mBAAO0zD,IAAUtjD,MAAOxJ,IAAK,CACzDzF,OAAQyF,EAAMzF,OACdgpC,UAAWvjC,EAAMzF,OACjBG,MAAOsF,EAAMtF,MACboI,KAAM9C,EAAM8C,KACZtE,QAASwB,EAAMxB,UALapF,CAM3Bc,QAAAX,aAAA,+IAKYyG,GAAUA,EAAMzF,QAAM,GAAAgF,OAAOS,EAAMzF,OAAM,MACrCyF,GAAUA,EAAMzF,QAAM,GAAAgF,OAAOS,EAAMzF,OAAM,MAGxD9iB,IAAA,IAAC,MAAEijB,GAAOjjB,EAAA,OACVijB,EACIjB,eAAGY,QAAAd,aAAA,wCACQmB,GAEX,KCeO4yD,OApEf,SAA0Bh2E,GAYtB,IAZuB,aACzBi2E,EAAY,UACZC,EAAS,OACTjoE,EAAM,UACN86C,EAAS,QACT5hB,EAAO,WACPgvC,EAAU,MACV/yD,EAAK,YACLyvC,EAAW,YACXtqC,EAAW,mBACXogD,EAAsBphD,IAAMA,GAAC,QAC7BL,EAAWK,IAAMA,IAClBvnB,EAsBC,OACEonB,IAAAC,cAACS,GAAS,CAACS,YAAaA,GACtBnB,IAAAC,cAAC0uD,GAAc,CACbvqD,KAAMyqD,EACNhoE,OAAQA,EACR86C,UAAWA,EACX0sB,WAAYxnE,EAAOgoE,GACnB9uC,QAASA,EACTlkB,OAAO,KACPG,MAAOA,EACP8D,QArBeM,IACnB,MAAMoqB,EAAY8P,YAAQzzC,EAAS1L,IACjCA,EAAMilB,EAAEmrC,OAAOnnC,MAAQhE,EAAEmrC,OAAOgjB,aAAa,SAC3CnuD,EAAEmrC,OAAOijB,QAAQntD,KACnBlmB,EAAM2zE,GAAa,GACZ3zE,IAGTwmD,EAAUnX,IAcN8jC,eAAa,IAEftuD,IAAAC,cAACyuD,GAAW,CACVtqD,KAAM0qD,EACNtuC,MAAO35B,EAAOioE,GACdvN,mBAAqBnhD,IACD,KAAdA,EAAEohD,SAAgBphD,EAAEokD,iBACxBjD,EAAmBnhD,IAErBolC,SAAWplC,KAzCjB,SAAsBA,GACpB,MAAMoqB,EAAY8P,YAAQzzC,EAAS1L,IACjCA,EAAMilB,EAAEmrC,OAAOnnC,MAAQhE,EAAEmrC,OAAO/qB,MAEzBrlC,IAGTwmD,EAAUnX,GAmCJg8B,CAAapmD,IAEfqrC,YAAaA,EACbzvC,MAAO+yD,EACPlzD,OAAO,OAETmE,IAAAC,cAACwuD,GAAmB,CAAC3uD,QAAUM,GAAMN,EAAQM,IAC3CJ,IAAAC,cAAC2jD,KAAQ,CAACpoE,KAAK,KAAKulB,MAAM,Y,iBClElC,MAAMiuD,GAAa,CACjBl0D,SAAU,WACVm0D,WAAY,wBACZC,MAAO,EACPC,OAAQ,EACRC,OAAQ,GAyEKC,I,eAAAA,GApEW/tD,IACxB,MAAMguD,EAAaA,KAAA,CACjBpc,OAAQ,UACRlyC,aAAc,EACdisD,gBAAiBxyD,GAAMrD,KACvBm4D,UAAW,OACXC,UAAW,SACX3zD,OAAQyF,EAAMzF,SAShB,OACEmE,IAAAC,cAACwvD,cAAUluD,OAAAC,OAAA,CACTjB,IAAMH,GAAMkB,EAAMouD,QAAUpuD,EAAMouD,OAAOtvD,GACzCuvD,SATkBt0C,IACpB,MAAM,UAAEu0C,EAAS,aAAEC,EAAY,aAAEC,GAAiBz0C,GAShD00C,sBAAuBn3E,IAAA,IAAC,MAAEg5D,KAAUtwC,GAAO1oB,EAAA,OACzConB,IAAAC,cAAA,MAAAsB,OAAAC,OAAA,GACMF,EAAK,CACTswC,MAAO,IACFA,KACAod,GACH/zD,KAAM,OAIZ+0D,oBAAqBj3E,IAAA,IAAC,MAAE64D,KAAUtwC,GAAOvoB,EAAA,OACvCinB,IAAAC,cAAA,MAAAsB,OAAAC,OAAA,GACMF,EAAK,CACTswC,MAAO,IACFA,KACAod,GACH5zD,IAAK,OAIX60D,sBAAuB90D,IAAA,IAAC,MAAEy2C,KAAUtwC,GAAOnG,EAAA,OACzC6E,IAAAC,cAAA,MAAAsB,OAAAC,OAAA,GACMF,EAAK,CACTswC,MAAO,IACFA,KACA0d,SAITY,oBAAqB50D,IAAA,IAAC,MAAEs2C,KAAUtwC,GAAOhG,EAAA,OACvC0E,IAAAC,cAAA,MAAAsB,OAAAC,OAAA,GACMF,EAAK,CACTswC,MAAO,IACFA,KACA0d,SAITa,WAAY10D,IAAA,IAAC,MAAEm2C,KAAUtwC,GAAO7F,EAAA,OAC9BuE,IAAAC,cAAA,MAAAsB,OAAAC,OAAA,GAASF,EAAK,CAAEswC,MAAO,IAAKA,EAAO+B,KAAM,QAEvCryC,GAEHA,EAAM1B,WC5EN,MAAM6yC,GAAwB/3C,WAAOC,IAAGC,QAAAC,aAAA,iKAIpCJ,GAAMpC,UACKoC,GAAMjG,QAGxB5b,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGC,QAAAH,aAAA,0CACUyC,GAEb,IAEJvkB,IAAA,IAAC,UAAE+tD,GAAW/tD,EAAA,OACd+tD,EACI/rC,eAAGG,QAAAL,aAAA,6CACaisC,GAEhB,KAEKspB,GAAmB11D,WAAOC,IAAGU,QAAAR,aAAA,iLAE/BJ,GAAMpC,UAKKoC,GAAMpD,SAGfg5D,GAAW31D,WAAOC,IAAGa,QAAAX,aAAA,iKAQZJ,GAAMpD,S,mBC1CrB,MAAMqJ,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,2WAKvBjiB,IAAA,IAAC,OAAEijB,GAAQjjB,EAAA,OAAKijB,GAAM,QACvB9iB,IAAA,IAAC,MAAEijB,GAAOjjB,EAAA,OAAKijB,GAAK,QAE3Bb,IAAA,IAAC,YAAE44C,GAAa54C,EAAA,OAChB44C,GACAh5C,eAAGC,QAAAH,aAAA,oEACck5C,EACCA,IAElBz4C,IAAA,IAAC,aAAEg1D,GAAch1D,EAAA,OACjBg1D,GACAv1D,eAAGG,QAAAL,aAAA,oEACay1D,EACGA,IAEnB70D,IAAA,IAAC,aAAE6D,GAAc7D,EAAA,OACjB6D,GACAvE,eAAGM,QAAAR,aAAA,0CACgByE,KAaO5E,WAAOC,IAAGa,QAAAX,aAAA,QCrBzB01D,OAbf,SAAiB33E,GAA8D,IAA7D,aAAE03E,EAAY,YAAEvc,EAAW,MAAE/3C,EAAK,OAAEH,EAAM,aAAEyD,GAAc1mB,EAC1E,OACEonB,IAAAC,cAACS,GAAS,CACR4vD,aAAcA,EACdvc,YAAaA,EACb/3C,MAAOA,EACPH,OAAQA,EACRyD,aAAcA,EACd8E,KAAK,wBCoBI+1C,OA1Bf,SAAqBvhE,GAMjB,IANkB,SACpBgnB,EAAQ,KACRyB,EAAO,6BAA4B,QACnC/D,EAAO,UACPwpC,EAAS,UACToX,GACDtlE,EACC,OAAQslE,EAWNl+C,IAAAC,cAACwyC,GAAqB,CAACn1C,QAASA,EAASwpC,UAAWA,GAClD9mC,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,QAAQyD,aAAa,OACtCU,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOy0D,aAAa,OACrCtwD,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOy0D,aAAa,QAbvCtwD,IAAAC,cAACwyC,GAAqB,CAACn1C,QAASA,EAASwpC,UAAWA,GACjDlnC,EACCI,IAAAC,cAACmwD,GAAgB,KAAExwD,GAEnBI,IAAAC,cAACmwD,GAAgB,KAAE/uD,GAErBrB,IAAAC,cAACowD,GAAQ,MACTrwD,IAAAC,cAACowD,GAAQ,QC0Ef,MAAMG,GAAyBz3E,IAGxB,IAHyB,wBAC9B03E,EAAuB,2BACvBC,GACD33E,EACC,OACEinB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAAS6a,EACT3wD,QAASA,IAAM4wD,GAA4BD,GAC3C50D,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,aAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,QAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,eAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,qBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,oBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,iBAO3C8a,GAAmBx1D,IAUlB,IAADy1D,EAAA,IAVoB,wBACxBC,EAAuB,SACvB9a,EAAQ,SACR+a,EAAQ,oBACR9a,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,YACvB9sB,EAAW,eACX2nC,EAAc,iBACdza,GACDn7C,EACC,MAAOs1D,EAAyBC,GAA8BzpD,oBAAS,GAgBvE,OAdAG,oBAAU,KACR,IAAK4pD,kBAAQjb,GAAW,CACtB,MAAMiF,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAao6D,EAASp6D,WAC5BR,EAAMS,SAAWm6D,EAASn6D,SAC1BT,EAAMY,WAAaC,KAAKC,KAAK60E,EAAW/a,EAASn6D,UAE1CT,IAGT66D,EAAoBgF,KAErB,CAAC6V,IAGF7wD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAACuwD,GAAsB,CACrBC,wBAAyBA,EACzBC,2BAA4BA,KAI/BG,GACiD,MAAxB,QAA1BD,EAAAC,EAAwB,UAAE,IAAAD,OAAA,EAA1BA,EAA4B9rC,mBAC1B+rC,EAAwBz1E,IAAI,CAACwpC,EAAatP,IACxCtV,IAAAC,cAACgxD,GAAuB,CACtBrsC,YAAaA,EACbtP,MAAOA,EACP0N,SAAUytC,EACVrnC,YAAaA,EACb2nC,eAAgBA,KAIpB/wD,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,SAKpB0W,GACC7wD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOs6D,EAASt6D,MAChBw6D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,MAOxB2a,GAA0B31D,IAMzB,IAN0B,YAC/BspB,EAAW,SACX5B,EAAQ,eACR+tC,EAAc,MACdz7C,EAAK,YACL8T,GACD9tB,EACC,MAAOo/B,EAAWy2B,GAAgBlqD,oBAAS,IACpCmqD,EAAkBC,GAAuBpqD,mBAAS,CACvD2d,cACAgxB,SAAUlb,IAGZ,SAAS42B,EAAyBlxD,EAAG4f,EAAO8E,GAC1C,MAAMysC,EAAiBj3B,YAAQ82B,EAAmBj2E,IAC5CA,EAAMypC,YAAYE,oBAAsBA,IAC1C3pC,EAAMmrC,kBAAoBnrC,EAAMypC,YAAY0B,kBAC5CnrC,EAAMy6D,SAAW51B,EACjB7kC,EAAM2lC,mBAAqBuB,iCAA+Bl2C,WAAW,GACrEgP,EAAMmO,GAAKw7B,EACX3pC,EAAM64B,OAASxE,mBAAS,SACxBr0B,EAAMkrC,UAAW,EACjBlrC,EAAMsgD,gBAAkB,GACxBtgD,EAAMs+B,KAAO,GACbt+B,EAAM4kC,QAAU,GAChB5kC,EAAMgmC,SAAW,GACjBhmC,EAAM84B,iBAAmB,EACzB94B,EAAMwnC,aAAc,EACpBxnC,EAAMynC,aAAc,GAGfznC,IAGHq2E,EAA2Bl3B,YAAQlR,EAAcjuC,IACrD,MAAMs2E,EAAWt2E,EAAM5D,OAAQm6E,IACR,IAAdA,EAAE9b,SAOX,OAJI2b,EAAe3b,SAAS6b,EAAS5oD,KAAK0oD,GAE1Cp2E,EAAQs2E,IAKVJ,EAAoBE,GACpBR,EAAeS,GAoCjB,OAjCApqD,oBAAU,KACR,MAAMmqD,EAAiBj3B,YAAQ82B,EAAmBj2E,IAChDA,EAAMy6D,QAAU5yB,EAChB7nC,EAAM2lC,mBAAqBuB,iCAA+Bl2C,WAAW,GACrEgP,EAAMmrC,kBAAoBnrC,EAAMypC,YAAY0B,kBAC5CnrC,EAAMmO,GAAKnO,EAAMypC,YAAYE,kBAC7B3pC,EAAM64B,OAASxE,mBAAS,SACxBr0B,EAAMkrC,UAAW,EACjBlrC,EAAMsgD,gBAAkB,GACxBtgD,EAAMs+B,KAAO,GACbt+B,EAAM4kC,QAAU,GAChB5kC,EAAMgmC,SAAW,GACjBhmC,EAAM84B,iBAAmB,EACzB94B,EAAMwnC,aAAc,EACpBxnC,EAAMynC,aAAc,EAEbznC,IAGTk2E,EAAoBE,GAChBvuC,EAECoG,EACEhuC,IACEu2E,GACCA,EAAsB/sC,YAAYE,mBAErC3N,SAASo6C,EAAe3sC,YAAYE,oBAEvCisC,EAAgBa,GAAa,IAAIA,EAAUL,IACxCR,EAAe,KACrB,CAAC/tC,IAGFhjB,IAAAC,cAACu1C,YAAQ,CACP11C,QAAUM,GACRkxD,EACElxD,EACAgxD,EAAiBxb,QACjBhxB,EAAYE,mBAGhB+sC,aAAW,GAEX7xD,IAAAC,cAAC+4C,aAAS,CAACtD,WAAS,GAClB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAASwb,EAAiBxb,QAC1B91C,QAAUM,GACRkxD,EACElxD,EACAgxD,EAAiBxb,QACjBhxB,EAAYE,mBAGhBjpB,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYD,YAAcC,EAAYD,YAAc,KAEvD3kB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYC,UAAYD,EAAYC,UAAY,KAEnD7kB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYE,kBAAoBF,EAAYE,kBAAoB,KAEnE9kB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYxD,cAEfphB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYlF,aAEf1f,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCjxB,EAAYvD,UAMfywC,GAAyBr2D,IAGxB,IAHyB,wBAC9Bs2D,EAAuB,2BACvBC,GACDv2D,EACC,OACEuE,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAASmc,EACTjyD,QAASA,IAAMkyD,GAA4BD,GAC3Cl2D,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,aAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,QAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,mBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,oBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,iBAO3Coc,GAAmBr2D,IAUlB,IAADs2D,EAAA,IAVoB,kBACxBC,EAAiB,SACjBpc,EAAQ,SACR+a,EAAQ,oBACR9a,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,YACvB9sB,EAAW,eACX2nC,EAAc,iBACdza,GACD16C,EACC,MAAOm2D,EAAyBC,GAA8B/qD,oBAAS,GAgBvE,OAdAG,oBAAU,KACR,IAAK4pD,kBAAQjb,GAAW,CACtB,MAAMiF,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAao6D,EAASp6D,WAC5BR,EAAMS,SAAWm6D,EAASn6D,SAC1BT,EAAMY,WAAaC,KAAKC,KAAK60E,EAAW/a,EAASn6D,UAE1CT,IAGT66D,EAAoBgF,KAErB,CAACmX,IAGFnyD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAAC6xD,GAAsB,CACrBC,wBAAyBA,EACzBC,2BAA4BA,KAI/BG,GAA+D,MAAtB,QAApBD,EAAAC,EAAkB,UAAE,IAAAD,OAAA,EAApBA,EAAsB/uC,iBAC1CgvC,EAAkB/2E,IAAI,CAAC4N,EAAassB,IAClCtV,IAAAC,cAACmyD,GAAuB,CACtBppE,YAAaA,EACbssB,MAAOA,EACP0N,SAAU+uC,EACV3oC,YAAaA,EACb2nC,eAAgBA,KAIpB/wD,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,SAKpBgY,GACCnyD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOs6D,EAASt6D,MAChBw6D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,MAOxB8b,GAA0Br2D,IAMzB,IAN0B,YAC/B/S,EAAW,SACXg6B,EAAQ,MACR1N,EAAK,YACL8T,EAAW,eACX2nC,GACDh1D,EACC,MAAO2+B,EAAWy2B,GAAgBlqD,oBAAS,IACpCorD,EAAkBC,GAAuBrrD,mBAAS,CACvDje,cACA4sD,SAAUlb,IAGZ,SAAS63B,EAAyBnyD,EAAG4f,EAAOhI,GAC1C,MAAMw6C,EAAiBl4B,YAAQ+3B,EAAmBl3E,IAC5CA,EAAM6N,YAAYgvB,oBAAsBA,IAC1C78B,EAAMy6D,SAAW51B,EACjB7kC,EAAMmrC,kBAAoB,CAACnrC,EAAM6N,YAAYgvB,mBAC7C78B,EAAM2lC,mBAAqB,cAC3B3lC,EAAMmO,GAAK0uB,EACX78B,EAAM64B,OAASxE,mBAAS,SACxBr0B,EAAMkrC,UAAW,EACjBlrC,EAAMsgD,gBAAkB,GACxBtgD,EAAMs+B,KAAO,GACbt+B,EAAM4kC,QAAU,GAChB5kC,EAAMgmC,SAAW,GACjBhmC,EAAM84B,iBAAmB,EACzB94B,EAAMwnC,aAAc,EACpBxnC,EAAMynC,aAAc,GAGfznC,IAGHs3E,EAA2Bn4B,YAAQlR,EAAcjuC,IACrD,MAAMs2E,EAAWt2E,EAAM5D,OAAQm6E,GAE3BA,EAAE1oE,YAAYgvB,oBACZw6C,EAAexpE,YAAYgvB,oBAAmC,IAAd05C,EAAE9b,SAQxD,OAJI4c,EAAe5c,SAAS6b,EAAS5oD,KAAK2pD,GAE1Cr3E,EAAQs2E,IAKVa,EAAoBE,GACpBzB,EAAe0B,GAmCjB,OAhCArrD,oBAAU,KACR,MAAMorD,EAAiBl4B,YAAQ+3B,EAAmBl3E,IAChDA,EAAMy6D,QAAU5yB,EAChB7nC,EAAM2lC,mBAAqB,cAC3B3lC,EAAMmrC,kBAAoB,CAACnrC,EAAM6N,YAAYgvB,mBAC7C78B,EAAMmO,GAAKnO,EAAM6N,YAAYgvB,kBAC7B78B,EAAM64B,OAASxE,mBAAS,SACxBr0B,EAAMkrC,UAAW,EACjBlrC,EAAMsgD,gBAAkB,GACxBtgD,EAAMs+B,KAAO,GACbt+B,EAAM4kC,QAAU,GAChB5kC,EAAMgmC,SAAW,GACjBhmC,EAAM84B,iBAAmB,EACzB94B,EAAMwnC,aAAc,EACpBxnC,EAAMynC,aAAc,EAEbznC,IAETm3E,EAAoBE,GAChBxvC,EAECoG,EACEhuC,IACEs3E,GACCA,EAAsB1pE,YAAYgvB,mBAErCb,SAASq7C,EAAexpE,YAAYgvB,oBAEvC+4C,EAAgBa,GAAa,IAAIA,EAAUY,IACxCzB,EAAe,KACrB,CAAC/tC,IAGFhjB,IAAAC,cAACu1C,YAAQ,CACP11C,QAAUM,GACRmyD,EACEnyD,EACAiyD,EAAiBzc,QACjB5sD,EAAYgvB,mBAGhB65C,aAAW,GAEX7xD,IAAAC,cAAC+4C,aAAS,CAACtD,WAAS,GAClB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAASyc,EAAiBzc,QAC1B91C,QAAUM,GACRmyD,EACEnyD,EACAiyD,EAAiBzc,QACjB5sD,EAAYgvB,mBAGhBnc,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjC7sD,EAAYgvB,kBAAoBhvB,EAAYgvB,kBAAoB,KAEnEhY,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjC7sD,EAAYm6B,gBAAkBn6B,EAAYm6B,gBAAkB,KAE/DnjB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjC7sD,EAAYo6B,gBAAkBp6B,EAAYo6B,gBAAkB,KAE/DpjB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjC7sD,EAAY02B,aAEf1f,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjC7sD,EAAYq4B,UAMNsxC,OA3hBf,SAA0B/5E,GAUtB,IAADg6E,EAAA,IAVwB,wBACzB/B,EAAuB,kBACvBsB,EAAiB,oBACjBnc,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,cACvB2c,EAAa,YACbzpC,EAAW,eACX2nC,EAAc,iBACdza,GACD19D,EAoBC,OAnBAwuB,oBAAU,KACR,IAAK4pD,kBAAQH,EAAwB3sE,SAASxI,MAAO,CACnD,MAAMs/D,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAak1E,EAAwB3sE,SAASxI,KAAKC,WACzDR,EAAMS,SAAWi1E,EAAwB3sE,SAASxI,KAAKE,SACvDT,EAAMY,WAAaC,KAAKC,KACtB40E,EAAwB3sE,SAAS1I,KAC/Bq1E,EAAwB3sE,SAASxI,KAAKE,UAGnCT,IAGT66D,EAAoBgF,KAIrB,CAAC6V,IAGFgC,EAAc/xC,qBACduB,iCAA+Bl2C,WAAW,GAGxC6zB,IAAAC,cAAAD,IAAAuD,SAAA,KACGstD,EAAwB/sE,QACvBkc,IAAAC,cAACg7C,GAAe,CAACp/C,OAAO,UAExBmE,IAAAC,cAAC0wD,GAAgB,CACfvnC,YAAaA,EACb2nC,eAAgBA,EAChB9a,iBAAkBA,EAClBK,iBAAkBA,EAClBN,oBAAqBA,EACrBE,wBAAyBA,EACzBH,SAAU8a,EAAwB3sE,SAASxI,KAC3Co1E,SAAUD,EAAwB3sE,SAAS1I,KAC3Cq1E,wBAAyBA,EAAwB3sE,SAASxI,KAAKA,QAMvEskB,IAAAC,cAAAD,IAAAuD,SAAA,KACG4uD,EAAkBruE,QACjBkc,IAAAC,cAACg7C,GAAe,CAACp/C,OAAO,UAExBmE,IAAAC,cAACgyD,GAAgB,CACf7oC,YAAaA,EACb2nC,eAAgBA,EAChBza,iBAAkBA,EAClBL,iBAAkBA,EAClBD,oBAAqBA,EACrBD,SAAUoc,EAAkBjuE,SAASxI,KACrCo1E,SAAUqB,EAAkBjuE,SAAS1I,KACrC06D,wBAAyBA,EACzBic,kBAAkD,QAAjCS,EAAET,EAAkBjuE,SAASxI,YAAI,IAAAk3E,OAAA,EAA/BA,EAAiCl3E,SChE/Co3E,OApBYA,IAEvB9yD,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACI,SAAU,GAAIn6C,SAAU,KACrCsE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,QAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,SAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,IAAI,eAG1C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,GAAIm6C,SAAU,IAAI,W,yCC4ChCkd,OAnDGn6E,IAAwC,IAAvC,aAAEo6E,EAAY,gBAAEC,GAAiBr6E,EAClD,MAAQk1B,uBAAwB5pB,GAAa+8C,YAC1C1oB,GAAUA,EAAM1W,SAGnB,OACE7B,IAAAC,cAAAD,IAAAuD,SAAA,KACKrf,GAAYA,EAASxI,MAAQwI,EAASxI,KAAKlE,OAAS,EAOrDwoB,IAAAC,cAAAD,IAAAuD,SAAA,KACGrf,EAASxI,KAAKN,IAAKunD,GAClB3iC,IAAAC,cAACu1C,YAAQ,CAACqc,aAAW,EAAC/xD,QAASA,IAAMmzD,EAAgBtwB,IACnD3iC,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,GAAIn6C,SAAU,IACjCsE,IAAAC,cAAC01C,YAAQ,CACP95C,OAAQ,GACRG,MAAO,GACP8D,QAASA,IAAMmzD,EAAgBtwB,GAC/BiT,QAASjT,EAAKpyB,aAA0B,OAAZyiD,QAAY,IAAZA,OAAY,EAAZA,EAAcziD,cAG9CvQ,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjClT,EAAK9qB,KAAO8qB,EAAK9qB,KAAO,KAE3B7X,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjClT,EAAKxsB,MAAQwsB,EAAKxsB,MAAQ,KAE7BnW,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,IACjClT,EAAKrX,WACFxS,KAAsBtrC,2BACpBm1D,EAAKrX,YAEP,KAENtrB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,GAAIm6C,SAAU,IAChClT,EAAKl1C,WACF28B,KAAe58C,2BAA2Bm1D,EAAKl1C,YAC/C,QAjCZuS,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,UC2CV+Y,OA7Cat6E,IAOrB,IAPsB,aAC3Bo6E,EAAY,gBACZC,EAAe,iBACfhd,EAAgB,iBAChBK,EAAgB,oBAChBN,EAAmB,wBACnBE,GACDt9D,EACC,MAAM,QACJkL,EAAO,QACPG,EACA6pB,wBAAwB,MAAEryB,IACxBwlD,YAAa1oB,GAAUA,EAAM1W,SAEjC,OAAI/d,EAAgBkc,IAAAC,cAACg7C,GAAe,CAACp/C,OAAO,UAG1CmE,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CACJC,KAAM33C,IAAAC,cAAC6yD,GAAkB,MACzBK,KACElvE,GACE+b,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOA,EACPw6D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,OAO9Bt2C,IAAAC,cAACmzD,GAAuB,CACtBJ,aAAcA,EACdC,gBAAiBA,OC4D3B,MAAMzyD,GAAcznB,IAAwC,IAAvC,QAAE+mB,EAAO,qBAAEuzD,GAAsBt6E,EACpD,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAAUM,GAAMN,EAAQM,GACxBsD,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLqa,YAAa,GACbL,KAAK,0BACL9E,MAAO,KACR,YAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLgZ,QAAUM,IACRizD,IACAvzD,EAAQM,IAEVU,KAAK,0BACL9E,MAAO,KACR,eAOQs3D,I,0CAAAA,GApIf,SAAkC16E,GAgB9B,IAhB+B,OACjCgrB,EAAM,QACN9D,EAAO,OACPjZ,EAAM,UACN86C,EAAS,wBACTkvB,EAAuB,kBACvBsB,EAAiB,YACjB/oC,EAAW,eACX2nC,EAAc,iBACd9a,EAAgB,oBAChBD,EAAmB,kBACnBud,EAAiB,aACjBC,EAAY,qBACZH,EAAoB,gBACpBJ,EAAe,aACfD,GACDp6E,EACC,MAAM6X,EAAWoT,cAEjB,SAASyyC,EAAiBmd,GACxBhjE,EAAS+iE,EAAa3sE,EAAOi6B,mBAAoB2yC,IAGnD,SAASvd,EAAwB91C,GACb,KAAdA,EAAEohD,SACJ/wD,EAAS+iE,EAAa3sE,EAAOi6B,qBAIjC,OACE9gB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAAUM,GAAMN,EAAQM,GACxBpE,MAAO,IACPH,OAAQ,IACRT,IAAK,GACLuyC,qBAAqB,WACrBvV,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,aACVQ,OACE/D,IAAAC,cAACO,GAAW,CACVV,QAASA,EACTuzD,qBAAsBA,IAAMA,OAIhCrzD,IAAAC,cAACgrC,eAAW,CAAC0I,KAAK,IAAI/2C,QAAS,GAAIrB,UAAW,IAAK4B,WAAY,GAC7D6C,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAI8M,QAAM,EAACK,qBAAmB,GACpDj0C,IAAAC,cAAC2uD,GAAiB,CAChBC,aAAa,qBACbC,UAAU,sBACV9iB,OAAQunB,EACR1sE,OAAQA,EACR86C,UAAWA,EACX5hB,QAASsC,iCAA+Bl2C,WACxC4iF,WAAW,MACXtjB,YACEppB,iCAA+BvxC,yBAC7B+V,EAAOi6B,oBAGXygC,mBAAoBgS,EACpBzzD,QAAUM,GAAMmzD,EAAkBnzD,GAAG,MAGzCJ,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAI8M,QAAM,GAChC5zC,IAAAC,cAAC0B,QAAI,CAACN,KAAK,yBAAyBva,KAAK,cAAc82D,MAAI,IAC3D59C,IAAAC,cAACyzD,aAAS,CAACC,YAAY,UAAU93D,OAAQ,KACtChV,EAAOi6B,qBACRuB,iCAA+Bl2C,WAAW,GACxC6zB,IAAAC,cAACizD,GAAmB,CAClBF,aAAcA,EACdC,gBAAiBA,EACjBhd,iBAAkBA,EAClBK,iBAAkBA,EAClBN,oBAAqBA,EACrBE,wBAAyBA,IAG3Bl2C,IAAAC,cAAC0yD,GAAiB,CAChB9B,wBAAyBA,EACzBsB,kBAAmBA,EACnBnc,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAAyBA,EACzB2c,cAAehsE,EACfuiC,YAAaA,EACb2nC,eAAgBA,EAChBza,iBAAkBA,UCrG7B,MAAM51C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,mPAInBJ,GAAMpD,QACAoD,GAAMjD,QAKxB5e,IAAA,IAAC,WAAEsoB,GAAYtoB,EAAA,OACfsoB,EACInG,eAAGC,QAAAH,aAAA,8CACcqG,GAEjB,IAEJnoB,IAAA,IAAC,UAAE+tD,GAAW/tD,EAAA,OACd+tD,EACI/rC,eAAGG,QAAAL,aAAA,6CACaisC,GAEhB,IAEN3rC,IAAA,IAAC,QAAEmC,GAASnC,EAAA,OACVmC,EACIvC,eAAGM,QAAAR,aAAA,0CACUyC,GAEb,IACMhC,IAAA,IAAC,MAAEU,GAAOV,EAAA,OACpBU,EACIjB,eAAGS,QAAAX,aAAA,wCACQmB,GAEX,KAGK43D,GAAcl5D,WAAOC,IAAGgB,QAAAd,aAAA,4VASjCY,IAAA,IAAC,WAAEyF,GAAYzF,EAAA,OACfyF,EACInG,eAAGe,QAAAjB,aAAA,8CACcqG,GAEjB,IAEJtF,IAAA,IAAC,YAAEuF,GAAavF,EAAA,OAChBuF,EACIpG,eAAGkB,QAAApB,aAAA,+CACesG,GAElB,IAEU1G,GAAMzH,aAETyH,GAAMjG,QAGLiG,GAAMjG,SAMTuyD,GAAgBrsD,WAAOC,IAAGuB,QAAArB,aAAA,gBACnCkB,IAAA,IAAC,OAAE8qC,GAAQ9qC,EAAA,OACX8qC,EACI9rC,eAAGqB,QAAAvB,aAAA,yCACSgsC,GAEZ,KASKgtB,IANcn5D,WAAOC,IAAG4B,QAAA1B,aAAA,4FAMDH,WAAOC,IAAG+B,QAAA7B,aAAA,6BAIjCi5D,GAAmCp5D,WAAOC,IAAGkC,QAAAhC,aAAA,6DAK7Ck5D,GAAkCr5D,WAAOC,IAAGoC,QAAAlC,aAAA,kUAQ9CJ,GAAM/C,QAGC+C,GAAMlD,SCLTy8D,I,SAAAA,GArFf,SAAyBp7E,GAgBrB,IAhBsB,SACxBgnB,EAAQ,kBACRq0D,EAAiB,SACjBC,EAAQ,WACRhzD,EAAU,UACV4lC,EAAS,QACTxpC,EAAO,MACPtB,EAAK,cACLm4D,EAAa,cACbC,EAAa,eACbC,EAAc,SACdhuC,EAAQ,mBACRiuC,EAAkB,UAClB/jD,EAAS,iBACT0D,EAAgB,QAChBnwB,GACDlL,EACC,OACEonB,IAAAC,cAACS,GAAS,CACRomC,UAAWA,EACX5lC,WAAYA,EACZ5D,QAASA,EACTtB,MAAOA,GAEPgE,IAAAC,cAAC8zD,GAA+B,KAC9B/zD,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,GAC7BggB,EACDj0D,IAAAC,cAAC4zD,GAAoB,KACjBxtC,EAgBEviC,EACFkc,IAAAC,cAACg7C,GAAe,CAACl6C,MAAOtG,GAAMzH,aAAcxX,KAAK,OAEjDwkB,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,SACLvG,SAAS,UAETkF,IAAAC,cAAC2zD,GAAW,CAAC9zD,QAASs0D,GACpBp0D,IAAAC,cAAC8mD,GAAa,CAAClgB,OAAO,OACpB7mC,IAAAC,cAACs0D,KAAO,CAACxzD,MAAOtG,GAAMrD,KAAM5b,KAAK,KAAK43D,KAAK,cA1BjDpzC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,SACLvG,SAAS,UAETkF,IAAAC,cAAC2zD,GAAW,CAAC9zD,QAASq0D,GACpBn0D,IAAAC,cAACkzC,GAAI,CACHpyC,MAAOtG,GAAMrD,KACb5b,KAAK,KACL43D,KAAK,SACLvM,OAAO,UAoBf7mC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,UACLvG,SAAS,UAETkF,IAAAC,cAAC2zD,GAAW,CACV1yD,WAAW,MACXC,YAAY,MACZrB,QAASu0D,GAETr0D,IAAAC,cAACkzC,GAAI,CAACtM,OAAO,MAAM9lC,MAAOtG,GAAMrD,KAAM5b,KAAK,KAAK43D,KAAK,eAK7DpzC,IAAAC,cAAC0B,QAAI,CAACb,KAAK,eAAeO,KAAM6yD,KAElCl0D,IAAAC,cAAC6zD,GAAgC,KAC9Bl0D,KChGF,MAAMc,GAAYhG,WAAOiG,OAAM/F,QAAAC,aAAA,gRAMtBJ,GAAMvF,YAIVtc,IAAA,IAAC,KAAE47E,GAAM57E,EAAA,OAAM47E,EAAI,GAAA3zD,OAAM2zD,EAAI,cAC9Bz7E,IAAA,IAAC,KAAEy7E,GAAMz7E,EAAA,OAAMy7E,EAAI,GAAA3zD,OAAM2zD,EAAI,cAEpCr5D,IAAA,IAAC,KAAEs5D,GAAMt5D,EAAA,OACTs5D,GACA15D,eAAGC,QAAAH,aAAA,iDAIHS,IAAA,IAAC,YAAEo5D,GAAap5D,EAAA,OAChBo5D,GACA35D,eAAGG,QAAAL,aAAA,kDCyBQ85D,OA1CQ/7E,IAOhB,IAPiB,YACtB87E,EAAW,QACX50D,EAAWof,IAAMA,GAAC,KAClBu1C,EAAI,KACJG,EAAI,GACJC,EAAE,KACFL,GACD57E,EACC,OAAI87E,EAEA10D,IAAAC,cAACS,GAAS,CACR5Z,KAAK,SACL4tE,YAAaA,EACbD,KAAMA,EACN30D,QAASA,EACT00D,KAAMA,GAELI,EACC50D,IAAAC,cAAC20D,EAAI,CAACp5E,KAAMg5E,EAAMx4D,MAAOw4D,EAAM34D,OAAQ24D,EAAMzzD,MAAOtG,GAAMrD,OAE1D4I,IAAAC,cAAC60D,KAAY,CAACt5E,KAAK,QAMzBwkB,IAAAC,cAACS,GAAS,CACR5Z,KAAK,SACL4tE,YAAaA,EACbD,KAAMA,EACN30D,QAASA,EACT00D,KAAMA,GAELK,EACC70D,IAAAC,cAAC40D,EAAE,CAACr5E,KAAMg5E,EAAMx4D,MAAOw4D,EAAM34D,OAAQ24D,EAAMzzD,MAAOtG,GAAMrD,OAExD4I,IAAAC,cAAC80D,KAAY,CAACv5E,KAAK,SCxCZw5E,I,YAAAA,GAFSxjE,0BCEjB,MAAMkP,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,yIAKbJ,GAAM9E,OAkBfs/D,IAdsBv6D,WAAOC,IAAGK,QAAAH,aAAA,mNAKlCJ,GAAMxG,YAMIrb,IAAA,IAAC,eAAE6jB,GAAgB7jB,EAAA,OAAK6jB,GAAc,SAC1C1jB,IAAA,IAAC,WAAE0nB,GAAY1nB,EAAA,OAAK0nB,GAAU,aAEJ/F,WAAOC,IAAGO,QAAAL,aAAA,gMAWxCq6D,GAAsBx6D,WAAOC,IAAGU,QAAAR,aAAA,0G,0DC9BtC,MAAMs6D,GAAoBz6D,mBAAOgG,GAAPhG,CAAiBE,QAAAC,aAAA,6NAQ9CjiB,IAAA,IAAC,YAAE87E,GAAa97E,EAAA,OAChB87E,EACI35D,eAAGC,QAAAH,aAAA,2CAGHE,eAAGG,QAAAL,aAAA,6CAIEu6D,GAA0B16D,WAAOC,IAAGU,QAAAR,aAAA,4LAM7C9hB,IAAA,IAAC,eAAE0jB,GAAgB1jB,EAAA,OACnB0jB,EACI1B,eAAGS,QAAAX,aAAA,kDACkB4B,GAErB1B,eAAGY,QAAAd,aAAA,uDAIPM,IAAA,IAAC,WAAEsF,GAAYtF,EAAA,OACfsF,EACI1F,eAAGe,QAAAjB,aAAA,8CACc4F,GAEjB1F,eAAGkB,QAAApB,aAAA,mDAGNS,IAAA,IAAC,QAAEgC,GAAShC,EAAA,OACbgC,EACIvC,eAAGmB,QAAArB,aAAA,4CAGHE,eAAGqB,QAAAvB,aAAA,8CAcEw6D,IAN0B36D,mBAAOw6D,GAAPx6D,CAA2B6B,QAAA1B,aAAA,8JAM1BH,mBAAOu6D,GAAPv6D,CAAmCgC,QAAA7B,aAAA,iiBAiBvEY,IAAA,IAAC,eAAEgB,GAAgBhB,EAAA,OACnBgB,EACI1B,eAAG8B,QAAAhC,aAAA,kDACkB4B,GAErB1B,eAAGgC,QAAAlC,aAAA,uDAIPe,IAAA,IAAC,WAAE6E,GAAY7E,EAAA,OACf6E,EACI1F,eAAGkC,QAAApC,aAAA,8CACc4F,GAEjB1F,eAAGqC,QAAAvC,aAAA,mDAGNkB,IAAA,IAAC,QAAEuB,GAASvB,EAAA,OACbuB,EACIvC,eAAGwC,QAAA1C,aAAA,4CAGHE,eAAG0C,QAAA5C,aAAA,+CCxFX,SAASy6D,GAAY18E,GAA2B,IAA1B,SAAEgnB,EAAQ,UAAEsmC,GAAWttD,EAC3C,MAAO28E,EAAMC,GAAWvuD,oBAAS,GAKjC,OACEjH,IAAAC,cAACk1D,GAAiB,CAACT,YAAaa,EAAMrvB,UAAWA,GAC/ClmC,IAAAC,cAAC+0D,GAAgBlK,SAAQ,CAACtqC,MAAO,CAAE+0C,OAAME,eAL7C,WACED,GAASD,MAKJ31D,IAMT,SAAS81D,GAAkB38E,GAQvB,IARwB,SAC1B6mB,EAAQ,UACRsmC,EAAS,YACTkB,EAAejnC,IAAMA,GAAC,WACtBw1D,EAAcx1D,IAAMA,GAAC,WACrBy1D,GAAa,EAAK,QAClB9xE,GAAU,EAAK,YACf4wE,GAAc,GACf37E,EACC,MAAM,KAAEw8E,EAAI,eAAEE,GAAmB11D,qBAAWi1D,IAC5C,OACEh1D,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACxwC,aAAW,GACpDzD,IAAAC,cAACm1D,GAAuB,CACtB34D,eAAe,QACfgE,WAAW,SACXnD,SAAO,EACP4oC,UAAWA,GAEVtmC,EACA9b,EACCkc,IAAAC,cAACg7C,GAAe,MACb2a,EAaD,KAZF51D,IAAAC,cAAC00D,GAAc,CACbH,KAAK,KACLI,KAAM3G,KACN4G,GAAI5G,KACJyG,YAAaA,GAAea,EAC5Bz1D,QAAUM,IACRA,EAAEknC,kBACFquB,IACAvuB,IACAquB,SAgBd,SAASI,GAAmBv6D,GAA4C,IAA3C,SAAEsE,EAAQ,WAAEa,EAAU,eAAEhE,GAAgBnB,EACnE,MAAM,KAAEi6D,GAASx1D,qBAAWi1D,IAC5B,OAAOO,EACLv1D,IAAAC,cAACo1D,GAAwB,CACvB/3D,QAASi4D,EACT94D,eAAgBA,EAChBgE,WAAYA,GAEXb,GAED,K,gBCxFC,MAAMssD,GAAkBxxD,WAAO+wD,GAAE7wD,QAAAC,aAAA,0IAM9ByG,GACFA,EAAMw0D,SACN/6D,eAAGC,QAAAH,aAAA,yEAIEk7D,GAAkBr7D,WAAOC,IAAGO,QAAAL,aAAA,kKAUhBH,WAAOC,IAAGU,QAAAR,aAAA,sHCmBnC,MAAMm7D,GAAcj9E,IAQb,IARc,QACnBgnC,EAAO,gBACP0b,EAAe,SACf+J,EAAQ,QACRswB,EAAO,aACP/yC,EAAY,UACZxS,EAAS,SACT4Q,GACDpoC,EACC,MAAM,mBAAE2rC,GAAuBuc,YAAa1oB,GAAUA,EAAMvvB,aACtD62B,EAAY,CAAC,EAAG,cAChBpvB,EAAWoT,cAqFjB,SAASoyD,EAAoBx1C,EAAQy1C,GACG,IAAlCnzC,EAAa9O,kBACfxjB,EAzEuB0lE,EAAC11C,EAAQgF,EAAgBzR,KAAY,IAAD0R,EAAAC,EAwB7D,MAvBkB,CAChB90C,YAAao7C,GAA+C,CAC1DtH,YAA2B,OAAdc,QAAc,IAAdA,GAA2B,QAAbC,EAAdD,EAAgBb,mBAAW,IAAAc,OAAb,EAAdA,EAA6Bf,YAC1CG,kBAAiC,OAAdW,QAAc,IAAdA,GAA2B,QAAbE,EAAdF,EAAgBb,mBAAW,IAAAe,OAAb,EAAdA,EAA6Bb,kBAChD9Q,SACAyF,KAAMoG,EACN2C,YAAa/B,EAAO+B,cAEtB4zC,WAAYnqC,GAAoD,CAC9DjU,kBAAmByI,EAAOzI,kBAC1BhE,SACAyF,KAAMgH,EAAOgC,SACbD,YAAa/B,EAAO+B,cAEtB6zC,MAAOpqC,GAA8C,CACnDjU,kBAAmByI,EAAOzI,kBAC1BwL,iBAAkB/C,EAAO+C,iBACzBxP,SACAyF,KAAMgH,EAAOgC,SACbD,YAAa/B,EAAO+B,eAIP/B,EAAO8C,cAiDb4yC,CAAmB11C,EAAQsC,EAAcA,EAAa/O,SACjEvjB,EACEw7B,IAA4C,EAAMlJ,EAAa/O,SAGnE,OACEhU,IAAAC,cAAAD,IAAAuD,SAAA,KACGwc,EAAQ3kC,IACNqlC,GACCA,GACEzgB,IAAAC,cAACq1D,GAAY,CAAC9hB,eAAA,GACZxzC,IAAAC,cAACisD,GAAe,CAAC4J,QAASA,GACxB91D,IAAAC,cAACy1D,GAAkB,CACjBtuB,aACG3mB,EAAOJ,UAAY2wC,kBAAQvwC,EAAOR,YAC/B,IAAMg2C,EAAoBx1C,GACzBtgB,GAAMA,EAEbw1D,WAAYA,KACVA,OAxBEh1C,EAwBSF,EAAOgC,SAxBNzO,EAwBgB+O,EAAa/O,YAvBzDvjB,EAASw7B,GAAyCtL,EAAU3M,IAD9D,IAAoB2M,EAAU3M,GA0Bd4hD,YAAan1C,EAAOoC,gBAAuB,OAANpC,QAAM,IAANA,OAAM,EAANA,EAAQiD,SAE7C1jB,IAAAC,cAACq2D,GAAiB,CAChBC,SAAU91C,EAAOT,MACjB4mB,MAAOnmB,EAAOrc,KACdwW,MAAO6F,EAAO7F,MACdyF,SAAUI,EAAOJ,SACjBiD,KAAM7C,EAAO6C,KACbD,UAAW5C,EAAO4C,UAClBX,YAAajC,EAAOiC,YACpB5iB,QAASA,KArHI2gB,KAC7BhwB,EACEw7B,GACExL,EAAO+B,YACPO,EAAa/O,QACZyM,EAAOT,MACRS,EAAOJ,SACPI,EAAOn3B,GACPm3B,EAAO8B,gBA8GOi0C,CAAsB/1C,OAI5BzgB,IAAAC,cAAC41D,GAAmB,KACjBp1C,EAAOR,WAAWzoC,OAAS,EAC1BwoB,IAAAC,cAAC+1D,GAAW,CACVj2C,QAASU,EAAOR,WAChB8C,aAAcA,EACdxS,UAAWA,EACX4Q,SAAUA,IAEV,WAUhBm1C,GAAoBn7D,IASnB,IAToB,SACzBo7D,EAAQ,MACR3vB,EAAK,QACL9mC,EAAO,MACP8a,EAAK,SACLyF,EAAQ,KACRiD,EAAI,UACJD,EAAS,YACTX,GAAc,GACfvnB,EACC,OACE6E,IAAAC,cAAC81D,GAAe,KACb1yC,GACCrjB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC01C,YAAQ,CACP91C,UAAQ,EACR+1C,QAAS2gB,EACTz2D,QAASA,IAAMA,GAASy2D,KAE1Bv2D,IAAAC,cAAC0B,QAAI,CACHZ,MAAM,UACNja,KAAK,cACLua,KAAMulC,EACNzlC,YAAa,KAEfnB,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,iEACLvG,SAAS,SAETkF,IAAAC,cAACgL,KAAkB,CACjBlK,MAAOtG,GAAMrD,KACbwjD,WAAS,iEACT6b,WAAS,UACTj7E,KAAK,SAKZ8nC,GACCtjB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC01C,YAAQ,CAACC,QAAS2gB,EAAUz2D,QAASA,IAAMA,GAASy2D,KACrDv2D,IAAAC,cAAC0B,QAAI,CACHZ,MAAM,UACNja,KAAK,cACLua,KAAMulC,EACNzlC,YAAa,KAEfnB,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,6DACLvG,SAAS,SAETkF,IAAAC,cAACgL,KAAkB,CAAClK,MAAOtG,GAAMrD,KAAM5b,KAAK,UAIhD8nC,IAASD,GACTrjB,IAAAC,cAAAD,IAAAuD,SAAA,KACImf,EAEE,KADF1iB,IAAAC,cAAC01C,YAAQ,CAACC,QAAS2gB,EAAUz2D,QAASA,IAAMA,GAASy2D,KAEvDv2D,IAAAC,cAAC0B,QAAI,CACHZ,MAAM,UACNja,KAAK,cACLua,KAAMulC,EACNzlC,YAAa,MAKlBkf,IAAaqC,GACZ1iB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC0B,QAAI,CACHsjC,YAAa,GACbnkC,KAAK,uBACLO,KAAI,GAAAR,OAAK+lC,EAAK,qBAEhB5mC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,oBACLO,KAAMuZ,EACN1Z,WAAY,EACZH,MAAOtG,GAAMhE,eAQVigE,I,qBAAAA,GA3Qf,SAA2B99E,GAAkD,IAAjD,aAAEmqC,EAAY,SAAE5B,EAAQ,QAAEpB,EAAO,UAAExP,GAAW33B,EACxE,MAAM6X,EAAWoT,cAEjB,OACE7D,IAAAC,cAAC+1D,GAAW,CACVj2C,QAASA,EACTylB,SAAWmxB,GACTlmE,EACEw7B,GACE0qC,EACA5zC,EAAa/O,SAInBynB,gBAAiB1Y,EAAa0Y,gBAC9Bq6B,SAAO,EACP/yC,aAAcA,EACdxS,UAAWA,EACX4Q,SAAUA,KClCSzmB,WAAOC,IAAGC,QAAAC,aAAA,QAEAH,WAAOC,IAAGK,QAAAH,aAAA,mGAFtC,MASMu1D,GAAmB11D,WAAOC,IAAGO,QAAAL,aAAA,yRAK/BJ,GAAMpC,WAUJu+D,GAAmCl8D,WAAOC,IAAGU,QAAAR,aAAA,yEAe7Cg8D,IAT8Bn8D,WAAOC,IAAGa,QAAAX,aAAA,mGAS5BH,WAAO+wD,GAAE9vD,QAAAd,aAAA,mNAiBrBi8D,GAAap8D,WAAOiG,OAAM7E,QAAAjB,aAAA,iVCvBxBk8D,OA1BUn+E,IAA4B,IAA3B,SAAEsL,EAAQ,QAAEJ,GAASlL,EAC7C,OAAQkL,EAeNkc,IAAAC,cAAC22D,GAAgC,KAC/B52D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOG,MAAM,QAAQs0D,aAAa,MACnDtwD,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOG,MAAM,QAAQs0D,aAAa,MACnDtwD,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOG,MAAM,QAAQs0D,aAAa,QAlBvD/uD,OAAOy1D,KAAK9yE,GAAU9I,IAAKmV,GAEvByP,IAAAC,cAAC22D,GAAgC,CAACzyD,IAAK5T,GACrCyP,IAAAC,cAAC0B,QAAI,CAACb,KAAK,uBAAuBO,KAAI,GAAAR,OAAKtQ,EAAI,oBAC/CyP,IAAAC,cAAC0B,QAAI,CACHb,KAAK,oBACLO,KAAMnd,EAASqM,GACf2Q,WAAY,EACZH,MAAOtG,GAAMhE,eCqDVwgE,OA/Dar+E,IAOrB,IAPsB,aAC3BmqC,EAAY,oBACZm0C,EAAmB,oBACnBC,EAAmB,UACnB5mD,EAAS,iBACT6mD,EAAgB,wBAChBhV,GACDxpE,EACC,OACEonB,IAAAC,cAAC+zD,GAAgB,CACfltB,UAAU,OACVmtB,kBACElxC,EAAaH,YACX5iB,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOG,MAAM,QAAQs0D,aAAa,MAEnD/qC,GAAuBxC,EAAajC,mBAAoBiC,GACrDlL,KAGPq8C,SACEnxC,EAAaH,YACX5iB,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOG,MAAM,QAAQs0D,aAAa,MAEnDvtC,EAAajC,mBAGjBxjB,QAAQ,GACRtB,MAAM,OACNm4D,cAAeA,IAAM+C,EAAoBn0C,EAAa/O,QACtDqgD,eAAgBA,IACdjS,EACEr/B,EAAa/O,OACb+O,EAAa9O,kBAGjBmgD,cACE7jD,EAAY,EACR,IAAM4mD,EAAoBp0C,GAC1B,IAAMq0C,EAAiBr0C,EAAa/O,QAE1CqS,SAAUtD,EAAasD,SACvB9V,UAAWA,EACX0D,iBAAkB8O,EAAa9O,iBAC/BnwB,QAASi/B,EAAaJ,aAEpBI,EAAasD,SAMbrmB,IAAAC,cAACy2D,GAAkB,CACjBj7B,gBAAiB1Y,EAAa0Y,gBAC9B1Y,aAAcA,EACd5B,SAAU4B,EAAa5B,SACvBpB,QAASgD,EAAahD,QACtBxP,UAAWA,IAVbvQ,IAAAC,cAAC82D,GAAgB,CACf7yE,SAAU6+B,EAAa5B,SACvBr9B,QAASi/B,EAAaH,gBC/BjBy0C,I,GAAAA,GApBez+E,IAA+C,IAA9C,QAAE0kB,EAAO,UAAEwpC,EAAS,QAAEhnC,EAAO,QAAEhc,GAASlL,EACrE,OACEonB,IAAAC,cAACk6C,GAAY,CAAC+D,UAAWp6D,EAASwZ,QAASA,EAASwpC,UAAWA,GAC7D9mC,IAAAC,cAACmwD,GAAgB,KAAC,iCAEhBpwD,IAAAC,cAAA,YAAM,qCAC4B,IAChCD,IAAAC,cAAC62D,GAAU,CACThwE,KAAK,SACLgZ,QAASA,EACT0zC,cAAY,wBACb,uBCjBJ,MAAM/xC,GAAc/G,WAAOC,IAAGC,QAAAC,aAAA,oYCmDtBy8D,OAjDY1+E,IAAgC,IAA/B,aAAE2+E,EAAY,QAAEC,GAAS5+E,EACnD,GAAI2+E,EAAa//E,OAAS,EACxB,MAAM,IAAI0kC,MAAM,4DAElB,MAAMu7C,EAAuBl0B,MAAMnqD,KACjC,IAAIs+E,IAAIH,EAAan8E,IAAKsrC,GAAM8wC,EAAQ9wC,EAAE5F,mBAAoB4F,MAG1DixC,EAA4Bp0B,MAAMnqD,KACtC,IAAIs+E,IACFH,EAAan8E,IAAKsrC,GAAM8wC,EAAQ9wC,EAAEkxC,QAAQ92C,mBAAoB4F,EAAEkxC,YAI9DC,EAAkBJ,EAAqBjgF,OACvC8jE,EAA+B,IAApBuc,EAEjB,OACE73D,IAAAC,cAACwB,GAAW,KACT65C,EAAW,2BAAuB,6BAClCmc,EAAqBr8E,IAAI,CAAC08E,EAAoBxiD,IAC7CtV,IAAAC,cAAA,UAAQkE,IAAK2zD,GACVxc,GAAYhmC,EAAQ,IAAMuiD,EACvBC,EAAkB,GAAAj3D,OACfi3D,GAAkBj3D,OACnByU,EAAQ,IAAMuiD,EAAkB,MAAQ,QAIjDvc,EAAQ,0UAKRqc,EAA0Bv8E,IAAI,CAAC28E,EAAaziD,IAC3CtV,IAAAC,cAAA,UAAQkE,IAAK4zD,GAC2B,IAArCJ,EAA0BngF,QAC3B89B,EAAQ,IAAMqiD,EAA0BngF,OACpCugF,EAAW,GAAAl3D,OACRk3D,GAAWl3D,OACZyU,EAAQ,IAAMqiD,EAA0BngF,OAAS,MAAQ,QAG/D,IAAI,kCCnBC,OAvBgBoB,IAAwB,IAAvB,SAAEo/E,EAAW,IAAIp/E,EAC/C,OACEonB,IAAAC,cAACwB,GAAW,KAAC,+DAEXzB,IAAAC,cAAA,kBAAAY,OAAam3D,IAAoB,IACjCh4D,IAAAC,cAAA,WAAM,oDAAwCD,IAAAC,cAAA,cAAQ,aAAkB,MAkB/D,GAbkBlnB,IAAgC,IAA/B,WAAEwiE,EAAU,UAAEC,GAAWziE,EACzD,OACEinB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCR7C,OATWu0D,IAEtBj4D,IAAAC,cAACwB,GAAW,KAAC,0HCqCF,OApCgBy2D,IAE3Bl4D,IAAAC,cAACwB,GAAW,KAAC,iEAkCF,GA5BkB7oB,IAAmC,IAAlC,yBAAEu/E,GAA0Bv/E,EAC5D,OACEonB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,IACPq4D,EACEr/C,KAAsBxsC,kBAAkBK,qBAG5C+2B,eAAa,GACd,YAGD1D,IAAAC,cAACmB,UAAM,CACLtB,QAASA,IACPq4D,EACEr/C,KAAsBxsC,kBAAkBM,sBAG5C82B,eAAa,GACd,qBCRQ,OAvBqB00D,IAEhCp4D,IAAAC,cAACwB,GAAW,KAAC,gFAEXzB,IAAAC,cAAA,WAAM,6BAmBG,GAbuBrnB,IAAgC,IAA/B,WAAE2iE,EAAU,UAAEC,GAAW5iE,EAC9D,OACEonB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCukB7C20D,OA/jBW,WAAoC,IAAnC9nD,EAAStmB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAAM8tB,EAAI9tB,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAClD,MAAMwG,EAAWoT,eACX,gBACJiL,EAAe,mBACf4V,EAAkB,qBAClBkD,GACEqZ,YAAa1oB,GAAUA,EAAMvvB,cAC3B,QAAE6Y,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,4BAAEoN,EAA2B,wBAAEC,GAA4BmxB,YAC9D1oB,GAAUA,EAAM1W,SAGby2D,EAAwB,CAC5B38E,WAAY,EACZC,SAAU,EACVC,SAAU,KACVC,aAAc,KACdC,WAAY,OAIPi3E,EAAcuF,GAA6BtxD,mBAAS,OACpDgvC,EAAkBD,GAAuB/uC,mBAC9CqxD,IAEKlvC,EAAa2nC,GAAkB9pD,mBAAS,KACxCuxD,EAAmBC,GAAwBxxD,mBAAS,CACzD6Z,mBAAoBuB,iCAA+B10C,oBAAoB,GACvE+qF,oBAAqB,KAEhBC,EAA4BC,GAAiC3xD,mBAAS,CAC3E6Z,mBAAoBuB,iCAA+B10C,oBAAoB,GACvE+qF,oBAAqB,MAGhBG,EAAoBC,GAAyB7xD,mBAAS,IAIvD8xD,EAAiBC,kBAAQ,IACJ,OAAlBt0C,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB5rC,KACxBijD,IACU,OAATA,QAAS,IAATA,OAAS,EAATA,EAAWjb,sBACTuB,iCAA+B10C,oBAAoB,IACpC,WAAjBouD,EAAUzyC,IAEb,CAACo7B,IAEE8yC,EAAU51B,sBAAY,CAAC96C,EAAMi8B,KAAkB,IAADc,EAAAqB,EAMlD,MALc,CACZ,uBAAuB,GAADrkB,OAAiB,OAAZkiB,QAAY,IAAZA,GAAyB,QAAbc,EAAZd,EAAc6B,mBAAW,IAAAf,OAAb,EAAZA,EAA2BiB,mBACtDj0C,YAAY,GAADgwB,OAAiB,OAAZkiB,QAAY,IAAZA,GAAyB,QAAbmC,EAAZnC,EAAc/5B,mBAAW,IAAAk8B,OAAb,EAAZA,EAA2B/B,kBAGhCr8B,IACZ,IAEGmyE,EAAiBr3B,sBACrB,CAACs3B,EAAWC,KACV,MAAM,oBAAET,GAAwBF,EA6BhC,MA3BwB,CACtB,CAACn2C,iCAA+Bl2C,WAAW,IAAK,CAC9Cw4C,YAAatO,GAASqiD,GAClBA,EACA,KACJ5zC,kBAAmBzO,GAASqiD,GACxB,KACAA,KACAS,GAAiBljB,GAEvBplE,YAAa,CACXsyC,gBAAiB9M,GAASqiD,GACtB,KACAA,EACJ1gD,kBAAmB3B,GAASqiD,GACxBA,EACA,QACAS,GAAiBljB,GAEvB,CAAC5zB,iCAA+Bl2C,WAAW,IAAK,CAC9C0rC,KAAO,OAAOysB,KAAKo0B,GAA6C,KAAtBA,EAC1CviD,MAAO,OAAOmuB,KAAKo0B,GAAuBA,EAAsB,QAC5DS,GAAiBljB,EACrBmjB,oBAAoB,IAIDF,IAEzB,CAACjjB,EAAkBuiB,IAGfa,EAAgBz3B,sBAAY,KAChC,MAAM03B,EAAwB50C,EAAmBltC,OAAS,EAG1D,IAAIy7B,EAAQmW,EAAY7xC,OAAOqB,IAA0B,IAAzB,GAAE0Q,EAAE,YAAEs7B,GAAahsC,EAGjD,MAFoC,kBAAP0Q,GAGnBo7B,EAAmB5rC,KACzBC,IAAA,IAAG6rC,YAAa20C,GAAcxgF,EAAA,OAChB,OAAZwgF,QAAY,IAAZA,OAAY,EAAZA,EAAc50C,gBAA2B,OAAXC,QAAW,IAAXA,OAAW,EAAXA,EAAaD,gBAGzCD,EAAmB5rC,KAAKqiB,IAAA,IAAG7R,GAAItQ,GAAKmiB,EAAA,OAAKniB,IAAQsQ,MAI3D,MAAMiuE,EAAe,GACjB+B,GACFrmD,EAAM2Y,QAAStI,IACboB,EAAmBkH,QAAS4tC,IAC1BA,EAAclzC,kBAAkBsF,QAAStjB,IACvC,GAAIgb,EAAKgD,kBAAkBnP,SAAS7O,GAAI,CACtC,MAAMmxD,EAAU,IACXn2C,EACHs0C,QAAS4B,GAEXjC,EAAa1uD,KAAK4wD,UAM5BxmD,EAAQ16B,YAAqB06B,EAAO,KAAMskD,EAAc,MAEpDA,EAAa//E,OAAS,GACxB49C,GAAMC,QACJr1B,IAAAC,cAACq3D,GAAkB,CAACE,QAASA,EAASD,aAAcA,KAKxD,MAAMmC,EACJX,GACAO,GACArmD,EAAMn6B,KAAM+nC,GAAsB,YAAT,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMv3B,KACvBqwE,GACHZ,GACDO,GACArmD,EAAMn6B,KAAM+nC,GAAsB,YAAT,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMv3B,KAE7B,OACEowE,GACAC,GAEAvkC,GAAMC,QAAQr1B,IAAAC,cAAC25D,GAAoC,OAC5C,IAIF3mD,GACN,CAACukD,EAASuB,EAAgBr0C,EAAoB0E,IAE3CywC,EAA+Cj4B,sBAAY,KAC/D,MAAM/6C,EAAS,CACb0pB,UAAuB,OAAZyiD,QAAY,IAAZA,OAAY,EAAZA,EAAcziD,UACzBqZ,yBAAyB,GAG3Bn5B,EAAS2nB,GAAiC46C,IAC1CviE,EAAS2nB,GAAqDvxB,KAC7D,CAAC4J,EAAUuiE,IAER8G,EAAsBl4B,sBAAY,KACtCnxC,EACE2nB,GACE7H,EACAyiD,EAAaziD,aAGhB,CAAC9f,EAAU8f,EAAWyiD,IAEnB+G,EAA0Bn4B,sBAAY,KAW1CxM,GAAMC,QACJr1B,IAAAC,cAAC+5D,GAAuC,CAAChC,SAAUhF,EAAan7C,OAChE,OACAvc,IAAA,IAAC,WAAEigD,GAAYjgD,EAAA,OACb0E,IAAAC,cAAC+5D,GAAyC,CACxCze,WAAYA,EACZC,UAAWA,KAhBYD,KACT,IAAdhrC,EACFspD,IAEAC,IAEFvB,EAA0B,MAC1Bhd,KAUM0e,CAAoB1e,SAK3B,CACDhrC,EACAyiD,EACA8G,EACAD,IAGIK,EAAsBt4B,sBACzBu4B,IACC1pE,EACE2nB,GAA+C7H,EAAW,IACrD4pD,MAIT,CAAC1pE,EAAU8f,IAGP6pD,EAA8Bx4B,sBACjCy4B,IACCjlC,GAAMC,QACJr1B,IAAAC,cAACq6D,GAA8C,MAC/C,OACA7+D,IAAA,IAAC,WAAE8/C,GAAY9/C,EAAA,OACbuE,IAAAC,cAACq6D,GAAgD,CAC/CnC,yBAA2B7sC,IACzBwtC,EAAsBxtC,GACtB+uC,IACA9e,UAMV,IAGIgf,EAAwB34B,sBAAY,KACxC,MAAMvtB,EAAY,GACZC,EAAW,GA+BjB,OA7BIoQ,EAAmBltC,OAAS,GAC9BktC,EAAmBkH,QAAS/K,IAC1B,MACM25C,EADa72C,GAAsB9C,GACC6D,mBAEZ,IAA1B7D,EAAK5M,iBACPI,EAAUxL,KAAK,CACbzE,KAAMozD,EAAQ32C,EAAKC,mBAAoBD,GACvC5M,iBAAkB,EAClBD,OAAQ6M,EAAK7M,OACbymD,kBAAmB54D,EAAQ4V,gBAC3BqJ,mBACEC,eAAaz0C,kBAAkBu0C,EAAKC,oBACtC4D,mBAAoB81C,IAGtBlmD,EAASzL,KAAK,CACZzE,KAAMozD,EAAQ32C,EAAKC,mBAAoBD,GACvC5M,iBAAkB4M,EAAK5M,iBACvBD,OAAQ6M,EAAK7M,OACbymD,kBAAmB54D,EAAQ4V,gBAC3BqJ,mBACEC,eAAaz0C,kBAAkBu0C,EAAKC,oBACtC4D,mBAAoB81C,MAMrB,CAAEnmD,YAAWC,aACnB,CAACkjD,EAAS9yC,EAAoB7iB,IAI3B64D,EAAuB94B,sBAAY,KACvCxM,GAAMC,QACJr1B,IAAAC,cAAC06D,GAAwD,MACzD,OACA/+D,IAAA,IAAC,WAAE2/C,GAAY3/C,EAAA,OACboE,IAAAC,cAAC06D,GAA0D,CACzDpf,WAAYA,EACZC,UAAWA,KACT/qD,EACE2nB,GAAqD7H,IAEvDgrC,UAKP,CAAC9qD,EAAU8f,IAERqqD,EAAmBh5B,sBACvB,CAAC5tB,EAAQC,KACP,MAAM4mD,EAA4C,IAA9Bn2C,EAAmBltC,OACjCsjF,EAAS/iD,IAASe,wBAAsBxsC,kBAAkB23D,IAE5DhwB,EAAmB,GACrBxjB,EACE2nB,GACE7H,EACAyD,EACAC,IAGA4mD,GAAeC,GAEjBZ,EAAoB,CAACphD,wBAAsBxsC,kBAAkB23D,OAG/DxzC,EAASw7B,GAA4CjY,KAGzD,CAAC+D,EAAMtnB,EAAU8f,EAAW2pD,EAAqBx1C,EAAmBltC,SAGhEujF,EAAe/B,kBAAQ,KAC3B,MAAM,UAAE3kD,GAAckmD,IACtB,OAAOlmD,EAAU78B,OAAS,GACzB,CAAC+iF,IAEElH,EAAuBzxB,sBAAY,KAEvC,MAAMo5B,EACJxC,EAAkB13C,qBAClBuB,iCAA+Bl2C,WAAW,GAE5C,GAAI6mF,GAAgBA,EAAaziD,WAAayqD,EAE5C,YADAjB,IAMF,MAAMkB,EAAkB,GAClBC,EAAY,GAEZjoD,EAAQomD,IAEd,IAAKrI,kBAAQ/9C,GAAQ,CACnB,MAAM0W,EAAW1W,EAAM73B,IAAKylC,IACtBA,EAAKC,qBAAuBC,eAAa50C,WAAW,IACtD8uF,EAAgBpyD,KAAKgY,GAEnBA,EAAKC,qBAAuBC,eAAa50C,WAAW,IACtD+uF,EAAUryD,KAAKgY,GAKjB,MAFgB,IAAKA,KAKvB8hC,YAAM,KACJlyD,EAASw7B,GAA0CtC,IAC/CsxC,EAAgBzjF,OAAS,GAC3BiZ,EACEw7B,GACEgvC,IAGFC,EAAU1jF,OAAS,GACrBiZ,EACEw7B,GACEivC,QAOT,CACDzqE,EACAuiE,EACAqG,EACAb,EACAuB,IAGInyB,EAAoBhG,sBAAY,KACpC62B,EAAqB,CACnB33C,mBAAoBuB,iCAA+B10C,oBAAoB,GACvE+qF,oBAAqB,KAEvB3H,EAAe,KACd,IAEGyC,EAAe5xB,sBACnB,CAACs3B,EAAWC,KACV,MAAMgC,EAAiBlC,EAAeC,EAAWC,GAcjD,MAZmB,CACjB,CAAC92C,iCACEl2C,WAAW,IAAK8/C,GACjBkvC,GAEFtqF,YAAao7C,GAAyCkvC,GACtD,CAAC94C,iCACEl2C,WAAW,IAAKisC,GACjB+iD,IAIcjC,IAEpB,CAACD,IAGGmC,EAAuBx5B,sBAAY,KACvC,MAAM,UAAEvtB,EAAS,SAAEC,GAAaimD,IAEhC,GAAIQ,EAAc,CAChB,MAAMV,EAAoCA,KACxC5pE,EACE2nB,GACE7H,EACA8D,EACAC,GACA,KAKN,GAAIyD,IAASe,wBAAsBxsC,kBAAkB23D,IAEnD,YADAm2B,EAA4BC,GAI9BA,MAED,CACDtiD,EACAtnB,EACA8f,EACAwqD,EACAR,EACAH,IAGInH,EAAkBrxB,sBACrBy5B,IACC9C,EAA2B+C,IAClB,OAAPA,QAAO,IAAPA,OAAO,EAAPA,EAAS/qD,cAAqB,OAAP8qD,QAAO,IAAPA,OAAO,EAAPA,EAAS9qD,WAAY,KAAO8qD,IAGvD,CAAC9C,IAGGgD,EAA0B35B,sBAC7B7e,IACC,MAAMy4C,EAAW,GACXC,EAAU,GAChB,GAAsC,IAAlC14C,EAAa9O,iBAAwB,CACvC,MACEyQ,mBAAoBg3C,GAClB/3C,GAAsBZ,GAE1By4C,EAAS3yD,KAAK,CACZzE,KAAMozD,EAAQz0C,EAAajC,mBAAoBiC,GAC/C9O,iBAAkB,EAClBD,OAAQ+O,EAAa/O,OACrBymD,kBAAmB54D,EAAQ4V,gBAC3BqJ,mBACEC,eAAaz0C,kBAAkBy2C,EAAajC,oBAC9C4D,mBAAoBg3C,QAEjB,CACL,MACEh3C,mBAAoBg3C,GAClB/3C,GAAsBZ,GAC1B04C,EAAQ5yD,KAAK,CACXzE,KAAMozD,EAAQz0C,GACd9O,iBAAkB8O,EAAa9O,iBAC/BD,OAAQ+O,EAAa/O,OACrBymD,kBAAmB54D,EAAQ4V,gBAC3BqJ,mBACEC,eAAaz0C,kBAAkBy2C,EAAajC,oBAC9C4D,mBAAoBg3C,IAIxB,MAAMrB,EAAoCA,KACxC1X,YAAM,KACJlyD,EACE2nB,GACE7H,EACAirD,EACAC,GACA,IAGJhrE,EACEw7B,GAA4C,CAC1C,CAAEjY,OAAQ+O,EAAa/O,cAM3B+D,IAASe,wBAAsBxsC,kBAAkB23D,IAKrDo2B,IAJED,EAA4BC,IAMhC,CAAC5pE,EAAU+mE,EAASjnD,EAAWwH,EAAMqiD,EAA6Bv4D,IA2CpE,OAtCAuF,oBAAU,KAENmJ,KAAqB,OAAP1O,QAAO,IAAPA,OAAO,EAAPA,EAAS4V,mBAII,OAA3B5H,QAA2B,IAA3BA,OAA2B,EAA3BA,EAA6B5rB,UAG7BwM,EACE2nB,GAA6CvW,EAAQ4V,mBAGxD,CACDhnB,EACA8f,EACA1O,EAAQ4V,gBACR5H,IAGFzI,oBAAU,KACO2Q,IAASe,wBAAsBxsC,kBAAkB23D,MAE3B,OAAvBn0B,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyB7rB,UAAW40E,IAChDqB,EAAoB,CAClBphD,wBAAsBxsC,kBAAkB23D,IACxC40B,IAEFC,EAAsB,MAEvB,CACD/gD,EACA8gD,EACAqB,EACuB,OAAvBpqD,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyB7rB,UAIpB,CACL+uE,eACAC,kBACAvuC,qBACA2uC,uBACAkI,0BAEAb,uBACAE,mBACAxxC,cACA2xC,eACAvH,eACAzC,iBACAjiD,kBACAmnC,mBACArO,oBACA4wB,oBACAxiB,sBACApuB,uBACA6wC,uBACA2C,uBACA9C,wBACAK,6BACAC,kCC/FW+C,I,GAAAA,GA1doB/iF,IAI5B,IAJ6B,UAClC23B,EAAS,cACTqrD,EAAa,YACbC,EAAc,MACfjjF,EACC,MAAM6X,EAAWoT,eAEX,qBACJwvD,EAAoB,mBACpB3uC,EAAkB,aAClBsuC,EAAY,gBACZC,EAAe,wBACfsI,EAAuB,iBAEvBX,EAAgB,sBAChBtC,EAAqB,YACrBlvC,EAAW,aACXoqC,EAAY,eACZzC,EAAc,gBACdjiD,EAAe,kBACf84B,EAAiB,kBACjB4wB,EAAiB,qBACjB5wC,EAAoB,qBACpB6wC,EAAoB,iBACpBxiB,EAAgB,oBAChBD,EAAmB,2BACnB2iB,EAA0B,8BAC1BC,GACEP,GAAkB9nD,EAAWsrD,IAE3B,wBACJ/rD,EAAuB,+BACvBE,GACEixB,YAAa1oB,GAAUA,EAAM1W,UAE1Bi6D,EAAgBC,GAAqB90D,oBAAS,IAC9CrD,EAAQuqD,GAAalnD,oBAAS,IAC9Bhc,EAAW+wE,GAAgB/0D,mBAAS,CACzChjB,SAAS,EACTs1B,QAAS,GACTgvC,OAAO,KAEFnkE,EAAS63E,GAAch1D,mBAAS,CAAE3uB,OAAO,EAAOihC,QAAS,MACzD2iD,EAAWC,GAAgBl1D,mBAAS,CACzCouB,SAAS,EACT9b,QAAS,GACTppB,OAASgQ,GAAMA,IAcXiiD,EAA0BA,CAACpuC,EAAQC,KACvCkoD,EAAa,CACX9mC,SAAU6mC,EAAU7mC,QACpB9b,QAAS,sDACTppB,OAAQA,KACNyqE,EAAiB5mD,EAAQC,GACzBkoD,EAAa,CACX9mC,SAAS,EACT9b,QAAS,GACTppB,OAASgQ,GAAMA,QAMjBi8D,EAAqBh8D,IACP,KAAdA,EAAEohD,UACJ5Z,IACAumB,GAAWvqD,KAIf,SAASszD,EAAoBljD,GAC3B,MAAM6M,EAAO6D,EAAmBjK,KAC7B4hD,GAAaA,EAASroD,SAAWA,GAK/B,IAAD2Z,EAAAC,EASKC,EAZLmjC,kBAAQnwC,EAAKd,UAAsC,IAA1Bc,EAAK5M,mBAE9B4M,EAAKC,qBAAuBuB,iCAA+Bl2C,WAAW,GAEtEskB,EACEw7B,GAA+C,CAC7CtH,YAAiB,OAAJ9D,QAAI,IAAJA,GAAiB,QAAb8M,EAAJ9M,EAAM+D,mBAAW,IAAA+I,OAAb,EAAJA,EAAmBhJ,YAChCG,kBAAuB,OAAJjE,QAAI,IAAJA,GAAiB,QAAb+M,EAAJ/M,EAAM+D,mBAAW,IAAAgJ,OAAb,EAAJA,EAAmB9I,kBACtC9Q,SACAyF,KAAM,CAAC,MAIXhpB,EACEw7B,GAAoD,CAClDjU,kBAAmC,QAAlB6V,EAAEhN,EAAK73B,mBAAW,IAAA6kC,OAAA,EAAhBA,EAAkB7V,kBACrChE,SACAyF,KAAM,CAAC,OAMe,IAA1BoH,EAAK5M,mBAA+B,OAAJ4M,QAAI,IAAJA,OAAI,EAAJA,EAAM6a,WACxCjrC,EACE2nB,GACE7H,EACAyD,EACA6M,EAAK5M,mBAKXmjD,EAAiBpjD,GAGnB,SAASojD,EAAiBpjD,GACxBvjB,EAASw7B,GAA4C,CAAC,CAAEjY,aAgB1D,MAAMsoD,EAAyBA,CAACC,EAAU92C,KAAoB,IAADK,EAAAJ,EAAAC,EAiB3D,MAhBkB,CAChB90C,YAAa,CACXmY,YAAa,CACXgvB,kBAAiC,OAAdyN,QAAc,IAAdA,GAA2B,QAAbK,EAAdL,EAAgBz8B,mBAAW,IAAA88B,OAAb,EAAdA,EAA6B9N,mBAElDhE,OAAQyR,EAAezR,QAEzB,CAACqO,iCAA+Bl2C,WAAW,IAAK,CAC9Cy4C,YAAa,CACXD,YAA2B,OAAdc,QAAc,IAAdA,GAA2B,QAAbC,EAAdD,EAAgBb,mBAAW,IAAAc,OAAb,EAAdA,EAA6Bf,YAC1CG,kBAAiC,OAAdW,QAAc,IAAdA,GAA2B,QAAbE,EAAdF,EAAgBb,mBAAW,IAAAe,OAAb,EAAdA,EAA6Bb,mBAElD9Q,OAAQyR,EAAezR,SAIVuoD,IAgKnB,OArGAn1D,oBAAU,KAER,GADA3W,EAASw7B,MACL1b,EAAW,CAGb9f,EAAS2nB,GAFM,CAAE7H,iBAIlB,CAAC9f,EAAU8f,IAEdnJ,oBAAU,KACJmJ,EAAY,IAEZT,EAAwB7rB,UACvB6rB,EAAwB0E,qBACY,SAA1B,OAAXqnD,QAAW,IAAXA,OAAW,EAAXA,EAAaW,qBAEbR,EAAa,CACX/3E,SAAS,EACTs1B,QAAS,CAAEC,MAAO,0CAAqCijD,SAAU,IACjElU,OAAO,IAGTz4C,EAAwB7rB,SACxB6rB,EAAwB0E,qBAExBwnD,EAAa,CACX/3E,SAAS,EACTs1B,QAAS,CACPC,MAAO,0CACPijD,SAAU3sD,EAAwBx3B,OAEpCiwE,OAAO,MAIZ,CACDh4C,EACAsrD,EACA/rD,EAAwBx3B,MACxBw3B,EAAwB0E,oBACxB1E,EAAwB7rB,UAG1BmjB,oBAAU,KACJmJ,EAAY,GAAKT,EAAwB1rB,SAC3C63E,EAAW,CACT3jF,OAAO,EACPihC,QACEzJ,EAAwBx3B,MAAM,IAAM,2CAGzC,CACDi4B,EACAT,EAAwBx3B,MACxBw3B,EAAwB1rB,UAG1BgjB,oBAAU,KACR,GAAImJ,EAAY,GAAKT,EAAwB7rB,UAAY63E,EAAgB,CACvE,MAAMY,EAAgB,GAChBC,EAAsB,GACtBC,EAAoB,GAC1B9sD,EAAwB5rB,SAAS0nC,QAAStjB,IACxC,MAAMu0D,EAAUn4C,EAAmBjK,KAAMiM,GAAMA,EAAE1S,SAAW1L,EAAE0L,QAC1D6oD,GAASD,EAAkB/zD,KAAKg0D,KAGtCD,EAAkBhxC,QAAS/K,IACrBE,eAAa50C,WAAW,KAAO00C,EAAKC,oBACtC67C,EAAoB9zD,KAClByzD,EAAuBz7C,EAAKC,mBAAoBD,IAEhDE,eAAa50C,WAAW,KAAO00C,EAAKC,oBACtC47C,EAAc7zD,KACZyzD,EAAuBz7C,EAAKC,mBAAoBD,MAGtDpwB,EACE2nB,GAA6C,CAAE7H,aAAa,IACvDmsD,KACAC,KAIPlsE,EACEw7B,IAAiD,EAAM,IAClDywC,KACAC,KAGPZ,GAAkB,KAEnB,CACDtrE,EACA8f,EACAurD,EACAp3C,EACA5U,EAAwB5rB,SACxB4rB,EAAwB7rB,UAIxB+b,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,GAC3CzD,IAAAC,cAAC2kC,GAAM,CAAC5oC,MAAM,QACZgE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAAC2wC,YAAU,GAC1Cr0C,IAAAC,cAAC0B,QAAI,CACHN,KAAK,eACLva,KAAK,cACLga,KAAK,yBACLC,MAAOtG,GAAMzH,cACd,0BAGDgN,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXyN,WAAS,EACTN,qBAAmB,EACnBI,YAAU,GAEVr0C,IAAAC,cAAC2uD,GAAiB,CAChBC,aAAa,qBACbC,UAAU,sBACVjoE,OAAQ8xE,EACRh3B,UAAWi3B,EACX74C,QAASsC,iCAA+B10C,oBACxCohF,WAAW,MACX/yD,MAAO4/D,EACPnwB,YAEIktB,EAA2B73C,qBAC3BuB,iCAA+B10C,oBAAoB,GAE5C,kEAEPgrF,EAA2B73C,qBAC3BuB,iCAA+Bl2C,WAAW,GAEnC,6CACF,4CAETg1B,YAAY,OAEdnB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPlV,KAAK,SACLga,KAAK,0BACLhB,QAAUM,GAAMg8D,EAAkBh8D,GAClCozC,cAAY,uBAEZxzC,IAAAC,cAAC68D,KAAM,CAAC/7D,MAAM,QAAQvlB,KAAK,OAAO,kBAIrCw1E,kBAAQtsC,GACP1kB,IAAAC,cAACo3D,GAAqB,CACpB/5D,QAAQ,GACRwpC,UAAU,OACVhnC,QAAUM,GAAMg8D,EAAkBh8D,GAClCtc,QAASksB,EAA+BlsB,UAG1Cyd,OAAO8Z,OAAOqJ,GACXntC,OAAQwlF,GAlOiBA,KAAa,IAADC,EAAAC,EAAAC,EAAAC,EAClD,OACExE,EAA2B73C,qBAC3BuB,iCAA+B10C,oBAAoB,GAGjD43C,GACEw3C,EAAQj8C,mBACRi8C,GACAllD,KAAKV,SACLwhD,EAA2BD,oBAAoBj5B,mBAE7B,QAAnBu9B,EAACD,EAAQh9C,QAAQ,UAAE,IAAAi9C,GAAY,QAAZC,EAAlBD,EAAoB/8C,kBAAU,IAAAg9C,OAAZ,EAAlBA,EAAgCxiD,KAAMiM,GACtCA,EAAEtiB,KAAK+S,SACLwhD,EAA2BD,oBAAoBj5B,iBAMrDk5B,EAA2B73C,qBAC3BuB,iCAA+B10C,oBAAoB,GAGjDovF,EAAQj8C,qBACNuB,iCAA+B10C,oBAAoB,KACpD43C,GACCw3C,EAAQj8C,mBACRi8C,GACAllD,KAAKV,SACLwhD,EAA2BD,oBAAoBj5B,mBAE3B,QAAnBy9B,EAACH,EAAQh9C,QAAQ,UAAE,IAAAm9C,GAAY,QAAZC,EAAlBD,EAAoBj9C,kBAAU,IAAAk9C,OAAZ,EAAlBA,EAAgC1iD,KAAMiM,GACtCA,EAAEtiB,KAAK+S,SACLwhD,EAA2BD,oBAAoBj5B,kBAMvDk5B,EAA2B73C,qBAC3BuB,iCAA+B10C,oBAAoB,KAGjD43C,GACEw3C,EAAQj8C,mBACRi8C,GACAllD,KAAKV,SACLwhD,EAA2BD,oBAAoBj5B,gBAEjDs9B,EAAQj8C,qBACNuB,iCAA+B10C,oBAAoB,KA+KxByvF,CAA+BL,IACnD3hF,IAAK2nC,GAEF/iB,IAAAC,cAAC2kC,GAAM,CAAC5oC,MAAM,OAAOmI,IAAK4e,EAAaz5B,IACrC0W,IAAAC,cAACg3D,GAAmB,CAClB1mD,UAAWA,EACXwS,aAAcA,EACdm0C,oBAAqBA,EACrBC,oBAAqBoE,EACrBnE,iBAAkBA,EAClBhV,wBAAyBA,SAS3CpiD,IAAAC,cAACqzD,GAAyB,CACxB1vD,OAAQA,EACR/c,OAAQ2xE,EACR72B,UAAW82B,EACX5H,wBAAyBjpC,EACzBuqC,kBAAmBrjD,EACnBsa,YAAaA,EACb2nC,eAAgBA,EAChB9a,iBAAkBA,EAClBD,oBAAqBA,EACrBwd,aAAcA,EACd1zD,QAASs8D,EACT7I,kBAlSN,SAA2BnzD,GAAuB,IAApBi9D,EAASpzE,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,IAAAA,UAAA,IACnB,KAAdmW,EAAEohD,SAAkB6b,KACtBrnB,EAAoBsiB,GACpBrF,EAAgB,MAChBxiE,EACE+iE,EACEgF,EAAkB13C,mBAClBw3C,MA4RFjF,qBAAsBA,EACtBJ,gBAAiBA,EACjBD,aAAcA,IAEhBhzD,IAAAC,cAACqoD,GAAY,CACXxoD,QArXqBkiD,KACzB+Z,GAAkB,GAClBC,EAAa,CAAE/3E,SAAS,EAAOs1B,QAAS,KACxC9oB,EAAS2nB,OAmXL/W,KAAMpW,EAAUsuB,QAAQC,MACxB5V,OAAQ3Y,EAAUhH,QAClBskE,QACEt9D,EAAUs9D,OACRvoD,IAAAC,cAACw3C,UAAM,CAACz7C,MAAO,IAAKlV,KAAK,WACvBkZ,IAAAC,cAAA,YACED,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACnwC,aAAW,EAACswC,YAAa,GAC3C/zC,IAAAC,cAAA,SAAG,kBACHD,IAAAC,cAAA,SAAG,yCACHD,IAAAC,cAACovD,GAAgB,CACfiO,UAAQ,EACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,YAAU,EACVC,cAAe,EACfC,cAAe,GACfC,aAAc,GACdC,WAAS,GAET79D,IAAAC,cAAC42D,GAAS,KACP5rE,EAAUsuB,QAAQkjD,SAASrhF,IAAK8kC,GAC/BlgB,IAAAC,cAAA,MAAIkE,IAAG,GAAAtD,OAAKqf,EAAI9b,KAAI,KAAAvD,OAAIqf,EAAIjB,eAC1Bjf,IAAAC,cAAA,SAAIigB,EAAI9b,MAAS,MAAI8b,EAAIjB,sBAa7Cjf,IAAAC,cAACgrD,GAAU,CACTnrD,QApZmBg+D,KACvB7B,EAAW,CAAE3jF,OAAO,EAAOihC,QAAS,KACpC9oB,EAAS2nB,OAmZL/W,KAAMjd,EAAQm1B,SAAW,yCACzB3V,OAAQxf,EAAQ9L,QAElB0nB,IAAAC,cAACkrD,GAAiB,CAChBrrD,QAASsiD,EACT5G,UAAW0gB,EAAU/rE,OACrByT,OAAQs4D,EAAU7mC,QAClBh0B,KAAM66D,EAAU3iD,QAChBynC,WAAW,eC/eZ,MAAM+c,GAAqBrjE,WAAOC,IAAGC,QAAAC,aAAA,mLAO5BJ,GAAM9E,OCoBPqoE,OAzBf,SAA4BplF,GAMxB,IANyB,OAC3BgrB,EAAM,aACNq6D,EAAY,WACZC,EAAU,YACVC,EAAW,UACXC,GACDxlF,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASm+D,EACTjiE,MAAO,KACPH,OAAQ,IACRu8B,OAAQ8lC,GAERl+D,IAAAC,cAAC89D,GAAkB,KACjB/9D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,GAC1B4pB,GAEHn+D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GAAEwqB,MCLdC,OAhBczlF,IAAkB,IAAjB,QAAEguB,GAAShuB,EACvC,OACEonB,IAAAC,cAACu1C,YAAQ,KACN5uC,EAAQxrB,IAAKg9C,GACZp4B,IAAAC,cAACw1C,eAAW,CACVtxC,IAAKi0B,EAAO9uC,GACZoS,SAAU08B,EAAOp8B,MACjB65C,SAAUzd,EAAOyd,UAEhBzd,EAAO5e,UCKH8kD,I,SAAAA,GAVc1lF,IAAwB,IAAvB,QAAEguB,EAAO,KAAE/X,GAAMjW,EAC7C,OACEonB,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACs+D,GAA0B,CAAC33D,QAASA,KAC/C/X,KCTgB6L,WAAOC,IAAGC,QAAAC,aAAA,QAA5B,MACM2jE,GAAgB9jE,mBAAO0G,UAAP1G,CAAcM,QAAAH,aAAA,2BAI9B63C,GAAeh4C,WAAOC,IAAGO,QAAAL,aAAA,yJC6HvB4jE,OAnHkB7lF,IAI1B,IAJ2B,eAChC8lF,EAAc,cACdC,EAAa,iBACbC,GACDhmF,EACC,MAAM,wBAAEs0B,GAA4B+zB,YACjC1oB,GAAUA,EAAMikB,qBAGb,YAAE16B,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAE/C,MAAEk5C,GAAUnkC,GAAU1V,GAEtBysB,EAAQrhB,EAAwBxxB,KAEtC,OAAI6yC,GAASA,EAAM/2C,QAAU,EAEzBwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAMnBn6C,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAKoqB,EAAMjlC,IACnB0W,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMuyB,EAAMswC,gBAC9B7+D,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfuyB,EAAMuwC,UACHxlB,aAAO,IAAI1zC,KAAK2oB,EAAMuwC,WAAY,mBAAoB,CACpDvlB,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMuyB,EAAMwwC,aAC7BxwC,EAAMywC,WACLh/D,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfuyB,EAAMywC,UACH1lB,aAAO,IAAI1zC,KAAK2oB,EAAMywC,WAAY,mBAAoB,CACpDzlB,SAAU,sBAEZ,KAGPhrB,EAAM0wC,WACLj/D,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMuyB,EAAM2wC,aAEP,SAAxBvjB,EAAMzO,eACLltC,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,IAChBgE,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAMktB,EAAMzhC,SAAW,YAAc,UAErCkT,IAAAC,cAAC01C,YAAQ,CACPC,QAASrnB,EAAMzhC,SACfqyE,UAAWA,IACTR,EAAc,CACZS,UAAW7wC,EAAMjlC,GACjBwD,UAAWyhC,EAAMzhC,gBAQ/BkT,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAChBgE,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,GAAI5qC,aAAW,GAC/BzD,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,oBAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAAS8+D,EACTtiE,WAAY7B,GAAMzH,cAElBgN,IAAAC,cAACo/D,KAAS,CAACt+D,MAAOtG,GAAM9E,MAAOna,KAAM,QAI3CwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAM5E,IAClBkL,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,8BAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,IAAM4+D,EAAenwC,EAAMjlC,IACpCgT,WAAY7B,GAAM5E,KAElBmK,IAAAC,cAACq/D,KAAQ,CAACv+D,MAAOtG,GAAM9E,MAAOna,KAAM,aC6BtD,MAAMglB,GAAcznB,IAA2D,IAA1D,SAAEstC,EAAQ,QAAEvmB,EAAO,gBAAEy/D,EAAe,aAAEC,GAAczmF,EACvE,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,YAGD1D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAASumB,EAAWm5C,EAAeD,EACnCr+D,WAAY,GACZpa,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,YAOQ+7D,OArKf,SAAkC7mF,GAK9B,IAL+B,OACjCgrB,EAAM,QACN9D,EAAO,SACPumB,EAAQ,iBACRq5C,GACD9mF,EACC,MAAM6X,EAAWoT,eACX,qBAAEuJ,EAAoB,wBAAEF,GAA4B+zB,YACvD1oB,GAAUA,EAAMikB,oBAGbmjC,EAAavyD,EAAqB1xB,MAEjCkkF,EAAiBC,GAAsB54D,mBAAS,IAChDkB,EAAK23D,GAAU74D,qBAMhB84D,EAAmBJ,EAAWvkF,IAAK4kF,IAChC,CACLj4B,cAAeA,KACb83B,EAAmBG,EAAUx/C,QAE/Bnf,KAAM2+D,EAAUrlD,eAyBdslD,EAAeA,KACnBJ,EAAmB,GACnBC,EAAO,IACPJ,GAAiB,IAiCnB,OATAt4D,oBAAU,KACJif,IACFw5C,EACEK,wBAAsBjzF,gBAAgBo5C,EAAS25C,YAEjDF,EAAOz5C,EAASle,OAEjB,CAACke,IAGFrmB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,KACPA,IACAmgE,KAEFpkE,OAAQ,IACRG,MAAO,IACPo8B,OAAQ/R,EAAW,gBAAkB,sBACrCtiB,OACE/D,IAAAC,cAACO,GAAW,CACV6lB,SAAUA,EACVvmB,QAASA,KACPA,IACAmgE,KAEFV,gBA1EgBA,KACtB,IAAKp3D,IAAQy3D,EACX,OAAO5zD,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,sCAI1B,MAAMqL,EAAS,CACbshB,MACAoE,UAAWW,EAAwBxxB,KAAK4N,GACxC02E,UAAWJ,GAGbnvE,EACE0vE,GAAkEt5E,IAGpEiZ,IACAmgE,KAyDMT,aAhDaA,KACnB,MAAM34E,EAAS,CACbshB,MACAoE,UAAWW,EAAwBxxB,KAAK4N,GACxC02E,UAAWJ,EACXQ,SAAU/5C,EAAS/8B,IAGrBmH,EACE0vE,GAAiEt5E,IAGnE4J,EACE0vE,GACEjzD,EAAwBxxB,KAAK4N,KAGjCwW,IACAmgE,QAkCEjgE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,EAAC9wC,aAAW,EAACC,eAAa,GACrD1D,IAAAC,cAACmrC,aAAS,CACRpvC,MAAO,IACPqvC,UAAU,MACV7qB,MAAOrY,EACPq9B,SAAWplC,IAhGjB0/D,EAiGuB1/D,EAjGVmrC,OAAO/qB,UAoGhBxgB,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASggD,EACTv8D,KAAK,WACL6nC,UAAU,0BACVjnC,KAAK,YACL0iC,UAAW,GACXjrC,OAAQ,GACRG,MAAO,IACPgwD,QAAS5+C,EAAqBtpB,SAE7Bo8E,wBAAsB/oF,uBAAuByoF,IAC3Cv5C,GACC65C,wBAAsB9pF,gBAAgBiwC,EAAS25C,eChH9CK,OA1Bf,SAAmCznF,GAM/B,IANgC,OAClCgrB,EAAM,aACNq6D,EAAY,WACZC,EAAU,YACVC,EAAW,UACXC,GACDxlF,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASm+D,EACTjiE,MAAO,KACPH,OAAQ,IACR8xC,qBAAqB,WACrBvV,OAAQ8lC,GAERl+D,IAAAC,cAAC89D,GAAkB,KACjB/9D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,GAC1B4pB,GAEHn+D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GAAEwqB,MC6H7B,MAAM59D,GAAcznB,IAA2D,IAA1D,SAAEstC,EAAQ,QAAEvmB,EAAO,gBAAEwgE,EAAe,aAAEC,GAAcxnF,EACvE,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,YAGD1D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAASumB,EAAWk6C,EAAeD,EACnCp/D,WAAY,GACZpa,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,YAOQ88D,I,YAAAA,GA5Kf,SAAwC5nF,GAMpC,IANqC,OACvCgrB,EAAM,QACN9D,EAAO,SACPumB,EAAQ,eACRr1B,EAAc,iBACd0uE,GACD9mF,EACC,MAAM6X,EAAWoT,eAEV48D,EAAWC,GAAgBz5D,mBAAS,KACpC05D,EAAYC,GAAiB35D,mBAAS,IASvC45D,EAAuBA,CAAChpD,EAAMipD,KAClC,MAGMC,EAHY,gBAGWz8B,KAAKzsB,GAC5BmpD,EAHa,0BAGY18B,KAAKw8B,GACpC,OAAOC,GAAcC,GAGjBf,EAAeA,KACnBW,EAAc,IACdF,EAAa,KAqEf,OAPAt5D,oBAAU,KACJif,IACFu6C,EAAcv6C,EAAS7F,OACvBkgD,EAAar6C,EAASjiB,QAEvB,CAACiiB,IAGFrmB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,KACPA,IACAmgE,KAEFpkE,OAAQ,IACRG,MAAO,IACPo8B,OAAQ/R,EAAW,gBAAkB,qBACrCtiB,OACE/D,IAAAC,cAACO,GAAW,CACV6lB,SAAUA,EACVvmB,QAASA,KACPA,IACAmgE,KAEFK,gBAnFgBA,KACtB,IAAKK,IAAeF,EAClB,OAAOz0D,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,sCAG1B,IAAKqlF,EAAqBJ,EAAWE,GACnC,OAAO30D,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,+LAa1BiV,EACEwwE,EAPa,CACb78D,KAAMq8D,EACNzvE,iBACAwvB,MAAOmgD,KAMTV,IACAngE,KA2DMygE,aAxDaA,KACnB,IAAKI,IAAeF,EAClB,OAAOz0D,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,sCAG1B,IAAKqlF,EAAqBJ,EAAWE,GACnC,OAAO30D,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAK,+LAO1B,MAAMqL,EAAS,CACbud,KAAMq8D,EACNzvE,iBACAwvB,MAAOmgD,EACPP,SAAU/5C,EAAS/8B,IAGrBmH,EACEwwE,EAAkEp6E,IAGpEiZ,IACA4/D,GAAiB,GACjBO,QAgCEjgE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,EAAC9wC,aAAW,EAACC,eAAa,GACrD1D,IAAAC,cAACmrC,aAAS,CACRpvC,MAAO,IACPqvC,UAAU,OACV7qB,MAAOigD,EACPj7B,SAAWplC,IA9GjBsgE,EA+GwBtgE,EA/GLmrC,OAAO/qB,UAkHtBxgB,IAAAC,cAACmrC,aAAS,CACRpvC,MAAO,IACPqvC,UAAU,QACV7qB,MAAOmgD,EACPn7B,SAAWplC,IAzHjBwgE,EA0HyBxgE,EA1HLmrC,OAAO/qB,aClBN9lB,WAAOC,IAAGC,QAAAC,aAAA,QAA5B,MACM2jE,GAAgB9jE,mBAAO0G,UAAP1G,CAAcM,QAAAH,aAAA,2BAI9B63C,GAAeh4C,WAAOC,IAAGO,QAAAL,aAAA,yJASzBqmE,GAAoBxmE,mBAAO+6C,eAAP/6C,CAAmBW,QAAAR,aAAA,yBCiGrCsmE,OApGgCvoF,IAKxC,IALyC,iBAC9C8mF,EAAgB,4BAChB0B,EAA2B,0BAC3BC,EAAyB,OACzBjpC,GACDx/C,EACC,MAAO0oF,EAAcC,GAAkBt6D,oBAAS,GAEhD,OACEjH,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAKi0B,EAAO9uC,IACpB0W,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMo8B,EAAOh0B,MAC/BpE,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfslE,EAAelpC,EAAO5X,MAAQ,WAEjCxgB,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfo8B,EAAO0mC,UACJxlB,aAAO,IAAI1zC,KAAKwyB,EAAO0mC,WAAY,mBAAoB,CACrDvlB,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMo8B,EAAO2mC,aAC/B/+D,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAChBgE,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,GAAI5qC,aAAW,GAC/BzD,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACbsG,SAAS,OACTuG,KAAI,GAAAR,OAAKygE,EAAe,iBAAmB,kBAE3CthE,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,KACPyhE,GAAgBD,IAElBhlE,WAAY7B,GAAMzH,cAEjBsuE,EACCthE,IAAAC,cAACuhE,KAAU,CAACzgE,MAAOtG,GAAM9E,MAAOna,KAAM,KAEtCwkB,IAAAC,cAACwhE,KAAc,CAAC1gE,MAAOtG,GAAM9E,MAAOna,KAAM,QAKlDwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMlC,KAClBwI,MAAOtG,GAAMjG,QACbsG,SAAS,OACTuG,KAAK,iBAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,KACP4/D,EAAiBtnC,GACjBgpC,GAA4B,IAE9B9kE,WAAY7B,GAAMlC,MAElByH,IAAAC,cAACyhE,KAAM,CAAC3gE,MAAOtG,GAAM9E,MAAOna,KAAM,QAIxCwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAM5E,IAClBkL,MAAOtG,GAAMjG,QACbsG,SAAS,OACTuG,KAAK,WAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,IACPuhE,EAA0B,CACxBz9D,QAAQ,EACR+9D,QAASvpC,EAAO9uC,KAGpBgT,WAAY7B,GAAM5E,KAElBmK,IAAAC,cAACq/D,KAAQ,CAACv+D,MAAOtG,GAAM9E,MAAOna,KAAM,aC5DvComF,OAlC6BhpF,IAIrC,IAJsC,iBAC3C8mF,EAAgB,4BAChB0B,EAA2B,0BAC3BC,GACDzoF,EACC,MAAM,0BAAEgY,GAA8BqwC,YACnC1oB,GAAUA,EAAMmkB,+BAGb91B,EAAUhW,EAA0BlV,KAE1C,OAAIkrB,GAAWA,EAAQpvB,QAAU,EAE7BwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAKjBvpD,EAA0B9M,QACrBkc,IAAAC,cAACi1C,GAAc,MAGjBtuC,EAAQxrB,IAAKg9C,GAClBp4B,IAAAC,cAACkhE,GAAsC,CACrCzB,iBAAkBA,EAClB0B,4BAA6BA,EAC7BC,0BAA2BA,EAC3BjpC,OAAQA,MCjBCimC,OAhBczlF,IAAkB,IAAjB,QAAEguB,GAAShuB,EACvC,OACEonB,IAAAC,cAACu1C,YAAQ,KACN5uC,EAAQxrB,IAAKg9C,GACZp4B,IAAAC,cAACihE,GAAiB,CAChB/8D,IAAKi0B,EAAO9uC,GACZoS,SAAU08B,EAAOp8B,MACjB65C,SAAUzd,EAAOyd,UAEhBzd,EAAO5e,UC0KHqoD,OA1K0BjpF,IAAyB,IAAxB,eAAEoY,GAAgBpY,EAC1D,MAAM6X,EAAWoT,eAEVi+D,EAAepC,GAAoBz4D,oBAAS,IAE5C86D,EAA0BC,GAC/B/6D,oBAAS,IAEJg7D,EAAwBC,GAA6Bj7D,mBAAS,CACnErD,QAAQ,EACR+9D,QAAS,MAGL,uBACJhxE,EAAsB,sBACtBE,EAAqB,yBACrBC,EAAwB,0BACxBF,GACEqwC,YAAa1oB,GAAUA,EAAMmkB,+BA2FjC,OA7CAt1B,oBAAU,OAEJzW,EAAuB7M,SAAW6M,EAAuB1M,UACzD4M,EAAsB/M,SAAW+M,EAAsB5M,UACvD6M,EAAyBhN,SAAWgN,EAAyB7M,WAE/DwM,EACEwwE,EACEjwE,IAIJP,EACEwwE,EACE,IACA,IAGJxwE,EACEwwE,EACE,IACA,IAGJxwE,EACEwwE,EACE,IACA,MAIL,CACDtwE,EAAuB1M,QACvB4M,EAAsB5M,QACtB6M,EAAyB7M,UAG3BmjB,oBAAU,KACR3W,EACEwwE,EACEjwE,KAGH,IAGDgP,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,EAACK,WAAS,GAC/Bv0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPlV,KAAK,SACLga,KAAK,0BACLhB,QAASA,IAAMkiE,GAA4B,GAC3CxuB,cAAY,uBAEZxzC,IAAAC,cAAC68D,KAAM,CAAC/7D,MAAM,QAAQvlB,KAAK,OAAO,gBAItCwkB,IAAAC,cAACyzD,aAAS,CAAC73D,OAAQ,IAAKG,MAAO,KAC7BgE,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACs+D,GAA0B,CAAC33D,QAjHjC,CACd,CACEtd,GAAI,EACJkwB,MAAO,OACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,QACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,wBACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,aACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,GACP9d,SAAU,MACVm6C,SAAU,WAqFJ71C,IAAAC,cAAC2hE,GAAmC,CAClCE,cAAeA,EACfpC,iBAAkBA,EAClByC,yBAA0BJ,EAC1BX,4BAA6BY,EAC7BX,0BAA2Ba,EAC3BlxE,eAAgBA,OAKxBgP,IAAAC,cAACugE,GAA+B,CAC9B58D,OAAQm+D,EACR17C,SAAUy7C,EACVhiE,QAASA,IAAMkiE,GAA4B,GAC3ChxE,eAAgBA,EAChB0uE,iBAAkBA,IAEpB1/D,IAAAC,cAACkrD,GAAiB,CAChBvnD,OAAQq+D,EAAuBr+D,OAC/B43C,UAAWA,KACT4mB,OAtG2BC,EAsGDJ,EAAuBN,QArGvDlxE,EACEwwE,EACEoB,SAGJH,EAA0B,CACxBt+D,QAAQ,EACR+9D,QAAS,KARsBU,OAwG7BviE,QAASA,IACPoiE,EAA0B,CACxBt+D,QAAQ,EACR+9D,QAAS,KAGbtgE,KAAK,gCACL2/C,WAAW,iBACXl9D,QAAS8M,EAA0B9M,YC1C5Bw+E,I,YAAAA,GAtHuB1pF,IAK/B,IALgC,iBACrC8mF,EAAgB,4BAChBsC,EAA2B,0BAC3BE,EAAyB,iBACzBK,GACD3pF,EACC,MAAM,oBAAEuzB,GAAwB80B,YAC7B1oB,GAAUA,EAAMkkB,yBAGb+lC,EAASr2D,EAAoBzwB,KAEnC,OAAI8mF,GAAUA,EAAOhrF,QAAU,EAE3BwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAKjBhuC,EAAoBroB,QACfkc,IAAAC,cAACi1C,GAAc,MAItBl1C,IAAAC,cAAAD,IAAAuD,SAAA,KACS,OAANi/D,QAAM,IAANA,OAAM,EAANA,EAAQpnF,IAAK25C,GACZ/0B,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAK4wB,EAAMzrC,IACnB0W,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAM+4B,EAAM5sB,KAC9BnI,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfkkE,wBAAsB9pF,gBAAgB2+C,EAAMirC,YAE/ChgE,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACf+4B,EAAM+pC,UACHxlB,aAAO,IAAI1zC,KAAKmvB,EAAM+pC,WAAY,mBAAoB,CACpDvlB,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAM+4B,EAAMgqC,aAC9B/+D,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAChBgE,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,GAAI5qC,aAAW,GAC/BzD,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMlC,KAClBwI,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,iBAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,KACP4/D,EAAiB3qC,GACjBitC,GAA4B,IAE9B1lE,WAAY7B,GAAMlC,MAElByH,IAAAC,cAACyhE,KAAM,CAAC3gE,MAAOtG,GAAM9E,MAAOna,KAAM,QAIxCwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACbsG,SAAS,OACTuG,KAAK,oBAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,IACPyiE,EAAiB,CACf3+D,QAAQ,EACR+9D,QAAS5sC,EAAMzrC,KAGnBgT,WAAY7B,GAAMzH,cAElBgN,IAAAC,cAACo/D,KAAS,CAACt+D,MAAOtG,GAAM9E,MAAOna,KAAM,QAI3CwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAM5E,IAClBkL,MAAOtG,GAAMjG,QACbsG,SAAS,OACTuG,KAAK,WAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,IACPoiE,EAA0B,CACxBt+D,QAAQ,EACR+9D,QAAS5sC,EAAMzrC,KAGnBgT,WAAY7B,GAAM5E,KAElBmK,IAAAC,cAACq/D,KAAQ,CAACv+D,MAAOtG,GAAM9E,MAAOna,KAAM,cCzH/Bkf,WAAOC,IAAGC,QAAAC,aAAA,QACNH,mBAAO0G,UAAP1G,CAAcM,QAAAH,aAAA,2BAIfH,WAAOC,IAAGO,QAAAL,aAAA,wKAL/B,MAeMqmE,GAAoBxmE,mBAAO+6C,eAAP/6C,CAAmBW,QAAAR,aAAA,yBCGrCwjE,OAhBczlF,IAAkB,IAAjB,QAAEguB,GAAShuB,EACvC,OACEonB,IAAAC,cAACu1C,YAAQ,KACN5uC,EAAQxrB,IAAKg9C,GACZp4B,IAAAC,cAACihE,GAAiB,CAChB/8D,IAAKi0B,EAAO9uC,GACZoS,SAAU08B,EAAOp8B,MACjB65C,SAAUzd,EAAOyd,UAEhBzd,EAAO5e,UC6LHipD,OA1LoB7pF,IAAoB,IAAnB,UAAE2zB,GAAW3zB,EAC/C,MAAM6X,EAAWoT,eAEVi+D,EAAepC,GAAoBz4D,oBAAS,IAC5C86D,EAA0BC,GAC/B/6D,oBAAS,IACJy7D,EAAuBC,GAA4B17D,mBAAS,CACjErD,QAAQ,EACR+9D,QAAS,MAEJM,EAAwBC,GAA6Bj7D,mBAAS,CACnErD,QAAQ,EACR+9D,QAAS,MAGL,oBACJx1D,EAAmB,2BACnBC,EAA0B,iBAC1BF,EAAgB,8BAChBG,GACE40B,YAAa1oB,GAAUA,EAAMkkB,yBA+FjC,OAjDAr1B,oBAAU,OAEJ8E,EAAiBpoB,SAAWooB,EAAiBjoB,UAC7CmoB,EAA2BtoB,SAC3BsoB,EAA2BnoB,UAC3BooB,EAA8BvoB,SAC9BuoB,EAA8BpoB,WAEhCwM,EACE0vE,GAA2D5zD,IAG7D9b,EACE0vE,GACE,IACA,IAGJ1vE,EACE0vE,GACE,IACA,IAGJ1vE,EACE0vE,GACE,IACA,MAIL,CACDj0D,EAAiBjoB,QACjBmoB,EAA2BnoB,QAC3BooB,EAA8BpoB,UAGhCmjB,oBAAU,KACJ26D,GACFtxE,EAASmyE,OAEV,CAACb,IAEJ36D,oBAAU,KACR3W,EACE0vE,GAA2D5zD,KAE5D,IAGDvM,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,EAACK,WAAS,GAC/Bv0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPlV,KAAK,SACLga,KAAK,0BACLhB,QAASA,IAAMkiE,GAA4B,GAC3CxuB,cAAY,uBAEZxzC,IAAAC,cAAC68D,KAAM,CAAC/7D,MAAM,QAAQvlB,KAAK,OAAO,gBAItCwkB,IAAAC,cAACyzD,aAAS,CAAC73D,OAAQ,IAAKG,MAAO,KAC7BgE,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACs+D,GAA0B,CAAC33D,QArHjC,CACd,CACEtd,GAAI,EACJkwB,MAAO,MACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,SACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,qBACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,aACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,GACP9d,SAAU,MACVm6C,SAAU,WAyFJ71C,IAAAC,cAACqiE,GAA6B,CAC5B5C,iBAAkBA,EAClBsC,4BAA6BA,EAC7BE,0BAA2BA,EAC3BK,iBAAkBI,OAK1B3iE,IAAAC,cAACw/D,GAAyB,CACxB77D,OAAQm+D,EACR17C,SAAUy7C,EACVhiE,QAASA,IAAMkiE,GAA4B,GAC3CtC,iBAAkBA,IAEpB1/D,IAAAC,cAACkrD,GAAiB,CAChBvnD,OAAQq+D,EAAuBr+D,OAC/B43C,UAAWA,KAAMqnB,OAtGM7xE,EAsGcixE,EAAuBN,QArGhElxE,EACE0vE,GACEnvE,SAGJkxE,EAA0B,CACxBt+D,QAAQ,EACR+9D,QAAS,KARgB3wE,OAuGvB8O,QAASA,IACPoiE,EAA0B,CACxBt+D,QAAQ,EACR+9D,QAAS,KAGbtgE,KAAK,gCACL2/C,WAAW,iBACXl9D,QAASqoB,EAAoBroB,UAE/Bkc,IAAAC,cAACogE,GAA0B,CACzBz8D,OAAQ8+D,EAAsB9+D,OAC9Bq6D,aAAcA,IACZ0E,EAAyB,CACvB/+D,QAAQ,EACR+9D,QAAS,KAGbzD,WAAW,kBACXE,UACEp+D,IAAAC,cAAC4hE,GAAgC,CAC/B7wE,eAAgB0xE,EAAsBf,cCpBnCmB,I,mDAAAA,GA/JSA,KACtB,MAAMryE,EAAWoT,eACX,wBAAEqJ,GAA4B+zB,YACjC1oB,GAAUA,EAAMikB,qBAGZumC,EAA8BC,GACnC/7D,oBAAS,IAEJ23D,EAAkBqE,GAAuBh8D,oBAAS,IAEnD,YAAEnF,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAE/C,MAAEk5C,GAAUnkC,GAAU1V,GAEtBysB,EAAQrhB,EAAwBxxB,KAEhCkrB,EAAU,CACd,CACEtd,GAAI,EACJkwB,MAAO,2BACP9d,SAAU,MACVm6C,SAAU,MAEZ,CACEvsD,GAAI,EACJkwB,MAAO,wBACP9d,SAAU,MACVm6C,SAAU,OAEZ,CACEvsD,GAAI,EACJkwB,MAAO,aACP9d,SAAU,MACVm6C,SAAU,QAEP,OAALtnB,QAAK,IAALA,OAAK,EAALA,EAAOywC,WACH,CACE11E,GAAI,EACJkwB,MAAO,4BACP9d,SAAU,MACVm6C,SAAU,OAEZ,MACC,OAALtnB,QAAK,IAALA,OAAK,EAALA,EAAO0wC,WACH,CACE31E,GAAI,EACJkwB,MAAO,iBACP9d,SAAU,MACVm6C,SAAU,OAEZ,KACoB,SAAxB8F,EAAMzO,cACF,CACE5jD,GAAI,EACJkwB,MAAO,QACP9d,SAAU,KACVm6C,SAAU,MAEZ,KACJ,CACEvsD,GAAI,EACJkwB,MAAO,GACP9d,SAAU,MACVm6C,SAAU,QAEZt+D,OAAO2rF,SAET97D,oBAAU,KACR3W,EAASmyE,OACR,IAeH,OAAI11D,EAAwBppB,QACnBkc,IAAAC,cAACi1C,GAAc,MAGtBl1C,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACwG,YAAU,EAAC7F,WAAS,GACtCv0C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,qBACL5B,cAAe,KAGhB8uB,EACCvuB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACq+D,GAAoB,CACnB13D,QAASA,EACT/X,KACEmR,IAAAC,cAACw+D,GAAwB,CACvBC,eAAgBA,IAAMsE,GAAgC,GACtDrE,cAzBS93E,GACrB4J,EAASmyE,GAAuD/7E,IAyBpD+3E,iBAAkBA,IAAMqE,GAAoB,OAIzB,UAAxBtnB,EAAMzO,gBAA8B3e,EAAMzhC,UACzCkT,IAAAC,cAAC0B,QAAI,CACHN,KAAK,8RAQXrB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,EAAC8wC,WAAS,GACrDv0C,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,EAACzwC,aAAW,EAACmwC,QAAM,EAAC53C,MAAO,IAAKqyC,IAAK,IAC1DruC,IAAAC,cAAC0B,QAAI,CACHN,KAAK,0NAGPrB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbn+C,KAAK,SACLga,KAAK,0BACLhB,QAASA,IAlDnBrP,EAASmyE,OAoDC5iE,IAAAC,cAAC68D,KAAM,CAAC/7D,MAAM,QAAQvlB,KAAK,OAAO,6BAM1CwkB,IAAAC,cAACkrD,GAAiB,CAChBvnD,OAAQm/D,EACRvnB,UAAWA,KAAMkjB,OAvEChyD,EAuEc6hB,EAAMjlC,GAtE1CmH,EACEmyE,GAA0Dl2D,SAE5Ds2D,GAAgC,GAJVt2D,OAwElB5M,QAASA,IAAMkjE,GAAgC,GAC/C3hE,KAAK,wGACL2/C,WAAW,6BACXl9D,QAASopB,EAAwBppB,UAEnCkc,IAAAC,cAAC+9D,GAAmB,CAClBp6D,OAAQg7D,EACRX,aAAcA,IAAMgF,GAAoB,GACxC/E,WAAW,kBACXE,UAAWp+D,IAAAC,cAACwiE,GAA0B,CAACl2D,UAAgB,OAALgiB,QAAK,IAALA,OAAK,EAALA,EAAOjlC,SCpK1D,MAAMoX,GAAYhG,WAAOg5C,MAAK94C,QAAAC,aAAA,gvBAG1BJ,GAAMpC,UAKJoC,GAAMrD,KAIaqD,GAAM9E,MACN8E,GAAMzH,aAGV+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAGN+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAE5Bpa,IAAoB,IAAnB,UAAE8yC,GAAW9yC,EACd8yC,EACI3wB,eAAGC,QAAAH,aAAA,2FACmBksC,aAAQ,IAAMtsC,GAAMnH,UACpBmH,GAAMnH,UAE5ByH,eAAGG,QAAAL,aAAA,SAIX9hB,IAAA,IAAC,WAAEmoB,GAAYnoB,EAAA,OACfmoB,EACInG,eAAGM,QAAAR,aAAA,0CACcqG,GAEjB,IACJ/F,IAAA,IAAC,OAAE0rC,GAAQ1rC,EAAA,OACX0rC,EACI9rC,eAAGS,QAAAX,aAAA,uCACSgsC,GAEZ,IAEFvrC,IAAA,IAAC,UAAEwrC,GAAWxrC,EAAA,OACdwrC,EACI/rC,eAAGY,QAAAd,aAAA,+CACaisC,GAEhB,IAENrrC,IAAA,IAAC,OAAEmF,GAAQnF,EAAA,OACXmF,EACI7F,eAAGe,QAAAjB,aAAA,qCACS+F,GAAM,qBAAAC,OAEGpG,GAAMpC,YAK/BuD,IAAA,IAAC,WAAEU,GAAYV,EAAA,OACfU,EACIvB,eAAGkB,QAAApB,aAAA,yCACayB,GAAU,eAAAuE,OAEXpG,GAAM9E,MAAK,iCAI5BoG,IAAA,IAAC,SAAE8D,GAAU9D,EAAA,OACb8D,EACI9E,eAAGmB,QAAArB,aAAA,yGACaJ,GAAMnF,qBAGtByF,eAAGqB,QAAAvB,aAAA,SAGTwB,IAAA,IAAC,aAAE2E,GAAc3E,EAAA,OACjB2E,EACIjG,eAAGwB,QAAA1B,aAAA,4CACgBmG,GAAY,sBAOnCxE,IAAA,IAAC,QAAEyE,GAASzE,EAAA,OACZyE,EACIlG,eAAG2B,QAAA7B,aAAA,sCACUoG,GAAO,cAMxBtE,IAAA,IAAC,MAAEoE,GAAOpE,EAAA,OACVoE,EACIhG,eAAG8B,QAAAhC,aAAA,oCACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAMpBppD,IAAA,IAAC,KAAE8D,GAAM9D,EAAA,OACT8D,EACI/F,eAAGgC,QAAAlC,aAAA,mCACOiG,GAAI,8BAMlB5D,IAAA,IAAC,UAAEmpD,GAAWnpD,EAAA,OACdmpD,EACItrD,eAAGkC,QAAApC,aAAA,yCACawrD,GAAS,oBAM3BhpD,IAAA,IAAC,MAAErB,GAAOqB,EAAA,OACVrB,EACIjB,eAAGqC,QAAAvC,aAAA,0CACQmB,GAEX,MAIJwB,IAAA,IAAC,OAAE3B,GAAQ2B,EAAA,OACX3B,EACId,eAAGwC,QAAA1C,aAAA,2CACSgB,GAEZ,MAMQ+B,IAAA,IAAC,iBAAE0oD,GAAkB1oD,EAAA,OAC/B0oD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SC3EnC6c,I,+DAAAA,GA3EGvqF,IAuBX,IAvBY,UACjBkuD,EAAS,WACTxqC,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,KACTjiD,EAAI,KACJtd,EAAI,MACJ05B,EAAK,aACLgmC,EAAgBtnC,IAAMA,GAAC,YACvBkoB,EAAeloB,IAAMA,GAAC,mBACtBqiC,EAAsBriC,IAAMA,GAAC,kBAC7BkkD,EAAqBlkD,IAAMA,GAAC,MAC5BljB,EAAK,OACLH,EAAM,YACN4vC,EAAW,SACX5rC,EAAQ,OACRgnC,EAAM,WACN3lC,KACGqqB,GACJ3yC,EACC,MAAMo1E,EAAWroB,iBAAO,OAClB,UAAEC,EAAS,aAAEE,EAAY,cAAED,EAAa,MAAEvtD,GAAUytD,aAAS3hC,GASnE,OARAgD,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKytD,EAAShoB,QACdvsB,KAAM,WAEP,CAACmsB,EAAWC,IAGb7lC,IAAAC,cAACS,GAAS,CACRH,IAAKytD,EACL9sD,WAAYA,EACZ2lC,OAAQA,EACRC,UAAWA,EACX1iC,KAAMA,EACNohC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfwuB,UAAYxuB,IACVA,EAAMuS,kBACNia,EAAmBxsB,IAErBiX,OAASjX,IACPA,EAAMuS,kBACN87B,EAAkBruC,IAEpBj1B,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdvU,MAAOA,EACP15B,KAAMA,EACN8Z,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXrqD,MAAOA,EACPH,OAAQA,EACR4vC,YAAaA,EACb5rC,SAAUA,EACVwjE,WAAY7iD,KCtEX,MAAM9f,GAAYhG,WAAOg5C,MAAK94C,QAAAC,aAAA,6uBAG1BJ,GAAMpC,UAKJoC,GAAMrD,KAIaqD,GAAM9E,MACN8E,GAAMzH,aAGV+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAGN+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAE5Bpa,IAAA,IAAC,aAAE0qF,GAAc1qF,EAAA,OACjB0qF,EACIvoE,eAAGC,QAAAH,aAAA,iHACmBJ,GAAM9E,MACN8E,GAAMnH,UAE5B,IAERva,IAAA,IAAC,OAAE8tD,GAAQ9tD,EAAA,OACX8tD,EACI9rC,eAAGG,QAAAL,aAAA,uCACSgsC,GAEZ,IAGA1rC,IAAA,IAAC,UAAE2rC,GAAW3rC,EAAA,MACO,kBAAd2rC,EACH/rC,eAAGM,QAAAR,aAAA,mDACaisC,GAEhBA,EACA/rC,eAAGS,QAAAX,aAAA,iDACaisC,GAEhB,IAERxrC,IAAA,IAAC,OAAEsF,GAAQtF,EAAA,OACXsF,EACI7F,eAAGY,QAAAd,aAAA,qCACS+F,GAAM,qBAAAC,OAEGpG,GAAMrD,OAK/BqE,IAAA,IAAC,WAAEa,GAAYb,EAAA,OACfa,EACIvB,eAAGe,QAAAjB,aAAA,yCACayB,GAAU,eAAAuE,OAEXpG,GAAM9E,MAAK,iCAI5BiG,IAAA,IAAC,SAAEiE,GAAUjE,EAAA,OACbiE,EACI9E,eAAGkB,QAAApB,aAAA,yGACaJ,GAAMnF,qBAGtByF,eAAGmB,QAAArB,aAAA,SAGTkB,IAAA,IAAC,aAAEiF,GAAcjF,EAAA,OACjBiF,EACIjG,eAAGqB,QAAAvB,aAAA,4CACgBmG,GAAY,sBAOnC3E,IAAA,IAAC,QAAE4E,GAAS5E,EAAA,OACZ4E,EACIlG,eAAGwB,QAAA1B,aAAA,sCACUoG,GAAO,cAMxBzE,IAAA,IAAC,MAAEuE,GAAOvE,EAAA,OACVuE,EACIhG,eAAG2B,QAAA7B,aAAA,oCACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAMpBzpD,IAAA,IAAC,KAAEmE,GAAMnE,EAAA,OACTmE,EACI/F,eAAG8B,QAAAhC,aAAA,mCACOiG,GAAI,8BAMlB9D,IAAA,IAAC,UAAEqpD,GAAWrpD,EAAA,OACdqpD,EACItrD,eAAGgC,QAAAlC,aAAA,yCACawrD,GAAS,oBAM3BnpD,IAAA,IAAC,MAAElB,GAAOkB,EAAA,OACVlB,EACIjB,eAAGkC,QAAApC,aAAA,0CACQmB,GAEX,MAIJqB,IAAA,IAAC,OAAExB,GAAQwB,EAAA,OACXxB,EACId,eAAGqC,QAAAvC,aAAA,2CACSgB,GAEZ,MAMQ2B,IAAA,IAAC,iBAAE8oD,GAAkB9oD,EAAA,OAC/B8oD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SAIrCtf,GAAetsC,WAAOC,IAAG4C,QAAA1C,aAAA,4EAC3BJ,GAAMnH,UAKJiwE,GAAiB7oE,WAAOusC,KAAIxpC,QAAA5C,aAAA,mJAIrC+C,IAAA,IAAC,OAAE/B,GAAQ+B,EAAA,OACX/B,EACId,eAAG4C,QAAA9C,aAAA,yCACSgB,GAEZ,IAOFmC,IAAA,IAAC,cAAEwlE,GAAexlE,EAAA,OAClBwlE,EACIzoE,eAAG+C,QAAAjD,aAAA,2CACOJ,GAAMnH,UAEhByH,eAAGgD,QAAAlD,aAAA,2CACOJ,GAAMzH,gBCpFXywE,I,6FAAAA,GA3FQ7qF,IAwBhB,IAxBiB,UACtBkuD,EAAS,WACTxqC,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,KACTjiD,EAAI,KACJtd,EAAI,MACJ05B,EAAK,aACLgmC,EAAgBtnC,IAAMA,GAAC,YACvBkoB,EAAeloB,IAAMA,GAAC,mBACtBqiC,EAAsBriC,IAAMA,GAAC,kBAC7BkkD,EAAqBlkD,IAAMA,GAAC,MAC5BljB,EAAK,OACLH,EAAM,YACN4vC,EAAW,SACX5rC,EAAQ,OACRgnC,EAAM,aACNy8B,EAAY,WACZI,KACGn4C,GACJ3yC,EACC,MAAMo1E,EAAWroB,iBAAO,OAClB,UAAEC,EAAS,aAAEE,EAAY,cAAED,EAAa,MAAEvtD,GAAUytD,aAAS3hC,GAUnE,OARAgD,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKytD,EAAShoB,QACdvsB,KAAM,WAEP,CAACmsB,EAAWC,IAGb7lC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACS,GAAS,CACRH,IAAKytD,EACLnnB,OAAQA,EACRC,UAAWA,EACX1iC,KAAMA,EACNohC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfwuB,UAAYxuB,IACVA,EAAMuS,kBACNia,EAAmBxsB,IAErBiX,OAASjX,IACPA,EAAMuS,kBACN87B,EAAkBruC,IAEpBj1B,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdvU,MAAOA,EACP15B,KAAMA,EACN8Z,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXrqD,MAAOA,EACPH,OAAQA,EACR4vC,YAAaA,EACb5rC,SAAUA,EACVwjE,WAAY7iD,EACZ8iD,aAAcA,IAEfhrF,EACC0nB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACsjE,GAAc,CAAC1nE,OAAO,OAAO2nE,cAAelrF,GAC3C0nB,IAAAC,cAACgL,KAAkB,CAACzvB,KAAK,QAE3BwkB,IAAAC,cAAC+mC,GAAY,KAAE1uD,IAEforF,EACF1jE,IAAAC,cAACsjE,GAAc,CAAC1nE,OAAO,OAAO2nE,cAAelrF,GAC3C0nB,IAAAC,cAACoL,KAAa,CAAC7vB,KAAK,QAEpB,OC1FH,MAAMklB,GAAYhG,WAAOg5C,MAAK94C,QAAAC,aAAA,g0BAGxBJ,GAAMpC,UAMNoC,GAAMrD,KAIaqD,GAAM9E,MACN8E,GAAMzH,aAGV+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAGN+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAE5Bpa,IAAA,IAAC,WAAE+qF,GAAY/qF,EAAA,OACf+qF,EACI5oE,eAAGC,QAAAH,aAAA,iHACmBJ,GAAM9E,MACN8E,GAAMnH,UAE5B,IAGJva,IAAA,IAAC,OAAE8tD,GAAQ9tD,EAAA,OACX8tD,EACI9rC,eAAGG,QAAAL,aAAA,+CACSgsC,GAEZ,IAEJ1rC,IAAA,IAAC,OAAEyF,GAAQzF,EAAA,OACXyF,EACI7F,eAAGM,QAAAR,aAAA,6CACS+F,GAAM,qBAAAC,OAEGpG,GAAMrD,OAK/BkE,IAAA,IAAC,WAAEgB,GAAYhB,EAAA,OACfgB,EACIvB,eAAGS,QAAAX,aAAA,iDACayB,GAAU,eAAAuE,OAEXpG,GAAM9E,MAAK,iCAI9B8F,IAAA,IAAC,SAAEoE,GAAUpE,EAAA,OACboE,EACI9E,eAAGY,QAAAd,aAAA,+GACaJ,GAAMnF,qBAGtByF,eAAGe,QAAAjB,aAAA,SAGPe,IAAA,IAAC,aAAEoF,GAAcpF,EAAA,OACjBoF,EACIjG,eAAGkB,QAAApB,aAAA,oDACgBmG,GAAY,sBAOnCjF,IAAA,IAAC,QAAEkF,GAASlF,EAAA,OACZkF,EACIlG,eAAGmB,QAAArB,aAAA,8CACUoG,GAAO,cAMxB5E,IAAA,IAAC,MAAE0E,GAAO1E,EAAA,OACV0E,EACIhG,eAAGqB,QAAAvB,aAAA,4CACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAMpB5pD,IAAA,IAAC,KAAEsE,GAAMtE,EAAA,OACTsE,EACI/F,eAAGwB,QAAA1B,aAAA,2CACOiG,GAAI,8BAMlBnE,IAAA,IAAC,UAAE0pD,GAAW1pD,EAAA,OACd0pD,EACItrD,eAAG2B,QAAA7B,aAAA,iDACawrD,GAAS,oBAM7BrpD,IAAA,IAAC,MAAEhB,GAAOgB,EAAA,OACVhB,EACIjB,eAAG8B,QAAAhC,aAAA,8CACQmB,GAEX,MAIJkB,IAAA,IAAC,OAAErB,GAAQqB,EAAA,OACXrB,EACId,eAAGgC,QAAAlC,aAAA,+CACSgB,GAEZ,MAMMwB,IAAA,IAAC,iBAAEipD,GAAkBjpD,EAAA,OAC/BipD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SAIrCsd,GAAUlpE,WAAOusC,KAAIhqC,QAAApC,aAAA,mJAG9B2C,IAAA,IAAC,OAAE3B,GAAQ2B,EAAA,OACX3B,EACId,eAAGqC,QAAAvC,aAAA,yCACSgB,GAEZ,IAEJ+B,IAAA,IAAC,QAAEimE,GAASjmE,EAAA,OACZimE,EACI9oE,eAAGwC,QAAA1C,aAAA,iDAGHE,eAAG0C,QAAA5C,aAAA,iDAKPmD,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OACVhC,EACIjB,eAAG4C,QAAA9C,aAAA,wCACQmB,GAEXjB,eAAG+C,QAAAjD,aAAA,2CAOCJ,GAAMrD,KAEZgH,IAAA,IAAC,OAAEvC,GAAQuC,EAAA,OACXvC,EACId,eAAGgD,QAAAlD,aAAA,6CACSgB,GAEZd,eAAGmD,QAAArD,aAAA,sCAMAmsC,GAAetsC,WAAOC,IAAGwD,QAAAtD,aAAA,qFAC3BJ,GAAMnH,SAIbiL,IAAA,IAAC,aAAE8tC,GAAc9tC,EAAA,OACjB8tC,EACItxC,eAAGsD,QAAAxD,aAAA,kDACgBwxC,GAEnBtxC,eAAGuD,QAAAzD,aAAA,qDAKE0oE,GAAiB7oE,WAAOusC,KAAIzoC,QAAA3D,aAAA,mKAKrC6D,IAAA,IAAC,OAAE7C,GAAQ6C,EAAA,OACX7C,EACId,eAAG0D,QAAA5D,aAAA,yCACSgB,GAEZ,IAKJkD,IAAA,IAAC,MAAE/C,GAAO+C,EAAA,OACV/C,EACIjB,eAAG4D,QAAA9D,aAAA,wCACQmB,GAEXjB,eAAG6D,QAAA/D,aAAA,2CAKLoE,IAAA,IAAC,cAAEukE,GAAevkE,EAAA,OAClBukE,EACIzoE,eAAG+D,QAAAjE,aAAA,6EACOJ,GAAMnH,UAGhByH,eAAGiE,QAAAnE,aAAA,2CACOJ,GAAMzH,gBC9O1B,IAAI,GAAO,GACX,SAAS,KAAiS,OAApR,GAAWuO,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM65E,GAAoBlrF,IACxB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,kBACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,sVAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc6jE,GAAmB,GAAS,CAC5Hl0B,OAAQrvC,GACPe,KACY,ICxBX,GAAO,GDwBI,ICvBf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM85E,GAAuBnrF,IAC3B,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,+DACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,isBAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc8jE,GAAsB,GAAS,CAC/Hn0B,OAAQrvC,GACPe,KACY,I,SAAA,ICXA,SAAS0iE,GAAaprF,GA+BjC,IA/BkC,KACpCwrB,EAAI,MACJoc,EAAK,YACLirB,EAAW,QACX3rC,EAAO,UACPmkE,EAAS,SACTpkE,EAAQ,UACRinC,EAAS,WACT5lC,EAAU,aACV5B,EAAY,MACZtD,EAAK,OACLH,EAAM,QACNgoE,EAAO,WACPvnE,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,KACTv/D,EAAI,aACJ0/D,EAAgBtnC,IAAMA,GAAC,YACvBkoB,EAAeloB,IAAMA,GAAC,mBACtBqiC,EAAsBriC,IAAMA,GAAC,kBAC7BkkD,EAAqBlkD,IAAMA,GAAC,OAC5B2nB,EAAM,WACN88B,EAAU,QACVrmE,EAAO,aACP+uC,EAAY,SACZ63B,KACG34C,GACJ3yC,EACC,MAAMo1E,EAAWroB,iBAAO,OAClB,UAAEC,EAAS,aAAEE,EAAY,cAAED,EAAa,MAAEvtD,GAAUytD,aAAS3hC,IAE5DiX,EAAQ8oD,GAAal9D,mBAAS,CACnCoQ,SAAU,GACV+sD,cAAc,IAehB,OARAh9D,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKytD,EAAShoB,QACdvsB,KAAM,WAEP,CAACmsB,EAAWC,IAGb7lC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACinC,GAAc,CACbJ,UAAWA,GAAa,KACxBzlC,KAAM4iE,EACNp9B,OAAO,IACPvnC,aAAcA,GAAgB,IAC9B4B,WAAYA,GAAc,IAC1B5D,QAASA,GAET0C,IAAAC,cAACS,GAAS,CACRH,IAAKytD,EACLnnB,OAAQA,EACRziC,KAAMA,EACNohC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfwuB,UAAYxuB,IACVA,EAAMuS,kBACNia,EAAmBxsB,IAErBiX,OAASjX,IACPA,EAAMuS,kBACN87B,EAAkBruC,IAEpBj1B,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdvU,MAAOA,EACP15B,KAAMu0B,EAAO+oD,aAAe,OAAS,WACrCxjE,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXrqD,MAAOA,EACPH,OAAQA,EACR4vC,YAAaA,EACb5rC,SAAUA,EACVwjE,WAAY7iD,EACZmjD,WAAYA,IAEd3jE,IAAAC,cAAC2jE,GAAO,CACN/nE,OAAO,OACPiE,QA5DwBukE,KAC9BF,EAAU,IAAK9oD,EAAQ+oD,cAAe/oD,EAAO+oD,gBA4DvCP,QAASA,EACT7nE,MAAOkoE,GAEN7oD,EAAO+oD,aACNpkE,IAAAC,cAACqkE,GAAG,CAACvjE,MAAOtG,GAAMrD,OAElB4I,IAAAC,cAACskE,GAAM,CAACxjE,MAAOtG,GAAMrD,QAGxB9e,EACC0nB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACsjE,GAAc,CACbvnE,MAAOkoE,EACProE,OAAO,OACP2nE,cAAelrF,GAEf0nB,IAAAC,cAACgL,KAAkB,CAACzvB,KAAK,QAE3BwkB,IAAAC,cAAC+mC,GAAY,CAACqF,aAAcA,GAAe/zD,IAG7C0nB,IAAAC,cAACsjE,GAAc,CAACvnE,MAAOkoE,EAAUroE,OAAO,OAAO2nE,cAAelrF,GAC5D0nB,IAAAC,cAACoL,KAAa,CAAC7vB,KAAK,UCtIzB,MAAMklB,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,QAEtB2pE,GAA0B9pE,WAAOC,IAAGK,QAAAH,aAAA,oHAG3CjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACV0kB,EACMvC,eAAGG,QAAAL,aAAA,wDACYyC,GAAO,kBC0FrBmnE,OAxFf,SAAiB7rF,GAQb,IARc,OAChBiO,EAAM,UACN86C,EAAS,WACTgiC,EAAU,eACVe,EAAc,sBACdC,EAAqB,aACrBt4B,EAAY,SACZ63B,GACDtrF,EACC,MAAOsyC,EAAa05C,GAAkB39D,oBAAS,GAI/C,SAAS49D,EAAYzkE,GACnB,MAAM,KAAEgE,EAAI,MAAEoc,GAAUpgB,EAAEmrC,OAEpB/gB,EAAY8P,YAAQzzC,EAAS1L,IACjCA,EAAMipB,GAAQoc,IAGhBmhB,EAAUnX,GAGZ,OACExqB,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC+jE,GAAa,CACZxd,aAAepmD,GAAMykE,EAAYzkE,GACjC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,mBACZrnC,KAAK,QACL6/D,UAAU,QACVzjD,MAAO35B,EAAO2qB,MACdqyD,SAAO,EACPF,WAAYA,EACZt3B,aAAcA,EACd63B,SAAUA,IAGZlkE,IAAAC,cAACukE,GAAuB,CACtB1kE,QAhCqBglE,KAC3BF,GAAgB15C,IAgCV5tB,QAAU4tB,EAAuB,OAAT,QAExBlrB,IAAAC,cAACs6C,KAAQ,CAACx5C,MAAOtG,GAAM7D,OAAQpb,KAAK,OACpCwkB,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM7D,OACbsK,WAAY,GACZG,KAAK,mBAGR6pB,EACClrB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC+jE,GAAa,CACZC,UAAU,aACVzd,aAAepmD,GAAMykE,EAAYzkE,GACjCqrC,YAAY,sBACZrnC,KAAK,YACLoc,MAAO35B,EAAO4qB,UACdoyD,SAAO,EACP7nE,MAAM,MACNH,OAAO,KACP8nE,WAAYe,EACZr4B,aAAcA,EACd63B,SAAUA,IAEZlkE,IAAAC,cAAC+jE,GAAa,CACZC,UAAU,+BACVzd,aAAepmD,GAAMykE,EAAYzkE,GACjCqrC,YAAY,2CACZrnC,KAAK,mBACLoc,MAAO35B,EAAO6qB,iBACdmyD,SAAO,EACP7nE,MAAM,MACNH,OAAO,KACP8nE,WAAYgB,EACZt4B,aAAcA,EACd63B,SAAUA,KAGZ,QCDGa,I,iCAAAA,GA3EKnsF,IASb,IATc,cACnBmqB,EAAa,kBACbiiE,EAAiB,qBACjBC,EAAoB,mBACpBC,EAAkB,sBAClBC,EAAqB,WACrBxB,EAAU,eACVe,EAAc,sBACdC,GACD/rF,EACC,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MACjD,SAASoiE,EAAYzkE,EAAG7kB,GACtB,MAAM6pF,EAAuB9qC,YAAQ0qC,EAAoB7pF,IACnDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,SAGjEykD,EAAqBG,GAGvB,OACEplE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,GAC3CzD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAAC2wC,YAAU,GAC1Cr0C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,SACL5B,cAAe,KAEjBO,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,qBAAkB/B,aAAa,MAClDU,IAAAC,cAACkjE,GAAS,CACR3c,aAAepmD,GAAMykE,EAAYzkE,EAAG,QACpCP,UAAQ,EACRinC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,wCACZrnC,KAAK,OACLoc,MAAOzd,EAAc8U,QAGzB7X,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACT5H,IAAKnrB,wBAAsBxsC,kBAAkB23D,KAE/C6H,SAAUjqC,EAAQkW,MAElB/X,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,uBAAoB/B,aAAa,MACpDU,IAAAC,cAACwjE,GAAc,CACbjd,aAAepmD,GAAMykE,EAAYzkE,EAAG,SACpCP,UAAQ,EACRinC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,iCACZrnC,KAAK,QACLoc,MAAOwkD,EAAkB7uD,WAKjCnW,IAAAC,cAACwkE,GAAQ,CACP59E,OAAQm+E,EACRrjC,UAAWsjC,EACXtB,WAAYA,EACZe,eAAgBA,EAChBC,sBAAuBA,EACvBt4B,aAAa,IACb63B,SAAS,YC9EnB,MAAM1xB,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAUXwqE,GAAK3qE,WAAO4qE,GAAEtqE,QAAAH,aAAA,qEAKd43C,GAAwB/3C,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,IAIkB93C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,8DACCjiB,IAAA,IAAC,KAAEkO,GAAMlO,EAAA,MACA,sBAATkO,EACIiU,eAAGS,QAAAX,aAAA,wCACQJ,GAAMrB,eAER,UAATtS,EACAiU,eAAGY,QAAAd,aAAA,wCACQJ,GAAMzH,cAEjB+H,eAAGe,QAAAjB,aAAA,UAKkBH,mBAAOuQ,KAAPvQ,CAA0BuB,QAAApB,aAAA,yDAC5CJ,GAAMrB,eAKWsB,mBAAO6qE,KAAP7qE,CAAmCwB,QAAArB,aAAA,yDACpDJ,GAAMzH,cAKc0H,WAAOC,IAAGyB,QAAAvB,aAAA,4CAGrC9hB,IAAA,IAAC,QAAEukB,GAASvkB,EAAA,OACZukB,EACIvC,eAAGwB,QAAA1B,aAAA,0CACUyC,GAAO,kBC+EbkoE,OA5HK5sF,IAQb,IAAD6sF,EAAA,IARe,cACnB1iE,EAAa,iBACb2iE,EAAgB,mBAChBpR,EAAkB,cAClBqR,EAAa,iBACbC,EAAgB,iBAChBC,EAAgB,SAChB9/B,GACDntD,EACC,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAC3CqjE,EAAiB//B,EAAS,UAAUF,eAEpC,qBAAE60B,GAAyBqL,GACb,OAAlBzR,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB/jD,WAuBtB,OACEvQ,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,GAC3CzD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAAC2wC,YAAU,GAC1Cr0C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,aACL5B,cAAe,KAEjBO,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,OAAO/B,aAAa,MACvCU,IAAAC,cAACwjE,GAAc,CACbjd,aAAepmD,GAtB3B,SAAsBA,EAAG7kB,GACvB,MAAMyqF,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,OAExDrlC,IAGTuqF,EAAiBM,GAecxf,CAAapmD,EAAG,QACrC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,wCACZrnC,KAAK,OACLoc,MAAOzd,EAAc8U,KACrBhY,SAAUgmE,KAGb9hC,GAAe,OAAPliC,QAAO,IAAPA,OAAO,EAAPA,EAASkW,OAChB/X,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC0rC,YAAQ,CACPnoC,KAAK,WACLwoD,SAAO,EACPhwD,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,EACXuE,UAAU,SACVjnC,KAAK,SACLsnC,SAAUo6B,GAGRhtD,wBAAsBtrC,2BACpB8mF,EAAmBhpC,aAIzBtrB,IAAAC,cAACgrC,eAAW,CAACnE,WAAY,GAAIuH,IAAK,EAAGpJ,YAAa,EAAGjpC,MAAO,KACvC,OAAlBs4D,QAAkB,IAAlBA,GAAyB,QAAPmR,EAAlBnR,EAAoB2R,aAAK,IAAAR,OAAP,EAAlBA,EAA2BrqF,IAAK28B,IAC/B,MAAM+iD,EACJ/iD,IAASe,wBAAsBxsC,kBAAkB23D,IAEnD,OACEjkC,IAAAC,cAAC49C,SAAK,CACJx8C,KACEyX,wBAAsBtrC,2BAA2BuqC,GAEnDgmC,eAAgB+c,EAChBh7D,QAASA,KAAOg7D,GAAUJ,UAOtC16D,IAAAC,cAAColE,GAAE,MACHrlE,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,UACL5B,cAAe,GACfqnC,UAAW,KAEb9mC,IAAAC,cAACimE,eAAW,CACVh1D,SACEy0D,EAAcz0D,UAAY,CACxB,CACE1N,KAAM,cACNwnB,OAAQ,KAIdm7C,uBAAyBj1D,GACvB00D,EAAiB,CACf10D,mBC/HDipC,OANMA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACmP,YAAU,EAAC12C,eAAa,EAACD,aAAW,GAC/CzD,IAAAC,cAACwyC,GAAqB,KAAC,+BC+IZ2zB,OAnIf,SAA8BxtF,GAa1B,IAb2B,cAC7BmqB,EAAa,iBACb2iE,EAAgB,cAChBC,EAAa,iBACbC,EAAgB,kBAChBZ,EAAiB,qBACjBC,EAAoB,mBACpB3Q,EAAkB,mBAClB4Q,EAAkB,sBAClBC,EAAqB,gBACrBkB,EAAe,iBACfR,EAAgB,SAChB9/B,GACDntD,EACC,MAAM,YACJkpB,EACAD,SAAS,gBAAE4V,EAAe,KAAEM,IAC1BkpB,YAAa1oB,GAAUA,EAAM9V,MAE3BkhE,EAAa59B,EAAS,SAASztD,MAC/BosF,EAAiB3+B,EAAS,aAAaztD,MACvCqsF,EAAwB5+B,EAAS,oBAAoBztD,MAsB3D,OACE0nB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC0qD,GAAY,KACX3qD,IAAAC,cAACgqD,GAAgB,KACfjqD,IAAAC,cAAC+pD,GAAS,CACR7lD,IAAI,cACJ84C,QAAM,EACNl8C,MAAM,UACNqD,KAAK,cACL/C,KAAK,eACLq0C,WAAS,EACT51C,QAASA,IAAMumE,EAAgB,iBAEjCrmE,IAAAC,cAAC+pD,GAAS,CACR7lD,IAAI,cACJpD,MAAM,UACNqD,KAAK,cACL/C,KAAK,kBACLq0C,WAAS,EACT51C,QAASA,IAAMumE,EAAgB,kBAE/B9hC,GAAWziC,KAAiBgiC,GAAc/rB,IAC1C/X,IAAAC,cAAC+pD,GAAS,CACR7lD,IAAI,aACJpD,MAAM,UACNqD,KAAK,aACL/C,KAAK,gBACLq0C,WAAS,EACT51C,QAASA,IAAMumE,EAAgB,gBAGnCrmE,IAAAC,cAAC+pD,GAAS,CACR7lD,IAAI,kBACJpD,MAAM,UACNqD,KAAK,kBACL/C,KAAK,sBACLq0C,WAAS,EACT51C,QAASA,IAAMumE,EAAgB,sBAGnCrmE,IAAAC,cAACuqD,GAAiB,CAChBjvD,UAAU,OACVM,OAAO,OACPohD,QAAM,EACNwN,WAAW,eAhEnB,WACE,OAAI6J,EAAmBxwE,QACdkc,IAAAC,cAACg7C,GAAe,MAErBqZ,EAAmBpwE,SAEnB8b,IAAAC,cAACulE,GAAW,CACVziE,cAAeA,EACf2iE,iBAAkBA,EAClBC,cAAeA,EACfC,iBAAkBA,EAClBtR,mBAAoBA,EAAmBpwE,SACvC2hF,iBAAkBA,EAClB9/B,SAAUA,IAIT/lC,IAAAC,cAACk6C,GAAY,MAiDbmsB,IAEHtmE,IAAAC,cAACuqD,GAAiB,CAChBjvD,UAAU,OACVM,OAAO,OACP4uD,WAAW,eAEXzqD,IAAAC,cAAC8kE,GAAW,CACVhiE,cAAeA,EACfiiE,kBAAmBA,EACnBC,qBAAsBA,EACtBC,mBAAoBA,EACpBC,sBAAuBA,EACvBxB,WAAYA,EACZe,eAAgBA,EAChBC,sBAAuBA,MAGzBpgC,GAAWziC,KAAiBgiC,GAAc/rB,IAC1C/X,IAAAC,cAACuqD,GAAiB,CAChBjvD,UAAU,OACVM,OAAO,OACP4uD,WAAW,cAEXzqD,IAAAC,cAAC07D,GAA0B,CACzBprD,UAAWkH,EACXokD,YAAa9jD,KAInB/X,IAAAC,cAACuqD,GAAiB,CAChBjvD,UAAU,OACVM,OAAO,OACP4uD,WAAW,mBAEXzqD,IAAAC,cAAC6iE,GAAe,UChJnB,MAAMyD,GAET,iFAFSA,GAIT,mI,OCAG,MAAM7lE,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,8FC2mBpB2rE,I,6CAAAA,GAlkBf,WACE,MAAM/1E,EAAWoT,cACX4iE,EAAU9gC,iBAAO,OAEjB,gBAAEluB,EAAe,KAAEM,GAASkpB,YAAa1oB,GAAUA,EAAM9V,KAAKZ,UAC9D,QAAEA,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAE3C,eACJgM,EAAc,eACdC,EAAc,mBACdC,EAAkB,iBAClBI,EAAgB,iBAChBE,EAAgB,WAChBC,GACE+xB,YAAa1oB,GAAUA,EAAM1W,UAC3B,qBAAEu5D,EAAoB,aAAEL,GAAiB1C,GAC7C5gD,EACAM,GAGI2uD,EAAiBC,OAAaC,MAAM,CACxCp1D,MAAOm1D,OAAa1tD,OAAOwsB,SAAS,0CACpCh0B,UAAWk1D,OACR1tD,OACA4tD,QACClxD,GAA2BC,cAC3B,uDAEDixD,QACClxD,GAA2BK,eAC3B,gEAEDiD,OACA4tD,QAAQN,GAAsBA,IAC9BO,SAAS,CAACH,KAAQ,UAAW,4CAC7BlhC,SAAS,yCACZ/zB,iBAAkBi1D,OACf1tD,OACA4tD,QACClxD,GAA2BC,cAC3B,uEAEDixD,QACClxD,GAA2BK,eAC3B,gEAED6wD,QAAQN,GAAsBA,IAC9BQ,MACC,CAACJ,KAAQ,cACT,4DAEDG,SACC,CAACH,KAAQ,UACT,4DAEDlhC,SAAS,wDAGRuhC,EAAqB,CACzBz2D,UAAW2K,SAASzD,EAAiB,IACrCI,KAAMpJ,EAAevqB,SAAS2zB,MAAQ,GACtC+S,UAAWnc,EAAevqB,SAAS0mC,WAAa,GAChDU,WAAY7c,EAAevqB,SAASonC,YAAc,GAClD27C,UACEC,2BAAyBx6F,oCACvB+hC,EAAevqB,SAASonC,aACrB,IAGH67C,EAAuB,CAC3Bj2D,SAAU,CACR,CACE1N,KAAM4jE,mBAAiB96F,kBAAkBE,YACzCw+C,OAAQ,MAKRq8C,EAA0B,CAC9BxvD,KAAMlJ,EAAmBzqB,SAAS2zB,MAAQ,GAC1C1B,MAAOxH,EAAmBzqB,SAASiyB,OAAS,GAC5C3E,MAAO,GACPC,UAAW,GACXC,iBAAkB,KAGb3O,EAAe2iE,GAAoBz+D,mBAAS+/D,IAC5CrB,EAAeC,GAAoB3+D,mBAASkgE,IAC5CG,EAAgBC,GAAqBtgE,sBACrCugE,EAAuBC,GAA4BxgE,mBACxDkgE,IAEKnC,EAAmBC,GAAwBh+D,mBAChDogE,IAEKK,EAAkBC,GAAuB1gE,oBAAS,IAClD2gE,EAAsBC,GAA2B5gE,mBAAS,CAC/DhjB,SAAS,EACT6jF,YAAa,GACbvuD,QAAS,MAEJwuD,EAAYC,GAAiB/gE,mBAAS,CAC3C3uB,OAAO,EACPihC,QAAS,MAEJ0uD,EAAWC,GAAgBjhE,mBAAS,gBACpC4+D,EAAkBsC,GAAuBlhE,oBAAS,GACzD,SAASmhE,EAA0BC,EAAWC,GAC5C,OAAQC,kBAAQF,EAAWC,GAwC7B,SAASE,IACP,OACEJ,EAA0BpB,EAAoBjkE,KAC7CqlE,EAA0BZ,EAAuB7B,GAE3CyC,EAA0BpB,EAAoBjkE,IAGpDqlE,EAA0BpB,EAAoBjkE,IAC/CqlE,EAA0BZ,EAAuB7B,IACjDA,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,EAAe/hD,EAAEsE,OAAQtE,EAAEljB,OAG7D4kE,EAA0BZ,EAAuB7B,IACjDA,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,EAAe/hD,EAAEsE,OAAQtE,EAAEljB,OAIjE4kE,EAA0BpB,EAAoBjkE,IAC9CqlE,EAA0BZ,EAAuB7B,IACjDA,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,EAAe/hD,EAAEsE,OAAQtE,EAAEljB,OAG7D4kE,EAA0BpB,EAAoBjkE,IAC7CqlE,EAA0BZ,EAAuB7B,IAChDA,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,EAAe/hD,EAAEsE,OAAQtE,EAAEljB,YATrE,EAcF,SAASklE,IACP,OAAON,EACLf,EACArC,GAxEJ59D,oBAAU,KACa,QAAjBvF,EAAQkW,MACVowD,GAAoB,GAEtBxlB,YAAM,KACJlyD,EAAS2nB,GAAqCX,IAC9ChnB,EAAS2nB,GAAqCX,IAC9ChnB,EAAS2nB,GAAyCX,OAEnD,IAEHrQ,oBAAU,KACJqH,EAAevqB,UAAUwhF,EAAiBsB,IAC7C,CAACv4D,EAAevqB,WAEnBkjB,oBAAU,KACR,GAAIsH,EAAexqB,SAAS1M,OAAS,EAAG,CACtC,MAAM05B,EAAW,GACjBxC,EAAexqB,SAAS9I,IAAK2vC,IAC3B7Z,EAASrI,KAAK,CACZrF,KAAMunB,EAAQ49C,YACd39C,OAAQD,EAAQ69C,MAAMrvF,WAAWsnB,OAAOkqB,EAAQ89C,cAIpDpB,EAAyB,CAAEv2D,aAC3B00D,EAAiB,CAAE10D,kBAEnB00D,EAAiBuB,IAElB,CAACz4D,EAAexqB,WAEnBkjB,oBAAU,KACJuH,EAAmBzqB,UACrB+gF,EAAqBoC,IACtB,CAAC14D,EAAmBzqB,WAyCvB,MAAM4kF,EAA0BlnC,sBAC7BmnC,IACc,CACXC,YAAaR,IACbS,YAAaP,IACbQ,WAAYnO,GAGFgO,IAEd,CAACL,EAAqBF,EAAqBzN,IAc7C,SAAS0N,EAAe19C,EAASvnB,GAM/B,MALqB,CACnBh3B,YAAa+pC,GAAqBwU,GAClCx+C,QAASsqC,GAAoBkU,IAGXvnB,GAoCtB,SAAS2lE,EAAkBztF,GACzB,MAAM,kBAAE0tF,GAlCV,SAA4B1tF,GAAO,IAAD2tF,EAChC,MAAMD,EAAoB,CACxB74D,UAAW2K,SAASzD,EAAiB,IACrCI,KAAMn8B,EAAKm8B,KACX+S,UAAWlvC,EAAKkvC,UAAYlvC,EAAKkvC,UAAY,GAC7CU,WAAYxS,wBAAsBrrC,2BAA2BiO,EAAK4tF,QAClErC,UAAWvrF,EAAKurF,UAAYvrF,EAAKurF,UAAY,IAGzCsC,EAAoB,CACxBr4D,SAAU,IAWZ,OARgB,QAAZm4D,EAAA3tF,EAAKqvC,eAAO,IAAAs+C,OAAA,EAAZA,EAAc7xF,QAAS,GACzBkE,EAAKqvC,QAAQ3vC,IAAKsrC,IAChB6iD,EAAkBr4D,SAASrI,KAAK,CAC9BmiB,OAAQtE,EAAEsE,OACVxnB,KAAMkjB,EAAEljB,SAIP,CAAE4lE,oBAAmBG,qBAaEC,CAAmB9tF,GAC3C6tF,EAAoB,CAAEr4D,SAAU,IACtC,GACEk3D,EAA0BgB,EAAmBpC,IAC5CoB,EAA0BzC,EAAewB,IACxCxB,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,EAAe/hD,EAAEsE,OAAQtE,EAAEljB,OACjE,CACA+lE,EAAkBr4D,SAAWy0D,EAAcz0D,SAAS91B,IAAKsrC,IAChD,CACLuE,IAAKvE,EAAEsE,OAAOrU,UAAU,EAAG,GAC3BqU,OAAQtE,EAAEsE,OAAOrU,UAAU,GAC3BnT,KAAMkjB,EAAEljB,QAIZ4lE,EAAkB99C,WA1BtB,SAA+B5vC,GAC7B,OAAOo9B,wBAAsBrrC,2BAA2BiO,EAAK4tF,UAC3DxwD,wBAAsBxsC,kBAAkB23D,IACtCijC,2BAAyBr6F,oCACvB6O,EAAKurF,WAEPnuD,wBAAsBrrC,2BAA2BiO,EAAK4tF,QAoBzBG,CAAsB/tF,GAErD,MAAM,KAAEq8B,GAASlW,EACbiiC,GAAc/rB,GAChBtnB,EACE2nB,GACEmxD,EACAH,EAAkB74D,YAItB9f,EACE2nB,GACEgxD,EACAG,KAwNV,OA5SAniE,oBAAU,KACJ0hE,EAAwBb,GAAYN,GAAoB,GACvDA,GAAoB,IACxB,CACDM,EACAllE,EACA4iE,EACAX,EACA8D,IAgOF1hE,oBAAU,KACJ2H,EAAiB3qB,SACnB4jF,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,qCAEZ,CAACxK,EAAiB3qB,UAErBgjB,oBAAU,KACJ2H,EAAiB9qB,SACnB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,gDAEZ,CAACxK,EAAiB9qB,UAErBmjB,oBAAU,KACR,GAAI8H,EAAW9qB,QAAS,CACtB,MAAMslF,EACJ,0GAEInwD,EACJrK,EAAW52B,MAAM,KAAOoxF,EACpBA,EACA,2BAEN1B,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,cAGH,CAACrK,EAAW9qB,UAEfgjB,oBAAU,KACR,GAAI8H,EAAWjrB,QAAS,CACtB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,wCAGX,MAAMowD,EAAqB,CACzBt3C,OAAQxwB,EAAQ8V,MAChBN,SAAUiwD,EAAe91D,MAEzBo4D,UAAW,YAGbn5E,EAASuT,GAA6B2lE,MAEvC,CAACz6D,EAAWjrB,UAEfmjB,oBAAU,KACJ6H,EAAiB7qB,SACnB4jF,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,yCAGZ,CAACtK,EAAiB7qB,UAErBgjB,oBAAU,KACJ6H,EAAiBhrB,SACnB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,mDAEZ,CAACtK,EAAiBhrB,UAGnB+b,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,sBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,sBACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,2BAIrC7I,IAAAC,cAAC4jD,KAAI,CAACtjD,IAAKkmE,EAAS3iB,SAjK1B,SAAsBpoE,GACpB,OAAQusF,GACN,IAAK,cACHkB,EAAkBztF,GAClB,MACF,IAAK,eAhDTwU,eAAiCxU,GAC/B,UAcQgrF,EAAemD,SAASnuF,EAAM,CAClCouF,YAAY,IAGdvC,EAAkB,CAAE/1D,MAAO91B,EAAK+1B,YAChChhB,EACE2nB,GACEX,EACA/7B,EAAK81B,MACL91B,EAAK+1B,UACL/1B,EAAKg2B,mBAIT+0D,EAAQzgC,QAAQ5C,UAAU,IAC1B,MAAO9qD,GACP,GAAIA,aAAiBquF,KAAqB,CACxC,MAAMoD,EAAgB,GAEtBzxF,EAAM0xF,MAAMp+C,QAASxO,IACnB2sD,EAAc3sD,EAAI3D,MAAQ2D,EAAI7D,UAGhCktD,EAAQzgC,QAAQ5C,UAAU2mC,KAW1BE,CAAkBvuF,GAClB,MACF,IAAK,aACH0/E,OAyJEp7D,IAAAC,cAACmmE,GAAqB,CACpBrjE,cAAeA,EACf2iE,iBAAkBA,EAClBC,cAAeA,EACfC,iBAAkBA,EAClBZ,kBAAmBA,EACnBC,qBAAsBA,EACtB3Q,mBAAoB7lD,EACpBy2D,mBAAoBv2D,EAAmBzqB,SACvCihF,sBA5IV,SAA+B50D,EAAWupC,GACxC,MAKMowB,EAtBR,SAAoC/5E,EAAQtJ,GAa1C,MAZgB,CACdhZ,kBAAmBuqC,GAAyCvxB,GAC5D/Y,MAAOsqC,GACLvxB,EACAujC,iBAAe99C,kBAAkByB,SAEnCA,QAASqqC,GACPvxB,EACAujC,iBAAe99C,kBAAkBwB,QAItBqiB,GASOg6E,CAA2BrwB,EALlC,CACb,CACEvpC,eAKJ9f,EAASy5E,IAqID7D,gBArGV,SAAyB+D,GACvBlC,EAAakC,IAqGLvE,iBAAkBA,EAClB9/B,SAAUA,OAEZ/lC,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAImN,qBAAmB,EAACxwC,aAAW,GACzDzD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL1c,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QArHZ,WACEhlB,EAAQ+tB,KAAK,iBAqHJ,YAGD7I,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLxH,MAAO,IACPmB,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbnkC,KAAK,0BACLjB,SAAU6nE,EACVvzB,oBAAkB,EAClB1wC,aAAW,EACX3c,KAAK,UAELkZ,IAAAC,cAACoqE,KAAY,MAAG,YAKtBrqE,IAAAC,cAACqoD,GAAY,CACXxoD,QArKR,WACE+nE,EAAwB,CACtB5jF,SAAS,EACTs1B,QAAS,kDAEPxK,EAAiB9qB,SACnBwM,EAAS2nB,MACPlJ,EAAWjrB,SAASwM,EAAS2nB,MAC7BnJ,EAAiBhrB,SACnBwM,EAAS2nB,OA6JL/W,KAAMumE,EAAqBruD,QAC3B3V,OAAQgkE,EAAqB3jF,UAE/B+b,IAAAC,cAACgrD,GAAU,CACTnrD,QA9JR,WACEkoE,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,oCAGPxK,EAAiB3qB,SACnBqM,EAAS2nB,MACPlJ,EAAW9qB,SAASqM,EAAS2nB,MAC7BnJ,EAAiB7qB,SACnBqM,EAAS2nB,OAqJL/W,KAAM0mE,EAAWxuD,QACjB3V,OAAQmkE,EAAWzvF,WC7lB7B,MAAMk6D,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAUXyvE,GAAsB5vE,WAAOC,IAAGK,QAAAH,aAAA,iIACvB6uD,GAAOl1D,QAIb5b,IAAA,IAAC,UAAE2iB,GAAW3iB,EAAA,OAAK2iB,GAAa,SAChCxiB,IAAA,IAAC,UAAE8rD,GAAW9rD,EAAA,OAAK8rD,GAAa,SAEpC1pC,IAAA,IAAC,OAAEU,GAAQV,EAAA,OAAKU,GAAU,SAGzBguD,GAAiBnvD,WAAOC,IAAGO,QAAAL,aAAA,kRAetB6uD,GAAOtyD,MAIZq7C,GAAwB/3C,WAAOC,IAAGU,QAAAR,aAAA,uQAIpC6uD,GAAOr0D,UAQDm9C,IAIJ+3B,GAAc7vE,mBAAO8vE,KAAP9vE,CAAec,QAAAX,aAAA,oFAGhC6uD,GAAOtwD,eAIJqxE,GAAe/vE,mBAAOgwE,KAAPhwE,CAAqBiB,QAAAd,aAAA,oFAGvC6uD,GAAO12D,cAGJ23E,GAAYjwE,mBAAOkwE,KAAPlwE,CAAgBoB,QAAAjB,aAAA,oFAG/B6uD,GAAO7zD,KAIJg1E,GAAenwE,mBAAOowE,KAAPpwE,CAAcuB,QAAApB,aAAA,kFAGhC6uD,GAAO31D,aAIJg3E,GAAcrwE,mBAAOswE,KAAPtwE,CAAuBwB,QAAArB,aAAA,uEAMrC8G,GAAOjH,WAAOusC,KAAI7qC,QAAAvB,aAAA,4EAI3BS,IAAA,IAAC,YAAE6F,GAAa7F,EAAA,OAChB6F,EACIpG,eAAGwB,QAAA1B,aAAA,+CACesG,GAElB,IAEJ1F,IAAA,IAAC,cAAEqiD,GAAeriD,EAAA,OAClBqiD,EACI/iD,eAAG2B,QAAA7B,aAAA,8CAGHE,eAAG8B,QAAAhC,aAAA,oDAKEowE,GAAsBvwE,WAAOC,IAAGoC,QAAAlC,aAAA,0FACzCe,IAAA,IAAC,MAAEI,GAAOJ,EAAA,OACVI,EACIjB,eAAGkC,QAAApC,aAAA,mDACQmB,GAEX,KCrHOm+C,OANMA,IACnBn6C,IAAAC,cAACqqE,GAAmB,KAClBtqE,IAAAC,cAACwyC,GAAqB,KAAC,+B,SC2BZy4B,OA1BetyF,IAAiB,IAAhB,OAAEw/C,GAAQx/C,EACvC,OACEonB,IAAAC,cAACu1C,YAAQ,CAAC21B,aAAW,GACnBnrE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,mBAG1Czd,EAAOh9C,IAAKgwF,GACXprE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KACpC71C,IAAAC,cAACgrC,eAAW,CAACogC,YAAU,EAACzwB,WAAUwwB,EAAIvzD,KAAM4+C,WAAS,QAClD2U,EAAIE,iBAIXtrE,IAAAC,cAACsrE,KAAY,CACXjiF,GAAG,OACH48C,UAAU,aACVslC,WAAW,EACXC,OAAO,QACPxe,gBAAiBxyD,GAAMjE,WACvBk1E,UAAU,OACVC,MAAM,aCmGCC,OAlHWhzF,IAOnB,IAPoB,QACzB6N,EAAO,UACP+H,EAAS,gBACTq9E,EAAe,4BACfC,EAA2B,aAC3BrnF,EAAY,cACZ6mF,GACD1yF,EACC,MAAMmzF,EAAgB,CACpB1xF,YAAa,CACX84D,KAAMnzC,IAAAC,cAACsqE,GAAW,MAClB5oE,KACE3B,IAAAC,cAAC0B,GAAI,CAACm8C,cAA6B,IAAdtvD,GAAiB,eACxBwR,IAAAC,cAAA,YAAO,qBAIzB+rE,OAAQ,CACN74B,KAAMnzC,IAAAC,cAACwqE,GAAY,MACnB9oE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,WAK7Dy9E,SAAU,CACR94B,KAAMnzC,IAAAC,cAAC0qE,GAAS,MAChBhpE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,aAK7D09E,WAAY,CACV/4B,KAAMnzC,IAAAC,cAAC8qE,GAAW,MAClBppE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,mBAK7D29E,cAAe,CACbh5B,KAAMnzC,IAAAC,cAAC4qE,GAAY,MACnBlpE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,mBAK7D,uBAAqB,CACnB2kD,KAAMnzC,IAAAC,cAAC8qE,GAAW,MAClBppE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,mBAK7D,iBAAkB,CAChB2kD,KAAMnzC,IAAAC,cAAC4qE,GAAY,MACnBlpE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,mBAK7D49E,SAAU,CACRj5B,KAAMnzC,IAAAC,cAACwqE,GAAY,MACnB9oE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,WAK7D69E,UAAW,CACTl5B,KAAMnzC,IAAAC,cAAC0qE,GAAS,MAChBhpE,KACE3B,IAAAC,cAAC0B,GAAI,CAACR,YAAY,OAAO28C,cAA6B,IAAdtvD,GAAiB,cAc/D,OACEwR,IAAAC,cAACgrE,GAAmB,CAClBjvE,MAA2B,gBAApB6vE,EAAoC,QAAU,QACrDjxB,WAAwB,IAAdpsD,EAAkB,yBAAqB,gBACjDsR,QACgB,IAAdtR,EACI,KACA,IACEs9E,EACEt9E,EACA/H,EACAhC,EAAa6E,GACD,OAAZ7E,QAAY,IAAZA,OAAY,EAAZA,EAAc6nF,eACdhB,EACAO,IApBLE,EAAcF,GAAiB14B,KAG/B44B,EAAcF,GAAiBlqE,OC7D3Bm2C,OAjCMl/D,IAKd,IALe,QACpB6N,EAAO,QACPmgB,EAAO,4BACPklE,EAA2B,aAC3BrnF,GACD7L,EACC,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACGqD,EAAQxrB,IAAKg9C,IACZ,MAAMm0C,EAA6B,OAAZ9nF,QAAY,IAAZA,OAAY,EAAZA,EAAc+nF,WAAW/xD,KAC7CwhB,GAAcA,EAAUqvC,gBAAkBlzC,EAAOkzC,eAEpD,OAAIiB,EAEAvsE,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAAC2rE,GAAiB,CAChBnlF,QAASA,EACT+H,UAAW+9E,EAAe/9E,UAC1Bq9E,gBAAiBU,EAAehxF,OAChCuwF,4BAA6BA,EAC7BrnF,aAAcA,EACd6mF,cAAeiB,EAAejB,iBAM/BtrE,IAAAC,cAAC+4C,aAAS,KAAC,SCsDXyzB,OAlEiB7zF,IAYzB,IAZ0B,QAC/B6N,EAAO,QACPmgB,EAAO,sBACP8lE,EAAqB,4BACrBZ,EAA2B,SAE3B/1B,EAAQ,iBACRE,EAAgB,iBAChBK,EAAgB,oBAChBN,EAAmB,wBACnBE,EAAuB,cACvBy2B,GACD/zF,EAcC,OAbAwuB,oBAAU,KACR,GAAIulE,EAAe,CACjB,MAAM3xB,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAao6D,EAASp6D,WAC5BR,EAAMS,SAAWm6D,EAASn6D,SAC1BT,EAAMY,WAAag6D,EAASt6D,MAErBN,IAET66D,EAAoBgF,KAErB,CAAC2xB,EAAe52B,EAAUE,EAAkBD,IAG7Ch2C,IAAAC,cAACqqE,GAAmB,CAAC/uE,UAAU,OAAOM,OAAO,QAC3CmE,IAAAC,cAAC4pD,GAAc,KACb7pD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,QACbmE,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACirE,GAAqB,CAAC9yC,OAAQxxB,KACzC8lE,EAAsBtxF,IAAKqJ,GAC1Bub,IAAAC,cAACu1C,YAAQ,CAAC21B,aAAW,EAAChnE,IAAiB,OAAZ1f,QAAY,IAAZA,OAAY,EAAZA,EAAc6E,IACvC0W,IAAAC,cAAC+4C,aAAS,KAAc,OAAZv0D,QAAY,IAAZA,OAAY,EAAZA,EAAcozB,MAC1B7X,IAAAC,cAAC63C,GAAY,CACXrxD,QAASA,EACTmgB,QAASA,EACTklE,4BAA6BA,EAC7BrnF,aAAcA,IAEhBub,IAAAC,cAACsrE,KAAY,CACXrlC,UAAU,aACVslC,WAAW,EACXC,OAAO,QACPxe,gBAAiBxyD,GAAMjE,WACvBk1E,UAAU,OACVC,MAAM,gBAOjBgB,GAAiB52B,EAASv6D,KAAO,IAChCwkB,IAAAC,cAACg4C,cAAU,CACTC,mBAAoB5B,EACpBN,oBAAqBA,EACrBC,iBAAkBA,EAClBx6D,MAAOs6D,EAASv6D,KAChB06D,wBAAyBA,MC3BpB02B,I,qBAAAA,GA1Cf,SAAwBh0F,GAapB,IAbqB,QACvB6N,EAAO,QACPmgB,EAAO,cACP7c,EAAa,QACbjG,EAAO,4BACPgoF,EAA2B,SAE3B/1B,EAAQ,iBACRE,EAAgB,iBAChBK,EAAgB,oBAChBN,EAAmB,wBACnBE,EAAuB,cACvBy2B,GAAgB,GACjB/zF,EACC,OAAIkL,EAEAkc,IAAAC,cAACqqE,GAAmB,KAClBtqE,IAAAC,cAACg7C,GAAe,CAACp/C,OAAO,UAAU,MAKnC+K,GAAWA,EAAQpvB,QAAU,EACzBwoB,IAAAC,cAACk6C,GAAY,MAIpBn6C,IAAAC,cAACwsE,GAAuB,CACtBhmF,QAASA,EACTmgB,QAASA,EACT8lE,sBAAuB3iF,EACvB+hF,4BAA6BA,EAC7B/1B,SAAUA,EACVE,iBAAkBA,EAClBK,iBAAkBA,EAClBN,oBAAqBA,EACrBE,wBAAyBA,EACzBy2B,cAAeA,KC3Cd,MAAM9iB,GAAiBnvD,WAAOC,IAAGC,QAAAC,aAAA,sGAM3BgyE,GAAcnyE,WAAOC,IAAGK,QAAAH,aAAA,uKASjCjiB,IAAA,IAAC,OAAEijB,GAAQjjB,EAAA,OACXijB,EACId,eAAGG,QAAAL,aAAA,yCACSgB,GAEZ,KAGKixE,GAAapyE,WAAOC,IAAGU,QAAAR,aAAA,oGAMvBkyE,GAAcryE,WAAOC,IAAGa,QAAAX,aAAA,yFAOxBmyE,GAAqBtyE,WAAOC,IAAGgB,QAAAd,aAAA,gBACxC9hB,IAAA,IAAC,OAAE8iB,GAAQ9iB,EAAA,OACX8iB,EACId,eAAGe,QAAAjB,aAAA,yCACSgB,GAEZ,K,mBC1CD,MAAMoxE,GAAkBvyE,WAAOC,IAAGC,QAAAC,aAAA,gVAInBJ,GAAMzH,aAaxBpa,IAAA,IAAC,OAAEiuD,GAAQjuD,EAAA,OACXiuD,GACA9rC,eAAGC,QAAAH,aAAA,mCACSgsC,IAGZ9tD,IAAA,IAAC,cAAE+kE,GAAe/kE,EAAA,OAClB+kE,GACA/iD,eAAGG,QAAAL,aAAA,wCAK8BH,WAAOusC,KAAI5rC,QAAAR,aAAA,0FAMVH,WAAOusC,KAAIzrC,QAAAX,aAAA,mHC9BjD,SAASqyE,GAAMt0F,GAAwD,IAAvD,SAAEgnB,EAAQ,OAAEinC,EAAM,OAAEsmC,EAAM,QAAErtE,EAAO,cAAEg+C,GAAellE,EAClE,OACEonB,IAAAC,cAACgtE,GAAe,CACdpmC,OAAQA,EACR/mC,QAASA,EACTg+C,cAAeA,GAEdl+C,EACAutE,GAAUntE,IAAAC,cAACmtE,KAAc,CAACttE,QAASqtE,KClBnC,SAASxuC,GAAallD,EAAQ4R,GAEnC,MAAMs0C,EAAW9K,SAAS50B,cAAc,KACxC0/B,EAASC,KAAOnmD,EAChBkmD,EAASA,SAAWt0C,EACpBwpC,SAAShmC,KAAKgxC,YAAYF,GAC1BA,EAASG,QACTjL,SAAShmC,KAAKkxC,YAAYJ,GCP5B,IAAI,GAAO,GACX,SAAS,KAAiS,OAApR,GAAWp+B,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMojF,GAAkBz0F,IACtB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,gBACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,2FAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcotE,GAAiB,GAAS,CAC1Hz9B,OAAQrvC,GACPe,KACY,ICqEAd,OA/EK5nB,IAOb,IAPc,cACnBylC,EAAa,UACbivD,EAAS,UACTC,EAAS,WACTC,EAAU,kBACVC,EAAiB,oBACjBC,GACD90F,EACC,MAAM,QAAEipB,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAEjD,OACEzC,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACM,WAAS,GACxCv0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL2wC,oBAAkB,EAClB1wC,aAAW,EACX3D,QAAS0tE,EACT1sE,KAAK,0BACLxE,WAAW,uBACZ,YAGD0D,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,GACpBpQ,GAAcjiC,EAAQkW,QAAU21D,GAC/B1tE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbkP,oBAAkB,EAClB1wC,aAAW,EACXzH,MAAO,IACP8D,QAASA,IAAM2tE,IACf3sE,KAAK,2BAELd,IAAAC,cAAC0tE,GAAQ,CAAC59B,KAAMt1C,GAAM9E,MAAOna,KAAK,OAAO,uBAI3CsoD,GAAcjiC,EAAQkW,OAA2B,KAAlBsG,GAC/Bre,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLjE,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbroC,QAAS,EACT4G,KAAK,YACL2wC,oBAAkB,EAClB1wC,aAAW,EACXtC,YAAa,GACbrB,QAASytE,EACTvxE,MAAO,KAEPgE,IAAAC,cAAC2qE,KAAQ,CAAC7pE,MAAOtG,GAAMzH,aAAcxX,KAAK,OAAO,WAGnDwkB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbkP,oBAAkB,EAClB1wC,aAAW,EACX3D,QAASwtE,EACTtxE,MAAO,KAEPgE,IAAAC,cAAC2tE,KAAoB,CAACpyF,KAAK,OAAO,eCwJjCqyF,OA1Mf,SAA8Bj1F,GAa1B,IAADk1F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAb4B,OAC7B5qE,EAAM,UACN0pE,EAAS,UACTC,EAAS,aACTtP,EAAY,iBACZhmC,EAAgB,kBAChBw1C,EAAiB,cAEjBnC,EAAa,gBACbO,EAAe,cACfxtD,EAAa,oBAEbqvD,GAAsB,GACvB90F,EACC,MAAM8mD,EAAoBkC,sBAAY,CAAChD,EAAWE,KAChD,MAAMC,EAAQ,CACZC,IAAI,0BAADn+B,OAA4Bi+B,GAC/BG,KAAK,0BAADp+B,OAA4Bi+B,GAChCI,IAAI,+BAADr+B,OAAiCi+B,GACpCK,IAAI,yBAADt+B,OAA2Bi+B,GAC9BM,KAAK,0BAADv+B,OAA4Bi+B,IAGlC,GAAIF,EAAW,CAAC,IAAD6vC,EACb,GAAI7vC,EAAUznB,SAAS,KACrB,OAAO4nB,EAA6B,QAAxB0vC,EAAC7vC,EAAUoO,MAAM,KAAK,UAAE,IAAAyhC,OAAA,EAAvBA,EAAyBhvC,eAExC,GAAIl+B,OAAOy1D,KAAKj4B,GAAO5nB,SAAkB,OAATynB,QAAS,IAATA,OAAS,EAATA,EAAWa,eACzC,OAAOV,EAAe,OAATH,QAAS,IAATA,OAAS,EAATA,EAAWa,eAE5B,OAAO,MACN,IAEH,OACEz/B,IAAAC,cAAC6D,SAAK,CACJjI,OAAQ,IACRT,IAAK,GACLY,MAAO,IACP4H,OAAQA,EACR9D,QAASm+D,EACT7lC,OACEp4B,IAAAC,cAAAD,IAAAuD,SAAA,KACGmrE,oBAAkB14F,4BAA4Bs1F,GAAe,IAAE,IACtC,QADyCwC,EAClE71C,EAAiB/zC,gBAAQ,IAAA4pF,OAAA,EAAzBA,EAA2Bj2D,MAGhC9T,OACE/D,IAAAC,cAACO,GAAW,CACV6d,cAAeA,EACfkvD,UAAWA,EACXD,UAAWA,EACXE,WAAYvP,EACZwP,kBAAmBA,EACnBC,oBAAqBA,KAIzB1tE,IAAAC,cAACI,GAAmB,CAACxE,OAAO,OAC1BmE,IAAAC,cAACK,GAAY,CACXtE,MAAM,OACNiC,SAAS,SACT1C,UAAU,OACVM,OAAO,QAEPmE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,GAC3Bv0C,IAAAC,cAAC4pD,GAAc,KACb7pD,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,OAELrB,IAAAC,cAAC0B,QAAI,CAACN,KAA+B,QAA3B0sE,EAAE91C,EAAiB/zC,gBAAQ,IAAA6pF,OAAA,EAAzBA,EAA2BxjF,OAEzCyV,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,mBAELrB,IAAAC,cAAC0B,QAAI,CAACN,KAA+B,QAA3B2sE,EAAE/1C,EAAiB/zC,gBAAQ,IAAA8pF,OAAA,EAAzBA,EAA2Bn2D,QAEzC7X,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,QAELrB,IAAAC,cAAC0B,QAAI,CAACN,KAA+B,QAA3B4sE,EAAEh2C,EAAiB/zC,gBAAQ,IAAA+pF,OAAA,EAAzBA,EAA2BU,kBAEzC3uE,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,cAELrB,IAAAC,cAAC0B,QAAI,CAACN,KAA+B,QAA3B6sE,EAAEj2C,EAAiB/zC,gBAAQ,IAAAgqF,OAAA,EAAzBA,EAA2BnyD,cAEzC/b,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,sBAELrB,IAAAC,cAAC0B,QAAI,CAACN,KAA+B,QAA3B8sE,EAAEl2C,EAAiB/zC,gBAAQ,IAAAiqF,OAAA,EAAzBA,EAA2B3oF,qBAGtB,aAApBqmF,GACsB,cAApBA,GACC7rE,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACnzC,WAAY,IAC/ClB,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,oBAELrB,IAAAC,cAAC0B,QAAI,CACHN,KAA+B,QAA3B+sE,EAAEn2C,EAAiB/zC,gBAAQ,IAAAkqF,OAAA,EAAzBA,EAA2BQ,yBAIb,QAAzBP,EAAAp2C,EAAiB/zC,gBAAQ,IAAAmqF,OAAA,EAAzBA,EAA2BQ,qBAC1B7uE,IAAAC,cAACinC,GAAc,CACbpmC,KAAK,uBACLumC,WAAW,MACXtmC,MAAOtG,GAAMpC,UACbgJ,KAAK,SACLH,WAAW,QAEXlB,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAAC1nC,aAAW,GACnCzD,IAAAC,cAACitE,GAAM,CACLpvB,eAAa,EACbh+C,QAASA,KAAA,IAAAgvE,EAAAC,EAAAC,EAAA,OACPrwC,GACEe,EAC2B,QADVovC,EACf72C,EAAiB/zC,gBAAQ,IAAA4qF,OAAA,EAAzBA,EAA2BG,kBACF,QADmBF,EAC5C92C,EAAiB/zC,gBAAQ,IAAA6qF,OAAA,EAAzBA,EAA2BF,oBAC3B,GAADhuE,OAC2B,QAD3BmuE,EACE/2C,EAAiB/zC,gBAAQ,IAAA8qF,OAAA,EAAzBA,EAA2BE,2BAGnC,gBASflvE,IAAAC,cAACkvE,GAAgB,CACf7R,UAAQ,EACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,YAAU,EACVC,cAAe,EACfC,cAAe,IACfC,aAAc,GACdC,WAAS,GAET79D,IAAAC,cAAC+sE,GAAkB,KACjBhtE,IAAAC,cAAC4sE,GAAW,KACV7sE,IAAAC,cAAC6sE,GAAU,KACT9sE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL2wC,oBAAkB,EAClB1wC,aAAW,EACX3D,QAASA,KAAA,IAAAsvE,EAAAC,EAAAC,EAAA,OACP3wC,GACEe,EAC2B,QADV0vC,EACfn3C,EAAiB/zC,gBAAQ,IAAAkrF,OAAA,EAAzBA,EAA2BH,kBACF,QADmBI,EAC5Cp3C,EAAiB/zC,gBAAQ,IAAAmrF,OAAA,EAAzBA,EAA2BpzC,WAC3B,GAADp7B,OAC2B,QAD3ByuE,EACEr3C,EAAiB/zC,gBAAQ,IAAAorF,OAAA,EAAzBA,EAA2B/kF,IAAG,KAAAsW,OAAIyqE,KAGzCxqE,KAAK,0BACLxE,WAAW,uBAEX0D,IAAAC,cAAC+3C,KAAc,MAAG,aAItBh4C,IAAAC,cAAC8sE,GAAW,KACV/sE,IAAAC,cAACsvE,eAAW,CACV3wC,UAAS,IAAA/9B,OAA+B,QAA/BytE,EAAMr2C,EAAiB/zC,gBAAQ,IAAAoqF,OAAA,EAAzBA,EAA2BW,mBAC1Cx1F,OAAQimD,EACmB,QADF6uC,EACvBt2C,EAAiB/zC,gBAAQ,IAAAqqF,OAAA,EAAzBA,EAA2BU,kBACF,QADmBT,EAC5Cv2C,EAAiB/zC,gBAAQ,IAAAsqF,OAAA,EAAzBA,EAA2BvyC,qBCVjD,MAAMz7B,GAAcznB,IAIb,IAJc,QACnB+mB,EAAO,oBACP0vE,EAAmB,qBACnBC,GACD12F,EACC,OACEinB,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACM,WAAS,GACxCv0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL2wC,oBAAkB,EAClB1wC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASA,GACV,YAGDE,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,GACrBl0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL2wC,oBAAkB,EAClB1wC,aAAW,EACX5D,SAAU2vE,EACVxzE,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAM2vE,KAChB,aAQMC,I,GAAAA,GAlOf,SAA0B92F,GAMtB,IANuB,OACzBgrB,EAAM,QACN9D,EAAO,cACP6vE,EAAa,UACbnhF,EAAS,uBACTohF,GACDh3F,EACC,MAAMi3F,EAAqB,CACzBC,aAAc,OAGTrqF,EAAOwhE,GAAYhgD,mBAAS,KAC5B6oE,EAAcC,GAAmB9oE,mBAAS4oE,GA4GjD,OACE7vE,IAAAC,cAAC6D,SAAK,CACJjI,OAAQ,IACRT,IAAK,GACLY,MAAO,IACP4H,OAAQA,EACR9D,QAASA,EACTs4B,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,kCACVQ,OACE/D,IAAAC,cAACO,GAAW,CACVV,QAASA,EACT0vE,qBACGM,EAAaA,cACbF,GAA0BnqF,EAAMjO,QAAU,EAE7Ci4F,qBAAsBA,KAAO,IAADO,EAAAC,EAC1B,MAAMppF,EAAS,CACb2H,YACA0hF,kBAAmB,WACnBtB,oBAAqBkB,EAAaA,aAClCjB,mBAA4B,QAAVmB,EAAEvqF,EAAM,UAAE,IAAAuqF,OAAA,EAARA,EAAUv2F,OAC9B02F,2BAAoC,QAAVF,EAAExqF,EAAM,UAAE,IAAAwqF,OAAA,EAARA,EAAU7rE,KAAK4oC,MAAM,KAAK,IAGxD2iC,EAAc9oF,GACdogE,EAAS,IACT8oB,EAAgBF,OAKtB7vE,IAAAC,cAACI,GAAmB,CAACxE,OAAO,OAC1BmE,IAAAC,cAACK,GAAY,CACXtE,MAAM,OACNH,OAAO,OACPoC,SAAS,SACT1C,UAAU,QAEVyE,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACM,WAAS,EAACX,QAAM,EAACG,YAAa,IAC7D/zC,IAAAC,cAACymD,YAAQ,CACPrb,UAAU,mBACVmb,aAAepmD,KAlH3B,SAA2BA,EAAG7kB,GAC5B,MAAM60F,EAAwB91C,YAAQu1C,EAAqB10F,IACrDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,OAExDrlC,IAET40F,EAAgBK,GA6GJ9uB,CAAkBlhD,EAAG,iBAEvBgE,KAAK,eACLpI,MAAO,IACPH,OAAQ,IACR2kB,MAAOsvD,EAAaA,eAEtB9vE,IAAAC,cAACowE,aAAS,CACRppB,SAAUA,EACVqpB,YAAY,kCACZpvE,WAAY,EACZwsC,iBAAe,EACfrC,UAAU,SACViB,UAvHZp8C,eAA0BxY,GACxB,MAAM+B,QAAehC,YAAUC,GAC/B,MAAO,CACLA,OACA0sB,KAAM1sB,EAAK0sB,KACXmoC,aAAc70D,EAAK8D,KACnBgxD,QAASC,IAAIC,gBAAgBh1D,GAC7BgU,SAAU,EACVG,UAAU,EACVvT,OAAO,EACP6vB,IAAK,KACL1uB,SACAmS,OAAQ+gD,iBA4GAC,kBAxGZ,SAA2BC,GACzB,MAGMnL,EAAiB,CACrB,MACA,MACA,OACA,MACA,OACA,MACA,OACA,MACA,OACA,OAEIpuB,EAAS,CACb8uB,YAAY,EACZD,gBAAgB,EAChBE,mBAAmB,GAGfH,EAAa,GACb6K,EAAgBF,EAAWt1D,OAAQ2B,IASvC,GARAo6B,EAAO8uB,YAAa,EACpB9uB,EAAO+uB,mBAAoB,EACvBnpD,EAAKqzD,aAzBU,UAyBmBj5B,EAAO8uB,YAAa,GAErDV,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,iBACtD55B,EAAO+uB,mBAAoB,GAEzBwK,EAAWr1D,OA7BQ,IA6BmB87B,EAAO6uB,gBAAiB,KAE9DjpD,EAAKqzD,aAhCU,UAiCjB7K,EAAevqB,SAASj+B,EAAKkrB,KAAK4oC,MAAM,KAAKC,MAAMC,gBACnDL,EAAWr1D,QAjCU,EAmCrB,OAAO0B,EAET,MAAM,eAAEipD,KAAmB5W,GAASjY,EACpC4uB,EAAWr5B,KAAK,CAAEvwB,MAAOizC,EAAMryC,WAKjC,OAvGF,SAA2Bo6B,GACrBA,EAAO4uB,WAAW1qD,OAAS,IACzB87B,EAAO4uB,WAAW,GAAG5pD,MAAM8pD,WAC7Bp2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,oDAIP+H,EAAO4uB,WAAW,GAAG5pD,MAAMi4F,aACpCvkE,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAC,wCACjB+H,EAAO4uB,WAAW,GAAG5pD,MAAM+pD,kBACpCr2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,8DAIP+H,EAAO6uB,gBAChBn2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,qCAmFpBilE,CAAkB,CAAEtuC,aAAYC,eAAgB7uB,EAAO6uB,iBAEhD4K,KA6DC/sC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACrE,UAAW,GAAIoE,UAAQ,GAC9CzlD,EAAMrK,IAAK1D,GACVsoB,IAAAC,cAACitE,GAAM,CAACrmC,OAAO,IAAIsmC,OAAQA,IA9IzC,SAAoBvhF,GAClB,MAAMixB,EAAWyd,YAAQ70C,EAAQtK,GAC/BA,EAAQA,EAAM5D,OAAQG,GAASA,EAAKkU,SAAWA,IAIjDq7D,EAASpqC,GAwIoC4zD,CAAW/4F,EAAKkU,SAC9ClU,EAAK0sB,aCvMjB,MAAM1D,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,uFC0B3BqO,wBAAwB,IAAI5X,gbA+ZrBo/E,OA7Zf,SAA0B93F,GAAa,IAAD+3F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAAX,MAAEj7D,GAAOx9B,EAClC,MAAM,0BACJk6C,EAAyB,oBACzBH,EAAmB,oBACnBE,GACEoO,YAAa1oB,GAAUA,EAAM9zB,cAE3BgM,EAAWoT,eACX,QAAEpd,GAAY2vB,EAAMvvB,OAUpByqF,EAAmB,CACvB7qF,UACAy4D,iBAAkB,OAGbqyB,EAA2BC,GAAgCvqE,mBAAS,CACzErD,QAAQ,EACR6tE,cAAe,KACf3hF,eAAgB,KAChBw7E,cAAe,KACfO,gBAAiB,QAEZ6F,EAAuBC,GAA4B1qE,mBAAS,CACjErD,QAAQ,EACRpV,UAAW,QAENynD,EAAkBD,GAAuB/uC,mBAxBnB,CAC3BtrB,WAAY,EACZC,SAAU,GACVC,SAAU,KACVC,aAAc,KACdC,WAAY,QAsBPgkE,EAAcC,GAAmB/4C,mBAASqqE,IAC1C/yB,EAAYC,GAAiBv3C,mBAAS,KACtC25C,EAAkBC,GAAuB55C,mBAAS,CACvDhjB,SAAS,EACTs1B,QAAS,KA+IX,SAASq4D,IACPJ,EAA6B,CAC3B5tE,QAAS2tE,EAA0B3tE,SAmBvC,SAASy0C,IACPn/B,OAAOC,SAASq/B,QAAQ,GAAD33C,OAClBqI,GAAuB,iCAAArI,OAAgCpa,IAqC9D,MAAMorF,EAAsBjwC,sBAAa73C,IACvC,IAAKA,GAAiBA,EAAcvS,QAAU,EAAG,MAAO,GAQxD,OAN+BuS,EAC5B3O,IAAKqJ,GAAiBA,EAAaA,cACnClN,OAAQkN,GACAA,EAAa+nF,WAAWh1F,OAAS,IAI3C,IA0CH,OAxCA4vB,oBAAU,KACR,MAAMvgB,EAAS,CACbJ,aACGwvD,GAGLxlD,EAAS8iC,GAA+C1sC,KACvD,IAEHugB,oBAAU,KACJ0rB,EAA0B7uC,UAC5ButF,EAA6B,CAC3B5tE,QAAQ,IAEV+tE,EAAyB,CACvB/tE,QAAQ,IAEVi9C,EAAoB,CAClB58D,SAAU28D,EAAiB38D,QAC3Bs1B,QAASg4D,EAA0B3tE,OAC/B,gCACA,sCAGP,CAACkvB,EAA0B7uC,UAE9BmjB,oBAAU,KACJmqE,EAA0BE,eAC5BhhF,EACE8iC,GACEg+C,EAA0BE,cAC1BF,EAA0BzhF,kBAG/B,CACDW,EACA8gF,EAA0BzhF,eAC1ByhF,EAA0BE,gBAI1BzxE,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KACEsxB,EAAoBzuC,SAAS81B,MAAK,wBAAAnZ,OACN8xB,EAAoBzuC,SAAS81B,MAAMF,WAC3D,uBAEN+oC,SAAU,GACV9hD,MAAOtG,GAAMpF,UACbiK,aAAc,IACb,IACHU,IAAAC,cAACgrC,eAAW,CACV6X,gBAAiB,GACjB5O,YAAU,EACVzwC,aAAW,EACXswC,YAAa,GACb7I,UAAQ,GAERlrC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAMu4C,KAEfr4C,IAAAC,cAAC6xE,KAAW,CAAC/wE,MAAM,UAAU,uBAKnCf,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CAAEA,KAAM,QAAS0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,gBAChD,CACE4Q,KAAM,qBACN0pC,WAAYA,IACVroE,EAAQ+tB,KAAK,eAADhI,OAAgBpa,EAAO,6BAK7CuZ,IAAAC,cAAC4jD,KAAI,CAACC,SA3RZ,SAAsBpoE,GACpB,MAAMmL,EArBR,SAAoBnL,GAClB,MAAMgmE,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM+jE,iBAAmBX,IAGrBvD,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAa,EACnBR,EAAMS,SAAW,KAGbiL,EAAS,IACV66D,KACA1G,GAKL,OAFAgF,EAAgB0B,GAChB1L,EAAoBgF,GACbn0D,EAIQy9D,GACf7zD,EAAS8iC,GAA+C1sC,MA0RlDmZ,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACtCpjD,IAAAC,cAACojD,aAAS,CACR5X,YAAY,uCACZjG,SA1RZ,SAA2BplC,GACzBo+C,EAAcp+C,EAAEmrC,OAAO/qB,QA0RbA,MAAO+9B,EACPwzB,kBAAgB,EAChBtuB,WAAYC,KACZC,WAAYC,SAIlB5jD,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAAC2sE,GAAe,CACdnmF,QAASA,EACT3C,QAAS6uC,EAAoB7uC,QAC7B8iB,QAAqC,QAA9B+pE,EAAEh+C,EAAoBzuC,gBAAQ,IAAAysF,OAAA,EAA5BA,EAA8Bv4C,OACvCruC,cAAe8nF,EACe,QADIjB,EAChCj+C,EAAoBzuC,gBAAQ,IAAA0sF,GAAe,QAAfC,EAA5BD,EAA8B7mF,qBAAa,IAAA8mF,OAAf,EAA5BA,EAA6Cn1F,MAE/CowF,4BAhNV,SACEt9E,EACAwjF,EACAliF,EACAw8E,EACAhB,EACAO,GAEAp7E,EAAS8iC,MAET,MAAMk+C,EAAgB,CACpBhrF,QAASurF,EACT1F,iBACA99E,aAGFgjF,EAA6B,CAC3B5tE,QAAS2tE,EAA0B3tE,OACnC6tE,gBACA3hF,iBACAw7E,gBACAO,qBA4LM91B,SAAU,CACRp6D,WAC8B,QADpBm1F,EACRn+C,EAAoBzuC,gBAAQ,IAAA4sF,GAAe,QAAfC,EAA5BD,EAA8B/mF,qBAAa,IAAAgnF,OAAf,EAA5BA,EAA6Cp1F,WAC/CC,SAAsC,QAA9Bo1F,EAAEr+C,EAAoBzuC,gBAAQ,IAAA8sF,GAAe,QAAfC,EAA5BD,EAA8BjnF,qBAAa,IAAAknF,OAAf,EAA5BA,EAA6Cr1F,SACvDC,SAAsC,QAA9Bq1F,EAAEv+C,EAAoBzuC,gBAAQ,IAAAgtF,GAAe,QAAfC,EAA5BD,EAA8BnnF,qBAAa,IAAAonF,OAAf,EAA5BA,EAA6Ct1F,SACvDJ,MAAmC,QAA9B21F,EAAEz+C,EAAoBzuC,gBAAQ,IAAAktF,GAAe,QAAfC,EAA5BD,EAA8BrnF,qBAAa,IAAAsnF,OAAf,EAA5BA,EAA6C51F,OAEtDw6D,iBAAkBA,EAClBK,iBAlOV,SAA0B4E,GACxB,MAAMr0D,EAAS,IACVk5D,KACA7E,GAGLzqD,EAAS8iC,GAA+C1sC,KA6NhDmvD,oBAAqBA,EACrBE,wBAjTV,SAAiC91C,GAC/B,GAAkB,KAAdA,EAAEohD,QAAgB,CACpB,MAAM36D,EAAS,IACVk5D,KACA9J,GAG+B,KAAhCA,EAAiBt6D,YACnB8U,EAAS8iC,GAA+C1sC,UA6S1DmZ,IAAAC,cAAC4tE,GAAqB,CACpBjqE,OAAQ2tE,EAA0B3tE,OAClC2pE,UAlMN,WAAoC,IAAD0E,EACjCL,IAEAD,EAAyB,CACvB/tE,QAAS8tE,EAAsB9tE,OAC/BpV,UAAoC,OAAzB+iF,QAAyB,IAAzBA,GAAwC,QAAfU,EAAzBV,EAA2BE,qBAAa,IAAAQ,OAAf,EAAzBA,EAA0CzjF,aA8LnD8+E,UA9KN,WAAmC,IAAD4E,EAChC,MAAMrrF,EAAS,CACb2H,UAAoC,OAAzB+iF,QAAyB,IAAzBA,GAAwC,QAAfW,EAAzBX,EAA2BE,qBAAa,IAAAS,OAAf,EAAzBA,EAA0C1jF,UACrD0hF,kBAAmB,UAErBz/E,EAAS8iC,GAAqD1sC,KA0K1Do3E,aAAc2T,EACd35C,iBAAkBpF,EAClB46C,kBAAmBp1B,EACnBizB,cAAeiG,EAA0BjG,cACzCO,gBAAiB0F,EAA0B1F,gBAC3CxtD,cACEsU,EAAoBzuC,SAAS81B,MACzB2Y,EAAoBzuC,SAAS81B,MAAMwB,SACnC,OAGRxb,IAAAC,cAACyvE,GAAiB,CAChB9rE,OAAQ8tE,EAAsB9tE,OAC9BpV,UAAWkjF,EAAsBljF,UACjCsR,QAzMN,WACE6xE,EAAyB,CACvB/tE,QAAS8tE,EAAsB9tE,UAwM7B+rE,cAtLN,SAAiC9oF,GAC/B4J,EAAS8iC,GAAqD1sC,KAsL1D+oF,wBAAsB,IAExB5vE,IAAAC,cAACqoD,GAAY,CACXxoD,QA7KN,WACE+gD,EAAoB,CAClB58D,SAAU28D,EAAiB38D,UAGzB6uC,EAA0B7uC,SAC5BwM,EAAS8iC,MAfb,WACE,MAAM1sC,EAAS,CACbJ,aACGwvD,GAGLxlD,EAAS8iC,GAA+C1sC,IAYxDsrF,IAqKI9wE,KAAMu/C,EAAiBrnC,QACvB3V,OAAQg9C,EAAiB38D,Y,qBCnUlBmuF,I,GAAAA,GAtGYx5F,IAKpB,IALqB,OAC1BgrB,EAAM,QACNnd,EAAO,aACPw3E,EAAY,qBACZjmC,GACDp/C,EACC,MAAM6X,EAAWoT,eAEVpe,EAAOwhE,GAAYhgD,mBAAS,IA6CnC,OARAG,oBAAU,KACJ3hB,GAASA,EAAMjO,OAAS,GAC1BiZ,EACE4oC,GAAiBhC,gCAAgC5xC,EAAOgB,KAG3D,CAACgK,EAAUhL,EAAOgB,IAGnBuZ,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACqtC,GAAe,CACd1pC,OAAQA,EACR9D,QAASm+D,EACT1wB,YACEvtC,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,sBAEAvD,IAAAC,cAAA,cAAQ,kCAAuC,yCAE/CD,IAAAC,cAAA,cAAQ,iCAAsC,KAGlDotC,oBACErtC,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,6BAEAvD,IAAAC,cAAA,KACE2/B,KAAMyyC,KACN1yC,SAAS,8BAER,IAAI,qCACwB,KAC3B,qDAIR6N,cAAgB3wB,GAAaoqC,EAASpqC,GACtC6wB,iBAAe,EACfjM,iBAtEmB,KAuEnBD,aAxEe,QAyEfE,eAvEiB,CAAC,MAAO,OAAQ,MAAO,MAAO,QAwE/CoL,gBAAkBx5B,GAtENv6B,KAAqC,IAApC,WAAEmpD,EAAU,eAAEC,GAAgBppD,EAC3CopD,GACFn2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,8BANK,KAO4B,wBAK/C22B,EAAW1qD,OAAS,GACtB0qD,EAAWtW,QAAStzC,IACdA,EAAMA,MAAM8pD,YACdp2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,aACFvL,IAAAC,cAAA,cAAS3nB,EAAM8rB,MAAc,yCAKzC9rB,EAAMA,MAAM+pD,mBACdr2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,aACFvL,IAAAC,cAAA,cAAS3nB,EAAM8rB,MAAc,6CAgDhB49B,CAAU1uB,KAEzCtT,IAAAC,cAACquC,GAAgB,CACf1qC,QACGo0B,EAAqBl0C,SACpBk0C,EAAqB/zC,SACrB+zC,EAAqB1/C,QACvBsrB,EAEFne,MAAOuyC,EAAqBvyC,MAC5B2oD,qBAAsB6vB,EACtBhzE,UAAW+sC,EAAqB/zC,QAChC+pD,cAAeiwB,M,oBC1GhB,MAAMv9D,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFC8OpBy3E,I,GAAAA,GAlNf,SAAkC15F,GAAa,IAAD25F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAAX,MAAEz8D,GAAOx9B,EAC1C,MAAM6X,EAAWoT,eACX,QAAEpd,GAAY2vB,EAAMvvB,QACpB,iBACJoxC,EAAgB,qBAChBD,EAAoB,wBACpBG,GACE8I,YAAa1oB,GAAUA,EAAM0jB,YAC3B,QAAEp6B,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAE1CqwE,EAAuBC,GAA4B9rE,oBAAS,IAC5D+rE,EAAuBC,GAA4BhsE,oBAAS,IAC5DisE,EAAyBC,GAA8BlsE,oBAAS,IAEhEmsE,EAAuBC,GAA4BpsE,mBAAS,KAC5DqsE,EAAyBC,GAA8BtsE,mBAAS,KAChEusE,EAAqBC,GAA0BxsE,mBAAS,GAEzDysE,EAA0B9xC,sBAC7B/6C,IACC4J,EACE4oC,GAAiBzB,yCACfnxC,EACAI,EACA,IACE4J,EAAS4oC,GAAiB7B,iCAAiC/wC,MAGjE0sF,GAA2B,GAC3BF,GAAyB,IAE3B,CAACxiF,EAAUhK,IAGPktF,EAAwB/xC,sBAC3BgyC,IACKA,EACFF,EAAwB,CACtBllF,UAAWglF,EACXtD,kBAAmB,YAGrB+C,GAAyB,GACzBE,GAA2B,KAG/B,CAACO,EAAyBF,IAGtB1H,EAA8BlqC,sBAClC,CACEpI,EACAq6C,EACAC,EACAC,EACAzI,EACAO,KAEAp7E,EACE4oC,GAAiB3B,2BAA2BjxC,EAAS+yC,IAEvDy5C,GAAyB,GACzBQ,EAAuBj6C,GACvB65C,EAAyB/H,GACzBiI,EAA2B1H,IAE7B,CAACp7E,EAAUhK,IAGPutF,EAAyBpyC,sBAAY,KACzCqxC,EAA0BgB,IAAcA,IACvC,IAEG57B,EAAyBzW,sBAAat4C,IAC1CxO,EAAQ+tB,KAAK,sBAADhI,OAAuBvX,EAAE,cACpC,IAEG4qF,EAAmBtyC,sBAAY,KACnCmxC,GAAyB,GACzBtiF,EAAS4oC,GAAiBjC,iCAC1B3mC,EAAS4oC,GAAiB7B,iCAAiC/wC,KAC1D,CAACgK,EAAUhK,IAERd,EAAW,IACZqyC,EAAqBvyC,MACrBlO,OAAQG,GAASA,EAAKY,OACtB8C,IAAK1D,IAAI,CACRojD,UAAU,EACVC,SAAUrjD,EAAK0sB,KACf3qB,OAAQR,YAASvB,EAAK6hC,aAI5BnS,oBAAU,KACR3W,EAAS4oC,GAAiB7B,iCAAiC/wC,KAC1D,CAACgK,EAAUhK,IAEd,MAAMq0E,EAAS/2B,GAAQliC,EAAQkW,QAAS,EAClCo8D,GACkC,QAAtC5B,EAAAp6C,EAAwBj0C,SAAS81B,aAAK,IAAAu4D,OAAA,EAAtCA,EAAwCl0D,iBACxC9C,KAAmB3tC,SAAS0M,qBACxB85F,GACkC,QAAtC5B,EAAAr6C,EAAwBj0C,SAAS81B,aAAK,IAAAw4D,OAAA,EAAtCA,EAAwCn0D,iBACxC9C,KAAmB3tC,SAASiM,oBAE9B,OACEmmB,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAI,wBAAAR,QACqB,OAAvBs3B,QAAuB,IAAvBA,GAAiC,QAAVs6C,EAAvBt6C,EAAyBj0C,gBAAQ,IAAAuuF,GAAO,QAAPC,EAAjCD,EAAmCz4D,aAAK,IAAA04D,OAAjB,EAAvBA,EAA0Cv0D,UAAW,IAEvD0kC,SAAU,GACV9hD,MAAOtG,GAAMpF,UACbiK,aAAc,IAEhBU,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,GAAInD,UAAQ,GAC5BlrC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1C,KAAK,0BACLhB,QAASA,IAAMu4C,EAAuB5xD,IAEtCuZ,IAAAC,cAAC6xE,KAAW,CACV/wE,MAAOtG,GAAMzH,aACb4+C,MAAO,CAAEzwC,YAAa,KACtB,WAIFgzE,GAAyBC,KAA2BtZ,GACpD96D,IAAAC,cAACmB,UAAM,CACLN,KAAK,0BACLhB,QAASA,IAAMizE,GAAyB,IAExC/yE,IAAAC,cAAC8iD,KAAY,CACXhiD,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,KACtB,mBAMVnB,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CAAEA,KAAM,SAAU0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,gBACjD,CACE4Q,MAA6B,OAAvB0e,QAAuB,IAAvBA,GAAiC,QAAVw6C,EAAvBx6C,EAAyBj0C,gBAAQ,IAAAyuF,GAAO,QAAPC,EAAjCD,EAAmC34D,aAAK,IAAA44D,OAAjB,EAAvBA,EAA0Cz0D,UAAW,GAC3DglC,WAAYA,IAAM9K,EAAuB5xD,IAE3C,CACEgzB,KAAM,aACN0pC,WAAYA,IACVroE,EAAQ+tB,KAAK,eAADhI,OAAgBpa,EAAO,sBAM/CuZ,IAAAC,cAACglD,wBAAoB,CAACC,KAAMv/D,GAC1Bqa,IAAAC,cAACmyE,GAAkB,CACjB3rF,QAASA,EACTmd,OAAQkvE,EACR7U,aAAciW,EACdl8C,qBAAsBA,KAG1Bh4B,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAAC2sE,GAAe,CACdnmF,QAASA,EACT3C,QAASq0C,EAAwBr0C,QACjC8iB,QAASuxB,EAAwBj0C,SAASk0C,OAC1CruC,cAAe,CAACouC,EAAwBj0C,SAASO,cACjDqnF,4BAA6BA,EAC7Ba,eAAe,KAGnB3sE,IAAAC,cAAC4tE,GAAqB,CACpBjqE,OAAQovE,EACR1H,cAAe8H,EACfn7C,iBAAkBA,EAClB4zC,gBAAiByH,EACjB/F,UAAWA,IAAMoG,GAAsB,GACvCrG,UAAWA,IAAMqG,GAAsB,GACvCt1D,cAAqD,QAAxCw0D,EAAE16C,EAAwBj0C,SAAS81B,aAAK,IAAA64D,OAAA,EAAtCA,EAAwCx0D,cACvD4/C,aAAc+V,EACdvG,kBAAmBA,KACjBuG,IACAjB,GAAyB,IAE3BrF,uBACKyG,GAAyBC,KAA2BtZ,KAG3D96D,IAAAC,cAACyvE,GAAiB,CAChB9rE,OAAQsvE,EACR1kF,UAAWglF,EACX1zE,QAASA,KACPqzE,GAA2B,GAC3BF,GAAyB,IAE3BtD,cAAe+D,MCxOhB,MAAMhzE,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sF,gBCA5B,MAAM0sC,GAAkB7sC,WAAOC,IAAGC,QAAAC,aAAA,iIAW5B6F,GAAYhG,WAAOC,IAAGK,QAAAH,aAAA,8MAQ/BjiB,IAAA,IAAC,OAAEgrB,GAAQhrB,EAAA,OACXgrB,EACI7I,eAAGG,QAAAL,aAAA,kEAIHE,eAAGM,QAAAR,aAAA,6FCgHIw5E,I,qBAAAA,GA3Hf,SAAkCz7F,GAK9B,IAL+B,OACjCgrB,EAAM,oBACN0wE,EAAmB,QACnBC,EAAO,WACPC,GACD57F,EACC,MAAM67F,EAAe1uC,aAAS,QAAQF,cAChC6uC,EAAsB3uC,aAAS,mBAAmBF,cAClD8uC,EAAgB5uC,aAAS,SAASF,cAExC,SAAS2gB,EAAYztE,GAAc,IAAb,OAAEwyD,GAAQxyD,EAC9B,MAAM,KAAEqrB,EAAI,MAAEoc,GAAU+qB,EACxBipC,EAAYI,IAAU,IAAWA,EAAY,CAACxwE,GAAOoc,KAEvD,SAAS8jC,EAAW9jC,EAAOpc,GACrBoc,EAAM+qB,QACVipC,EAAYI,IAAU,IACjBA,EACH,CAACxwE,GAAOoc,KAGZ,OACExgB,IAAAC,cAACS,GAAS,CAACkD,OAAQA,GACjB5D,IAAAC,cAACilC,GAAU,KACTllC,IAAAC,cAACmlC,GAAgB,KAAC,sBAClBplC,IAAAC,cAACklC,GAAiB,CAACN,UAAU,OAC3B7kC,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,OACV7qB,MAAO+zD,EAAQM,KACfppC,YAAY,gCACZ3qC,KAAK,yBACL0kC,SAAWplC,IACTomD,EAAapmD,IAEf00E,OAAO,OACPppC,SAAU+oC,IAEZz0E,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,kBACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,iBACV7qB,MAAO+zD,EAAQQ,gBACftpC,YAAY,kDACZ3qC,KAAK,yBACL0kC,SAAWplC,IACTomD,EAAapmD,IAEfsrC,SAAUgpC,IAEZ10E,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,QACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,SACV7qB,MAAO+zD,EAAQp+D,MACfs1B,YAAY,iDACZ3qC,KAAK,yBACL0kC,SAAWplC,IACTomD,EAAapmD,IAEfsrC,SAAUipC,IAEZ30E,IAAAC,cAACinC,GAAc,CAAC5nC,aAAa,IAAI+B,KAAK,oBACpCrB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,iBACLohC,SAAWplC,GAAMkkD,EAAWlkD,EAAG,kBAC/BogB,MAAO+zD,EAAQS,iBAEjBh1E,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,kBACLohC,SAAWplC,GAAMkkD,EAAWlkD,EAAG,mBAC/BogB,MAAO+zD,EAAQU,sBAMzBj1E,IAAAC,cAAColC,GAAgB,CAAC5oC,eAAe,QAC/BuD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZsC,cAAe,EACfwlC,YAAa,EACboH,aAAc,EACd3oC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLga,KAAK,0BACL9E,MAAO,KACR,aAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLrG,WAAY,EACZsC,cAAe,EACfwlC,YAAa,EACboH,aAAc,EACd3oC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLgZ,QAASw0E,EACTxzE,KAAK,0BACL9E,MAAO,KACR,cC5HX,MAAMw2C,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAWX43C,IADY/3C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,KAWJE,IAPsBh4C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAKyBH,WAAOC,IAAGa,QAAAX,aAAA,0TAGdJ,GAAMzH,eAiBjBkiF,GAAuBx6E,WAAOiG,OAAMhF,QAAAd,aAAA,gDAKpCs6E,GAAsBz6E,WAAOC,IAAGmB,QAAAjB,aAAA,kRAe3BJ,GAAMrD,MC3ClBwP,GAAU,CACd,CACExC,KAAM,QACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,UACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,OACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,iBACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,SACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,WACNyxC,SAAU,IACVn6C,SAAU,KAEZ,CACE0I,KAAM,cACNyxC,SAAU,IACVn6C,SAAU,MAiEd,MAAM05C,GAAmBr8D,IAA0B,IAAzB,gBAAEq8F,GAAiBr8F,EAC3C,OACEinB,IAAAC,cAACu1C,YAAQ,KACN4/B,EAAgBh6F,IAAKg9C,GACpBp4B,IAAAC,cAACw1C,eAAW,CAACI,SAAUzd,EAAOyd,SAAUn6C,SAAU08B,EAAO18B,UACtD08B,EAAOh0B,SAOZ0xC,GAAa36C,IASZ,IATa,OAClB7W,EAAM,gBACN8wF,EAAe,oBACfp/B,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,mBACvBm/B,EAAkB,QAClBhgC,EAAO,mBACPigC,GACDn6E,EACC,MAAO07C,EAAkBC,GAAuB7vC,mBAAS,IAEzD,OACEjH,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,QACbmE,IAAAC,cAACk1E,GAAmB,KAClBn1E,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACm1C,GAAgB,CAACggC,gBAAiBA,KAC7C9wF,EAAOlJ,IAAK4+B,GACXha,IAAAC,cAAC63C,GAAY,CACX99B,MAAOA,EACP88B,oBAAqBA,EACrBD,iBAAkBA,EAClBw+B,mBAAoBA,EACpBhgC,QAASA,EACTigC,mBAAoBA,QAM7Br/B,EAAiBz6D,KAAO,IACvBwkB,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOw6D,EAAiBz6D,KACxBy6D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,MAO7B4B,GAAex8C,IAAoC,IAAnC,MAAE0e,EAAK,mBAAEq7D,GAAoB/5E,EACjD,MAAO68C,EAAaC,GAAkBnxC,oBAAS,GAoB/C,MAAMsuE,EAAev7D,EAAMu7D,aACvBj8B,aAAO,IAAI1zC,KAAKoU,EAAMu7D,cAAe,mBAAoB,CACvDh8B,SAAU,sBAEZ,KACJ,OACEv5C,IAAAC,cAACu1C,YAAQ,CACPsD,aAzBJ,SAA+B14C,GAC7Bg4C,GAAgBD,IAyBdY,aAtBJ,SAA+B34C,GACzB+3C,GAAaC,GAAgBD,IAsB/Bh0C,IAAK6V,EAAMvzB,SAEXuZ,IAAAC,cAAC+4C,aAAS,KAAEu8B,GACZv1E,IAAAC,cAAC+4C,aAAS,KAAEh/B,EAAMw7D,WAClBx1E,IAAAC,cAAC+4C,aAAS,KAvBd,SAAsB67B,GACpB,MAAMY,EAAQZ,EAAK18F,OAAO,EAAG,GACvBu9F,EAAQb,EAAK18F,OAAO,EAAG,GACvBw9F,EAAQd,EAAK18F,OAAO,EAAG,GACvBy9F,EAAQf,EAAK18F,OAAO,EAAG,GACvB09F,EAAQhB,EAAK18F,OAAO,GAAI,GAE9B,MAAM,GAAN0oB,OAAU40E,EAAK,KAAA50E,OAAI60E,EAAK,KAAA70E,OAAI80E,EAAK,KAAA90E,OAAI+0E,EAAK,KAAA/0E,OAAIg1E,GAgBhCC,CAAa97D,EAAM66D,OAC/B70E,IAAAC,cAAC+4C,aAAS,KAAEh/B,EAAM+6D,iBAClB/0E,IAAAC,cAAC+4C,aAAS,KAAEh/B,EAAM7D,OAClBnW,IAAAC,cAAC+4C,aAAS,KACU,IAAjBh/B,EAAMgR,OAAe,IAAG,IAAAnqB,OAAOmZ,EAAMiR,IAAG,MAAApqB,OAAKmZ,EAAMgR,SAEtDhrB,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAACy5C,GAAiB,CAChB27B,mBAAqBv7B,IACnBu7B,EACEv7B,EACA9/B,EAAMmhB,oBACNnhB,EAAMxrB,UAAU,GAADqS,OACZi5C,EAAQ,KAAAj5C,OAAImZ,EAAM66D,KAAI,KAAAh0E,OAAI00E,UASrCp7B,GAAeA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACmP,YAAU,EAAC12C,eAAa,EAACD,aAAW,GAC/CzD,IAAAC,cAACwyC,GAAqB,KAAC,+BAIrBiH,GAAoBj+C,IAA6B,IAA5B,mBAAE45E,GAAoB55E,EAC/C,OACEuE,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAAC2wC,oBAAkB,GACzCp0C,IAAAC,cAACi1E,GAAoB,CACnBp1E,QAASA,IAAMu1E,EAAmB,2BAElCr1E,IAAAC,cAACyyC,GAAY,CAACkI,WAAS,mCACrB56C,IAAAC,cAAC81E,KAAc,CAACv6F,KAAK,KAAKulB,MAAOtG,GAAMpC,cAG3C2H,IAAAC,cAACi1E,GAAoB,CAACp1E,QAASA,IAAMu1E,EAAmB,kBACtDr1E,IAAAC,cAACyyC,GAAY,CAACkI,WAAS,wBACrB56C,IAAAC,cAAC+3C,KAAc,CAACx8D,KAAK,KAAKulB,MAAOtG,GAAMpC,cAG3C2H,IAAAC,cAACsrE,KAAY,CACXrlC,UAAU,aACVslC,UAAW,IACXC,OAAO,QACPxe,gBAAiBxyD,GAAMzH,aACvB04E,UAAU,OACVC,MAAM,aAMCqK,OA5Mf,SAAmCp9F,GAM/B,IANgC,oBAClCo9D,EAAmB,iBACnBC,EAAgB,mBAChBq/B,EAAkB,mBAClBD,EAAkB,2BAClBY,GACDr9F,EACC,MAAM,qBAAEyN,GAAyB46C,YAAa1oB,GAAUA,EAAMyB,OAExDk8D,EAAO,CACX,CACEt2E,SACEI,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,YAAO5Z,EAAqBnC,SAASjW,MAAMuN,MAAY,SAG3DulB,MAAO,UACPqD,KAAM,UAIV,SAAS8xC,EAAwB91C,GACb,KAAdA,EAAEohD,SACJy0B,IA2BJ,OACEj2E,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACk2E,OAAG,CAACD,KAAMA,GACTl2E,IAAAC,cAACm2E,cAAU,CAACC,cAAc,SA1BhC,SAAsB18B,GAA8B,IAAjBtE,EAAOprD,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAC3C,GAAI5D,EAAqBvC,QACvB,OAAOkc,IAAAC,cAACg7C,GAAe,MAEzB,GAAItB,EAAYj+D,MAAQi+D,EAAYj+D,KAAKlE,OAAS,EAAG,CACnD,MAAM,KAAEkE,KAAS46F,GAAejwF,EAAqBnC,SAASmxD,GAC9D,OACEr1C,IAAAC,cAAC61C,GAAUv0C,OAAAC,OAAA,CACTu0C,SAAU4D,EACVy7B,gBAAiBxuE,GACjBtiB,OAAQ5I,EACRs6D,oBAAqBA,EACrBC,iBAAkBqgC,EAClBpgC,wBAAyBA,EACzBo/B,mBAAoBA,EACpBD,mBAAoBA,GACfhgC,GAAW,CAAEA,aAIxB,OAAOr1C,IAAAC,cAACk6C,GAAY,MAObgB,CAAa90D,EAAqBnC,SAASjW,MAAO,aCnG7D,MAAMsoG,GAAe,CACnB1B,KAAM,GACN38D,YAAa,GACb68D,gBAAiB,GACjB5+D,MAAO,GACP6+D,eAAgB,KAChBC,gBAAiB,MAGbv1B,GAAsB,CAC1B/jE,WAAY,EACZC,SAAU,GACVC,SAAU,KACVC,aAAc,KACdC,WAAY,MAyNCy6F,I,GAAAA,GAtNf,WACE,MAAM/lF,EAAWoT,eACX,uBAAEvd,GAA2B26C,YAAa1oB,GAAUA,EAAMyB,QAEzDu6D,EAASC,GAAcx0E,IAAMiH,SAASsvE,KAEtCl4B,EAAmBC,GAAwBr3C,oBAAS,IACpDw3C,EAAyBC,GAA8Bz3C,oBAAS,IAChEwvE,EAAeC,GAAoB12E,IAAMiH,SAASsvE,KAClDtgC,EAAkBD,GAAuB/uC,mBAASy4C,KAClDoB,EAAuBC,GAA4B95C,mBAAS,CACjEouB,SAAS,EACT9b,QAAS,GACTiiC,UAAW,OAOb,SAASm7B,IACPD,EAAiB,IAAKnC,IACtBv+B,EAAoB,IAAKC,EAAkBt6D,WAAY,EAAGC,SAAU,KAGtE,MAAMq6F,EAA6Br0C,sBAAY,KAC7C,MAAM,WAAEjmD,EAAU,SAAEC,GAAaq6D,EACjC,IAAI,KAAE4+B,EAAI,gBAAEI,EAAe,eAAED,GAAmByB,EAE5C5B,IACFA,EAAOA,EAAKr1C,WAAW,SAAU,KAE/By1C,IACFA,EAAkBA,EAAgB2B,UAEhC5B,IACFA,EAAiBA,EAAe4B,UAGlCnmF,EACEC,EAAatC,6BAA6B,IACrCqoF,EACH5B,OACAI,kBACAD,iBACAr5F,aACAC,eAGH,CAAC6U,EAAUwlD,EAAkBwgC,IAehC,SAASI,EAAqBpwF,EAAS+H,EAAWC,GAChDgC,EACEC,EAAanC,8BACX9H,EACA+H,EACAC,IAKN,SAASqoF,EACPrwF,EACA+H,EACAC,GAEAgC,EACEC,EAAazB,4CACXxI,EACAgI,IA6DN,OAjBA2Y,oBAAU,MACH9gB,EAAuBxC,SAAWwC,EAAuBrC,SACZ,KAA5CqC,EAAuBpC,SAASq4B,WAlBxC,SAAsB9iC,EAAQmlD,EAAWnwC,GACvC,MAAMowC,EC1JK,SAA2BD,EAAWE,GACnD,MAAMC,EAAQ,CACZC,IAAI,0BAADn+B,OAA4Bi+B,GAC/BG,KAAK,0BAADp+B,OAA4Bi+B,GAChCI,IAAI,+BAADr+B,OAAiCi+B,GACpCK,IAAI,yBAADt+B,OAA2Bi+B,GAC9BM,KAAK,0BAADv+B,OAA4Bi+B,GAChCO,IAAI,+BAADx+B,OAAiCi+B,IAGtC,OAAIF,EAAkBG,EAAMH,EAAUoO,MAAM,KAAK,GAAGvN,eAC7C,KD+IQC,CAAkBd,EAAWnlD,GAEpCkmD,EAAW9K,SAAS50B,cAAc,KACxC0/B,EAASC,KAAOf,EAChBc,EAASA,SAAQ,GAAA9+B,OAAMpS,GAAmBoS,OAAG+9B,GAC7C/J,SAAShmC,KAAKgxC,YAAYF,GAC1BA,EAASG,QACTjL,SAAShmC,KAAKkxC,YAAYJ,GAWtBhB,CACEr4C,EAAuBpC,SAASq4B,QAChCj2B,EAAuBpC,SAASg3C,gBAChC50C,EAAuBpC,SAASuK,qBAElCsyD,EAA0BxoC,IAAK,IAAWA,EAAO8c,SAAS,OAG7D,CAAC/uC,EAAuBxC,QAASwC,EAAuBpC,WAE3DkjB,oBAAU,KACR6uE,KACC,CAACA,IAGFj2E,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,0BACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,uBACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,mCAKvC7I,IAAAC,cAAC4jD,KAAI,CAACC,SAAU6yB,GACd32E,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACtCpjD,IAAAC,cAACojD,aAAS,CACRvjD,QAxJZ,WACEw+C,GAAsBD,IAwJZiF,UAAWjF,EACX5S,YAAY,gCACZjG,SAAU5sD,IAAA,IAAC,OAAE2yD,GAAQ3yD,EAAA,OACnB47F,EAAYuC,IAAU,IACjBA,EACH7+D,YAAaqzB,EAAO/qB,UAGxBA,MAAO+zD,EAAQr8D,YACfqrC,UA/HZ,SAA4BnjD,GACR,KAAdA,EAAEohD,UACJphD,EAAEokD,iBACFmyB,MA6HQl4B,wBAAyBA,EACzBgF,WAAYC,KACZC,WAAYC,MAEZ5jD,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAACo0E,GAAyB,CACxBzwE,QAAM,EACN2wE,QAASA,EACTC,WAAYA,EACZF,oBAnEhB,WACEE,EAAW+B,IACXG,EAAiBH,WAuEbv2E,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAAC+1E,GAA0B,CACzBhgC,oBAAqBA,EACrBC,iBAAkBA,EAClBo/B,mBA/GV,SACEv7B,EACArzD,EACA+H,EACAC,GAEA,MAAMuoF,EACS,kBAAbl9B,EACI+8B,EACAC,EAEN/1B,EAAyB,CACvB1rB,SAAUyrB,EAAsBzrB,QAChC9b,QACe,kBAAbugC,EACI,4CACA,wDACNkH,WAAY,iBACZxF,UAAWA,IACTw7B,EAAkBvwF,EAAS+H,EAAWC,MA6FlCwnF,2BAA4BA,MAIlCj2E,IAAAC,cAACkrD,GAAiB,CAChB9pD,KAAMy/C,EAAsBvnC,QAC5BzZ,QAnJN,WACEihD,EAAyB,CACvB1rB,SAAUyrB,KAkJRE,WAAYF,EAAsBE,WAClCxF,UAAWsF,EAAsBtF,UACjC53C,OAAQk9C,EAAsBzrB,YEzP/B,MAAM30B,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,8FC+BpB,OA5BcjiB,IAAoB,IAAnB,UAAEwiE,GAAWxiE,EACzC,GAAIwiE,GAAa,EACf,MAAM,IAAIl/B,MAAM,kDAElB,MAAMo/B,EAAyB,IAAdF,EAEjB,OACEp7C,IAAAC,cAACwB,GAAW,KACT65C,EACG,2CACA,+CAkBK,GAbgBviE,IAAgC,IAA/B,WAAEwiE,EAAU,UAAEC,GAAWziE,EACvD,OACEinB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCO7C,I,eAAA,GA5Bc9qB,IAAoB,IAAnB,UAAEwiE,GAAWxiE,EACzC,GAAIwiE,GAAa,EACf,MAAM,IAAIl/B,MAAM,kDAElB,MAAMo/B,EAAyB,IAAdF,EAEjB,OACEp7C,IAAAC,cAACwB,GAAW,KACT65C,EACG,+CACA,mDAkBK,GAbgBviE,IAAgC,IAA/B,WAAEwiE,EAAU,UAAEC,GAAWziE,EACvD,OACEinB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCrB5D,MAAM8uC,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAWX43C,IADY/3C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,KAWJE,IAPsBh4C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAKyBH,WAAOC,IAAGa,QAAAX,aAAA,iUAGdJ,GAAMzH,e,gEChCvB,MAAMikF,GAAgBv8E,mBAAO0G,IAAQ0J,MAAOxJ,IAAK,CACtDzB,SAAUyB,EAAMzB,SAChB/Y,KAAMwa,EAAMxa,OAFe4T,CAG1BE,QAAAC,aAAA,sSAWCjiB,IAAA,IAAC,WAAEs+F,GAAYt+F,EAAA,OACfs+F,EACIn8E,eAAGC,QAAAH,aAAA,8CACcq8E,GAAU,mCAI/Bn+F,IAAA,IAAC,WAAEujB,GAAYvjB,EAAA,OACfujB,EACIvB,eAAGG,QAAAL,aAAA,mDACmByB,GAAU,qBAAAuE,OAEXpG,GAAMzH,eAE/BmI,IAAA,IAAC,MAAE4F,GAAO5F,EAAA,OACV4F,EACIhG,eAAGM,QAAAR,aAAA,wCACQkG,GAAK,UAAAF,OAENpG,GAAMjG,UAEpB8G,IAAA,IAAC,MAAEU,GAAOV,EAAA,OACVU,EACIjB,eAAGS,QAAAX,aAAA,0CACQmB,GAEXjB,eAAGY,QAAAd,aAAA,2CAIPY,IAAA,IAAC,OAAEI,GAAQJ,EAAA,OACXI,EACId,eAAGe,QAAAjB,aAAA,2CACSgB,GAEZd,eAAGkB,QAAApB,aAAA,4CAIPe,IAAA,IAAC,UAAEkrC,GAAWlrC,EAAA,MACO,kBAAdkrC,EACH/rC,eAAGmB,QAAArB,aAAA,+CACaisC,GAEhBA,EACA/rC,eAAGqB,QAAAvB,aAAA,+CAGH,IAEJkB,IAAA,IAAC,aAAEuD,GAAcvD,EAAA,OACjBuD,EACIvE,eAAGwB,QAAA1B,aAAA,kDAGH,IAEJwB,IAAA,IAAC,YAAE8E,GAAa9E,EAAA,OAChB8E,EACIpG,eAAG2B,QAAA7B,aAAA,+CACesG,GAElB,IACJ3E,IAAA,IAAC,WAAE0E,GAAY1E,EAAA,OACf0E,EACInG,eAAG8B,QAAAhC,aAAA,8CACcqG,GAEjB,IAEJvE,IAAA,IAAC,QAAEsE,GAAStE,EAAA,OACZsE,EACIlG,eAAGgC,QAAAlC,aAAA,0CACUoG,GAEb,cAEJjE,IAAA,IAAC,QAAEJ,GAASI,EAAA,MACO,kBAAZJ,EACH7B,eAAGkC,QAAApC,aAAA,4CACU+B,GAEbA,EACA7B,eAAGqC,QAAAvC,aAAA,2CAGH,KAGKs8E,GAAkBz8E,mBAAO0G,IAAQ0J,MAAOxJ,IAAK,CACxDzB,SAAUyB,EAAMzB,SAChB/Y,KAAMwa,EAAMxa,OAFiB4T,CAG5B6C,QAAA1C,aAAA,sLAQCqC,IAAA,IAAC,WAAEZ,GAAYY,EAAA,OACfZ,EACIvB,eAAG0C,QAAA5C,aAAA,mDACmByB,GAAU,qBAAAuE,OAEXpG,GAAMzH,eAE/BqK,IAAA,IAAC,MAAE0D,GAAO1D,EAAA,OACV0D,EACIhG,eAAG4C,QAAA9C,aAAA,wCACQkG,GAAK,UAAAF,OAENpG,GAAMjG,WAGXkM,GAAYhG,WAAOC,IAAGmD,QAAAjD,aAAA,mDC3DpBu8E,OAxEf,SAAuBx+F,GA4BnB,IA5BoB,KACtByoB,EAAI,QACJvB,EAAO,aACPR,EAAY,MACZyB,EAAK,QACLnE,EAAO,WACPy3C,EAAU,YACV5wC,EAAW,SACX6wC,EAAQ,QACRh3C,EAAO,MACPtB,EAAK,OACLH,EAAM,UACNirC,EAAS,YACTiN,EAAW,SACXl0C,EAAQ,QACRoB,EAAO,KACPna,EAAI,aACJka,EAAY,WACZ1E,EAAU,OACVsE,EAAM,WACNs2E,EAAU,YACV/1E,EAAW,UACX+8C,EAAS,aACTm5B,EAAY,WACZn2E,EAAU,SACV2hD,EAAQ,YACRy0B,EAAW,cACXC,GACD3+F,EACC,OACEonB,IAAAC,cAACS,GAAS,CAACZ,QAASA,GAClBE,IAAAC,cAACg3E,GAAa,CACZn3E,QAASA,EACTuB,KAAMA,EACN/B,aAAcA,EACdyB,MAAOA,EACPnE,QAASA,EACTy3C,WAAYA,EACZ5wC,YAAaA,EACb6wC,SAAUA,EACVh3C,QAASA,EACTtB,MAAOA,EACPH,OAAQA,EACRirC,UAAWA,EACXiN,YAAaA,EACbl0C,SAAUA,GAAYq+C,EACtBj9C,QAASA,EACTna,KAAMA,EACNka,aAAcA,EACd1E,WAAYA,EACZsE,OAAQA,EACRs2E,WAAYA,EACZ/1E,YAAaA,EACb+8C,UAAWA,EACXm5B,aAAcA,EACdn2E,WAAYA,EACZ2hD,SAAUA,GAETy0B,GAEHt3E,IAAAC,cAACk3E,GAAe,CACdr3E,QAASA,EACTiB,MAAOA,EACPja,KAAMA,EACNwV,WAAYA,GAEXi7E,KCpCT,MAAQruE,wBAAwB,IAAI5X,gbAoDpC,MAAM8jD,GAAmBr8D,IAAmC,IAAlC,SAAEiqC,EAAQ,eAAEsyB,GAAgBv8D,EACpD,OACEinB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAAS5yB,EACTljB,QAAUM,GAAMk1C,EAAel1C,GAC/BvE,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,SAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,eAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,sBAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,iBAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,SAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,qBAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,UAG3CsE,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,GAAIm6C,SAAU,OAKrCC,GAAa36C,IAYZ,IAZa,OAClB7W,EAAM,SACNyxD,EAAQ,oBACRC,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,oBACvBC,EAAmB,QACnBd,EAAO,WACPgB,EAAU,gBACVmhC,EAAe,mBACflC,EAAkB,iBAClBh/B,GACDn7C,EACC,MAAO6nB,EAAU4zB,GAAe3vC,oBAAS,IAClC4vC,EAAkBC,GAAuB7vC,mBAAS,IAKzD,OACEjH,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,OAAOG,MAAM,QACzB66C,EAAiBr/D,OAAS,EACzBwoB,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,OAAOG,MAAM,QAC1BgE,IAAAC,cAACs3C,GAAW,CACVV,iBAAkBA,EAClBZ,iBAAkBA,EAClBuB,UAAWnB,EACXn1C,WAAW,OACXs2E,gBAAiBA,EACjBrhC,oBAAqBA,KAGvB,KACJn2C,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAACm1C,GAAgB,CACfpyB,SAAUA,EACVsyB,eAvBZ,SAAwBl1C,GACtBw2C,GAAa5zB,OA0BN1+B,EAAOlJ,IAAK4+B,GACXha,IAAAC,cAAC63C,GAAY,CACX3zC,IAAK6V,EAAMvzB,QACXuzB,MAAOA,EACPgJ,SAAUA,EACV8zB,oBAAqBA,EACrBD,iBAAkBA,EAClBV,oBAAqBA,EACrBd,QAASA,EACTmiC,gBAAiBA,EACjBlC,mBAAoBA,OAK3Bv/B,EAASxxD,WAAa,IACrByb,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOs6D,EAASxxD,WAChB0xD,iBAAkBA,EAClBiC,mBAAoB5B,EACpBN,oBAAqBA,EACrBE,wBAAyBA,MAO7B4B,GAAex8C,IASd,IATe,MACpB0e,EAAK,SACLgJ,EAAQ,oBACR8zB,EAAmB,iBACnBD,EAAmB,GAAE,oBACrBV,EAAmB,QACnBd,EAAO,gBACPmiC,EAAe,mBACflC,GACDh6E,EACC,MAAO68C,EAAaC,GAAkBnxC,oBAAS,IACxCyzB,EAAWy2B,GAAgBlqD,oBAAS,IACpCwwE,EAAMC,GAAWzwE,mBAAS,CAAE+S,QAAO47B,SAAUlb,IAUpD,SAAS2d,EAAuB5xD,GAC9ByyB,OAAOC,SAASq/B,QAAQ,GAAD33C,OAClBqI,GAAuB,iCAAArI,OAAgCpa,IA4C9D,OAjBA2gB,oBAAU,KACR,MAAM2W,EAAWuc,YAAQm9C,EAAOt8F,IAC9BA,EAAMy6D,QAAU5yB,EAET7nC,IAETu8F,EAAQ35D,GACJiF,EAEC6zB,EACEz7D,IAAKu8F,GAAoBA,EAAgB39D,MAAMvzB,SAC/C0wB,SAAS4G,EAAS/D,MAAMvzB,UAE3BqwD,EAAqB8a,GAAa,IAAIA,EAAU7zC,IAC7C+4B,EAAoB,KAC1B,CAAC9zB,IAGFhjB,IAAAC,cAACu1C,YAAQ,CACPsD,aAxDJ,SAA+B14C,GAC7Bg4C,GAAgBD,IAwDdY,aArDJ,SAA+B34C,GACzB+3C,GAAaC,GAAgBD,IAqD/Bh0C,IAAK6V,EAAMvzB,SAEXuZ,IAAAC,cAAC+4C,aAAS,CAACtD,WAAS,EAACvxC,IAAK6V,EAAMvzB,SAC9BuZ,IAAAC,cAAC01C,YAAQ,CACPC,QAAS6hC,EAAK7hC,QACd91C,QAAUM,GAjDlB,SAA4BA,EAAG4f,EAAOv5B,GACpC,MAAMs3B,EAAWuc,YAAQm9C,EAAOt8F,IAC1BA,EAAM6+B,MAAMvzB,UAAYA,IAAStL,EAAMy6D,SAAW51B,GAE/C7kC,IAGHy8F,EAAqBt9C,YAAQuc,EAAmB17D,IACpD,MAAMs2E,EAAWt2E,EAAM5D,OAAQuqE,GACtBA,EAAE9nC,MAAMvzB,UAAYs3B,EAAS/D,MAAMvzB,UAAyB,IAAdq7D,EAAElM,SAOzD,OAJI73B,EAAS63B,SAAS6b,EAAS5oD,KAAKkV,GAEpC5iC,EAAQs2E,IAKVimB,EAAQ35D,GACR+4B,EAAoB8gC,GA6BEC,CAAmBz3E,EAAGq3E,EAAK7hC,QAAS57B,EAAMvzB,SAC1DoV,OAAQ,GACRG,MAAO,MAGXgE,IAAAC,cAAC+4C,aAAS,CACRl5C,QAASA,IAAMu4C,EAAuBr+B,EAAMvzB,SAC5C0yD,cAAY,EACZtD,SAAU,IACVn6C,SAAU,KAETse,EAAMmE,SAETne,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMgE,cAAc,MAAIhE,EAAMo/B,eAEjCp5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAM0+B,gBAAgB1L,MAAM,KAAK2L,KAAK,QAEzC34C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMq/B,WACHC,aAAO,IAAI1zC,KAAKoU,EAAMq/B,YAAa,mBAAoB,CACrDE,SAAU,sBAEZ,MAENv5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMw/B,QACHF,aAAO,IAAI1zC,KAAKoU,EAAMw/B,SAAU,oBAChC,MAENx5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCse,EAAMy/B,aACHH,aAAO,IAAI1zC,KAAKoU,EAAMy/B,cAAe,oBACrC,MAENz5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCy8C,EACCn4C,IAAAC,cAACy5C,GAAiB,CAChBrB,uBAAwBA,IAAMA,EAAuBr+B,EAAMvzB,SAC3DA,QAASuzB,EAAMvzB,QACfkzD,YAAa3/B,EAAM+/B,YACnB5D,oBAAqBA,EACrBqhC,gBAAiBA,EACjBlC,mBAAoBA,IAGtBt7D,EAAM+/B,aAGV/5C,IAAAC,cAAC+4C,aAAS,KACPh/B,EAAMggC,mBACLh6C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAM9E,MACb0L,KAAK,uIACLvG,SAAS,QAETkF,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACi6C,KAAM,CAAC1+D,KAAK,KAAKulB,MAAOtG,GAAMrI,wBASvC+nD,GAAeA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACmP,YAAU,EAAC12C,eAAa,EAACD,aAAW,GAC/CzD,IAAAC,cAACwyC,GAAqB,KAAC,+BAIrB8E,GAAc97C,IAOb,IAPc,iBACnBo7C,EAAgB,iBAChBZ,EAAgB,WAChB/0C,EAAU,UACVs2C,EAAS,gBACTggC,EAAe,oBACfrhC,GACD16C,EACC,OACEuE,IAAAC,cAACgrC,eAAW,CAAC3rC,aAAc,GAAImE,aAAW,GACxCzD,IAAAC,cAACw3C,UAAM,CAACz7C,MAAO,IAAKlV,KAAK,WACvBkZ,IAAAC,cAAA,YAAM,sBACa42C,EAAiBr/D,OAAO,MAAI,IAC5CggE,GAAa,GAAKvB,EAAiBr6D,SAAW47D,EAAU,YAuB7Dx3C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTsE,WAAY,GACZJ,KAAK,0BACLhB,QAASA,IAAMq2C,EAAoBU,EAAkB,aAErD72C,IAAAC,cAACkzC,GAAI,CAAC33D,KAAK,KAAKulB,MAAOtG,GAAMzH,aAAcogD,KAAK,kBAAkB,gBAGpEpzC,IAAAC,cAAC63E,iBAAa,CACZxH,YAAY,oCACZvwD,QAASxe,OAAO8Z,OAAOm8D,GACvBO,kBAAoBt3D,IAClB,MAAMu3D,EAAcz2E,OAAO8Z,OAAOm8D,GAAiBp/F,QAAQqoC,GAE3D01B,EAAoBU,EAAkBmhC,EAAc,IAEtDl9E,SAAS,gBAETkF,IAAAC,cAACm3E,GAAc,CACbl2E,WAAW,OACXtE,QAAS,EACTyE,KAAK,aACLrF,MAAM,MACNu7E,cAAev3E,IAAAC,cAACg4E,KAAY,CAACz8F,KAAK,KAAKulB,MAAM,cAOjD24C,GAAoB99C,IAMnB,IANoB,QACzBnV,EAAO,YACPkzD,EAAW,oBACXxD,EAAmB,gBACnBqhC,EAAe,mBACflC,GACD15E,EACC,OACEoE,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAAC2wC,oBAAkB,GACzCp0C,IAAAC,cAAC63E,iBAAa,CACZ/3D,QAASxe,OAAO8Z,OAAOm8D,GACvBlH,YAAY,oCACZx1E,SAAS,eACTi9E,kBAAoBt3D,IAClB,MAAMu3D,EAAcz2E,OAAO8Z,OAAOm8D,GAAiBp/F,QAAQqoC,GAE3D01B,EAAoB1vD,EAASuxF,EAAc,KAG7Ch4E,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,kBACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACq6C,KAAK,CAAC9+D,KAAK,KAAKulB,MAAOtG,GAAMpC,eAUpC2H,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,wBACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CAAC5yC,QAASA,IAAMq2C,EAAoB1vD,EAAS,aACxDuZ,IAAAC,cAACkzC,GAAI,CAAC33D,KAAK,KAAKulB,MAAOtG,GAAMpC,UAAW+6C,KAAK,sBAMxC8kC,I,GAAAA,GAhbf,SAA0Bt/F,GAStB,IATuB,oBACzBo9D,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,oBACvBC,EAAmB,gBACnBqhC,EAAe,mBACflC,EAAkB,iBAClBh/B,EAAgB,gBAChBqO,GACD/rE,EACC,MAAM,UAAE4L,EAAS,YAAEE,GAAgBu8C,YAAa1oB,GAAUA,EAAMyB,OAC1Dz+B,EAASmJ,EAAYR,SAASU,QAoCpC,OATAwiB,oBAAU,KACR,MAAM4zC,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMS,SAAW,GACjBT,EAAMQ,WAAa,IAGrBq6D,EAAoBgF,IACnB,CAACz/D,IAEGykB,IAAAC,cAAAD,IAAAuD,SAAA,KAlCP,SAAsBo2C,GAA8B,IAAjBtE,EAAOprD,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAC3C,MAAMwD,EAAaixB,qBAAmB1wC,iBAAiBqnE,IAAY,EACnE,OAAI7wD,EAAUV,QACLkc,IAAAC,cAACg7C,GAAe,MAErBtB,EAAYj+D,MAAQi+D,EAAYj+D,KAAKlE,OAAS,EAE9CwoB,IAAAC,cAAC61C,GAAUv0C,OAAAC,OAAA,CACTu0C,SAAU4D,EACVr1D,OAAQq1D,EAAYj+D,KACpBs6D,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAAyBA,EACzBC,oBAAqBA,EACrBE,WAAYsD,EAAYp1D,WACxBizF,gBAAiBA,EACjBlC,mBAAoBA,EACpBh/B,iBAAmBzvD,GAAWyvD,EAAiBzvD,EAAQ4G,IAClD4nD,GAAW,CAAEA,aAIjBr1C,IAAAC,cAACk6C,GAAY,MAYZgB,CAAa32D,EAAUN,SAAU,WCjFtC,MAAMu3D,GAAkB/gD,WAAOksC,MAAKhsC,QAAAC,aAAA,4CCK5B,SAASs9E,KACtB,MAAM1nF,EAAWoT,eACX,YAAEnf,EAAW,UAAEF,GAAcy8C,YAAa1oB,GAAUA,EAAMyB,QAC1D,QAAEnY,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAE3C5b,EAAS,CACb+0D,YAAa,EACbC,UAAW,GACXE,qBAAsB,CACpBC,SAA2B,QAAjBn6C,EAAQkW,KAClBx8B,OAAQ,GACR0gE,UAAW,KACXC,gCAAiC,KACjCC,UAAW,KACXC,YAAa,KACbC,gBAAiBx6C,EAAQmW,kBACrBnW,EAAQmW,kBACR,KACJskC,cAAe,KACfC,UAAW,KACXC,SAAS,EACTC,QAAQ,EACRC,mBAAoB,KACpBC,mBAAoB,KACpBC,iBAAkB,KAClBC,kBAAmB,KACnBC,gBAAiB,OAQrB,SAASE,EAAqB1nC,GAC5B,MAAM2nC,EAASv4D,EAAYR,SAASU,QAAQ0wB,GACtC4nC,EAAcx4D,EAAYR,SAASU,QAAQ61B,KAC/C,CAACl/B,EAAQ+zD,IAA6B,UAAvB/zD,EAAOo/B,aAElBwiC,EAAiBz4D,EAAYR,SAASS,WAAWpN,OACrD,CAACgE,EAAQ+zD,IAA6B,UAAvB/zD,EAAOo/B,aAGxB,GAA2B,UAAvBsiC,EAAOtiC,YAAyB,CAClC,MAAMz2B,EAAW,CACfS,WAAY,IACPD,EAAYR,SAASU,WACrBF,EAAYR,SAASS,YAE1BC,QAAS,IAELw4D,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,GAAIg5D,GAAeC,EAAgB,CACjC,MAAME,EAAY34D,EAAYR,SAASU,QAAQrN,OAC7C,CAACgE,EAAQ+zD,IACgB,UAAvB/zD,EAAOo/B,aACPp/B,EAAOo/B,cAAgBsiC,EAAOtiC,aAE5Bz2B,EAAW,CACfS,WAAY,CAACu4D,EAAaD,KAAWv4D,EAAYR,SAASS,YAC1DC,QAASy4D,GAELD,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,MAAMo5D,EAAoB54D,EAAYR,SAASU,QAAQrN,OACrD,CAAC4oB,EAAGmvC,IAAMA,IAAMh6B,GAEZpxB,EAAW,CACfS,WAAY,IAAID,EAAYR,SAASS,WAAYs4D,GACjDr4D,QAAS04D,GAGLF,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAG1B,OADAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAC9B1sD,EAAalI,2BAA2BtE,GAAU,GA8D3D,SAASq5D,EAAqBjoC,GAC5B7kB,EA5DF,SAAiC6kB,GAC/B,MAAMkoC,EAAY94D,EAAYR,SAASS,WAAW2wB,GAC5C+nC,EAAY34D,EAAYR,SAASS,WAAWpN,OAChD,CAACgE,EAAQ+zD,IAAoB,IAAd/zD,EAAO+N,IAA6B,IAAjB/N,EAAOq/B,OAGrC6iC,EAAe/4D,EAAYR,SAASS,WAAWpN,OAClD2B,GAAwB,IAAfA,EAAK0hC,OAEX8iC,EAAYh5D,EAAYR,SAASS,WAAWpN,OAC/C2B,GAAwB,IAAfA,EAAK0hC,OAGjB,GAAyB,IAArByiC,EAAU7lE,OAAc,CAC1B,MAAM0M,EAAW,CACfS,WAAY,IAAI+4D,GAChB94D,QAAS,IAAI64D,KAAiB/4D,EAAYR,SAASU,UAG/Cw4D,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAI1B,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,GAAqB,IAAjBs5D,EAAUl0D,GAAU,CACtB,MAAMpF,EAAW,CACfS,WAAY,IAAI+4D,GAChB94D,QAAS,IAAI64D,KAAiB/4D,EAAYR,SAASU,UAG/Cw4D,EAAYl5D,EAASU,QAAQxJ,IAAKG,GAAWA,EAAO+N,IAI1D,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAG3D,MAIMA,EAAW,CACfS,WAL2BD,EAAYR,SAASS,WAAWpN,OAC3D,CAAC4oB,EAAGmvC,IAAMA,IAAMh6B,GAKhB1wB,QAAS,IAAIF,EAAYR,SAASU,QAAS44D,IAGvCJ,EAAYl5D,EAASU,QACxBrN,OAAQgE,GAAkC,UAAvBA,EAAOo/B,aAC1Bv/B,IAAKG,GAAWA,EAAO+N,IAI1B,OAFAzC,EAAOk1D,qBAAqBxgE,OAAS6hE,EAE9B1sD,EAAalI,2BAA2BtE,GAAU,GAIhDy5D,CAAwBroC,IACjC7kB,EAASC,EAAa7I,yBAAyBhB,IA4BjD,OAxJAugB,oBAAU,KACR3W,EAASC,EAAazI,4BACrB,IAsJCzD,EAAUV,SAAWY,EAAYZ,QAEjCkc,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXuH,IAAK,EACL/uC,aAAc,GACd6rC,cAAY,EACZ1nC,aAAW,EACXynC,UAAQ,EACR0I,QAAM,GAEN5zC,IAAAC,cAAC0B,QAAI,CAACnmB,KAAM,GAAIoiE,MAAI,EAACv8C,KAAK,yBAC1BrB,IAAAC,cAACi1C,GAAc,CAACr5C,OAAQ,MAK5BmE,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIuH,IAAK,EAAGlD,cAAY,EAACkJ,YAAU,EAACnJ,UAAQ,GACjExmD,EAAYR,SAASS,WAAWvJ,IAC/B,CAAAxC,EAA6B08B,KAAK,IAAjC,GAAEhsB,EAAE,YAAEqxB,EAAW,MAAEC,GAAOhiC,EAAA,OACzBonB,IAAAC,cAACw7C,GAAe,CAACt3C,IAAK7a,GACpB0W,IAAAC,cAAC49C,SAAK,CACJ/9C,QAASA,IAAMy9C,EAAqBjoC,GACpCvU,MAAO,UACP+8C,eAAa,EACbz8C,KAAI,GAAAR,OAAK8Z,EAAW,MAAA9Z,OAAK+Z,EAAK,KAC9BmjC,cAAenjC,EAAQ,QAMjC5a,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXxnC,aAAc,GACd+uC,IAAK,EACLlD,cAAY,EACZkJ,YAAU,EACVnJ,UAAQ,GAERlrC,IAAAC,cAAC0B,QAAI,CAACN,KAAK,uBACV3c,EAAYR,SAASU,QAAQxJ,IAC5B,CAAArC,EAA6Bu8B,KAAK,IAAjC,GAAEhsB,EAAE,YAAEqxB,EAAW,MAAEC,GAAO7hC,EAAA,OACzBinB,IAAAC,cAACw7C,GAAe,CAACt3C,IAAK7a,GACpB0W,IAAAC,cAAC49C,SAAK,CACJ/9C,QAASA,IAvEvB,SAA2BwV,GAEzB,MAA2B,UADZ5wB,EAAYR,SAASU,QAAQ0wB,GACjCqF,aASPj2B,EAAYR,SAASU,QAAQpN,QAAU,GARzCiZ,EACEC,EAAa5I,0BACX,CAAEvD,WAAY,EAAG7I,KAAM,GAAIK,WAAY,IACvC,IAGG0U,EAASusD,EAAqB1nC,MAYvC7kB,EAASusD,EAAqB1nC,SAC9B7kB,EAASC,EAAa7I,yBAAyBhB,KAiDpBm3D,CAAkB1oC,GACjCjU,KAAI,GAAAR,OAAK8Z,EAAW,MAAA9Z,OAAK+Z,EAAK,YCge/Bw9D,I,MAAAA,GA7pBf,WACE,MAAM3nF,EAAWoT,eAEX,QAAEhC,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,QAAExe,EAAO,SAAEC,GAAa+8C,YAAa1oB,GAAUA,EAAMwD,aACrD,eAAE/1B,EAAc,mBAAEF,EAAkB,gBAAEI,GAAoB+6C,YAC7D1oB,GAAUA,EAAMyB,OAEbq+D,EAAiBp3C,YAAa1oB,GAAUA,EAAMyB,MAAMj0B,eACpD,YAAErB,GAAgBu8C,YAAa1oB,GAAUA,EAAMyB,OAC/CylC,EAAsB,CAC1B3lC,UAAW,KACX9B,kBAAmB,KACnBknC,iBAAkB,KAClBC,mBAAoB,KACpBlhC,UAAW,KACXmhC,mBAAoB,KACpB57B,iBAAkB,KAClBC,YAAa,KACb47B,QAAS,KACTC,MAAO,KACP9U,cAAe,KACfC,eAAgB,KAChBC,kBAAmB,KACnBC,mBAAoB,OAGf2tC,EAAoBC,GAAyBtxE,mBAAS,CAC3D+Q,kBAAmB,KACnBknC,iBAAkB,KAClBC,mBAAoB,KACpBlhC,UAAW,KACXmhC,mBAAoB,KACpB5jC,SAAU,GACVgI,iBAAkB,KAClBC,YAAa,KACb+mB,cAAe,KACfC,eAAgB,KAChBC,kBAAmB,KACnBC,mBAAoB,KACpB7wB,UAAW,KACXqJ,gBAAiB,KACjBk8B,QAAS,KACTC,MAAO,KACP3gC,gBAAgB,EAChBF,YAAa,OAGTihC,EAAsB,CAC1B/jE,WAAY,EACZC,SAAU,IAGN07D,EAAmB,CACvB,CACEvP,cAAeA,IAAM2O,EAAwB,yBAC7Cr1C,KAAM,yBAER,CACE0mC,cAAeA,IAAM2O,EAAwB,0BAC7Cr1C,KAAM,2BAGJm3E,EAAqB,CACzB58B,YAAa,EACbC,UAAW,GACXE,qBAAsB,CACpBC,SAA2B,QAAjBn6C,EAAQkW,KAClBx8B,OAAQ,GACR0gE,UAAW,KACXC,gCAAiC,KACjCC,UAAW,KACXC,YAAa,KACbC,gBAAiB,KACjBC,cAAe,KACfC,UAAW,KACXC,SAAS,EACTC,QAAQ,EACRC,mBAAoB,KACpBC,mBAAoB,KACpBC,iBAAkB,KAClBC,kBAAmB,KACnBC,gBAAiB,QAGd27B,EAAkBC,GAAuBzxE,mBAAS,IAClDo3C,EAAmBC,GAAwBr3C,oBAAS,IACpDs3C,EAAYC,GAAiBv3C,mBAAS,KACtCw3C,EAAyBC,GAA8Bz3C,oBAAS,IAChE84C,EAAcC,GAAmB/4C,mBAASw4C,IAC1CxJ,EAAkBD,GAAuB/uC,mBAASy4C,IAClDkB,EAAkBC,GAAuB55C,mBAAS,CACvDhjB,SAAS,EACTs1B,QAAS,MAEJ4mC,EAAmBC,GAAwBn5C,mBAAS,CACzDo5C,UAAU,EACVC,WAAW,KAENx9C,EAAa61E,GAAkB1xE,mBAASuxE,IAExCv3B,EAAiBC,GAAsBj6C,oBAAS,GACjD1rB,EAASmJ,EAAYR,SAASU,QACjCrN,OAAOqB,IAAA,IAAC,GAAE0Q,GAAI1Q,EAAA,OAAY,IAAP0Q,IACnBlO,IAAIrC,IAAA,IAAC,GAAEuQ,GAAIvQ,EAAA,OAAKuQ,IAEbq3D,EAAoBrmB,YAAQ2b,EAAmB96D,IACnDA,EAAMQ,WAAas6D,EAAiBt6D,WAAa,EACjDR,EAAMS,SAAWq6D,EAAiBr6D,WAwEpC,SAASylE,IACP/C,GAAsBD,GAsBxB,SAASiD,EAAkBlhD,GACzBo+C,EAAcp+C,EAAEmrC,OAAO/qB,OAQzB,SAAS+gC,EAAmBnhD,GAC1B,GAAkB,KAAdA,EAAEohD,QAAgB,CACpB,GAAIjmE,EAAO/D,QAAU,EAAG,CACtB,MAGMqP,EAAS,IAHSyzC,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBxgE,OAASA,KAMtC,OADAy6D,EAAoB0J,GACbjvD,EAASC,EAAa7I,yBAAyBhB,IAGxD,GAAuB,KAAnBuZ,EAAEmrC,OAAO/qB,MAAc,CACzB,MAAMihC,EAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC9CC,EAAkBpnB,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBxgE,OAASkmE,EACpCtmE,EAAM4gE,qBAAqBE,UAAY,OAIzC,OAFA08B,EAAej3B,GACfR,GAAmB,GACZzwD,EAASC,EAAa7I,yBAAyB65D,IAGxD,MAAMA,EAAkBpnB,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBE,UAAY77C,EAAEmrC,OAAO/qB,QAE5C35B,EAAS,IACV66D,GAELjxD,EAASC,EAAa7I,yBAAyBhB,IAC/C63D,GAA2B,GAC3BwC,GAAmB,GACnBy3B,EAAej3B,IAqGnB,SAASG,EAAyB1xD,EAAQtJ,GACxC,MAAe,aAAXsJ,EACKO,EAAa7D,0BAA0BhG,GAAQ,GAGjD6J,EAAalD,sBAAsB3G,EAAQsJ,GA0BpD,SAASu0D,EAAapgE,EAAQw1D,GAC5B,OAAOvW,MAAMC,QAAQl/C,GAxBvB,SAA0BA,EAAQw1D,GAChC,GAAIx1D,EAAO9M,OAAS,EAAG,CACrB,MAIMoqE,EAAcC,EAAyB/H,EAJ9Bx1D,EAAOlJ,IAAK0mE,IAClB,CAAEr7D,QAASq7D,EAAE9nC,MAAMvzB,YAK5BgK,EAASmxD,IAiBPxL,CAAiB9xD,EAAQw1D,GAb/B,SAA6Bx1D,EAAQw1D,GACnC,MAKM8H,EAAcC,EAAyB/H,EAL9B,CACb,CACErzD,QAASnC,KAKbmM,EAASmxD,GAML9G,CAAoBx2D,EAAQw1D,GAGlC,SAASpD,EAAwBx9D,GAC/B,IAAImO,EACAnO,EAAKi+B,SAAS,aAChB1mB,EACEC,EAAa7C,uBAAuByqF,EAAoB,aAE1DjxF,EAAgB,YACPnO,EAAKi+B,SAAS,eACvB1mB,EACEC,EAAa7C,uBAAuByqF,EAAoB,cAG1DjxF,EAAgB,aAGlB,MAAM29D,EAAa1qB,YAAQ6lB,EAAoBhlE,IAC7CA,EAAMkM,IAAiB,IAGzB+4D,EAAqB4E,GAkDvB,SAAShD,IACPnB,EAAoB,CAClB58D,SAAU28D,EAAiB38D,UAGzB+B,EAAe/B,SACjBwM,EAASC,EAAa9C,uBAEpB9H,EAAmB7B,SACrBwM,EAASC,EAAazD,2BAGxB,MAIMpG,EAAS,IAJSyzC,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBxgE,OAASA,OAKjColE,GAGLlwD,EAASC,EAAa7I,yBAAyBhB,IAC/C4J,EAASC,EAAazI,2BAoDxB,OArCAmf,oBAAU,KArSR3W,EACEmvB,GAAwC,CACtC5H,kBAAmB+nC,EAAa/nC,sBAqSnC,IAEH5Q,oBAAU,KACJphB,EAAe/B,SACjB48D,EAAoB,CAClB58D,SAAU28D,EAAiB38D,QAC3Bs1B,QAAS,kCAGZ,CAACvzB,EAAe/B,UAEnBmjB,oBAAU,KACJthB,EAAmB7B,SACrB48D,EAAoB,CAClB58D,SAAU28D,EAAiB38D,QAC3Bs1B,QAAS,yCAGZ,CAACzzB,EAAmB7B,UAEvBmjB,oBAAU,MACHlhB,EAAgBpC,SAAWoC,EAAgBjC,SACA,KAA1CiC,EAAgBhC,SAASo+D,cApCjC,SAAsB7oE,EAAQ4R,GAC5B,MAAMwzC,EAAI,wCAAAh+B,OAA2C6hD,mBACnDjpE,IAEIkmD,EAAW9K,SAAS50B,cAAc,KACxC0/B,EAASC,KAAOf,EAChBc,EAASA,SAAWt0C,EACpBwpC,SAAShmC,KAAKgxC,YAAYF,GAC1BA,EAASG,QACTjL,SAAShmC,KAAKkxC,YAAYJ,GA4BtBhB,CACEz4C,EAAgBhC,SAASo+D,aACzBp8D,EAAgBhC,SAASs+D,kBAK1Bt8D,EAAgBpC,SACnBs8D,EAAqB,CAAEC,UAAU,EAAOC,WAAW,KAEpD,CAACp6D,EAAgBpC,QAASoC,EAAgBhC,WAG3C8b,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,gBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgrC,eAAW,CACVmJ,oBAAkB,EAClB3wC,aAAW,EACXswC,YAAa,GACb7I,UAAQ,GAERlrC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASu3B,EACT9zC,KAAK,SACLxH,MAAO,IACPH,OAAQ,GACRS,WAAY7B,GAAMzH,aAClB+kD,WAAW,2BAEX/3C,IAAAC,cAAC+3C,KAAc,CAACx8D,KAAK,KAAKulB,MAAOtG,GAAMhH,eAAgB,yBAK7DuM,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,aACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,yBAKvC7I,IAAAC,cAACk4E,GAAa,MAEb58F,EAAO/D,OAAS,EACfwoB,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACtCpjD,IAAAC,cAACojD,aAAS,CACRvjD,QAASuhD,EACTiC,UAAWjF,EACX5S,YAAY,6BACZjG,SAAU8b,EACV9gC,MAAO+9B,EACPgF,UAAWhC,EACX9C,wBAAyBA,EACzBgF,WAAYC,KACZC,WAAYC,QAIhB5jD,IAAAC,cAAC4jD,KAAI,CAACC,SA/Yd,SAAsBpoE,GACpB,MAAMmL,EAtER,SAAoBnL,GAClB,MAAMgmE,EAAkBpnB,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBE,UAAYsC,EACvCpjE,EAAM4gE,qBAAqBxgE,OAASA,EACpCJ,EAAM4gE,qBAAqBM,gBAAkB3gE,EAAKs8B,kBAClD78B,EAAM4gE,qBAAqBG,gCAuF/B,SAAiB08B,GAEf,GAAe,MADCA,EAAOxiE,MAAM,6CACR,OAAO,EAzFmCyiE,CAC3Dn9F,EAAKyoE,wBAEHzoE,EAAKyoE,uBACL,KACJhpE,EAAM4gE,qBAAqBI,UACX,qBAAdzgE,EAAK8nB,KACD,KACA4gD,gBAAcx2E,SAAS8N,EAAK8nB,MAClCroB,EAAM4gE,qBAAqBK,YACH,6BAAtB1gE,EAAK2oE,aACD,KACA9iB,wBAAsBn0D,yBAAyBsO,EAAK2oE,cAC1DlpE,EAAM4gE,qBAAqBO,cACL,2BAApB5gE,EAAKqgC,WAA0C,KAAOrgC,EAAKqgC,WAC7D5gC,EAAM4gE,qBAAqBQ,UACV,sBAAf7gE,EAAKsvD,MAAgC,KAAOtvD,EAAKsvD,MACnD7vD,EAAM4gE,qBAAqBS,QACR,UAAjB9gE,EAAK2jE,QAAsB,KAAwB,QAAjB3jE,EAAK2jE,QACzClkE,EAAM4gE,qBAAqBU,OACV,UAAf/gE,EAAK4jE,MAAoB,KAAsB,QAAf5jE,EAAK4jE,MACvCnkE,EAAM4gE,qBAAqBY,mBAAqBjhE,EAAK8uD,cACjD8O,aAAO59D,EAAK8uD,cAAe,uBAC3B,KACJrvD,EAAM4gE,qBAAqBa,iBAAmBlhE,EAAK+uD,eAC/C6O,aAAO59D,EAAK+uD,eAAgB,uBAC5B,KACJtvD,EAAM4gE,qBAAqBc,kBAAoBnhE,EAAKgvD,kBAChD4O,aAAO59D,EAAKgvD,kBAAmB,uBAC/B,KACJvvD,EAAM4gE,qBAAqBe,gBAAkBphE,EAAKivD,mBAC9C2O,aAAO59D,EAAKivD,mBAAoB,uBAChC,OAGA9jD,EAAS,IACV66D,KACAf,GAIL,OADAX,EAAgB0B,GACT76D,EAwBQy9D,CAAW5oE,IArB5B,SAA+BqkE,GACdzlB,YAAQylB,EAAe5kE,IACpCA,EAAMQ,WAAa,KACnBR,EAAMS,SAAW,KACjBT,EAAMY,WAAa,KACnBZ,EAAMsjC,YACJtjC,EAAMsS,aAAeixB,qBAAmB1wC,iBAAiBC,MACrD,KACAkN,EAAMsS,WACZtS,EAAMsS,WAAa,KACnBtS,EAAMwjC,gBAAiB,IAYDm6D,CAAsBjyF,GAG9C4J,EAASC,EAAa7I,yBAAyBhB,IAG/C63D,GAA2B,KAwYnB1+C,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACtCpjD,IAAAC,cAACojD,aAAS,CACRvjD,QAASuhD,EACTiC,UAAWjF,EACX5S,YAAY,6BACZjG,SAAU8b,EACV9gC,MAAO+9B,EACPgF,UAAWhC,EACX9C,wBAAyBA,EACzBgF,WAAYC,KACZC,WAAYC,MAEZ5jD,IAAAC,cAACgrC,eAAW,CACVnE,UAAW,GACXqE,cAAY,EACZkJ,YAAU,EACV+O,KAAG,EACH9jD,aAAc,IAEdU,IAAAC,cAACunC,GAAa,CACZ5jC,OAAQy6C,EACR5W,wBAAyBxjD,EACzBy7B,YAAax7B,EACbwjD,kCA5RlB,SAA2CtnC,EAAG4X,GAI5C,GAHA5X,EAAEknC,kBACgB,KAAdlnC,EAAEohD,SAAgBphD,EAAEokD,iBAGtBxsC,GACA+nC,EAAa/nC,oBAAsBA,EACnC,CACA,MAAM0pC,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM68B,kBAAoBA,IAG5BgoC,EAAgB0B,GAChBjxD,EACEmvB,GAAwC,CACtC5H,kBAAmB0pC,EAAgB1pC,qBAKzC0mC,GAA2B,IA2QX/W,kBAAmB6W,EACnB5W,kBApflB,WACEoY,EAAgBP,UA2fZz/C,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAAC1nC,aAAW,EAACmwC,QAAM,GACxDr4D,EAAO/D,OAAS,IAAMypE,EACrBjhD,IAAAC,cAAC0B,QAAI,CACHnmB,KAAM,GACNoiE,MAAI,EACJv8C,KAAK,oEAGPrB,IAAAC,cAACi4E,GAAiB,CAChBliC,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBA7XZ,SAAiC91C,GAC/B,MAAMshD,EAAkBpnB,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBxgE,OAASA,IAEtC,GAAkB,KAAd6kB,EAAEohD,QAAgB,CACpB,GAAIjmE,EAAO/D,OAAS,EAAG,CACrB,MAAMqP,EAAS,IACV85D,KACA79C,GAEL,OAAOrS,EAASC,EAAa7I,yBAAyBhB,IAGxD,MAAMA,EAAS,IACV66D,KACAf,GAGL,GAAoC,KAAhC1K,EAAiBt6D,WACnB,OAAO8U,EAASC,EAAa7I,yBAAyBhB,MA2WhDsvD,oBAlOZ,SAA6B7xD,EAAQw1D,GACnC,MAAMsB,EAAY7X,MAAMC,QAAQl/C,GAAUA,EAAO9M,OAAS,EAEzC,aAAbsiE,EACF1kB,GAAMC,QACJr1B,IAAAC,cAAC84E,GAA0C,CAAC39B,UAAWA,IACvD,OACAjgD,IAAA,IAAC,WAAEogD,GAAYpgD,EAAA,OACb6E,IAAAC,cAAC84E,GAA4C,CAC3Cx9B,WAAYA,EACZC,UAAWA,KACTkJ,EAAapgE,EAAQw1D,GACrByB,SAMRnmB,GAAMC,QACJr1B,IAAAC,cAAC+4E,GAA0C,CAAC59B,UAAWA,IACvD,OACA9/C,IAAA,IAAC,WAAEigD,GAAYjgD,EAAA,OACb0E,IAAAC,cAAC+4E,GAA4C,CAC3Cz9B,WAAYA,EACZC,UAAWA,KACTkJ,EAAapgE,EAAQw1D,GACrByB,UAyMAi8B,gBAAiB94D,qBAAmB/wC,oBACpC2oE,iBA7VZ,SAA0B2iC,EAAWxrF,GACnC,MAAMutD,EAAsB1gB,YAAQ2+C,EAAY99F,IAC9CA,EAAMQ,WAAas9F,EAAUt9F,WAAa,EAC1CR,EAAMS,SAAWq9F,EAAUr9F,WAG7B,GAAIL,EAAO/D,OAAS,EAAG,CACrB,MAAMqP,EAAS,IACVic,KACAk4C,GAGL,OAAOvqD,EAASC,EAAa7I,yBAAyBhB,IAGxD,MAIMA,EAAS,IAJSyzC,YAAQx3B,EAAc3nB,IAC5CA,EAAM4gE,qBAAqBxgE,OAASA,OAKjCy/D,GAGL,OAAOvqD,EAASC,EAAa7I,yBAAyBhB,KAsU5C89D,gBA1WZ,SAAyBC,GACvB,MAAMC,EAAiB,GAAAhkD,OAAM+jD,EAC1BE,OAAO,GACPrlB,eAAa5+B,OAAG+jD,EAAQhjC,MAAM,KAC3B,WAAEjmC,EAAU,SAAEC,GAAay8F,EAAen0F,SAAS2gE,GACzD7O,EAAqB+O,IAAS,IACzBA,EACHppE,aACAC,mBAuWAokB,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASkiD,EACTp+C,OAAQg9C,EAAiBrnC,QACzBxV,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAASkiD,GACV,QAMLhiD,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMu/C,EAAiBrnC,QACvBzY,KAAK,qBACLC,MAAOtG,GAAMpF,eClsBhB,MAAM+6D,GAAmB11D,WAAOC,IAAGC,QAAAC,aAAA,yRAK/BJ,GAAMpC,WAUJy+D,GAAap8D,WAAOiG,OAAM3F,QAAAH,aAAA,iVCIxBq+E,OAlBStgG,IAA8B,IAA7B,oBAAEugG,GAAqBvgG,EAC9C,OACEonB,IAAAC,cAACmwD,GAAgB,KAAC,6BAEhBpwD,IAAAC,cAAA,YAAM,iCACwB,IAC5BD,IAAAC,cAAC62D,GAAU,CACThwE,KAAK,SACLgZ,QAASq5E,EACT3lC,cAAY,wBACb,0BCoDM4lC,OAzDaxgG,IAAqB,IAApB,WAAEygG,GAAYzgG,EACzC,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACG81E,EAAWj+F,IAAK4gD,IAAe,IAADs9C,EAC7B,MAAMC,GACY,QAAhBD,EAAAt9C,EAAUzgD,cAAM,IAAA+9F,OAAA,EAAhBA,EAAkB9c,wBACJ,OAAd,oBAAc,EAAd,eAAgBA,qBAElB,OACEx8D,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,KACPhd,EAAUnkB,KACT7X,IAAAC,cAAC62D,GAAU,CAACh3D,QAASk8B,EAAUw9C,aAC5Bx9C,EAAUnkB,MAGb,KAGJ7X,IAAAC,cAAC+4C,aAAS,KAAEhd,EAAUzgD,QAAU,KAChCykB,IAAAC,cAAC+4C,aAAS,KACPhd,EAAUu5C,aACPj8B,aAAO,IAAI1zC,KAAKo2B,EAAUu5C,cAAe,mBAAoB,CAC3Dh8B,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,KACPhd,EAAUy9C,kBACPngC,aACE,IAAI1zC,KAAKo2B,EAAUy9C,mBACnB,mBACA,CACElgC,SAAU,sBAGd,KAENv5C,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAACmB,UAAM,CACLpF,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb7D,SAAU05E,EACVz5E,QAASk8B,EAAUw9C,YACnBt4E,WAAY,IAEZlB,IAAAC,cAACy5E,KAAc,CAAC34E,MAAOtG,GAAM9E,MAAOna,KAAM,YCzC3Cm+F,OAZeA,IAE1B35E,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,KAAC,gBACbz1C,IAAAC,cAACw1C,eAAW,KAAC,UACbz1C,IAAAC,cAACw1C,eAAW,KAAC,oBACbz1C,IAAAC,cAACw1C,eAAW,KAAC,yBACbz1C,IAAAC,cAACw1C,eAAW,KAAC,aCiBJmkC,I,GAAAA,GAnBIhhG,IAA0C,IAAzC,WAAEygG,EAAU,oBAAEF,GAAqBvgG,EACrD,MAAMihG,EAAc,CAClBn2E,cAAe21E,EAAW7hG,QAAU,EACpC2zD,aAAckuC,EAAW7hG,OAAS,GAGpC,OACEwoB,IAAAC,cAACitB,QAAI3rB,OAAAC,OAAA,CAACqlC,OAAO,IAAIpjC,aAAW,GAAKo2E,GAC9BR,EAAW7hG,QAAU,EACpBwoB,IAAAC,cAACi5E,GAAe,CAACC,oBAAqBA,IAEtCn5E,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAAC05E,GAAqB,OACjC35E,IAAAC,cAACm5E,GAAmB,CAACC,WAAYA,OClBpC,MAAM53E,GAAc/G,WAAOC,IAAGC,QAAAC,aAAA,0ZC6BtB,I,GAAA,GA1Bei/E,IAE1B95E,IAAAC,cAACwB,GAAW,KACVzB,IAAAC,cAAA,cAAQ,mEACRD,IAAAC,cAAA,WAAM,4IAGND,IAAAC,cAAA,WAAM,qDAmBG,GAbiBrnB,IAAgC,IAA/B,WAAE2iE,EAAU,UAAEC,GAAW5iE,EACxD,OACEonB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCtBrD,MAAMhD,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,uFC0B3BoO,kBAAkB,IAAI3X,gbA6HfyoF,OA3HSA,KACtB,MAAMtpF,EAAWoT,eACTnoB,KAAMs+F,GAAiB/4C,YAC5B1oB,GAAUA,EAAMyjB,UAAUjG,2BAEvB,YAAEj0B,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAE/C,iBAAE0V,GAAqBX,GAAU1V,GAKjCm4E,EAA0Br4C,sBAAat4C,IAC3C,MAAM41B,EAAI2V,SAAS50B,cAAc,KACjCif,EAAE0gB,KAAI,GAAA/+B,OAAMoI,GAAiB,8CAAApI,OAA6CvX,GAC1E41B,EAAEygB,SAAW,YACbzgB,EAAEg7D,aAAa,SAAU,UACzBh7D,EAAE4gB,SACD,IAEGu5C,EAAargB,kBACjB,IACEghB,EACI,CACE,IACKA,EACHz+F,OAAQy+F,EAAaG,WAhBd,aADE,eAkBTX,YAAaA,KACX,MAAMlwF,GACJ0wF,EAAaI,eAAiB,IAC9B5d,oBAEFyd,EAAwB3wF,MAI9B,GACN,CAAC2wF,EAAyBD,IAGtBb,EAAsBv3C,sBAAY,KACNy3C,EAAWvgG,KACxC+yC,GAAMA,EAAEtwC,OAAOihF,sBAjCC,eAiCoCA,qBAIrDpnC,GAAMC,QAAQ,8DAEdD,GAAMC,QACJr1B,IAAAC,cAACo6E,GAA4C,MAC7C,OACAzhG,IAAA,IAAC,WAAE2iE,GAAY3iE,EAAA,OACbonB,IAAAC,cAACo6E,GAA8C,CAC7C9+B,WAAYA,EACZC,UAAWA,KAET/qD,EAAS+lC,GAAiBd,4BADP,IAEnB6lB,UAMT,CAAC9qD,EAAU4oF,IAOd,OALAjyE,oBAAU,KACiB,WAArB+Q,EAA+Br9B,EAAQ+tB,KAAK,eAC3CpY,EAAS+lC,GAAiBZ,oCAC9B,CAACzd,EAAkB1nB,IAGpBuP,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,mCACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgrC,eAAW,CACV6X,gBAAiB,GACjB5O,YAAU,EACVzwC,aAAW,EACXswC,YAAa,GACb7I,UAAQ,EACRmD,IAAK,GACLltC,YAAa,GAEbnB,IAAAC,cAACmB,UAAM,CACL+yC,oBAAkB,EAClB1wC,aAAW,EACX3C,KAAK,0BACL9E,MAAO,IACP8D,QAASq5E,GAETn5E,IAAAC,cAACq6E,KAAM,CAACv5E,MAAOtG,GAAM9E,MAAOna,KAAM,KAAM,uBAK9CwkB,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,mCACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,+BAKvC7I,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIjrC,OAAQ,KAClCmE,IAAAC,cAAC25E,GAAU,CACTP,WAAYA,EACZF,oBAAqBA,QC9HlBoB,I,2BAAAA,GAhBf,WAME,OACEv6E,IAAAC,cAACic,SAAK,CACJs+D,SAPgB,MAQhBhhE,MAPe,0BAQfD,QANF,mMAOEkhE,mBAAiB,KCNR91C,qBAAS/pC,QAAAC,aAAA,oHAUNH,WAAO4qE,GAAEtqE,QAAAH,aAAA,qEAV3B,MAgBa6/E,GAAsBhgF,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCQ,QAAAL,aAAA,8DACCjiB,IAAA,IAAC,KAAEkO,GAAMlO,EAAA,MACA,sBAATkO,EACIiU,eAAGM,QAAAR,aAAA,wCACQJ,GAAMrB,eAER,UAATtS,EACAiU,eAAGS,QAAAX,aAAA,wCACQJ,GAAMzH,cAEjB+H,eAAGY,QAAAd,aAAA,UAKE8/E,GAAkBjgF,WAAOC,IAAGmB,QAAAjB,aAAA,4CAGrC9hB,IAAA,IAAC,QAAEukB,GAASvkB,EAAA,OACZukB,EACIvC,eAAGkB,QAAApB,aAAA,0CACUyC,GAAO,kBAKfs9E,GAAiBlgF,WAAOusC,KAAI/qC,QAAArB,aAAA,oOCuCnCggF,GAAc9hG,IAAwD,IAAvD,KAAE+N,EAAI,MAAEqvB,EAAK,UAAE5F,EAAS,sBAAE40D,GAAuBpsF,EACpE,MAAMyhE,EAAkB,CACtB1sE,MAAO,CACLqlE,KAAMnzC,IAAAC,cAACuoD,KAAgB,CAACznD,MAAOtG,GAAMzH,aAAcxX,KAAK,SACxDmmB,KAAM,0BACNm5E,QAAS,sEACTC,QAAS,GACTC,cAAe,OACfx3E,KAAM,WAER31B,kBAAmB,CACjBslE,KAAMnzC,IAAAC,cAACg7E,KAAc,CAACl6E,MAAOtG,GAAMrB,cAAe5d,KAAK,SACvDmmB,KAAM,uCACNm5E,QAAS,uCACTC,QAAS,GACTC,cAAe,GACfx3E,KAAM,WAERz1B,QAAS,CACPolE,KAAM,KACNxxC,KAAM,KACNm5E,QAAS,KACTC,QAAS,OACTC,cAAe,GACfx3E,KAAM,YAGV,OACExD,IAAAC,cAACw3C,UAAM,CACLn6C,QAASk9C,EAAgB1zD,GAAMi0F,QAC/B/+E,MAAO,IACPlV,KAAM0zD,EAAgB1zD,GAAM0c,KAC5B03E,UAAQ,GAERl7E,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACxwC,aAAW,GAC1CzD,IAAAC,cAAC26E,GAAc,KACZpgC,EAAgB1zD,GAAMqsD,KAAK,IAAEqH,EAAgB1zD,GAAM6a,KACpD3B,IAAAC,cAAA,WACAD,IAAAC,cAAA,YAAAY,OACM25C,EAAgB1zD,GAAMg0F,QAAO,KACjC96E,IAAAC,cAAA,YACAD,IAAAC,cAAA,SAAIkW,GACM,UAATrvB,EAAmB,IAAM,KAGpB,sBAATA,EACCkZ,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTkE,KAAK,yCACLF,OACW,sBAAT9Z,EACI2T,GAAMrB,cACNqB,GAAMzH,aAEZsK,QAAkB,sBAATxW,EAA+B,OAAS,OACjDA,KAAK,SACLggD,UAAW,GACX/lC,MACW,sBAATja,EACI2T,GAAMrB,cACNqB,GAAM0gF,YAEZ7+E,WAAY7B,GAAM9E,MAClBmK,QAASA,IAAMqlE,EAAsB50D,EAAWzpB,IAEhDkZ,IAAAC,cAACy6E,GAAmB,CAACl/F,KAAK,KAAKsL,KAAMA,IAAQ,kBAG7C,QAMGi+E,OA9JKnsF,IAKb,IALc,kBACnBosF,EAAiB,qBACjBC,EAAoB,mBACpBC,EAAkB,sBAClBC,GACDvsF,EACC,SAASisF,EAAYzkE,EAAG7kB,GACtB,MAAM6pF,EAAuB9qC,YAAQ0qC,EAAoB7pF,IACnDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,SAGjEykD,EAAqBG,GAGvB,OACEplE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,GAC3CzD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAAC2wC,YAAU,GAC1Cr0C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,SACL5B,cAAe,KAEjBO,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,qBAAkB/B,aAAa,MAClDU,IAAAC,cAACkjE,GAAS,CACR3c,aAAepmD,GAAMykE,EAAYzkE,EAAG,QACpC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,wCACZrnC,KAAK,OACLoc,MAAOwkD,EAAkBntD,KACzBhY,UAAQ,KAGZG,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,uBAAoB/B,aAAa,MACpDU,IAAAC,cAACkjE,GAAS,CACR3c,aAAepmD,GAAMykE,EAAYzkE,EAAG,SACpC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,iCACZrnC,KAAK,QACLoc,MAAOwkD,EAAkB7uD,MACzBtW,SAA2C,YAAjCmlE,EAAkBv3E,cAGhCuS,IAAAC,cAAC46E,GAAW,CACV/zF,KAAMk+E,EAAkBv3E,WACxB0oB,MAAO+uD,EAAmB/uD,MAC1B5F,UAAWy0D,EAAkBz0D,UAC7B40D,sBAAuBA,IAES,UAAjCH,EAAkBv3E,WACjBuS,IAAAC,cAAC06E,GAAe,KACd36E,IAAAC,cAAC0B,QAAI,CAACN,KAAK,mCACXrB,IAAAC,cAAC0B,QAAI,CACHiwC,MAAO,CAAEsB,OAAQ,WACjBnyC,MAAOtG,GAAMzH,aACbqO,KAAK,6BACLvB,QAASA,IACPqlE,EACEH,EAAkBz0D,UAClB,wBAMR,MCgIKi1D,OAxLK5sF,IAOb,IAPc,cACnBmqB,EAAa,iBACb2iE,EAAgB,mBAChBpR,EAAkB,cAClBqR,EAAa,iBACbC,EAAgB,SAChB7/B,GACDntD,EACC,MAAMwiG,EAAgB,CACpB,CACErzC,cAAeA,IAAMszC,EAAqB,iBAC1Ch6E,KAAM,iBAER,CACE0mC,cAAeA,IAAMszC,EAAqB,eAC1Ch6E,KAAM,gBAIJi6E,EAAmB,CACvB,CACEvzC,cAAeA,IAAMwzC,EAAwB,YAC7Cl6E,KAAM,YAER,CACE0mC,cAAeA,IAAMwzC,EAAwB,mBAC7Cl6E,KAAM,qBAIJ,QAAEQ,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAC3CqjE,EAAiB//B,EAAS,UAAUF,cACpC21C,EAAoBz1C,EAAS,aAAaF,eAC1C,qBAAE60B,GAAyBqL,GAA+B,OAAbhjE,QAAa,IAAbA,OAAa,EAAbA,EAAewN,WAElE,SAAS8qE,EAAqBh6E,GAC5B,MAAM2kE,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMmwC,aAAejqB,IAAMlmB,EAAMmwC,WAAajqB,GAE3ClmB,IAGTuqF,EAAiBM,GAGnB,SAASuV,EAAwBl6E,GAC/B,MAAM2kE,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAM8rF,YAAc5lE,IAAMlmB,EAAM8rF,UAAY5lE,GAEzClmB,IAGTuqF,EAAiBM,GAGnB,SAASxf,EAAapmD,EAAG7kB,GACvB,MAAMyqF,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,OAExDrlC,IAGTuqF,EAAiBM,GAGnB,OACEhmE,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,GAC3CzD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAAC2wC,YAAU,GAC1Cr0C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,aACL5B,cAAe,KAEjBO,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,OAAO/B,aAAa,MACvCU,IAAAC,cAACkjE,GAAS,CACR3c,aAAepmD,GAAMomD,EAAapmD,EAAG,QACrC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,wCACZrnC,KAAK,OACLoc,MAAOzd,EAAc8U,QAGxBisB,GAAcwwB,EAAmBhpC,aAChCtrB,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,0BAAuB/B,aAAa,MACvDU,IAAAC,cAACkjE,GAAS,CACR3c,aAAepmD,GAAMomD,EAAapmD,EAAG,aACrC0mC,UAAU,IACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,sCACZrnC,KAAK,YACLoc,MAAOzd,EAAc6nB,aAI3B5qB,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACT7H,cAAelrB,wBAAsBxsC,kBAAkB23D,KAEzD6H,SAAUjqC,EAAQkW,MAElB/X,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASq7D,EACT53E,KAAK,WACLxH,MAAO,IACPH,OAAQ,GACRirC,UAAW,EACXxnC,aAAc,GACd+rC,UAAU,SACVjnC,KAAK,SACL4nD,SAAO,EACPtgB,SAAUo6B,GAEoB,KAA7B/iE,EAAcuoB,YACc,OAA7BvoB,EAAcuoB,WACVxS,wBAAsB2iE,oCACnBC,UACH5iE,wBAAsB2iE,oCACpB14E,EAAcuoB,cAIvByY,GAAQhhC,EAAcuoB,aACrBtrB,IAAAC,cAACgrC,eAAW,CAACnE,WAAY,GAAIuH,IAAK,EAAGpJ,YAAa,EAAGjpC,MAAO,KACzD+G,EAAckjE,MAAM7qF,IAAK28B,IACxB,MAAM+iD,EACJ/iD,IAASe,wBAAsBxsC,kBAAkB23D,IAEnD,OACEjkC,IAAAC,cAAC49C,SAAK,CACJx8C,KACEyX,wBAAsBtrC,2BAA2BuqC,GAEnDgmC,eAAgB+c,EAChBh7D,QAASA,KAAOg7D,GAAUJ,SAMnC52B,GAAc/gC,EAAcuoB,aACA,gBAA7BvoB,EAAcuoB,WACZtrB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASu7D,EACT93E,KAAK,WACLxH,MAAO,IACPqvC,UAAU,eACVjnC,KAAK,YACL0iC,UAAW,EACXxnC,aAAc,GACdzD,OAAQ,GACR6vC,SAAU8vC,GAEkB,IAA3Bz4E,EAAckkE,WACY,MAA3BlkE,EAAckkE,UACVC,2BAAyB/6F,WAAW,GACpC42B,EAAckkE,YAGpB,KACJjnE,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,UACL5B,cAAe,GACfqnC,UAAW,KAEb9mC,IAAAC,cAACimE,eAAW,CACVh1D,SAAUy0D,EAAcz0D,SACxBi1D,uBAAyBj1D,GACvB00D,EAAiB,CAAE10D,mBC3LjC,MAAMyqE,GAAuBA,IAEzB37E,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,KAAC,kBACbz1C,IAAAC,cAACw1C,eAAW,KAAC,UACbz1C,IAAAC,cAACw1C,eAAW,KAAC,cACbz1C,IAAAC,cAACw1C,eAAW,KAAC,UACbz1C,IAAAC,cAACw1C,eAAW,KAAC,SAqFJmmC,OAhFgBhjG,IAQxB,IARyB,6BAC9BijG,EAA4B,SAC5B9lC,EAAQ,SACR+a,EAAQ,oBACR9a,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,iBACvBI,GACD19D,EAeC,OAdAwuB,oBAAU,KACR,MAAM4zC,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAao6D,EAASp6D,WAC5BR,EAAMS,SAAWm6D,EAASn6D,SAC1BT,EAAMY,WAAaC,KAAKC,KAAK60E,EAAW/a,EAASn6D,UAE1CT,IAGT66D,EAAoBgF,IAGnB,IAGDh7C,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACkvE,GAAgB,CACf7R,UAAQ,EACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,YAAU,EACVC,cAAe,EACfC,cAAe,IACfC,aAAc,GACdC,WAAS,GAET79D,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAAC07E,GAAoB,OAC/BE,EAA6BzgG,IAAI,CAAC0gG,EAAWxmE,IAC5CtV,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAK23E,EAAUC,oBACvB/7E,IAAAC,cAAC+4C,aAAS,KACP8iC,EAAU/G,gBAAkB+G,EAAU/G,gBAAkB,KAE3D/0E,IAAAC,cAAC+4C,aAAS,KACP8iC,EAAUxwD,WACPxS,wBAAsBtrC,2BACpBsuG,EAAUxwD,YAEZ,KAENtrB,IAAAC,cAAC+4C,aAAS,KAAE8iC,EAAUE,OAASF,EAAUE,OAAS,KAClDh8E,IAAAC,cAAC+4C,aAAS,KACP8iC,EAAUG,iBAAmBH,EAAUG,iBAAmB,KAE7Dj8E,IAAAC,cAAC+4C,aAAS,KACP8iC,EAAUI,oBACP5iC,aACE,IAAI1zC,KAAKk2E,EAAUI,qBACnB,mBACA,CACE3iC,SAAU,sBAGd,SAMbxD,EAASt6D,MAAQ,IAChBukB,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOs6D,EAASt6D,MAChBw6D,iBAAkBA,EAClBiC,mBAAoB5B,EACpBN,oBAAqBA,EACrBE,wBAAyBA,MCgCpBimC,OAtHf,SAAuBvjG,GAkBnB,IAlBoB,cACtBmqB,EAAa,iBACb2iE,EAAgB,cAChBC,EAAa,iBACbC,EAAgB,kBAChBZ,EAAiB,qBACjBC,EAAoB,mBACpB3Q,EAAkB,mBAClB4Q,EAAkB,6BAClB2W,EAA4B,sBAC5B1W,EAAqB,gBACrBkB,EAAe,oBACfrwB,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,UACvB3lC,EAAS,SACTw1B,EAAQ,iBACRuQ,GACD19D,EACC,MAAMs9F,EAAOld,kBAAQ,IACF,CACf,CACEp5D,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,gBACZxC,MAAO,UACPqD,KAAM,eAER,CACExE,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,mBACZxC,MAAO,UACPqD,KAAM,eAER,CACExE,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,iBACZxC,MAAO,UACPqD,KAAM,cAER,CACExE,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,uCACZxC,MAAO,UACPqD,KAAM,wBACNpI,MAAO,gBAKV,IA6CH,OACEgE,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACk2E,OAAG,CAACD,KAAMA,EAAMvxB,gBAAiB0hB,GAChCrmE,IAAAC,cAACm2E,cAAU,CAACC,cAAc,eA9ChC,WACE,OAAI/hB,EAAmBxwE,QACdkc,IAAAC,cAACg7C,GAAe,MAErBqZ,EAAmBpwE,SAEnB8b,IAAAC,cAACulE,GAAW,CACVziE,cAAeA,EACf2iE,iBAAkBA,EAClBC,cAAeA,EACfC,iBAAkBA,EAClBtR,mBAAoBA,EAAmBpwE,SACvC6hD,SAAUA,EACVuQ,iBAAkBA,IAIjBt2C,IAAAC,cAACk6C,GAAY,MA8BbmsB,IAEHtmE,IAAAC,cAACm2E,cAAU,CAACC,cAAc,eACxBr2E,IAAAC,cAAC8kE,GAAW,CACVC,kBAAmBA,EACnBC,qBAAsBA,EACtBC,mBAAoBA,EACpBC,sBAAuBA,KAG3BnlE,IAAAC,cAACm2E,cAAU,CAACC,cAAc,cACxBr2E,IAAAC,cAAC07D,GAA0B,CACzBprD,UAAWA,EACXsrD,YAAa94D,EAAcuoB,cAG/BtrB,IAAAC,cAACm2E,cAAU,CAACC,cAAc,yBA1C1BwF,EAA6B/3F,QACxBkc,IAAAC,cAACg7C,GAAe,MAGrB4gC,EAA6B33F,SAAS1I,KAAO,EAE7CwkB,IAAAC,cAAC27E,GAAsB,CACrBC,6BACEA,EAA6B33F,SAASxI,KAAKA,KAE7Cq6D,SAAU8lC,EAA6B33F,SAASxI,KAChDo1E,SAAU+qB,EAA6B33F,SAAS1I,KAChDw6D,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAAyBA,EACzBI,iBAAkBA,IAIjBt2C,IAAAC,cAACk6C,GAAY,UC9DxB,MAAM35C,GAAcznB,IAAoD,IAAnD,iBAAEqjG,EAAgB,SAAE/1D,EAAQ,cAAEg2D,GAAetjG,EAChE,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASs8E,EACTj7E,YAAa,GACbra,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,gBAGD1D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAASu8E,EACTn7E,WAAY,GACZpa,KAAMu/B,EAAW,SAAW,SAC5BrqB,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,SAOQ44E,I,GAAAA,GA/Df,SAA2B1jG,GAMvB,IANwB,OAC1BgrB,EAAM,QACN9D,EAAO,cACPu8E,EAAa,iBACbD,EAAgB,SAChB/1D,GACDztC,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,EACTjE,OAAQ,IACRG,MAAO,IACPwH,KAAK,UACLO,OACE/D,IAAAC,cAACO,GAAW,CACV47E,iBAAkBA,EAClB/1D,SAAUA,EACVg2D,cAAeA,KAInBr8E,IAAAC,cAAC0B,QAAI,CACHb,KAAK,uBACLC,MAAOtG,GAAMpF,UACb8vD,QAAM,EACNre,UAAW,GACXxnC,aAAc,GACd+B,KAAK,gDC9BN,MAAMX,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,8FC+BpBojD,OA/BiBrlE,IAA6B,IAA5B,QAAEknB,EAAO,UAAE07C,GAAW5iE,EACrD,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,YAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAAS07C,EACTt6C,WAAY,GACZpa,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,SC8tBQy7E,I,MAAAA,GA3sBf,SAAuB3jG,GAAa,IAAZ,MAAEw9B,GAAOx9B,EAC/B,MAAM,UAAE23B,GAAc6F,EAAMvvB,QAEtB,gBAAE4wB,GAAoBwpB,YAAa1oB,GAAUA,EAAM9V,KAAKZ,UACxD,mBAAE6iB,GAAuBuc,YAAa1oB,GAAUA,EAAMvvB,aACtDyH,EAAWoT,eAEX,eACJ4K,EAAc,eACdC,EAAc,mBACdC,EAAkB,0BAClBC,EAAyB,mBACzBL,EAAkB,mBAClBD,EAAkB,iBAClBS,EAAgB,iBAChBE,GACEgyB,YAAa1oB,GAAUA,EAAM1W,UAE3B,qBAAEu5D,EAAoB,aAAEL,GAAiB1C,GAC7C9nD,EACA9B,EAAevqB,SAASonC,YAGpB07C,EAAqB,CACzBz2D,UAAW2K,SAAS3K,EAAW,IAC/BsH,KAAMpJ,EAAevqB,SAAS2zB,MAAQ,GACtC+S,UAAWnc,EAAevqB,SAAS0mC,WAAa,GAChDU,WAAY7c,EAAevqB,SAASonC,YAAc,GAClD27C,UACEC,2BAAyBx6F,oCACvB+hC,EAAevqB,SAASonC,aACrB,GACP26C,MAAOx3D,EAAevqB,SAAS+hF,OAG3BkB,EAAuB,CAC3Bj2D,SAAU,CACR,CACE1N,KAAM4jE,mBAAiB96F,kBAAkBE,YACzCw+C,OAAQ,MAKRq8C,EAA0B,CAC9B92D,UAAW2K,SAAS3K,EAAW,IAC/BsH,KAAMlJ,EAAmBzqB,SAAS2zB,KAClC1B,MAAOxH,EAAmBzqB,SAASiyB,MACnC1oB,WAAYkhB,EAAmBzqB,SAASuJ,aAQnCqzD,EAAuBC,GAA4B95C,mBAAS,CACjErD,QAAQ,EACRvC,KAAM,GACN2/C,WAAY,GACZlhD,QAAUK,GAAMA,EAChBq7C,UAAYr7C,GAAMA,KAEb4C,EAAe2iE,GAAoBz+D,mBAAS+/D,IAC5CrB,EAAeC,GAAoB3+D,mBAASkgE,IAC5CnC,EAAmBC,GAAwBh+D,mBAChDogE,IAEKG,EAAuBC,GAA4BxgE,mBACxDkgE,IAEKO,EAAkBC,GAAuB1gE,oBAAS,IAClD2gE,EAAsBC,GAA2B5gE,mBAAS,CAC/DhjB,SAAS,EACT6jF,YAAa,GACbvuD,QAAS,MAEJwuD,EAAYC,GAAiB/gE,mBAAS,CAC3C3uB,OAAO,EACPihC,QAAS,MAEJ0uD,EAAWC,GAAgBjhE,mBAAS,gBACpCgvC,EAAkBD,GAAuB/uC,mBA/BpB,CAC1BtrB,WAAY,EACZC,SAAU,MA8BL4gG,EAAwBC,GAA6Bx1E,oBAAS,IAC9Do1E,EAAeK,GAAoBz1E,oBAAS,GAEnD,SAASmhE,EAA0BC,EAAWC,GAC5C,OAAQC,kBAAQF,EAAWC,GA8C7B,SAASE,IACP,OACEJ,EAA0BpB,EAAoBjkE,KAC7CqlE,EAA0BZ,EAAuB7B,GAE3CyC,EAA0BpB,EAAoBjkE,IAGpDqlE,EAA0BpB,EAAoBjkE,IAC/CqlE,EAA0BZ,EAAuB7B,KAChDA,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACrC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,QAG/D4kE,EAA0BZ,EAAuB7B,KAChDA,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACrC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,QAInE4kE,EAA0BpB,EAAoBjkE,IAC9CqlE,EAA0BZ,EAAuB7B,IACjDA,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,OAG7D4kE,EAA0BpB,EAAoBjkE,IAC7CqlE,EAA0BZ,EAAuB7B,IAChDA,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,YATrE,EAaF,SAASklE,IACP,OAAON,EACLf,EACArC,GA9EJ59D,oBAAU,KACR,MAAMvgB,EAAS,IACVovD,GAELxlD,EAAS2nB,GAAqC7H,IAC9C9f,EAAS2nB,GAAqC7H,IAC9C9f,EAAS2nB,GAAyC7H,IAClD9f,EACE2nB,GAAgD7H,EAAW1pB,KAE5D,IAEHugB,oBAAU,KACJqH,EAAevqB,UAAUwhF,EAAiBsB,IAC7C,CAACv4D,EAAevqB,WAEnBkjB,oBAAU,KACR,GAAIsH,EAAexqB,SAAS1M,OAAS,EAAG,CACtC,MAAM05B,EAAWxC,EAAexqB,SAAS9I,IAAK2vC,IAAO,CACnDvnB,KAAMunB,EAAQ49C,YACd39C,OAAQD,EAAQ69C,MAAMrvF,WAAWsnB,OAAOkqB,EAAQ89C,aAElDpB,EAAyB,CAAEv2D,aAC3B00D,EAAiB,CAAE10D,kBAEnB00D,EAAiBuB,IAElB,CAACz4D,EAAexqB,WAEnBkjB,oBAAU,KACR,GAAIuH,EAAmBzqB,SAAU,CAC/B,MAAMkhF,EAAuB9qC,YAAQ0qC,EAAoB7pF,IACvDA,EAAMo1B,UAAY2K,SAAS3K,EAAW,IACtCp1B,EAAM08B,KAAOlJ,EAAmBzqB,SAAS2zB,KACzC18B,EAAMg7B,MAAQxH,EAAmBzqB,SAASiyB,MAC1Ch7B,EAAMsS,WAAakhB,EAAmBzqB,SAASuJ,WAExCtS,IAET8pF,EAAqBG,KAEtB,CAACz2D,EAAmBzqB,WAyCvB,MAAM4kF,EAA0BlnC,sBAC7BmnC,IACc,CACXC,YAAaR,EACbS,YAAaP,EACbQ,WAAYA,IAAMnO,EAClBvoD,sBAAwBrS,GAAMA,GAGpB4oE,MAEd,CAACL,EAAqBF,EAAqBzN,IAgB7C,SAAS0N,GAAe19C,EAASvnB,GAM/B,MALqB,CACnBh3B,YAAa+pC,GAAqBwU,GAClCx+C,QAASsqC,GAAoBkU,IAGXvnB,GAiCtB,SAAS2lE,GAAkBztF,GACzB,MAAM,kBAAE0tF,EAAiB,kBAAEG,GA/B7B,SAA4B7tF,GAAO,IAADihG,EAChC,MAAMvT,EAAoB,CACxB74D,UAAW2K,SAAS3K,EAAW,IAC/BsH,KAAMn8B,EAAKm8B,KACX+S,UAAWlvC,EAAKkvC,UAAYlvC,EAAKkvC,UAAY,GAC7CU,WAAYxS,wBAAsBrrC,2BAA2BiO,EAAK4tF,QAClErC,UAAWvrF,EAAKurF,UAAYvrF,EAAKurF,UAAY,IAGzCsC,EAAoB,CACxBr4D,SAAU,IAQZ,OAN0B,QAAtByrE,EAAAhX,EAAcz0D,gBAAQ,IAAAyrE,OAAA,EAAtBA,EAAwBnlG,QAAS,IACnC+xF,EAAkBr4D,SAAWy0D,EAAcz0D,SAAS91B,IAAKsrC,IAAC,CACxDsE,OAAQtE,EAAEsE,OACVxnB,KAAMkjB,EAAEljB,SAGL,CAAE4lE,oBAAmBG,qBAaqBC,CAAmB9tF,IAElE0sF,EAA0BgB,EAAmBpC,IAC7CoB,EAA0BmB,EAAmB/B,MAG3C+B,EAAkBr4D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SAC1Cu+C,EAAkBr4D,SAASsM,MAAOkJ,GAChC+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,OAG7B+lE,EAAkBr4D,SAAS91B,IAAKsrC,IAC9BA,EAAEuE,IAAMvE,EAAEsE,OAAOrU,UAAU,EAAG,GAC9B+P,EAAEsE,OAAStE,EAAEsE,OAAOrU,UAAU,KAGhC4yD,EAAkBr4D,SAAW,GAG/Bk4D,EAAkB99C,WA7BtB,SAA+B5vC,GAC7B,OAAOo9B,wBAAsBrrC,2BAA2BiO,EAAK4tF,UAC3DxwD,wBAAsBxsC,kBAAkB23D,IACtCijC,2BAAyBr6F,oCACvB6O,EAAKurF,WAEPnuD,wBAAsBrrC,2BAA2BiO,EAAK4tF,QAuBzBG,CAAsB/tF,GACrD+U,EACE2nB,GACEgxD,EACAG,KAmFR,SAASqT,KACP/U,EAAwB,CACtB5jF,SAAS,EACTs1B,QAAS,kDAGPhL,EAAmBtqB,UACrBwM,EAAS2nB,MACLX,IAAoBlH,GACtB9f,EAAS2nB,GAAyC7H,KAGlDjC,EAAmBrqB,SAASwM,EAAS2nB,MACrCrJ,EAAiB9qB,SACnBwM,EAAS2nB,MAEPnJ,EAAiBhrB,UACnBwM,EAAS2nB,MACLX,IAAoBlH,GAAW5N,MAIvC,SAASm7D,KACPkK,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,oCAGPtK,EAAiB7qB,SACnBqM,EAAS2nB,MACPrJ,EAAiB3qB,SACnBqM,EAAS2nB,MA9LbhR,oBAAU,KACR,MAAMy1E,EAA8B/T,EAAwBb,GAE5DN,GAAqBkV,IACpB,CACD5U,EACAllE,EACA4iE,EACAX,EACAtgD,EACAokD,IA2LF,MAAMgU,GAA6Bl5E,IACjC,MAAMm5E,EAAkBziD,YAAQwmB,EAAwB3lE,IACtDA,EAAMyoB,QAAUA,EAChBzoB,EAAMkmB,KACJ,oGACFlmB,EAAM6lE,WAAa,WACnB7lE,EAAM2kB,QAAWy1D,GAASunB,GAA0BvnB,GACpDp6E,EAAMqgE,UAAY,KAChBshC,IAA0B,GAC1BE,MAGK7hG,IAET4lE,EAAyBg8B,IAiCrBC,GAAyBA,KAC7B,MAAMC,EAAwB,CAC5B1sE,UAAW2K,SAAS3K,EAAW,IAC/B4F,MAAO6uD,EAAkB7uD,OAG3B1lB,EAAS2nB,GAAuC6kE,KAsC5CC,GAAiBt7C,sBAAY,KACjC9mD,EAAQ+tB,KAAK,iBACZ,IAEGlG,GAAUA,KACdlS,EAASuT,MACTwC,KACA1rB,EAAQ+tB,KAAK,gBA0Ef,OAvEAzB,oBAAU,KACJmH,EAAmBtqB,SAAWo4F,EAChCxU,EAAwB,CACtB5jF,SAAS,EACTs1B,QAAS,mEAEFhL,EAAmBtqB,SAC5B4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,mDAGZ,CAAChL,EAAmBtqB,UAEvBmjB,oBAAU,KACJmH,EAAmBnqB,SACrByjF,EAAwB,CACtBvvF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,0DAEZ,CAAChL,EAAmBnqB,UAEvBgjB,oBAAU,KACJ2H,EAAiB3qB,SACnB4jF,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QAAS,qCAEZ,CAACxK,EAAiB3qB,UAErBgjB,oBAAU,KACJ2H,EAAiB9qB,SACnB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,gDAEZ,CAACxK,EAAiB9qB,UAErBmjB,oBAAU,KACJ6H,EAAiB7qB,SACnB4jF,EAAc,CACZ1vF,OAAQyvF,EAAWzvF,MACnBihC,QACEtK,EAAiB32B,MAAM,IAAM,wCAElC,CAAC22B,EAAiB7qB,UASrBgjB,oBAAU,KACR,GAAI6H,EAAiBhrB,SAAWo4F,EAAe,CAM7C5rF,EAAS2nB,GALmB,CAC1B,CACE7H,qBAIKtB,EAAiBhrB,SAC1B4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,qCAGb9oB,EAAS2nB,GAAyC7H,KACjD,CAACtB,EAAiBhrB,UAGnB+b,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,2BACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CAAEA,KAAM,YAAU0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,iBACjD,CACE4Q,KAAK,GAAD5Y,OAAK4N,EAAevqB,SAAS2zB,MACjCsrC,WAAYA,IACVroE,EAAQ+tB,KAAK,gCAADhI,OAAiC0P,QAIrDvQ,IAAAC,cAAC4jD,KAAI,CAACC,SA/QV,SAAsBpoE,GACpB,OAAQusF,GACN,IAAK,cACHkB,GAAkBztF,GAClB,MACF,IAAK,eAjBT,SAA2BA,GACrB+7B,IAAoBlH,EAAWksE,GAA0B,GACpDhlE,IAAoBlH,GAAWusE,IAA0B,GAGrD5hE,SAAS3K,EAAW,IACxB70B,EAAKy6B,MAYV8zD,CAAkBvuF,GAClB,MACF,IAAK,aACH0/E,OAuQAp7D,IAAAC,cAACk8E,GAAc,CACbp5E,cAAeA,EACf2iE,iBAAkBA,EAClBC,cAAeA,EACfC,iBAAkBA,EAClBZ,kBAAmBA,EACnBC,qBAAsBA,EACtB3Q,mBAAoB7lD,EACpBy2D,mBAAoBv2D,EAAmBzqB,SACvC23F,6BAA8BjtE,EAC9Bu2D,sBA3PR,SAA+B50D,EAAWupC,GACxC,MAKMowB,EAtBR,SAAoC/5E,EAAQtJ,GAa1C,MAZgB,CACdhZ,kBAAmBuqC,GAAyCvxB,GAC5D/Y,MAAOsqC,GACLvxB,EACAujC,iBAAe99C,kBAAkByB,SAEnCA,QAASqqC,GACPvxB,EACAujC,iBAAe99C,kBAAkBwB,QAItBqiB,GASOg6E,CAA2BrwB,EALlC,CACb,CACEvpC,eAKJ9f,EAASy5E,IAoPH7D,gBA/MR,SAAyB+D,GACvBlC,EAAakC,IA+MPp0B,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAhIR,SAAiC91C,GAC/B,GAAkB,KAAdA,EAAEohD,QAAgB,CACpB,MAAM36D,EAAS,IACVovD,GAG+B,KAAhCA,EAAiBt6D,YACnB8U,EACE2nB,GAAgD7H,EAAW1pB,MAyH3D0pB,UAAWA,EACXw1B,SAAUA,KACVuQ,iBA7IR,SAA0Bmd,GACxB,MAAM5sE,EAAS,IACV4sE,GAGLhjE,EACE2nB,GAAgD7H,EAAW1pB,OAyIzDmZ,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAImN,qBAAmB,EAACxwC,aAAW,GACzDzD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLga,KAAK,0BACL9E,MAAO,IACP8D,QAASA,IA1MnB,SAASsiD,EAAwBx+C,GAC/B,MAAMm5E,EAAkBziD,YAAQwmB,EAAwB3lE,IACtDA,EAAMyoB,QAAUA,EAChBzoB,EAAMkmB,KACJ,yGACFlmB,EAAM6lE,WAAa,WACnB7lE,EAAM2kB,QAAWy1D,GAASnT,EAAwBmT,GAClDp6E,EAAMqgE,UAAY0hC,GAEX/hG,IAET4lE,EAAyBg8B,GAgMf36B,CAAwBtB,EAAsBl9C,SAEjD,YAGD5D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbkP,oBAAkB,EAClB1wC,aAAW,EACX3c,KAAK,SACL+Y,SAAU6nE,EACVpqE,QAAuB,0BAAd2qE,EAAwC,OAAS,GAC1DnnE,KAAK,0BACL9E,MAAO,KAEPgE,IAAAC,cAACoqE,KAAY,MAAG,YAKtBrqE,IAAAC,cAACq8E,GAAkB,CACjBx8E,QAtNN,WACE28E,GAA2BD,IAsNvBJ,iBA9LN,WACEK,GAA0B,GAC1BC,GAAiB,GAEjB,MAAMO,EAAwB,CAC5B1sE,UAAW2K,SAAS3K,EAAW,IAC/B4F,MAAO6uD,EAAkB7uD,OAG3B1lB,EAAS2nB,GAAuC6kE,KAsL5CZ,cApNN,WACEI,GAA0B,GAC1BC,GAAiB,GAEjB,MAAMO,EAAwB,CAC5B1sE,UAAW2K,SAAS3K,EAAW,IAC/B4F,MAAO6uD,EAAkB7uD,OAG3B1lB,EAAS2nB,GAAuC6kE,KA4M5Cr5E,OAAQ44E,EACRn2D,UAAQ,IAEVrmB,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASA,KACPghD,EAAsBhhD,QAAQghD,EAAsBl9C,SAEtDA,OAAQk9C,EAAsBl9C,OAC9BG,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASA,KACPghD,EAAsBhhD,QAAQghD,EAAsBl9C,SAEtD43C,UAAWsF,EAAsBtF,aAIrCx7C,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMy/C,EAAsBz/C,KAC5BP,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAAS88E,GACTh5E,OAAQgkE,EAAqB3jF,QAC7B8f,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAAS88E,IACV,QAML58E,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMumE,EAAqBruD,QAC3BzY,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC6D,SAAK,CACJN,KAAK,QACL1D,QAASg+D,GACTl6D,OAAQmkE,EAAWzvF,MACnByrB,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRhB,WAAW,UACXsE,OAAO,UACP9Z,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASg+D,IACV,QAML99D,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAM0mE,EAAWxuD,QACjBzY,KAAK,qBACLC,MAAOtG,GAAMpF,eCjvBhB,MAAMqL,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,8FAOKH,WAAOwkB,EAAClkB,QAAAH,aAAA,gE,mBCPzC,MAAM0sC,GAAkB7sC,WAAOC,IAAGC,QAAAC,aAAA,6GAUnCsiF,GAAUx4C,qBAAS3pC,QAAAH,aAAA,kJAYZ6F,GAAYhG,WAAOC,IAAGO,QAAAL,aAAA,gOAMpBsiF,GAEXvkG,IAAA,IAAC,OAAEgrB,GAAQhrB,EAAA,OACXgrB,EACI7I,eAAGM,QAAAR,aAAA,kEAIHE,eAAGS,QAAAX,aAAA,6FCiRIuiF,I,kBAAAA,GAtSf,SAA8BxkG,GAA6B,IAA5B,OAAEgrB,EAAM,cAAE46C,GAAe5lE,EACtD,MAAMwiG,EAAgB,CACpB,CACErzC,cAAeA,IAAMszC,EAAqB,iBAC1Ch6E,KAAM,iBAER,CACE0mC,cAAeA,IAAMszC,EAAqB,wBAC1Ch6E,KAAM,wBAER,CACE0mC,cAAeA,IAAMszC,EAAqB,+BAC1Ch6E,KAAM,iCAIJ,QAAEvd,GAAYm9C,YAAa1oB,GAAUA,EAAM1W,QAAQ2M,qBAEnDs3D,EAAiB//B,aAAS,UAAUF,eAEnCw3C,EAAgBC,GAAqBr2E,mBAAS,KAC9Cs2E,EAAYC,GAAiBv2E,oBAAS,IACtCqjC,EAAOC,GAAYtjC,mBAAS,CACjCujC,cAAe,KACfC,eAAgB,KAChBgzC,gBAAiB,KACjBC,iBAAkB,KAClBC,iBAAkB,KAClBC,kBAAmB,QAEd1zC,EAAwBC,GAA6BljC,oBAAS,IAC9D42E,EAA0BC,GAC/B72E,oBAAS,IACJ82E,EAA2BC,GAChC/2E,oBAAS,GA+EX,SAASo0E,EAAqBh6E,GAC5Bi8E,EAAkBj8E,GAsDpB,OArCA+F,oBAAU,KACRo2E,GAAc,IACb,IAEHp2E,oBAAU,KAGHkjC,EAAME,eAAiBF,EAAMG,iBAC5BH,EAAME,gBAAkBF,EAAMG,eAEhCN,GAA0B,GAE1BA,GAA0B,GAIzBG,EAAMmzC,iBAAmBnzC,EAAMozC,mBAC9BpzC,EAAMmzC,kBAAoBnzC,EAAMozC,iBAElCI,GAA4B,GAE5BA,GAA4B,GAI3BxzC,EAAMqzC,kBAAoBrzC,EAAMszC,oBAC/BtzC,EAAMqzC,mBAAqBrzC,EAAMszC,kBAEnCI,GAA6B,GAE7BA,GAA6B,IAKhC,CAAC1zC,IAGFtqC,IAAAC,cAACS,GAAS,CAACkD,OAAQA,GACjB5D,IAAAC,cAACilC,GAAU,CAACL,UAAU,OACpB7kC,IAAAC,cAACmlC,GAAgB,KAAC,sBAClBplC,IAAAC,cAACklC,GAAiB,KAChBnlC,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASq7D,EACT53E,KAAK,WACLxH,MAAO,IACPqvC,UAAU,SACVjnC,KAAK,SACL0iC,UAAW,GACXjrC,OAAQ,GACR6vC,SAAUo6B,GAETuX,GAAkB,sBAErBr9E,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,wBAAkBH,WAAW,QAChDlB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,gBACLohC,SA3JhB,SAA6BplC,GAC3B,GAAIA,EAAEmrC,OAAQ,OACd,MAAMd,EAAiBrqC,EAAIkqC,EAAMG,eAAiBrqC,EAAIkqC,EAAMG,eAC5DF,EAAS,CACPC,cAAepqC,EACfqqC,iBACAgzC,gBAAiBnzC,EAAMmzC,gBACvBC,iBAAkBpzC,EAAMozC,iBACxBC,iBAAkBrzC,EAAMqzC,iBACxBC,kBAAmBtzC,EAAMszC,qBAmJbp9D,MAAO8pB,EAAME,gBAEfxqC,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,iBACLohC,SArJhB,SAA8BplC,GACxBA,EAAEmrC,QACNhB,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBrqC,EAChBq9E,gBAAiBnzC,EAAMmzC,gBACvBC,iBAAkBpzC,EAAMozC,iBACxBC,iBAAkBrzC,EAAMqzC,iBACxBC,kBAAmBtzC,EAAMszC,qBA8Ibr4C,QAAS+E,EAAME,cACfhqB,MAAO8pB,EAAMG,mBAInBzqC,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,0BAAoBH,WAAW,QAClDlB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,kBACLohC,SApJhB,SAA+BplC,GAC7B,GAAIA,EAAEmrC,OAAQ,OACd,MAAMmyC,EACJt9E,EAAIkqC,EAAMozC,iBAAmBt9E,EAAIkqC,EAAMozC,iBACzCnzC,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBgzC,gBAAiBr9E,EACjBs9E,mBACAC,iBAAkBrzC,EAAMqzC,iBACxBC,kBAAmBtzC,EAAMszC,qBA2Ibp9D,MAAO8pB,EAAMmzC,kBAEfz9E,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,mBACLohC,SA7IhB,SAAgCplC,GAC1BA,EAAEmrC,QACNhB,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBgzC,gBAAiBnzC,EAAMmzC,gBACvBC,iBAAkBt9E,EAClBu9E,iBAAkBrzC,EAAMqzC,iBACxBC,kBAAmBtzC,EAAMszC,qBAsIbr4C,QAAS+E,EAAMmzC,gBACfj9D,MAAO8pB,EAAMozC,qBAInB19E,IAAAC,cAACinC,GAAc,CACbhmC,WAAW,IACX4lC,UAAU,KACVzlC,KAAK,4BAELrB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,mBACLohC,SAhJhB,SAAgCplC,GAC9B,GAAIA,EAAEmrC,OAAQ,OACd,MAAMqyC,EACJx9E,EAAIkqC,EAAMszC,kBAAoBx9E,EAAIkqC,EAAMszC,kBAC1CrzC,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBgzC,gBAAiBnzC,EAAMmzC,gBACvBC,iBAAkBpzC,EAAMozC,iBACxBC,iBAAkBv9E,EAClBw9E,uBAuIYp9D,MAAO8pB,EAAMqzC,mBAEf39E,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTi4C,WAAYA,EACZn5E,KAAK,oBACLohC,SAzIhB,SAAiCplC,GAC3BA,EAAEmrC,QACNhB,EAAS,CACPC,cAAeF,EAAME,cACrBC,eAAgBH,EAAMG,eACtBgzC,gBAAiBnzC,EAAMmzC,gBACvBC,iBAAkBpzC,EAAMozC,iBACxBC,iBAAkBrzC,EAAMqzC,iBACxBC,kBAAmBx9E,KAkIPmlC,QAAS+E,EAAMqzC,iBACfn9D,MAAO8pB,EAAMszC,wBAMvB59E,IAAAC,cAAColC,GAAgB,CAAC5oC,eAAe,OAAOU,WAAW,OACjD6C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbvhC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACL+Y,SACEqqC,GACA6zC,GACAF,EAEF58E,QACEipC,GACA6zC,GACAF,EACI,GACA,EAEN/8E,KAAK,0BACL9E,MAAO,KACR,aAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbvhC,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLga,KAAK,0BACL9E,MAAO,IACP8D,QAvKV,WACEw9E,EAAkB,IAClB/yC,EAAS,CACPC,cAAe,GACfC,eAAgB,GAChBgzC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,kBAAmB,KAErBp/B,EAAc,IACdg/B,GAAc,KA6JP,c,UCxSX,MAAMhrC,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAWX43C,IADY/3C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,KAIJyrC,GAAsBvjF,mBAAOwjF,MAAUpzE,MAAOxJ,IAAK,CAC9DP,MAAOO,EAAMP,QADoBrG,CAEhCW,QAAAR,aAAA,6DAEUyG,GAAUA,EAAMP,MAGzBnoB,IAAA,IAAC,YAAEuoB,GAAavoB,EAAA,OAChBuoB,EACIpG,eAAGS,QAAAX,aAAA,+CACesG,GAElB,KAGKuxC,GAAeh4C,WAAOC,IAAGgB,QAAAd,aAAA,0TAGdJ,GAAMzH,cCmH9B,MAAMoiD,GAAmBr8D,IAA4C,IAA3C,QAAEs8D,EAAO,SAAEryB,EAAQ,eAAEsyB,GAAgBv8D,EAC7D,OACEinB,IAAAC,cAACu1C,YAAQ,KACM,UAAZH,EACCr1C,IAAAC,cAACw1C,eAAW,CAACC,WAAS,GACpB11C,IAAAC,cAAC01C,YAAQ,CACPC,QAAS5yB,EACTljB,QAAUM,GAAMk1C,EAAel1C,GAC/BvE,OAAQ,GACRG,MAAO,MAGT,KACJgE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,cAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,UAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,UAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,iBAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,mBAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,YAO3Co6C,GAAa36C,IAYZ,IAZa,SAClBiV,EAAQ,SACR2lC,EAAQ,oBACRC,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,sBACvBivB,EAAqB,mBACrBgZ,EAAkB,QAClB9oC,EAAO,oBACPc,EAAmB,aACnBioC,EAAY,iBACZ9nC,GACDn7C,EACC,MAAO6nB,EAAU4zB,GAAe3vC,oBAAS,IAClCo3E,EAAiBC,GAAsBr3E,mBAAS,IAMvD,OACEjH,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,QACZwiF,EAAgB7mG,OAAS,EACxBwoB,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,QACbmE,IAAAC,cAACs+E,GAAa,CACZlpC,QAASA,EACTgpC,gBAAiBA,EACjBF,mBAAoBA,EACpBhoC,oBAAqBA,EACrBF,iBAAkBA,EAClBuB,UAAW4mC,EACXl9E,WAAY,MAGd,KACJlB,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAACm1C,GAAgB,CACfC,QAASA,EACTryB,SAAUA,EACVsyB,eAzBZ,SAAwBl1C,GACtBw2C,GAAa5zB,OA4BN5S,EAASh1B,IAAI,CAACunD,EAAMrtB,IACnBtV,IAAAC,cAAC63C,GAAY,CACX3zC,IAAKw+B,EAAKpyB,UACV+E,MAAOA,EACP0N,SAAUA,EACV2f,KAAMA,EACN27C,mBAAoBA,EACpBD,gBAAiBA,EACjBhpC,QAASA,EACT8vB,sBAAuBA,EACvBhvB,oBAAqBA,MAI1BJ,EAASv6D,KAAO,IACfwkB,IAAAC,cAACg4C,cAAU,CACTjC,oBAAqBA,EACrBC,iBAAkBA,EAClBx6D,MAAOs6D,EAASv6D,KAChB06D,wBAAyBA,EACzBgC,mBAAoB5B,OAQ1BwB,GAAex8C,IASd,IATe,KACpBqnC,EAAI,SACJ3f,EAAQ,mBACRs7D,EAAkB,gBAClBD,EAAkB,GAAE,QACpBhpC,EAAO,sBACP8vB,EAAqB,MACrB7vD,EAAK,oBACL6gC,GACD76C,EACC,MAAO68C,EAAaC,GAAkBnxC,oBAAS,IACxCyzB,EAAWy2B,GAAgBlqD,oBAAS,IACpCpF,EAAS28E,GAAcv3E,mBAAS,CAAE07B,OAAMiT,SAAUlb,IAuDzD,OAjBAtzB,oBAAU,KACR,MAAMiH,EAAaisB,YAAQz4B,EAAU1mB,IACnCA,EAAMy6D,QAAU5yB,EAET7nC,IAETqjG,EAAWnwE,GACP2U,EAECq7D,EACEjjG,IAAKqjG,GAAmBA,EAAe97C,KAAKpyB,WAC5C4G,SAAS9I,EAAWs0B,KAAKpyB,YAE5B+tE,EAAoB1sB,GAAa,IAAIA,EAAUvjD,IAC5CiwE,EAAmB,KACzB,CAACt7D,IAGFhjB,IAAAC,cAACu1C,YAAQ,CACPrxC,IAAKw+B,EAAKpyB,UACVuoC,aAxDJ,SAA+B14C,GAC7Bg4C,GAAgBD,IAwDdY,aAtDJ,SAA+B34C,GACzB+3C,GAAaC,GAAgBD,KAuDlB,UAAZ9C,EACCr1C,IAAAC,cAAC+4C,aAAS,CAACtD,WAAS,EAACvxC,IAAKw+B,EAAKpyB,WAC7BvQ,IAAAC,cAAC01C,YAAQ,CACPC,QAAS/zC,EAAQ+zC,QACjB91C,QAAUM,GApDpB,SAA8BA,EAAG4f,EAAOzP,GACtC,MAAMlC,EAAaisB,YAAQz4B,EAAU1mB,IAC/BA,EAAMwnD,KAAKpyB,YAAcA,IAAWp1B,EAAMy6D,SAAW51B,GAElD7kC,IAGHujG,EAAoBpkD,YAAQ+jD,EAAkBljG,IAClD,MAAMs2E,EAAWt2E,EAAM5D,OAAQm6E,GAE3BA,EAAE/uB,KAAKpyB,YAAclC,EAAWs0B,KAAKpyB,YAA2B,IAAdmhD,EAAE9b,SAQxD,OAJIvnC,EAAWunC,SAAS6b,EAAS5oD,KAAKwF,GAEtClzB,EAAQs2E,IAKV+sB,EAAWnwE,GACXiwE,EAAmBI,GA+BTC,CAAqBv+E,EAAGyB,EAAQ+zC,QAASjT,EAAKpyB,WAEhD1U,OAAQ,GACRG,MAAO,MAGT,KACJgE,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCinC,EAAK9qB,KAAO8qB,EAAK9qB,KAAO,KAE3B7X,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCinC,EAAKxsB,MAAQwsB,EAAKxsB,MAAQ,KAE7BnW,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCinC,EAAKrX,WACFxS,wBAAsBtrC,2BAA2Bm1D,EAAKrX,YACtD,KAENtrB,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCinC,EAAKi8C,UACFtlC,aAAO,IAAI1zC,KAAK+8B,EAAKi8C,WAAY,mBAAoB,CACnDrlC,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCinC,EAAKk8C,YACFvlC,aAAO,IAAI1zC,KAAK+8B,EAAKk8C,aAAc,mBAAoB,CACrDtlC,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCy8C,EACCn4C,IAAAC,cAAC6+E,GAAmB,CAClB3Z,sBAAuBA,EACvBhvB,oBAAqBA,EACrB4oC,cA9FV,SAA6BC,GAC3BlkG,EAAQ+tB,KAAK,gCAADhI,OAAiCm+E,KA8FrCC,QAAS9mC,EACT9C,QAASA,EACT6pC,cAAev8C,EAAKl1C,WACpBuxF,UAAWr8C,EAAKpyB,YAGlBvQ,IAAAC,cAAAD,IAAAuD,SAAA,MACO,OAAJo/B,QAAI,IAAJA,OAAI,EAAJA,EAAMl1C,YACH28B,iBAAe58C,2BAA2Bm1D,EAAKl1C,YAC/C,QAQV0sD,GAAeA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACpvC,OAAQ,IAAK6H,eAAa,EAACD,aAAW,GACjDzD,IAAAC,cAACwyC,GAAqB,KAAC,+BAIrB8rC,GAAgB9iF,IAQf,IARgB,QACrB45C,EAAO,gBACPgpC,EAAe,mBACfF,EAAkB,oBAClBhoC,EAAmB,iBACnBF,EAAgB,WAChB/0C,EAAU,UACVs2C,GACD/7C,EACC,MAAMg/C,EAAgB,CACpB3sE,MAAO,CACLszB,OACEpB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTsE,WAAYA,EACZJ,KAAK,0BACLhB,QAASA,IAAMq2C,EAAoBkoC,EAAiBhpC,IAEpDr1C,IAAAC,cAACg+E,GAAmB,CAClB98E,YAAY,MACZJ,MAAOtG,GAAMzH,aACbxX,KAAK,OACL,aAKRzN,QAAS,CACPqzB,OACEpB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL2wC,oBAAkB,EAClB1wC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTsE,WAAYA,EACZJ,KAAK,0BACLhB,QAASA,IAAMq2C,EAAoBkoC,EAAiBhpC,IAEpDr1C,IAAAC,cAACoL,KAAa,CACZ8zE,eAAa,IACb3jG,KAAK,KACLulB,MAAOtG,GAAMzH,eACb,WAKRnlB,kBAAmB,CACjBuzB,OACEpB,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLywC,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACPmB,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbroC,QAAS,GACTsE,WAAYA,EACZJ,KAAK,2BAELd,IAAAC,cAACm/E,KAAU,CAAC5jG,KAAK,KAAKulB,MAAOtG,GAAMzH,eAAgB,oBAW3D,OACEgN,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAAC3rC,aAAc,GAAI20C,qBAAmB,EAACxwC,aAAW,GAC5DzD,IAAAC,cAACw3C,UAAM,CAAC3wD,KAAK,WACXkZ,IAAAC,cAAA,YAAM,sBACao+E,EAAgB7mG,OAAO,MAAI,IAC3CggE,GAAa,GAAKvB,EAAiBr6D,SAAW47D,EAAU,YAVnE,WAAkC,IAAD6nC,EAC/B,OAA6B,QAA7BA,EAAO5kC,EAAcpF,UAAQ,IAAAgqC,OAAA,EAAtBA,EAAwBj+E,OAY1Bk+E,MAMHR,GAAsBljF,IAOrB,IAPsB,sBAC3BupE,EAAqB,cACrB4Z,EAAa,QACb1pC,EAAO,cACP6pC,EAAa,UACbF,EAAS,oBACT7oC,GACDv6C,EACC,OACEoE,IAAAC,cAACgrC,eAAW,CAACjvC,OAAK,EAACY,QAAS,EAAG6G,aAAW,EAAC2wC,oBAAkB,GAC3Dp0C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,SACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CAAC5yC,QAASA,IAAMi/E,EAAcC,IACzCh/E,IAAAC,cAACs6C,KAAQ,CAAC/+D,KAAK,KAAKulB,MAAOtG,GAAMpC,cAIrC2H,IAAAC,cAACu6C,GAAe,CACd2qB,sBAAuBA,EACvB9vB,QAASA,EACT6pC,cAAeA,EACfF,UAAWA,EACX7oC,oBAAqBA,MAMvBqE,GAAkBz+C,IAMjB,IANkB,QACvBs5C,EAAO,cACP6pC,EAAa,UACbF,EAAS,sBACT7Z,EAAqB,oBACrBhvB,GACDp6C,EACC,MAAM0+C,EAAgB,CACpB3sE,MAAO,CACL6zB,KAAM,WACNwxC,KAAMnzC,IAAAC,cAACg+E,GAAmB,CAACl9E,MAAOtG,GAAMpC,UAAW7c,KAAK,QAE1DzN,QAAS,CACP4zB,KAAM,SACNwxC,KAAMnzC,IAAAC,cAACoL,KAAa,CAAC7vB,KAAK,KAAKulB,MAAOtG,GAAMpC,aAE9CxqB,kBAAmB,CACjB8zB,KAAM,iBACNwxC,KAAMnzC,IAAAC,cAACm/E,KAAU,CAAC5jG,KAAK,KAAKulB,MAAOtG,GAAMpC,cAW7C,OACE2H,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KARJ,WAAuC,IAADk+E,EACpC,OAAmC,QAAnCA,EAAO9kC,EAAcykC,UAAc,IAAAK,OAAA,EAA5BA,EAA8B59E,KAO7Bg5C,GACN7/C,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CACX5yC,QAASA,IAAMq2C,EAAoB6oC,EAAWE,IAfpD,WAAiC,IAADM,EAC9B,OAAmC,QAAnCA,EAAO/kC,EAAcykC,UAAc,IAAAM,OAAA,EAA5BA,EAA8BrsC,KAgBhCssC,MAMMC,IC3kBX,GAAO,GD2kBIA,GAjiBf,SAAyB9mG,GASrB,IATsB,oBACxBo9D,EAAmB,iBACnBC,EAAgB,wBAChBC,EAAuB,sBACvBivB,EAAqB,mBACrBgZ,EAAkB,oBAClBhoC,EAAmB,gBACnBwO,EAAe,iBACfrO,GACD19D,EACC,MAAM6X,EAAWoT,eAEX,oBAAE2K,GAAwByyB,YAAa1oB,GAAUA,EAAM1W,SAEvDq0E,EAAO,CACX,CACEt2E,SACEI,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,YAAOuO,EAAoBtqB,SAASjW,MAAMuN,MAAY,SAG1DulB,MAAO,UACPqD,KAAM,SAER,CACExE,SACEI,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,YAAOuO,EAAoBtqB,SAASpW,MAAM0N,MAAY,UAG1DulB,MAAO,UACPqD,KAAM,SAER,CACExE,SACEI,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,YAAOuO,EAAoBtqB,SAASrW,kBAAkB2N,MAAY,aAItEulB,MAAO,UACPqD,KAAM,qBAER,CACExE,SACEI,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,YAAOuO,EAAoBtqB,SAASnW,QAAQyN,MAAY,YAG5DulB,MAAO,UACPqD,KAAM,YAIV,SAASkiE,EAAkBl2D,GAA2B,IAAjBilC,EAAOprD,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAC7C,OAAIukB,EAAoB1qB,QACfkc,IAAAC,cAACg7C,GAAe,MAEnB7qC,EAAS10B,MAAQ00B,EAAS10B,KAAKlE,OAAS,EAE1CwoB,IAAAC,cAAC61C,GAAUv0C,OAAAC,OAAA,CACTu0C,SAAU3lC,EACVA,SAAUA,EAAS10B,KACnB0iG,aAAchuE,EAAS50B,KACvBw6D,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBAAyBA,EACzBivB,sBAAuBA,EACvBgZ,mBAAoBA,EACpBhoC,oBAAqBA,EACrBG,iBAAmBqpC,GAAarpC,EAAiBqpC,EAAUtqC,IACtDA,GAAW,CAAEA,aAIjBr1C,IAAAC,cAACk6C,GAAY,MAgBtB,OAbA/yC,oBAAU,KACR,MAAMvgB,EAAS,IACVovD,GAGLxlD,EACE2nB,GACEvxB,EACAujC,iBAAep8C,oBAGlB,IAGDgyB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACk2E,OAAG,CAACD,KAAMA,EAAMvxB,gBAAiBA,GAChC3kD,IAAAC,cAACm2E,cAAU,CAACC,cAAc,SACvB/P,EAAkB93D,EAAoBtqB,SAASjW,MAAO,UAEzD+xB,IAAAC,cAACm2E,cAAU,CAACC,cAAc,SACvB/P,EACC93D,EAAoBtqB,SAASpW,MAC7Bs8C,iBAAep8C,iBAAiBF,QAGpCkyB,IAAAC,cAACm2E,cAAU,CAACC,cAAc,qBACvB/P,EACC93D,EAAoBtqB,SAASrW,kBAC7Bu8C,iBAAep8C,iBAAiBH,oBAGpCmyB,IAAAC,cAACm2E,cAAU,CAACC,cAAc,WACvB/P,EACC93D,EAAoBtqB,SAASnW,QAC7Bq8C,iBAAep8C,iBAAiBD,aCzJ5C,SAAS,KAAiS,OAApR,GAAWwzB,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM21F,GAAoBhnG,IACxB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,kBACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,yOAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc2/E,GAAmB,GAAS,CAC5HhwC,OAAQrvC,GACPe,KACY,ICxBX,GAAO,GDwBI,ICvBf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM41F,GAAcjnG,IAClB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDpE,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,CAC3I+vC,EAAG,kBACHD,KAAM,UACH,KAAW,GAAsB,IAAM9vC,cAAc,OAAQ,CAChE+vC,EAAG,+xCAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc4/E,GAAa,GAAS,CACtHjwC,OAAQrvC,GACPe,KACY,I,YAAA,ICnBR,MAAM2vC,GAAev2C,WAAOC,IAAGC,QAAAC,aAAA,QAEzBq2C,GAAqBx2C,WAAOC,IAAGK,QAAAH,aAAA,QAE/B4G,GAAc/G,WAAOC,IAAGO,QAAAL,aAAA,8HAE1BJ,GAAMrD,MAKJsJ,GAAYhG,WAAOC,IAAGU,QAAAR,aAAA,iYAEbJ,GAAMlD,QAWJwvC,aAAQ,IAAMtsC,GAAMzH,cAG7ByH,GAAMzH,aACD+zC,aAAQ,IAAMtsC,GAAMzH,cAI1ByH,GAAMzH,cCHL8sF,I,SAAAA,GAvBQlnG,IAAA,IAAC,KAAEyoB,EAAI,QAAEvB,EAAO,SAAEF,GAAUhnB,EAAA,OACjDonB,IAAAC,cAACS,GAAS,CAACZ,QAASA,GAClBE,IAAAC,cAACgxC,GAAY,KACXjxC,IAAAC,cAACmxC,GAAS,CACR90C,WAAY7B,GAAMlD,QAClBuI,QAASA,EACTkB,aAAa,IACbhF,MAAM,KACNH,OAAO,KACPyD,aAAc,IAEbM,IAGLI,IAAAC,cAACixC,GAAkB,KACjBlxC,IAAAC,cAACwB,GAAW,KACTJ,M,qBCvBF,MAAMX,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,uFAMtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,mKAE1BJ,GAAM5C,SAOM6C,WAAOC,IAAGO,QAAAL,aAAA,mDCmClBklF,OAtCf,SAAyBnnG,GAAuB,IAAtB,OAAEgrB,EAAM,QAAE9D,GAASlnB,EAC3C,MAAMonG,EAAgCp+C,sBAAaq+C,IACjDnlG,EAAQ+tB,KAAK,6BAADhI,OAA8Bq/E,KAAW/zG,WAAW,MAC/D,IAEGg0G,EAA8Bv+C,sBAAaq+C,IAC/CnlG,EAAQ+tB,KAAK,6BAADhI,OAA8Bq/E,KAAW/zG,WAAW,MAC/D,IAEH,OACE6zB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,EACTjE,OAAQ,IACRG,MAAO,IACPo8B,OAAQp4B,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,oBAEVvD,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACwB,GAAW,KAAC,wCACbzB,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC6/E,GAAc,CACbhgF,QAASkgF,EACT3+E,KAAK,wBAELrB,IAAAC,cAACmgF,GAAQ,CAACrwC,KAAMt1C,GAAMxG,YAAa+H,MAAM,KAAKH,OAAO,QAEvDmE,IAAAC,cAAC6/E,GAAc,CACbhgF,QAASqgF,EACT9+E,KAAK,sBAELrB,IAAAC,cAACogF,GAAQ,CAACtwC,KAAMt1C,GAAMxG,mBC6gBlC,MAAMgqD,GAA0BrlE,IAA6B,IAA5B,QAAEknB,EAAO,UAAE07C,GAAW5iE,EACrD,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,YAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAAS07C,EACTt6C,WAAY,GACZpa,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,SAOQw/E,I,yDAAAA,GAtjBf,WACE,MAAM7vF,EAAWoT,eAEX,QAAE5f,GAAYg9C,YAAa1oB,GAAUA,EAAMwD,aAC3C,mBAAExN,EAAkB,mBAAED,EAAkB,oBAAEE,GAC9CyyB,YAAa1oB,GAAUA,EAAM1W,UAExB0+E,EAAeC,GAAoBv5E,mBAAS,CACjDmJ,SAAU,GACV0pC,SAAU,MAEL2mC,EAAsBC,GAAuBz5E,oBAAS,IACtD05E,EAAgB3Y,GAAiB/gE,mBAAS,CAC/C3uB,OAAO,EACPwvF,YAAa,GACbvuD,QAAS,MAEJquD,EAAsBC,GAA2B5gE,mBAAS,CAC/DhjB,SAAS,EACT6jF,YAAa,GACbvuD,QAAS,MAEJunC,EAAuBC,GAA4B95C,mBAAS,CACjEouB,SAAS,EACT9b,QAAS,MAEJ8kC,EAAmBC,GAAwBr3C,oBAAS,IACpDs3C,EAAYC,GAAiBv3C,mBAAS,KAEtCw3C,EAAyBC,GAA8Bz3C,oBAAS,GAcjEy4C,EAAsB,CAC1BjyD,WAAY28B,iBAAep8C,iBAAiBC,MAC5C0N,WAAY,EACZC,SAAU,GACVC,SAAU,KACVC,aAAc,OAGTikE,EAAcC,GAAmB/4C,mBApBZ,CAC1B4Q,KAAM,KACN1B,MAAO,KACPmV,WAAY,KACZkf,cAAe,KACfC,eAAgB,KAChBgzC,gBAAiB,KACjBC,iBAAkB,KAClBC,iBAAkB,KAClBC,kBAAmB,QAYd3nC,EAAkBD,GAAuB/uC,mBAASy4C,GAEzD,SAAS0C,IACPrB,EAAyB,CACvB1rB,SAAUyrB,EAAsBzrB,UAOpC,SAASurD,IACPF,GAAqBD,GAwKvB,SAAStW,EAA2Bh6E,EAAQtJ,GAa1C,MAZgB,CACdhZ,kBAAmBuqC,GAAyCvxB,GAC5D/Y,MAAOsqC,GACLvxB,EACAujC,iBAAe99C,kBAAkByB,SAEnCA,QAASqqC,GACPvxB,EACAujC,iBAAe99C,kBAAkBwB,QAItBqiB,GAGjB,SAASg1E,IACP,MAAMt+E,EAAS,CACb,CACE0pB,UAAWgwE,EAAcnwE,WAGvB85D,EAAgBC,EACpBoW,EAAczmC,SACdjzD,GAGF4J,EAASy5E,GAGX,SAASiU,IACP,MAAMt3F,EAAS05F,EAAcnwE,SAASh1B,IAAKs2E,IAClC,CAAEnhD,UAAWmhD,EAAE/uB,KAAKpyB,aAGvB25D,EAAgBC,EACpBoW,EAAczmC,SACdjzD,GAGF4J,EAASy5E,GA2CX,SAAS0S,IACP/U,EAAwB,CACtB5jF,SAAS,EACTs1B,QAAS,kDAGPhL,EAAmBtqB,SACrBwM,EAAS2nB,MACP9J,EAAmBrqB,SAASwM,EAAS2nB,MAvB3C,WACE,MAAMvxB,EAAS,IACVovD,EACHt6D,WAAY,EACZC,SAAU,IAGZ6U,EACE2nB,GACEvxB,EACAujC,iBAAep8C,mBAenB6yG,GAEF,SAAS/iB,IACPkK,EAAc,CACZ1vF,OAAO,EACPihC,QAAS,kDAEPhL,EAAmBtqB,SACrBwM,EAAS2nB,MACP9J,EAAmBrqB,SAASwM,EAAS2nB,MAmC3C,OAhCAhR,oBAAU,KACJmH,EAAmBtqB,SACrB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,mDAEZ,CAAChL,EAAmBtqB,UAEvBmjB,oBAAU,KACJmH,EAAmBnqB,SACrB4jF,EAAc,CACZ1vF,OAAQqoG,EAAeroG,MACvBihC,QAAS,6BAEZ,CAAChL,EAAmBnqB,UAEvBgjB,oBAAU,KACJkH,EAAmBrqB,SACrB4jF,EAAwB,CACtB5jF,SAAU2jF,EAAqB3jF,QAC/Bs1B,QAAS,6DAEZ,CAACjL,EAAmBrqB,UAEvBmjB,oBAAU,KACJkH,EAAmBlqB,SACrB4jF,EAAc,CACZ1vF,OAAQqoG,EAAeroG,MACvBihC,QAAS,+BAEZ,CAACjL,EAAmBlqB,UAGrB4b,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,2BACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgrC,eAAW,CACV6X,gBAAiB,GACjB5O,YAAU,EACVzwC,aAAW,EACXswC,YAAa,GACb7I,UAAQ,GAERlrC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZkvC,aAAc,GACd5sC,cAAe,GACfwlC,YAAa,GACbgP,qBAAmB,EACnBxwC,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAAS8gF,GAET5gF,IAAAC,cAAC+iD,KAAa,CAACjiD,MAAM,UAAU,qBAKrCf,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,2BACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,qBAKvC7I,IAAAC,cAAC4jD,KAAI,CAACC,SA7SZ,SAAsBpoE,GACpB,MAAMmL,EA/CR,SAAoBnL,GAClB,MAAMgmE,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAM08B,MACH0mC,GAAcrnC,GAAeqnC,GAAc,KAAOA,EACrDpjE,EAAMg7B,MAAQe,GAAeqnC,GAAcA,EAAa,KACxDpjE,EAAMmwC,WACY,uBAAhB5vC,EAAK4tF,OACD,KACAxwD,wBAAsBrrC,2BAA2BiO,EAAK4tF,QAC5DnuF,EAAMqvD,cAAgB9uD,EAAK8uD,cACvB8O,aAAO59D,EAAK8uD,cAAe,uBAC3B,KACJrvD,EAAMsvD,eAAiB/uD,EAAK+uD,eACxB6O,aAAO59D,EAAK+uD,eAAgB,uBAC5B,KACJtvD,EAAMsiG,gBAAkB/hG,EAAK+hG,gBACzBnkC,aAAO59D,EAAK+hG,gBAAiB,uBAC7B,KACJtiG,EAAMuiG,iBAAmBhiG,EAAKgiG,iBAC1BpkC,aAAO59D,EAAKgiG,iBAAkB,uBAC9B,KACJviG,EAAMwiG,iBAAmBjiG,EAAKiiG,iBAC1BrkC,aAAO59D,EAAKiiG,iBAAkB,uBAC9B,KACJxiG,EAAMyiG,kBAAoBliG,EAAKkiG,kBAC3BtkC,aAAO59D,EAAKkiG,kBAAmB,uBAC/B,KAEGziG,IAGH6/D,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAa,EACnBR,EAAMS,SAAW,KAGbiL,EAAS,IACV66D,KACA1G,GAKL,OAFAgF,EAAgB0B,GAChB1L,EAAoBgF,GACbn0D,EAIQy9D,CAAW5oE,GAE1B+U,EACE2nB,GACEvxB,EACAujC,iBAAep8C,mBAGnB0wE,GAA2B,KAqSrB1+C,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACtCpjD,IAAAC,cAACojD,aAAS,CACRvjD,QApSZ,WACEw+C,GAAsBD,IAoSZiF,UAAWjF,EACX5S,YAAY,4CACZjG,SAnSZ,SAA2BplC,GACzBo+C,EAAcp+C,EAAEmrC,OAAO/qB,QAmSbA,MAAO+9B,EACPgF,UAjSZ,SAA4BnjD,GACR,KAAdA,EAAEohD,SAEJ9C,GAA2B,IA+RnBD,wBAAyBA,EACzBgF,WAAYC,KACZC,WAAYC,MAEZ5jD,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,EAAGqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACpDpjD,IAAAC,cAACm9E,GAAqB,CACpBx5E,QAAM,EACN6jC,wBAAyBxjD,EACzBu6D,cAAeA,QAMzBx+C,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAACy/E,GAAgB,CACf1pC,oBAAqBA,EACrBC,iBAAkBA,EAClBC,wBA7SV,SAAiC91C,GAC/B,GAAkB,KAAdA,EAAEohD,QAAgB,CACpB,MAAM36D,EAAS,IACVk5D,KACA9J,GAG+B,KAAhCA,EAAiBt6D,YACnB8U,EAAS2nB,GAAmDvxB,MAsSxDs+E,sBAAuBA,EACvBgZ,mBAAoBA,EACpBhoC,oBA/JV,SAA6B/lC,EAAU0pC,GACrC0mC,EAAiB,CAAEpwE,WAAU0pC,aAQ7BiH,EAAyB,CACvB1rB,SAAUyrB,EAAsBzrB,QAChC9b,QARwB,CACxBzrC,MAAO,6CACPC,QAAS,2CACTF,kBAAmB,sDAKQisE,MAqJrB6K,gBA5OV,SAAyBC,GACvB,MAAMC,EAAiB,GAAAhkD,OAAM+jD,EAC1BE,OAAO,GACPrlB,eAAa5+B,OAAG+jD,EAAQhjC,MAAM,KAC3B,WAAEjmC,EAAU,SAAEC,GAClB4yB,EAAoBtqB,SAAS2gE,GAC/B7O,EAAqB+O,IAAS,IACzBA,EACHppE,aACAC,eAoOM06D,iBAhOV,SAA0B4E,EAAWztD,GACnC,MAAM5G,EAAS,IACVk5D,KACA7E,EACHztD,cAGFgD,EAAS2nB,GAAmDvxB,QA4NxDmZ,IAAAC,cAAC8/E,GAAgB,CACfjgF,QAAS8gF,EACTh9E,OAAQ68E,IAEVzgF,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASA,KACPsiD,KAEFx+C,OAAQk9C,EAAsBzrB,QAC9BtxB,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASA,KACPsiD,KAEF5G,UA7LZ,WAKE,OAJAuF,EAAyB,CACvB1rB,SAAUyrB,EAAsBzrB,UAG3BkO,MAAMC,QAAQ+8C,EAAcnwE,UAC/B+tE,IACAhZ,QA0LEnlE,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMy/C,EAAsBvnC,QAC5BzY,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAAS88E,EACTh5E,OAAQgkE,EAAqB3jF,QAC7B8f,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAAS88E,GACV,QAML58E,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMumE,EAAqBruD,QAC3BzY,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC6D,SAAK,CACJN,KAAK,QACL1D,QAASg+D,EACTl6D,OAAQ+8E,EAAeroG,MACvByrB,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRhB,WAAW,UACXsE,OAAO,UACP9Z,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASg+D,GACV,QAML99D,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMs/E,EAAepnE,QACrBzY,KAAK,qBACLC,MAAOtG,GAAMpF,gB,0CC9iBlB,MAAMqL,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFAOtBgvD,GAAiBnvD,WAAOC,IAAGK,QAAAH,aAAA,iBACpCjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGG,QAAAL,aAAA,0CACUyC,GAAO,KAKfwjF,GAAgBpmF,WAAOC,IAAGU,QAAAR,aAAA,yJAGvBJ,GAAMjG,SAYTusF,IANermF,WAAOC,IAAGa,QAAAX,aAAA,+FAMXH,WAAOC,IAAGgB,QAAAd,aAAA,2MACrBJ,GAAMjG,QAMlBzb,IAAA,IAAC,aAAEszD,GAActzD,EAAA,OACjBszD,EACItxC,eAAGe,QAAAjB,aAAA,gDACgBwxC,GAAY,IAInClxC,IAAA,IAAC,YAAE8pC,GAAa9pC,EAAA,OAChB8pC,EACIlqC,eAAGkB,QAAApB,aAAA,+CACeoqC,GAAW,IAIjC3pC,IAAA,IAAC,cAAEmE,GAAenE,EAAA,OAClBmE,EACI1E,eAAGmB,QAAArB,aAAA,iDACiB4E,GAAa,IAIrChE,IAAA,IAAC,OAAEI,GAAQJ,EAAA,OACXI,EACId,eAAGqB,QAAAvB,aAAA,yCACSgB,GAAM,kBAItBD,IAAA,IAAC,MAAEI,GAAOJ,EAAA,OACVI,EACIjB,eAAGwB,QAAA1B,aAAA,wCACQmB,GAAK,oBAKXglF,GAAiBtmF,WAAOC,IAAG+B,QAAA7B,aAAA,8GACpCkB,IAAA,IAAC,aAAEklF,GAAcllF,EAAA,OACjBklF,EACIlmF,eAAG8B,QAAAhC,aAAA,gDACgBomF,GAAY,sBAI5BxmF,GAAM/C,SAMJwpF,GAAiBxmF,WAAOC,IAAGoC,QAAAlC,aAAA,wBAC7BJ,GAAM/C,SAGJypF,GAAgBzmF,WAAOC,IAAGsC,QAAApC,aAAA,4JAU1BumF,GAAqB1mF,WAAOC,IAAGyC,QAAAvC,aAAA,iBACxCwB,IAAA,IAAC,QAAEiB,GAASjB,EAAA,OACZiB,EACIvC,eAAGwC,QAAA1C,aAAA,0CACUyC,GAAO,KAKf+jF,GAAa3mF,mBAAO2vE,KAAP3vE,CAAoB+C,QAAA5C,aAAA,gCAIjCwtD,GAAiB3tD,WAAOC,IAAGgD,QAAA9C,aAAA,uHCrFzBojD,OA/BiBrlE,IAA6B,IAA5B,QAAEknB,EAAO,UAAE07C,GAAW5iE,EACrD,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,YAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAAS07C,EACTt6C,WAAY,GACZpa,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,SCiDQwgF,OAjEI1oG,IAQZ,IARa,sBAClBkoE,EAAqB,uBACrBygC,EAAsB,wBACtBn/B,EAAuB,QACvB9kD,EAAO,iBACPoqE,EAAgB,kBAChB8Z,EAAiB,gBACjBnb,GACDztF,EACC,OACEonB,IAAAC,cAAC4pD,GAAc,CAACvsD,QAASA,GACvB0C,IAAAC,cAAC8gF,GAAW,CACV10C,aAAa,OACbpH,YAAY,OACZxlC,cAAc,OACd5D,OAAO,eAEPmE,IAAAC,cAAC07D,GAA0B,CAACprD,UAAW,KAEzCvQ,IAAAC,cAACkhF,GAAa,KACZnhF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAM0hF,EAAkB,mBAClC,UAGDxhF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACb5c,KAAK,SACL+Y,SAAU6nE,EACV1rE,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAMumE,EAAgB,gBAChC,eAIHrmE,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASsiD,EACTx+C,OAAQk9C,EACR/8C,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASsiD,EACT5G,UAAW+lC,KAIfvhF,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAK,qGACLP,KAAK,qBACLC,MAAOtG,GAAMpF,eCqIRmwE,OAjLK5sF,IAYb,IAZc,kBACnBqnG,EAAiB,sBACjBn/B,EAAqB,uBACrBygC,EAAsB,wBACtBn/B,EAAuB,iBACvBsjB,EAAgB,cAChB3iE,EAAa,QACbzF,EAAO,iBACPmkF,EAAgB,cAChB9b,EAAa,iBACbC,EAAgB,iBAChB8B,GACD9uF,EACC,MAAM0iG,EAAmB,CACvB,CACEvzC,cAAeA,IAAM25C,EAAe,WAAY,wBAChDrgF,KAAM,YAER,CACE0mC,cAAeA,IAAM25C,EAAe,kBAAa,wBACjDrgF,KAAM,oBAIJsgF,EAAe57C,aAAS,QAAQF,cAChC+7C,EAAoB77C,aAAS,aAAaF,cAC1Cg8C,EAAwB97C,aAAS,qBAAqBF,cACtD21C,EAAoBz1C,aAAS,wBAAwBF,cAE3D,SAAS67C,EAAergF,EAAM9lB,GAC5B,MAAMyqF,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMI,KAAY8lB,IAAMlmB,EAAMI,GAAU8lB,GAErClmB,IAGTuqF,EAAiBM,GAGnB,SAASxf,EAAapmD,EAAG7kB,GACvB,MAAMyqF,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,OAExDrlC,IAGTuqF,EAAiBM,GAGnB,OACEhmE,IAAAC,cAAC4pD,GAAc,CAACvsD,QAASA,GACvB0C,IAAAC,cAAC8gF,GAAW,CAACllF,OAA8B,gBAAtBokF,EAAsC,QAAU,IACnEjgF,IAAAC,cAAC+gF,GAAc,KACbhhF,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,aACL5B,cAAc,OAEhBO,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLinC,UAAU,OACVrvC,MAAO,IACPsD,aAAc,GACdwnC,UAAW,EACX2E,YAAY,wCACZjrB,MAAOzd,EAAc8U,KACrB/W,KAAK,yBACL0kC,SAAWplC,GAAMomD,EAAapmD,EAAG,QACjCsrC,SAAUi2C,IAEW,gBAAtB1B,GACCjgF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,YACLinC,UAAU,0BACVrvC,MAAO,IACPsD,aAAc,GACdwnC,UAAW,EACX2E,YAAY,sCACZjrB,MAAOzd,EAAc6nB,UACrB9pB,KAAK,yBACL0kC,SAAWplC,GAAMomD,EAAapmD,EAAG,aACjCsrC,SAAUk2C,IAGd5hF,IAAAC,cAAC0rC,YAAQ,CACPnoC,KAAK,WACLxH,MAAO,IACPqvC,UAAU,SACVjnC,KAAK,oBACL0iC,UAAW,EACXxnC,aAAc,GACdzD,OAAQ,GACRmwD,SAAO,EACPtgB,SAAUm2C,GAET5B,GAEoB,gBAAtBA,GACCjgF,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASu7D,EACT93E,KAAK,WACLxH,MAAO,IACPqvC,UAAU,eACVjnC,KAAK,uBACL0iC,UAAW,EACXxnC,aAAc,GACdzD,OAAQ,GACRyB,QAA+B,gBAAtB2iF,EAAsC,QAAU,OACzDv0C,SAAU8vC,GAETz4E,EAAc++E,sBAAwB,6BAI7C9hF,IAAAC,cAACihF,GAAc,KACblhF,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,UACL5B,cAAc,OAEhBO,IAAAC,cAACimE,eAAW,CACVh1D,SAAUy0D,EAAcz0D,SACxBi1D,uBAAyBj1D,GACvB00D,EAAiB,CAAE10D,aAErB60B,SAAUA,SAIhB/lC,IAAAC,cAACkhF,GAAa,KACZnhF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASsiD,GACV,YAGDpiD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACb7D,SAAU6nE,EACV5gF,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAAS2hF,GACV,eAIHzhF,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASsiD,EACTx+C,OAAQk9C,EACR/8C,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASsiD,EACT5G,UAAW+lC,KAIfvhF,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAK,qGACLP,KAAK,qBACLC,MAAOtG,GAAMpF,eCpLR0sF,OAbiBA,IAE5B/hF,IAAAC,cAACw3C,UAAM,CAAC3wD,KAAK,UAAU+U,OAAQ,GAAIG,MAAO,IAAKk/E,UAAQ,GACrDl7E,IAAAC,cAAA,YACED,IAAAC,cAAA,SACED,IAAAC,cAAA,SAAG,kBAAY,+GCuNV8kE,OAvMKnsF,IAkBb,IAlBc,sBACnBkoE,EAAqB,uBACrBygC,EAAsB,wBACtBn/B,EAAuB,iBACvBsjB,EAAgB,cAChB3iE,EAAa,QACbzF,EAAO,oBACP0kF,EAAmB,yBACnBC,EAAwB,uBACxBzF,EAAsB,uBACtB0F,EAAsB,qBACtBC,EAAoB,iBACpBvhC,EAAgB,mBAChBoB,EAAkB,eAClB2+B,EAAc,iBACd7iB,EAAgB,gCAChBskB,EAA+B,kBAC/BZ,GACD5oG,EACC,MAAM+7F,EAAgB5uC,aAAS,SAASF,cAYxC,OACE7lC,IAAAC,cAAC4pD,GAAc,CAACvsD,QAASA,GACvB0C,IAAAC,cAAC8gF,GAAW,CAACllF,OAAO,SAClBmE,IAAAC,cAAC+gF,GAAc,KACbhhF,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAMzH,aACbqO,KAAK,SACL5B,cAAc,OAEhBO,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLinC,UAAU,OACV/rC,aAAc,GACdtD,MAAO,IACPwkB,MAAOzd,EAAc8U,KACrBhY,UAAQ,IAEVG,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,QACLinC,UAAU,uBACV/rC,aAAc,GACdtD,MAAO,IACPwkB,MAAOzd,EAAcoT,MACrBs1B,YAAY,iCACZ3qC,KAAK,yBACL0kC,SAAWplC,GApCrB,SAAsBA,EAAG7kB,GACvB,MAAMyqF,EAAyB1rC,YAAQv3B,EAAgB5nB,IACjDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,OAExDrlC,IAGTuqF,EAAiBM,GA6BQxf,CAAapmD,EAAG,SACjCsrC,SAAUipC,MAIhB30E,IAAAC,cAACkhF,GAAa,KACZnhF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAM0hF,EAAkB,gBAClC,UAGDxhF,IAAAC,cAACmhF,GAAkB,CAAC9jF,QAAQ,QAC1B0C,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLrC,YAAa,GACbhE,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbroC,QAAS,EACTZ,MAAO,IACP0H,eAAa,EACbD,aAAW,EACX1C,MAAOohF,EAAuB1nF,GAAMjG,QAAU,GAC9C8H,WAAY6lF,EAAuB1nF,GAAMjD,QAAU,GACnDqI,SAAUsiF,EACVr7F,KAAK,SACLga,KAAK,0BACLhB,QAASsiF,GACV,2BAGDpiF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbvhC,eAAa,EACb7D,SAAUsiF,EACVr7F,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASmiF,GAETjiF,IAAAC,cAACohF,GAAU,MAAG,YAKpBrhF,IAAAC,cAACq8E,GAAkB,CACjBx8E,QAASmiF,EACT7F,iBAAkB8F,EAClB7F,cAAe2F,EACfp+E,OAAQ44E,IAEVx8E,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASsiD,EACTx+C,OAAQk9C,EACR/8C,OACE/D,IAAAC,cAACg+C,GAAuB,CACtBn+C,QAASsiD,EACT5G,UAAW+lC,KAIfvhF,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAK,qGACLP,KAAK,qBACLC,MAAOtG,GAAMpF,aAGjB2K,IAAAC,cAAC6D,SAAK,CACJN,KAAK,UACL1D,QAASkiD,EACTp+C,OAAQg9C,EACR78C,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRtB,MAAO,IACP8E,KAAK,0BACLhB,QAASkiD,GACV,QAMLhiD,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAK,qCACLP,KAAK,qBACLC,MAAOtG,GAAMpF,YAEf2K,IAAAC,cAACooD,GAAc,KACbroD,IAAAC,cAAC8hF,GAAuB,QAG5B/hF,IAAAC,cAAC6D,SAAK,CACJN,KAAK,QACL1D,QAASg+D,EACTl6D,OAAQ+8E,EAAeroG,MACvByrB,OACE/D,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRhB,WAAW,UACXsE,OAAO,UACP9Z,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASg+D,GACV,QAML99D,IAAAC,cAAC0B,QAAI,CACHwjD,QAAM,EACN9jD,KAAMs/E,EAAepnE,SAAW,gCAChCzY,KAAK,qBACLC,MAAOtG,GAAMpF,eCiRRgtF,I,oCAAAA,GAzcf,SAAoBzpG,GAAa,IAAZ,MAAEw9B,GAAOx9B,EAC5B,MAAM6X,EAAWoT,eACX,kBAAEo8E,GAAsB7pE,EAAMvvB,QAE9B,WAAEwnB,EAAU,MAAE/1B,EAAK,eAAEy1B,GAAmBkzB,YAC3C1oB,GAAUA,EAAM1W,UAEb,gBAAE4V,GAAoBwpB,YAAa1oB,GAAUA,EAAM9V,KAAKZ,UACxD,mBAAE6iB,GAAuBuc,YAAa1oB,GAAUA,EAAMvvB,cAErDs5F,EAAmBC,GAAwBt7E,mBAChD,6BAEKu7E,EAAkBC,GAAuBx7E,mBAAS,CACvDzD,KAAM,GACNk/E,KAAM,GACNj3C,YAAa,sBAERk3C,EAAwBC,GAA6B37E,mBAAS,CACnEzD,KAAM,GACNk/E,KAAM,GACNj3C,YAAa,qBAETu7B,EAAqB,CACzBnvD,KAAM,GACN+S,UAAW,GACX5S,kBAAmB,GACnB6S,kBAAmB,GACnBi3D,qBAAsB,GACtBp3D,kBAAmB,GACnBvU,MAAO,IAGHgxD,EAAuB,CAC3Bj2D,SAAU,CACR,CACE1N,KAAM4jE,KAAiB96F,kBAAkBE,YACzCw+C,OAAQ,OAKPjoB,EAAe2iE,GAAoBz+D,mBAAS+/D,IAC5CrB,EAAeC,GAAoB3+D,mBAASkgE,IAC5CrmB,EAAuBC,GAA4B95C,oBAAS,IAC5DygE,EAAkBC,GAAuB1gE,oBAAS,IAClD47E,EAAmBC,GAAwB77E,mBAAS,CACzD4Q,MAAM,EACNkT,SAAS,KAEJk9C,EAAWC,GAAgBjhE,mBAAS,CACzC+hE,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,KAEX42D,EAAeK,GAAoBz1E,oBAAS,IAC5Cu1E,EAAwBC,GAA6Bx1E,oBAAS,IAC9Dk7E,EAAsBY,GAA2B97E,oBAAS,IAC1D+7E,EAAYC,GAAiBh8E,oBAAS,IACtC25C,EAAkBC,GAAuB55C,oBAAS,IAClD05E,EAAgBuC,GAAqBj8E,mBAAS,CACnD3uB,OAAO,EACPihC,QAAS,MAEJ4pE,EAAsBC,GAA2Bn8E,oBAAS,IAC1Do8E,EAAyBC,GAA8Br8E,oBAAS,IAChEs8E,EAAsBC,GAA2Bv8E,oBAAS,GAwBjE,SAASw8E,EAAiBrjF,GACxB,MAAMsjF,EAAkBppD,YAAQkoD,EAAmBrnG,IACjDA,EAAMqoB,KAAOpD,EAAEmrC,OAAOijB,QAAQntD,KACvBlmB,IAGTsnG,EAAoBiB,GAYtB,SAASthC,KACPrB,GAA0BD,GAG5B,SAASy6B,GAAwBn7E,GAC/BmiF,EAAqBniF,EAAEmrC,OAAOijB,QAAQntD,MAGxC,MAAMkgF,GAAyB3/C,sBAAY,KACzC9mD,EAAQ+tB,KAAK,iBACZ,IA+EH,SAAS4/D,GAAe19C,EAASvnB,GAM/B,MALqB,CACnBh3B,YAAa+pC,GAAqBwU,GAClCx+C,QAASsqC,GAAoBkU,IAGXvnB,GAStB,SAASmgF,GAAe5rE,GACtB,MAAa,kBAATA,EAEA4tD,EAAcz0D,SAASp4B,KAAM4tC,GAAmB,KAAbA,EAAEsE,UACpC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,SAG5DT,EAAc8U,QAEd9U,EAAc++E,sBAChBnc,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,SAG/DT,EAAc8U,QAEd9U,EAAc++E,qBAIlBnc,EAAcz0D,SAASp4B,KAAM4tC,GAAmB,KAAbA,EAAEsE,UACpC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,SAG5DT,EAAc8U,MAChB8tD,EAAcz0D,SAASsM,MAAOkJ,GAAmB,KAAbA,EAAEsE,SACtC26C,EAAcz0D,SAASsM,MAAOkJ,GAAM+hD,GAAe/hD,EAAEsE,OAAQtE,EAAEljB,SAI1DT,EAAc8U,KAGzB,SAAS+rE,KACP,QAAS7gF,EAAcoT,QAxCHA,EAwCyBpT,EAAcoT,MAvCxCD,GAAQC,IAD7B,IAAsBA,EAgDtB,SAASkwD,GAAgB+D,GACX,gBAARA,EACFlC,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAED,gBAAR2kD,GAAyBuZ,GAAe1D,IACjD/X,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAElB69D,GAA2B,IACV,mBAARlZ,GAA4BuZ,GAAe1D,IACpD/X,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAKtB,SAAS+7D,GAAkBpX,GACb,mBAARA,EACFlC,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAED,gBAAR2kD,GACTlC,EAAa,CACXc,YAAmC,kBAAtBiX,EACbhX,aAAa,EACbxjD,eAAsC,kBAAtBw6D,IAKtB74E,oBAAU,KACJu8E,GAAe1D,IACjBtY,GAAoB,GACpByb,GAAwB,KAExBzb,GAAoB,GACpByb,GAAwB,KAEzB,CAACrgF,EAAe4iE,IAEnBv+D,oBAAU,MAtDV,SAA6B6gE,GAC3B,OAAIA,EAAUe,YAAoB2a,GAAe1D,GAC7ChY,EAAUgB,YAAoB2a,UAAlC,EAqDIC,CAAoB5b,GACnB8a,GAAwB,GADOA,GAAwB,IAE3D,CAAChgF,IAEJqE,oBAAU,KACJiH,EAAWpqB,QAAS48D,GAAoB,GACnCxyC,EAAWjqB,SAClB8+F,EAAkB,CAChB5qG,OAAO,EACPihC,QAASlL,EAAW/1B,SAGvB,CAAC+1B,EAAWpqB,QAASoqB,EAAWjqB,UAEnCgjB,oBAAU,MACHrE,EAAcoT,OAAS8xD,EAAUgB,aACpC8Z,GAAwB,IACzB,CAAC9a,IAEJ7gE,oBAAU,KACJw8E,KAAsBJ,GAAwB,GAC7CA,GAAwB,IAC5B,CAACzgF,EAAcoT,QAElB/O,oBAAU,MACU,OAAd2G,QAAc,IAAdA,OAAc,EAAdA,EAAgBud,aAA4C,QAA9Bvd,EAAeud,YAC/Co6C,EAAkBoe,IAAQ,IACrBA,EACHhC,qBACE5a,KAAyBx6F,oCACT,OAAdqhC,QAAc,IAAdA,OAAc,EAAdA,EAAgBud,gBAIvB,CAACvd,IAEJ,MAAMg2E,GAAgB,CACpB,CAAEtqE,KAAM,QACR,CACEA,KAAM,2BACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,iBAEjC,CACE4Q,KAAK,wBAAD5Y,OAAuBo/E,GAC3B98B,WAAYA,IACVroE,EAAQ+tB,KAAK,6BAADhI,OAA8Bo/E,MAG1C+D,GAAiB,CACrB,CACEC,UAAWd,EACXrjF,QAASA,IAAMumE,GAAgB,eAC/BhlE,KAAM,eACNioE,OAAQ,CAAC,cAAe,kBAE1B,CACE2a,UAAWZ,EACXvjF,QAASA,IAAMumE,GAAgB,kBAC/BhlE,KAAM,uBACNxB,SAAUooE,EAAUe,cAAgBqa,EACpC/Z,OAAQ,CAAC,gBAEX,CACE2a,UAAWV,EACXzjF,QAASA,IAAMumE,GAAgB,eAC/BhlE,KAAM,kBACNxB,UACGooE,EAAUe,aAAef,EAAUxiD,kBACnC89D,EACHja,OAAQ,CAAC,cAAe,mBAI5B,OACEtpE,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,uBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CAACC,OAAQ6gC,KACrB/jF,IAAAC,cAAC6gF,GAAa,KACZ9gF,IAAAC,cAACikF,WAAO,CACNC,MAAOH,GAAezsG,OAAQ6sG,GAC5BA,EAAK9a,OAAOnyD,SAAS8oE,OAI3BjgF,IAAAC,cAAC4jD,KAAI,CAACC,SAjRV,SAAsBpoE,GAKpB,GAJA+gG,GAA0B,GACP/gG,EAAKgvC,kBAApB2xD,EAAwC,QACd,oBAEC,kBAA3B3gG,EAAKmvC,kBACPnvC,EAAKmvC,kBAAoB,UACtB,CACHnvC,EAAKmvC,kBACHq8C,KAAyBr6F,oCACvB6O,EAAKomG,sBAGT,MAAMn4D,EAAW,GACjBjF,EAAmBtpC,IAAKylC,IACtB,MAAM,SAAEM,EAAQ,mBAAEuD,GAAuBf,GAAsB9C,GACjC,IAA1BA,EAAK5M,kBACP0V,EAAS9gB,KAAK,CACZoL,iBAAkB,EAClBwmD,kBAAmBhjD,EACnBqJ,mBACEC,eAAaz0C,kBAAkBu0C,EAAKC,oBACtC4D,yBAKNhpC,EAAKu3B,MAAQ0W,EAGfjuC,EAAKqvC,QAAQ3vC,IAAKsrC,IAChB,MAAMsE,EAAStE,EAAEsE,OAAOwtB,QAAQ,OAAQ,IACxC9xB,EAAEuE,IAAMD,EAAOrU,UAAU,EAAG,GAC5B+P,EAAEsE,OAASA,EAAOrU,UAAU,KAG9BlmB,EAAS2nB,GAAmC18B,MA8OxCskB,IAAAC,cAACqhF,GAAU,CACThkF,QAAS2qE,EAAUxiD,eAAiB,GAAK,OACzC87D,uBAAwBA,GACxBn/B,wBAAyBA,GACzBslB,iBAAkBA,EAClB5mB,sBAAuBA,EACvB0gC,kBAAmBA,GACnBnb,gBAAiBA,KAEnBrmE,IAAAC,cAACulE,GAAW,CACVG,cAAeA,EACfC,iBAAkBA,EAClBqa,kBAAmBA,EACnBoE,iBApTR,SAA0BjkF,GACxB,MAAMkkF,EAAuBhqD,YAAQuoD,EAAoB1nG,IACvDA,EAAM08B,KAA8B,KAAvB9U,EAAc8U,KACpB18B,IAGT2nG,EAAqBwB,IA+Sf/I,wBAAyBA,GACzBz6B,sBAAuBA,EACvBygC,uBAAwBA,GACxBn/B,wBAAyBA,GACzBygC,kBAAmBA,EACnBY,iBAAkBA,EAClB/d,iBAAkBA,EAClB3iE,cAAeA,EACf4/E,uBAAwBA,EACxBH,iBAAkBA,EAClBF,kBAAmBA,EACnBhlF,QAAS2qE,EAAUe,YAAc,GAAK,OACtCyY,iBAhWR,WAC4B,kBAAtBxB,EACF/X,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAETwiD,EAAUe,YACnBd,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,IAGlByiD,EAAa,CACXc,aAAa,EACbC,aAAa,EACbxjD,gBAAgB,KAgVdiiD,iBAAkBA,IAEpB1nE,IAAAC,cAAC8kE,GAAW,CACVkb,kBAAmBA,EACnB1E,wBAAyBA,GACzBz6B,sBAAuBA,EACvBygC,uBAAwBA,GACxBn/B,wBAAyBA,GACzBygC,kBAAmBA,EACnBY,iBAAkBA,EAClB/d,iBAAkBA,EAClB3iE,cAAeA,EACf4/E,uBAAwBA,EACxBH,iBAAkBA,EAClBF,kBAAmBA,EACnBhlF,QAAS2qE,EAAUgB,YAAc,GAAK,OACtCsb,UAAWxhF,EAAc8U,KACzB6vD,iBAAkBA,EAClBsa,oBAxRR,WACEtF,GAAiB,IAwRXuF,yBArRR,WACExF,GAA2BD,IAqRrBA,uBAAwBA,EACxB0F,uBA9QR,WACExF,GAAiB,IA8QXyF,qBAAsBA,EACtBc,cAAeA,EACfriC,iBAAkBA,EAClBoB,mBA9QR,WACEvxD,EAAS2nB,MACTyoC,GAAoB,GAEhBmiC,GACFtd,EAAiBsB,GACjBpB,EAAiBuB,GACjBe,EAAa,CACXc,aAAa,EACbC,aAAa,IAEfga,GAAc,IAEdnoG,EAAQ+tB,KAAK,iBAkQT83E,eAAgBA,EAChB7iB,iBAhQR,WACErtE,EAAS2nB,MACT8qE,EAAkB,CAAE5qG,OAAO,EAAOihC,QAAS,MA+PrC6oE,gCA1RR,WACE3F,GAA2BD,GAC3ByG,GAAc,IAyRRzB,kBAAmBA,QChetB,MAAM9gF,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kTAe/BjiB,IAAA,IAAC,OAAEgrB,GAAQhrB,EAAA,OACXgrB,EACI7I,eAAGC,QAAAH,aAAA,kEAIHE,eAAGG,QAAAL,aAAA,6FAOEqqC,GAAaxqC,WAAOC,IAAGU,QAAAR,aAAA,+GAMhC9hB,IAAA,IAAC,UAAE8rD,GAAW9rD,EAAA,OACd8rD,EACI9pC,eAAGS,QAAAX,aAAA,+CACagqC,GAAS,uBAIpBM,GAAoBzqC,WAAOC,IAAGgB,QAAAd,aAAA,4DAGvCM,IAAA,IAAC,UAAE0pC,GAAW1pC,EAAA,OACd0pC,EACI9pC,eAAGe,QAAAjB,aAAA,6CACagqC,GAAS,KAIpBO,GAAmB1qC,WAAOC,IAAGsB,QAAApB,aAAA,6NAU7BwqC,GAAmB3qC,WAAOC,IAAGuB,QAAArB,aAAA,qHAGtCS,IAAA,IAAC,eAAEmB,GAAgBnB,EAAA,OACnBmB,EACI1B,eAAGqB,QAAAvB,aAAA,kDACkB4B,GAAc,2BAIvChB,IAAA,IAAC,YAAEwpC,GAAaxpC,EAAA,OAChBwpC,EACIlqC,eAAGwB,QAAA1B,aAAA,+CACeoqC,GAAW,IAGjCrpC,IAAA,IAAC,WAAEuB,GAAYvB,EAAA,OACfuB,EACIpC,eAAG2B,QAAA7B,aAAA,8CACcsC,GAAU,KCmPpBqnF,I,eAAAA,GA/Sf,SAAmC5rG,GAAkC,IAAjC,cAAEmxF,EAAa,YAAE0a,GAAa7rG,EAChE,MAAO8rG,EAAgBC,GAAqB19E,mBAC1C,8BAGK29E,EAAgBC,GAAqB59E,mBAAS,IAC9C69E,EAAiBC,GAAsB99E,mBAAS,KAChD+9E,EAAeC,GAAeh+E,mBAAS,KACvCi+E,EAAiBC,GAAsBl+E,mBAAS,KAChDm+E,EAAMC,GAAWp+E,mBAAS,KAC1B1c,EAAK+6F,GAAUr+E,mBAAS,KACxBs+E,EAAUC,GAAev+E,mBAAS,KAClCw+E,EAAqBC,GAA0Bz+E,mBAAS,IACzD0+E,EAAmB5/C,aAAS,YAAYF,cACxC+/C,EAAmB7/C,aAAS,YAAYF,cACxCggD,EAA0B9/C,aAAS,mBAAmBF,cACtDigD,EAAe//C,aAAS,SAASF,cACjCkgD,EAA0BhgD,aAAS,mBAAmBF,cACtDmgD,EAAcjgD,aAAS,OAAOF,cAC9BogD,EAAmBlgD,aAAS,YAAYF,cAExCqgD,EAAiB,CACrB,CACEn+C,cAAeA,IAAMo+C,EAAc,4BAA6B,GAChE9kF,KAAM,6BAER,CACE0mC,cAAeA,IAAMo+C,EAAc,mBAAoB,GACvD9kF,KAAM,uBAER,CACE0mC,cAAeA,IAAMo+C,EAAc,2BAA4B,GAC/D9kF,KAAM,4BAER,CACE0mC,cAAeA,IAAMo+C,EAAc,yBAA0B,GAC7D9kF,KAAM,0BAER,CACE0mC,cAAeA,IAAMo+C,EAAc,MAAO,GAC1C9kF,KAAM,QAIJ+kF,EAAyB,CAC7B,CACEr+C,cAAeA,IAAMs+C,EAAuB,WAC5ChlF,KAAM,WAER,CACE0mC,cAAeA,IAAMs+C,EAAuB,cAC5ChlF,KAAM,eAOJilF,EAAyBlmF,IAC7B+kF,EAAmB/kF,EAAEmrC,OAAO/qB,QAWxB+lE,EAAgBA,KACpB9B,IACAM,EAAmB,IACnBE,EAAY,IACZE,EAAmB,IACnBE,EAAQ,IACRC,EAAO,IACPE,EAAY,IACZE,EAAuB,KAEnBS,EAAgBA,CAAC3lE,EAAOl3B,KAC5Bq7F,EAAkBnkE,GAClBqkE,EAAkBv7F,GAClBm7F,IACA8B,KAEIF,EAA0Bv/F,IAC9Bi+F,EAAmBj+F,IAGf0/F,EAA4B5kD,sBAAalmD,IACzCA,EAAK6vD,QACTm6C,EAAuBhqG,IACtB,IAEH,OACEskB,IAAAC,cAACS,GAAS,CAACkD,QAAM,GACf5D,IAAAC,cAACilC,GAAU,KACTllC,IAAAC,cAACmlC,GAAgB,KAAC,iBAClBplC,IAAAC,cAACklC,GAAiB,KAChBnlC,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAAC0I,QAAM,EAACzI,cAAY,GACvCnrC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASmmE,EACT1iF,KAAK,WACLxH,MAAO,IACPoI,KAAK,WACLsnC,SAAUk6C,GAETlB,GAEiB,IAAnBE,GACC5kF,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,WACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,aACVI,YAAY,aACZ3qC,KAAK,yBACL4qC,SAAUi6C,EACVngD,SAAWplC,IAlEHA,KACtB6kF,EAAY7kF,EAAEmrC,OAAO/qB,QAkELimE,CAAermF,IAEjBogB,MAAOwkE,EACP/lE,aAAc8qD,EAAc2c,SAC5BpuG,MAAOyxF,EAAc2c,WAGvB1mF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,QACVI,YAAY,QACZ3qC,KAAK,yBACL4qC,SAAUo6C,EACVtgD,SAAWplC,IA7EPA,KAClBilF,EAAQjlF,EAAEmrC,OAAO/qB,QA6EDmmE,CAAWvmF,IAEbogB,MAAO4kE,EACPnmE,aAAc8qD,EAAcqb,KAC5B9sG,MAAOyxF,EAAcqb,OAEvBplF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,kBACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,uBACVI,YAAY,wCACZ3qC,KAAK,yBACL4qC,SAAUm6C,EACVrlE,MAAO0kE,EACP1/C,SAAWplC,IACTkmF,EAAsBlmF,IAExBtZ,KAAK,UAIS,IAAnB89F,GACC5kF,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,eACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,mBACVvqC,KAAK,yBACL0f,MAAO,OACP3gB,UAAQ,IAEVG,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,WACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,yBACVI,YAAY,uCACZ3qC,KAAK,yBACL4qC,SAAUu6C,EACVzlE,MAAO+kE,EACP//C,SAAWplC,IArHHA,KACtBolF,EAAYplF,EAAEmrC,OAAO/qB,QAqHLomE,CAAexmF,IAEjBtZ,KAAK,SACLm4B,aAAc8qD,EAAcwb,SAC5BjtG,MAAOyxF,EAAcwb,YAIP,IAAnBX,GACC5kF,IAAAC,cAACgrC,eAAW,CAACC,UAAQ,EAACC,cAAY,GAChCnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,kBACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,uBACVI,YAAY,wCACZ3qC,KAAK,yBACL4qC,SAAUm6C,EACVrgD,SAAWplC,IACTkmF,EAAsBlmF,IAExBogB,MAAO0kE,EACPjmE,aAAc8qD,EAAcmb,gBAC5B5sG,MAAOyxF,EAAcmb,kBAEvBllF,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASqmE,EACT5iF,KAAK,WACLxH,MAAO,IACPoI,KAAK,kBACLvI,OAAQ,GACRwvC,UAAU,oCACVK,SAAUq6C,GAETjB,GAAmB,YAIN,IAAnBF,GACC5kF,IAAAC,cAACgrC,eAAW,CAACoJ,YAAU,EAAChG,IAAK,IAC3BruC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,kBACLpI,MAAO,IACPH,OAAQ,GACRwvC,UAAU,uBACVI,YAAY,wCACZ3qC,KAAK,yBACL4qC,SAAUm6C,EACVrgD,SAAWplC,IACTkmF,EAAsBlmF,IAExBogB,MAAO0kE,EACPp+F,KAAK,OACLm4B,aAAc8qD,EAAcmb,gBAC5B5sG,MAAOyxF,EAAcmb,kBAEvBllF,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC9M,UAAW,GAC7B9mC,IAAAC,cAAC0B,QAAI,CAACN,KAAM,uBACZrB,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,sBACLoc,MAAOilE,EACPjgD,SAAUghD,EACV/gD,UAAQ,MAKI,IAAnBm/C,GACC5kF,IAAAC,cAACgrC,eAAW,CAACA,aAAW,EAACC,UAAQ,EAACC,cAAY,GAC5CnrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,MACLpI,MAAO,IACPH,OAAQ,GACRyD,aAAc,EACd+rC,UAAU,MACVI,YAAY,oBACZ3qC,KAAK,yBACL4qC,SAAUs6C,EACVxlE,MAAOj2B,EACPi7C,SAAWplC,IAzMRA,KACjBklF,EAAOllF,EAAEmrC,OAAO/qB,QAyMAqmE,CAAUzmF,IAEZ6e,aAAc8qD,EAAcx/E,IAC5BjS,MAAOyxF,EAAcx/E,SAM/ByV,IAAAC,cAAColC,GAAgB,CAAC5oC,eAAe,QAC/BuD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLga,KAAK,0BACL9E,MAAO,KACR,aAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLgZ,QAASymF,EACTzlF,KAAK,0BACL9E,MAAO,KACR,cCtTX,MAAMw2C,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAWX43C,IADY/3C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,KAUJE,IANsBh4C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAIyBH,WAAOC,IAAGa,QAAAX,aAAA,kVAIdJ,GAAMzH,eCbxB4T,GAAU,CACd,CACExC,KAAM,eAER,CACEA,KAAM,wBAER,CACEA,KAAM,mBAER,CACEA,KAAM,cAER,CACEA,KAAM,SAER,CACEA,KAAM,6BAER,CACEA,KAAM,aAER,CACEA,KAAM,sBAER,CACEA,KAAM,uBAER,CAAEA,KAAM,KAyCV,MAAMgxC,GAAmBr8D,IAA0B,IAAzB,gBAAEq8F,GAAiBr8F,EAC3C,OACEinB,IAAAC,cAACu1C,YAAQ,KACN4/B,EAAgBh6F,IAAKg9C,GACpBp4B,IAAAC,cAACw1C,eAAW,CACVtxC,IAAKi0B,EAAOh0B,KACZyxC,SAAUzd,EAAOyd,SACjBn6C,SAAU08B,EAAO18B,UAEhB08B,EAAOh0B,SAOZ0xC,GAAa36C,IASZ,IATa,OAClB7W,EAAM,gBACN8wF,EAAe,oBACfp/B,EAAmB,iBACnBC,EAAgB,mBAChBo/B,EAAkB,QAClBhgC,EAAO,mBACPigC,EAAkB,iBAClBh/B,GACDn7C,EACC,MAAO07C,EAAkBC,GAAuB7vC,mBAAS,IAEzD,OACEjH,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,CAAC/oC,OAAO,QACbmE,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACm1C,GAAgB,CAACggC,gBAAiBA,KAC7C9wF,EAAO5I,KAAKN,IAAK4+B,GAChBha,IAAAC,cAAC63C,GAAY,CACX3zC,IAAK6V,EAAMurE,SACXvrE,MAAOA,EACP88B,oBAAqBA,EACrBD,iBAAkBA,EAClBw+B,mBAAoBA,EACpBhgC,QAASA,EACTigC,mBAAoBA,OAK3BhxF,EAAOC,WAAa,IACnByb,IAAAC,cAACg4C,cAAU,CACTx8D,MAAO6I,EAAOC,WACd0xD,iBAAkBA,EAClBD,oBAAqBA,EACrBkC,mBAAoB5B,MAOxBwB,GAAex8C,IAAgB,IAAf,MAAE0e,GAAO1e,EAC7B,MAAO68C,EAAaC,GAAkBnxC,oBAAS,GAS/C,MAAM6/E,EAAcC,GACGA,EACjBztC,aAAO,IAAI1zC,KAAKmhF,GAAO,aAAc,CACnCxtC,SAAU,sBAEZ,GAgBN,OACEv5C,IAAAC,cAACu1C,YAAQ,CACPsD,aA9BJ,SAA+B14C,GAC7Bg4C,GAAgBD,IA8BdY,aA5BJ,SAA+B34C,GACzB+3C,GAAaC,GAAgBD,IA4B/Bh0C,IAAK6V,EAAMgtE,WAEXhnF,IAAAC,cAAC+4C,aAAS,CACRh9C,MAAO,KAAI,GAAA6E,OACRmZ,EAAM6kD,eAAc,QAAAh+D,OAAOmZ,EAAMitE,iBACtCjnF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMge,EAAMkrE,iBAC9BllF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KArBC,CACnB,yBAA0B,2BAC1B,wBAAyB,8BACzB,yBAA0B,2BAC1B,wBAAyB,2BACzB,uBAAwB,2BANGkrF,EAuBFltE,EAAMktE,kBAdOA,GAgBtClnF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMge,EAAM0sE,UAC9B1mF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,IAAKge,EAAMorE,MAC7BplF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMge,EAAMmtE,WAC9BnnF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMge,EAAMurE,UAC9BvlF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAM8qF,EAAW9sE,EAAMyrE,sBACzCzlF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACf8qF,EAAW9sE,EAAMotE,yBAEpBpnF,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,GAAIn6C,SAAU,IACjCsE,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAAC2wC,oBAAkB,GACzCp0C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,WACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CACX5yC,QAASA,IACPhlB,EAAQ+tB,KAAK,8BAADhI,OAA+BmZ,EAAMurE,YAGnDvlF,IAAAC,cAAConF,KAAqB,CAAC7rG,KAAK,KAAKulB,MAAOtG,GAAMpC,iBA9C3B6uF,OAmE3B/sC,GAAeA,IACnBn6C,IAAAC,cAACgrC,eAAW,CAACmP,YAAU,EAAC12C,eAAa,EAACD,aAAW,GAC/CzD,IAAAC,cAACwyC,GAAqB,KAAC,+BA+BZ60C,I,GAAAA,GAtNf,SAA8B1uG,GAI1B,IAJ2B,oBAC7Bo9D,EAAmB,iBACnBC,EAAgB,iBAChBK,GACD19D,EACC,MAAM,uBAAEg6C,GAA2BqO,YAAa1oB,GAAUA,EAAM9zB,cA8BhE,OA3BMmuC,EAAuB9uC,QAClBkc,IAAAC,cAACg7C,GAAe,MAGvBroB,EAAuB1uC,SAASxI,MAChCk3C,EAAuB1uC,SAASxI,KAAKlE,OAAS,EAG5CwoB,IAAAC,cAAC61C,GAAU,CACTs/B,gBAAiBxuE,GACjBtiB,OAAQsuC,EAAuB1uC,SAC/B8xD,oBAAqBA,EACrBC,iBAAkBA,EAClBK,iBAAkBA,IAMtB1jB,EAAuB3uC,SACyB,IAAhD2uC,EAAuB1uC,SAASxI,KAAKlE,OAE9BwoB,IAAAC,cAACk6C,GAAY,MAEf,MCvFJ,MAAMz5C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,yHCiOpB0sF,I,SAAAA,GAlNqBA,KAClC,MAAM92F,EAAWoT,cAaX2jF,EAA0B,CAC9B7rG,WAAY,EACZC,SAAU,KAELmkE,EAAcC,GAAmB/4C,mBAhBZ,CAC1BwgF,WAAY,EACZC,KAAM,EACNC,eAAgB,GAChBjB,SAAU,EACVtB,KAAM,EACNwC,0BAA2B,EAC3BC,iBAAkB,GAClBC,qBAAsB,KACtBC,4BAA6B,KAC7BC,iBAAiB,KAOZ/xC,EAAkBD,GAAuB/uC,mBAC9CugF,IAEKS,EAAYC,GAAiBjhF,mBAAS,CAC3Cy/E,SAAU,GACVn8F,IAAK,GACL66F,KAAM,GACNF,gBAAiB,GACjBK,SAAU,KAEN4C,EAAa,CACjB,4BAA6B,EAC7B,mBAAoB,EACpB,2BAA4B,EAC5B,yBAA0B,EAC1B9zG,IAAK,GAoIP,OACE2rB,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,+BACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,+BACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,mCAKvC7I,IAAAC,cAACgrC,eAAW,KACVjrC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACt0C,aAAc,GAAIi1C,WAAS,GAC7Cv0C,IAAAC,cAAC4jD,KAAI,CAACC,SAzFK5zD,UAEnB,IAAIk4F,EACJ,OAFiBD,EAAWzsG,EAAK2sG,WAG/B,KAAK,EACHD,EAAmBzhB,OAAaC,MAAM,CACpC8f,SAAU/f,OAAalhC,SAAS,wBAChC2/C,KAAMze,OAAalhC,SAAS,0BAE9B,MACF,KAAK,EACH2iD,EAAmBzhB,OAAaC,MAAM,CACpC2e,SAAU5e,OACP9uB,IAAI,GAAI,8CACRywC,IAAI,GAAI,8CACR7iD,SAAS,0CAEd,MACF,KAAK,EACH2iD,EAAmBzhB,OAAaC,MAAM,CACpCse,gBAAiBve,OAAalhC,SAC5B,mDAGJ,MACF,KAAK,EACH2iD,EAAmBzhB,OAAaC,MAAM,CACpCse,gBAAiBve,OAAalhC,SAC5B,iDAEFggD,oBAAqB9e,OAAalhC,SAAS,oBAE7C,MACF,KAAK,EACH2iD,EAAmBzhB,OAAaC,MAAM,CACpCr8E,IAAKo8E,OACF9uB,IAAI,GAAI,6CACRywC,IAAI,GAAI,6CACR7iD,SAAS,+BAEd,MACF,QACE,MAAM,IAAIvpB,MAAM,qBAGpB,UACQksE,EAAiBve,SAASnuF,EAAM,CACpCouF,YAAY,IAEdoe,EAAc,IAEd,MAAMrhG,EA3GV,SAAoBnL,GAClB,MAAMgmE,EAAkBpnB,YAAQylB,EAAe5kE,IAC7C,MAAMktG,EAAWF,EAAWzsG,EAAK2sG,UAIjC,OAHAltG,EAAMssG,WAAaY,EACnBltG,EAAMusG,KAAO,EAELW,GACN,KAAK,EACHltG,EAAMurG,SAAWhrG,EAAKgrG,SACtBvrG,EAAMiqG,KAAO1pG,EAAK0pG,KAClBjqG,EAAM0sG,iBAAmBnsG,EAAKwpG,gBAC9B,MACF,KAAK,EACH/pG,EAAMysG,0BAA4BW,OAAO7sG,EAAK6pG,UAC9C,MACF,KAAK,EACHpqG,EAAM0sG,iBAAmBnsG,EAAKwpG,gBAC9B/pG,EAAM6sG,gBAA2C,eAAzBtsG,EAAKopG,gBAC7B,MACF,KAAK,EACH3pG,EAAM0sG,iBAAmBnsG,EAAKwpG,gBAC9B/pG,EAAM2sG,qBAAuBxuC,aAC3B59D,EAAK+pG,oBACL,uBAEF,MACF,KAAK,EACHtqG,EAAM4sG,4BAA8BrsG,EAAK6O,IAAIiuD,QAAQ,SAAU,IAC/D,MACF,QACE,MAAM,IAAIt8B,MAAM,sCAKtB,OADA8jC,EAAgB0B,GACTA,EAwEU4C,CAAW5oE,GAC1B+U,EAAS+3F,GAAsD3hG,IAC/DmvD,EAAoBwxC,GACpB,MAAOlvG,GACP,GAAIA,aAAiBquF,KAAqB,CACxC,MAAMoD,EAAgB,GACtBzxF,EAAM0xF,MAAMp+C,QAASxO,IACnB2sD,EAAc3sD,EAAI3D,MAAQ2D,EAAI7D,UAEhC2uE,EAAcne,OA8BR/pE,IAAAC,cAACukF,GAA0B,CACzBza,cAAeke,EACfxD,YA7JMA,KAClByD,EAAc,CACZxB,SAAU,GACVn8F,IAAK,GACL66F,KAAM,GACNF,gBAAiB,GACjBK,SAAU,WA4JRvlF,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACqnF,GAAqB,CACpBrxC,iBAAkBA,EAClBD,oBAAqBA,EACrBM,iBAxHgB4E,IACxB,GAAIA,EAAUv/D,YAAc,EAAG,CAC7B,MAAMq/D,EAAsB1gB,YAAQ2b,EAAmB96D,IACrDA,EAAMQ,WAAa,EACnBR,EAAMS,SAAWs/D,EAAUt/D,WAE7Bo6D,EAAoBgF,GAGtB,MAAM0G,EAAkBpnB,YAAQylB,EAAe5kE,IAC7CA,EAAMusG,KAAOxsC,EAAUv/D,YAAc,EAAI,EAAIu/D,EAAUv/D,WAAa,EACpER,EAAMwsG,eAAiBzsC,EAAUt/D,WAGnC6U,EACE+3F,GAAsD9mC,WC9GrD,SAAS+mC,GAAe7vG,GAAsB,IAArB,MAAE4gC,EAAK,QAAEkvE,GAAS9vG,EAChD,OACEonB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACb4H,cAAe,EACf4B,KAAMmY,IAERxZ,IAAAC,cAAC0B,QAAI,CAACZ,MAAOtG,GAAMzI,UAAWqP,KAAMqnF,GAAW,IAAKjpF,cAAe,KCVhD/E,WAAOC,IAAGC,QAAAC,aAAA,sFAA5B,MAOM8tF,GAA0BjuF,WAAOC,IAAGK,QAAAH,aAAA,yGAIpBJ,GAAMzH,cAGtB0/C,GAAeh4C,WAAOC,IAAGO,QAAAL,aAAA,kVAIdJ,GAAMzH,cCqB9B,SAAS41F,GAAe7vG,GAAY,IAAX,KAAE2C,GAAM3C,EAC/B,MAAM8vG,EAAsBxvG,KAAK+rB,MAAM1pB,EAAKmtG,qBACtCC,EAAuBptG,EAAKqtG,cAC9B,CAAEC,WAAY3vG,KAAK+rB,MAAM1pB,EAAKotG,uBAC9B,GAEEG,EAAc,IACfvtG,KACAmtG,KACAC,GAOChC,EAAcC,GACGA,EACjBztC,aAAO,IAAI1zC,KAAKmhF,GAAO,aAAc,CACnCxtC,SAAU,sBAEZ,GAGN,OACEv5C,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,GAAIuF,QAAM,EAACW,WAAS,GACpCv0C,IAAAC,cAAC0oF,GAAuB,KACtB3oF,IAAAC,cAAC2iD,SAAK,CACJ7hD,MAAOtG,GAAMzH,aACb6vD,SAAU,GACV/b,UAAW,GACXxnC,aAAc,GACd+B,KAAK,mBAEPrB,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,aAAakvE,QAASO,EAAYvC,WACzD1mF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,iBAAiBkvE,QAASO,EAAY7D,OAC7DplF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,+BACNkvE,QAASO,EAAY9B,cAI3BnnF,IAAAC,cAAC0oF,GAAuB,KACtB3oF,IAAAC,cAAC2iD,SAAK,CACJ7hD,MAAOtG,GAAMzH,aACb6vD,SAAU,GACV/b,UAAW,GACXxnC,aAAc,GACd+B,KAAK,mBAEPrB,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC53C,MAAO,KACzBgE,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,gBACNkvE,QAASO,EAAY/D,kBAEvBllF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,kBACNkvE,QAASO,EAAY/B,kBAEvBlnF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,cACNkvE,QAASO,EAAYC,WAEvBlpF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,iBAAckvE,QAASO,EAAYE,QAC1DnpF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,cAAckvE,QAASO,EAAYG,QAC1DppF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,OAAOkvE,QAvD3B,CACXW,EAAG,YACHC,EAAG,YAqDiDL,EAAYM,UACxDvpF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,eACNkvE,QAASO,EAAYO,aAEvBxpF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,kBACNkvE,QACEO,EAAYxD,qBACZqB,EAAWmC,EAAYxD,uBAG3BzlF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,mBACNkvE,QACEO,EAAYQ,YAAc3C,EAAWmC,EAAYQ,cAGrDzpF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,4BACNkvE,QACEO,EAAYS,iBACZ5C,EAAWmC,EAAYS,mBAG3B1pF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,oBAEzBxZ,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,MAAMkvE,QAASO,EAAYU,QAClD3pF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,cACNkvE,QAASO,EAAYW,aAEvB5pF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,SAASkvE,QAASO,EAAYY,WACrD7pF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,SAASkvE,QAASO,EAAYa,OACrD9pF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,SAASkvE,QAASO,EAAYc,WACrD/pF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,WACNkvE,QAASO,EAAYe,cAEvBhqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,UACNkvE,QAASO,EAAYgB,cAEvBjqF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,QAAQkvE,QAASO,EAAYiB,UACpDlqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,sBACNkvE,QACEO,EAAY7B,wBACZN,EAAWmC,EAAY7B,0BAG3BpnF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,8BACNkvE,QACEO,EAAYkB,mBACZrD,EAAWmC,EAAYkB,wBAMjCnqF,IAAAC,cAAC0oF,GAAuB,CAACp0C,WAAS,GAChCv0C,IAAAC,cAAC2iD,SAAK,CACJ7hD,MAAOtG,GAAMzH,aACb6vD,SAAU,GACV/b,UAAW,EACXxnC,aAAc,GACd+B,KAAK,wBAEPrB,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC53C,MAAO,KACzBgE,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,2BACNkvE,QAASO,EAAYmB,gBAEvBpqF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,MAAMkvE,QAASO,EAAYoB,QAClDrqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,qCACNkvE,QAASO,EAAYqB,cAEvBtqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,oCACNkvE,QAASO,EAAYsB,iBAGzBvqF,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,6BACNkvE,QAASO,EAAY1D,WAEvBvlF,IAAAC,cAACwoF,GAAe,CAACjvE,MAAM,KAAKkvE,QAASO,EAAYuB,eACjDxqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,6BACNkvE,QAASO,EAAYwB,iBAEvBzqF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,2BACNkvE,QAASO,EAAYyB,yBAK7B1qF,IAAAC,cAAC0oF,GAAuB,CAACp0C,WAAS,GAChCv0C,IAAAC,cAAC2iD,SAAK,CACJ7hD,MAAOtG,GAAMzH,aACb6vD,SAAU,GACV/b,UAAW,GACXxnC,aAAc,GACd+B,KAAK,sBAEPrB,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC53C,MAAO,KACzBgE,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,yBACNkvE,QAAO,GAAA7nF,OAAKooF,EAAY0B,qBAAoB,OAAA9pF,OAAMooF,EAAY2B,wBAGhE5qF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,8BACNkvE,QAAO,GAAA7nF,OAAKooF,EAAY0B,qBAAoB,OAAA9pF,OAAMooF,EAAY2B,wBAEhE5qF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,sBACNkvE,QAASO,EAAY4B,oBAEvB7qF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,mBACNkvE,QACEO,EAAY6B,eACZhE,EAAWmC,EAAY6B,iBAG3B9qF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,yBACNkvE,QACEO,EAAY8B,gBAAc,GAAAlqF,OACvBooF,EAAY8B,eAAc,OAAAlqF,OAAMooF,EAAY+B,eAAc,QAInEhrF,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,wBACNkvE,QAASO,EAAYgC,iBAEvBjrF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,uBACNkvE,QAASO,EAAYiC,iBAEvBlrF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,uBACNkvE,QAASO,EAAYkC,iBAEvBnrF,IAAAC,cAACwoF,GAAe,CACdjvE,MAAM,uBACNkvE,QAASO,EAAYmC,oBAK7BprF,IAAAC,cAAC0oF,GAAuB,CAACp0C,WAAS,GAChCv0C,IAAAC,cAAC2iD,SAAK,CACJ7hD,MAAOtG,GAAMzH,aACb6vD,SAAU,GACV/b,UAAW,GACXxnC,aAAc,GACd+B,KAAK,mBAGPrB,IAAAC,cAACy3C,SAAK,CACJC,KACE33C,IAAAC,cAACm1C,GAAgB,CACfggC,gBAAiB,CACf,CAAEhxE,KAAM,OAAQyxC,SAAU,IAAKn6C,SAAU,KACzC,CAAE0I,KAAM,mBACR,CAAEA,KAAM,GAAIyxC,SAAU,GAAIn6C,SAAU,QAMxCutF,EAAYF,eACVE,EAAYD,WAAWxxG,QAAU,GACjCyxG,EAAYD,WAAWzxG,OACpByxG,IAAgBA,EAAWqC,iBAC5B7zG,QAAU,GACZyxG,EAAYD,WACTzxG,OAAQyxG,IAAgBA,EAAWqC,iBACnCjwG,IAAKkwG,GAEFtrF,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAKmnF,EAAUC,mBACvBvrF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAAMsvF,EAAUE,WAClCxrF,IAAAC,cAAC+4C,aAAS,KAAEsyC,EAAUG,eACtBzrF,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAAC2wC,oBAAkB,GACzCp0C,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,WACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CACX5yC,QAASA,IACPhlB,EAAQ+tB,KAAK,kCAADhI,OACwByqF,EAAUC,qBAIhDvrF,IAAAC,cAAConF,KAAqB,CACpB7rG,KAAK,KACLulB,MAAOtG,GAAMpC,qBA8C7C,MAAM+8C,GAAmBj6C,IAA0B,IAAzB,gBAAEi6E,GAAiBj6E,EAC3C,OACE6E,IAAAC,cAACu1C,YAAQ,KACN4/B,EAAgBh6F,IAAKg9C,GACpBp4B,IAAAC,cAACw1C,eAAW,CACVtxC,IAAKi0B,EAAOh0B,KACZyxC,SAAUzd,EAAOyd,SACjBn6C,SAAU08B,EAAO18B,UAEhB08B,EAAOh0B,SAMHsnF,I,SAAAA,GAvWf,SAA0B9yG,GAA8B,IAA7B,QAAEkL,EAAO,QAAEG,EAAO,KAAEvI,GAAM9C,EACnD,OAAIkL,EAEAkc,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACt0C,aAAc,GAAIi1C,WAAS,GAC7Cv0C,IAAAC,cAAC0B,QAAI,CAACN,KAAK,uDACXrB,IAAAC,cAACi1C,GAAc,OAKjBjxD,GAAWvI,EAAKlE,OAAS,EACpBwoB,IAAAC,cAAC2oF,GAAe,CAACltG,KAAMA,EAAK,KAGjCuI,GAA2B,IAAhBvI,EAAKlE,OACXwoB,IAAAC,cAACk6C,GAAY,MAGf,MCrCF,MAAMz5C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFAOIH,WAAOC,IAAGK,QAAAH,aAAA,yGAIpBJ,GAAMzH,cAGP0H,WAAOC,IAAGO,QAAAL,aAAA,kVAIdJ,GAAMzH,cC+Cf24F,OAzDoB/yG,IAAgB,IAAf,MAAEw9B,GAAOx9B,EAC3C,MAAM6X,EAAWoT,eACX,aAAE+nF,GAAiBx1E,EAAMvvB,QACzB,QAAE/C,EAAO,QAAEG,EAAO,SAAEC,GAAa+8C,YACpC1oB,GAAUA,EAAM9zB,aAAamuC,wBAE1BmtB,EAAe,CACnB0nC,WAAY,EACZC,KAAM,EACNC,eAAgB,GAChBjB,SAAU,EACVtB,KAAM,EACNwC,0BAA2BgE,EAAapzC,QAAQ,OAAQ,IACxDqvC,iBAAkB,GAClBC,qBAAsB,KACtBC,4BAA6B,KAC7BC,iBAAiB,GASnB,OANA5gF,oBAAU,KACR3W,EACE+3F,GAAsDzoC,KAEvD,CAAC6rC,IAGF5rF,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,uCACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,+BACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,mCAKvC7I,IAAAC,cAACyrF,GAAiB,CAChB5nG,QAASA,EACTG,QAASA,EACTvI,KAAMwI,EAASxI,UCqFVmwG,I,GAAAA,GAnIf,SAA0BjzG,GAAuC,IAAtC,UAAEmjD,EAAS,qBAAE+vD,GAAsBlzG,EAC5D,MAAM,QAAEkL,GAAYm9C,YAAa1oB,GAAUA,EAAMwjB,YAE1CgwD,EAAsBC,GAA2B/kF,mBACtD80B,EAAUvd,MAAQ,QAAU,YAEvBytE,EAAqBC,GAA0BjlF,mBACpD80B,EAAUkwD,sBAELE,EAAyBC,GAA8BnlF,mBAC5D80B,EAAU/f,WAGNqwE,EAAmB,CACvB,CAAEhrF,KAAM,QAAS0mC,cAAeA,IAAMikD,EAAwB,UAC9D,CACE3qF,KAAM,UACN0mC,cAAeA,IAAMikD,EAAwB,aAI3CM,EAAmBvzG,IAAiB,IAAhB,OAAEwyD,GAAQxyD,EAMlC+yG,EAAqB,IALR,CACXG,sBACAztE,MAAgC,UAAzButE,EACP/vE,UAAWmwE,GAIX,CAAC5gD,EAAOnnC,MAAOmnC,EAAO/qB,UAKxBqlB,cAAe0mD,EACfj0G,MAAOk0G,GACLzmD,aAAS,wBACLF,cAAe4mD,GAAsC1mD,aAC3D,UAGAF,cAAe6mD,EACfp0G,MAAOq0G,GACL5mD,aAAS,aAGb,OACE/lC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACD,KAAM,EAAGtF,IAAK,IAChCruC,IAAAC,cAACitB,QAAI,CAAC2Z,OAAO,IAAI7lC,aAAc,GAC7BhB,IAAAC,cAACgrC,eAAW,CACV8I,YAAa,GACbrwC,eAAa,EACbojC,UAAW,GACXxnC,aAAc,GACd2lC,YAAa,IACboH,aAAc,IACduH,QAAM,GAEN5zC,IAAAC,cAACmrC,aAAS,CACRvrC,UAAQ,EACRuE,KAAK,qBACLinC,UAAU,sBACVnqC,WAAY,EACZ5B,aAAc,GACdkhB,MAAOub,EAAU6wD,mBACjB5wF,MAAO,MAETgE,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,sBACLinC,UAAU,uBACVnqC,WAAY,EACZ5B,aAAc,GACdkhB,MAAOyrE,EACPzmD,SAAUrqC,IAAA,IAAC,OAAEowC,GAAQpwC,EAAA,OAAK+wF,EAAuB3gD,EAAO/qB,QACxDxkB,MAAO,IACP0vC,SAAU6gD,EACVj0G,QAASk0G,EACTvtE,aAAcutE,EACdxgD,OAAQsgD,IAEVtsF,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASssE,EACThhD,UAAU,SACVjnC,KAAK,QACLlD,WAAY,EACZ5B,aAAc,GACdtD,MAAO,IACP0vC,SAAU+gD,GAETV,GAEH/rF,IAAAC,cAACymD,YAAQ,CACPrb,UAAU,kBACVjnC,KAAK,YACLlD,WAAY,EACZ5B,aAAc,GACdtD,MAAO,IACP0vC,SAAUghD,EACVlsE,MAAO2rE,EACP3mD,SAAUlqC,IAAA,IAAC,OAAEiwC,GAAQjwC,EAAA,OAAK8wF,EAA2B7gD,EAAO/qB,QAC5DloC,QAASq0G,EACT1tE,aAAc0tE,EACd3gD,OAAQsgD,MAIdtsF,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,GAC9Bj0C,IAAAC,cAACmB,UAAM,CACLsC,eAAa,EACb5D,QAASA,IAAMhlB,EAAQ+tB,KAAK,oBAC5BrF,KAAK,WACLxH,MAAO,KACR,YAGDgE,IAAAC,cAACmB,UAAM,CACLsC,eAAa,EACbF,KAAK,UACL1c,KAAK,SACLkV,MAAO,IACP6D,SACE/b,GAAW0oG,GAA4BG,GAE1C,gBCxIF,MAAMjsF,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFC+GpBgyF,I,GAAAA,GAjGQj0G,IAAgB,IAAf,MAAEw9B,GAAOx9B,EAC/B,MAAM6tF,EAAU9gC,iBAAO,MACjBl1C,EAAWoT,eACX,MAAE0U,GAAUu0E,cAElB,IAAKv0E,KAAe,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOwjB,WAEpB,OADAjhD,EAAQ+tB,KAAK,oBACN7I,IAAAC,cAAAD,IAAAuD,SAAA,MAGT,MAAM,UAAEw4B,GAAcxjB,GAChB,mBAAEq0E,GAAuBx2E,EAAMvvB,OAC/BkmG,EAASpmB,OAAaC,MAAM,CAChCpoD,MAAOmoD,OAAclhC,SAAS,6CAC9BzpB,UAAW2qD,OAAalhC,SAAS,sDACjCwmD,oBAAqBtlB,OAAalhC,SAChC,8CAqBJv1C,eAAe88F,EAAatxG,GAC1B,IACE,MAAMuxG,EAAc,IACfvxG,EACH8iC,MAAsB,UAAf9iC,EAAK8iC,OAOd,aAJMuuE,EAAOljB,SAASojB,EAAa,CACjCnjB,YAAY,IAEdrD,EAAQzgC,QAAQ5C,UAAU,KACnB,EACP,MAAOhmB,GACP,MAAM8vE,EAAmB,GAOzB,OANI9vE,aAAeupD,OACjBvpD,EAAI4sD,MAAMp+C,QAAStzC,IACjB40G,EAAiB50G,EAAMmhC,MAAQnhC,EAAMihC,UAEvCktD,EAAQzgC,QAAQ5C,UAAU8pD,KAErB,GAIX,OACEltF,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,sBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,aACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,qBAEjC,CACE4Q,KAAMmzE,EACNzpC,WAAYA,IACVroE,EAAQ+tB,KAAK,2BAADhI,OAA4B+rF,QAIhD5sF,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAAC4jD,KAAI,CAACtjD,IAAKkmE,EAAS3iB,SAjE5B5zD,eAA4BxU,GAC1B,MAAMuxG,EAAc,IACfvxG,EACH8iC,MAAsB,UAAf9iC,EAAK8iC,aAGQwuE,EAAaC,IAGjCx8F,EACE6kC,GAAiBtB,sBACf+H,EAAU9nB,iBACVg5E,MAsDEjtF,IAAAC,cAAC4rF,GAAiB,CAChB9vD,UAAWA,EACX+vD,qBAAsBkB,SCpG7B,MAAMtsF,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFCyHpBsyF,OAjHWv0G,IAAgB,IAAf,MAAEohC,GAAOphC,EAClC,MAAQitD,cAAe+C,GAAwB7C,aAAS,eAChDF,cAAeunD,GAAsBrnD,aAAS,cAE/CmD,EAAcC,GAAmBliC,mBAAS,IAE3ComF,EAAwB,CAC5B,CACEtlD,cAAeA,IAAMC,EAAmB,kBACxC3mC,KAAM,kBAER,CACE0mC,cAAeA,IAAMC,EAAmB,oBACxC3mC,KAAM,qBAIV,SAAS2mC,EAAmB4C,GAC1BzB,EAAgByB,GAGlB,OACE5qC,IAAAC,cAAA,WACED,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLinC,UAAU,QACVrvC,MAAO,IACPsD,aAAc,GACdwnC,UAAW,EACX2E,YAAY,WACZ3qC,KAAK,yBACLjB,UAAQ,EACR2gB,MAAY,OAALxG,QAAK,IAALA,OAAK,EAALA,EAAOmE,UAEhBne,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,cACLinC,UAAU,sBACVrvC,MAAO,IACPsD,aAAc,GACdwnC,UAAW,EACX2E,YAAY,YACZ3qC,KAAK,yBACLjB,UAAQ,EACR2gB,MAAY,OAALxG,QAAK,IAALA,OAAK,EAALA,EAAOw7D,YAEhBx1E,IAAAC,cAAC0rC,YAAQ,CACPnoC,KAAK,WACLwoD,SAAO,EACPhwD,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,EACXuE,UAAU,qBACVjnC,KAAK,gBACN,YAGDpE,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASstE,EACT7pF,KAAK,WACLxH,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,EACXuE,UAAU,aACVjnC,KAAK,aACLsnC,SAAU9C,GAETM,GAAgB,0BAEnBlpC,IAAAC,cAACymD,YAAQ,CACPrb,UAAU,kBACVjnC,KAAK,YACLlD,WAAY,EACZ5B,aAAc,GACdtD,MAAO,IACPH,OAAQ,IACR6vC,SAAU0hD,IAEZptF,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAImN,qBAAmB,EAACxwC,aAAW,GACzDzD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,WACL1c,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,0BACLhB,QAASA,IAAMhlB,EAAQ+tB,KAAK,gBAC7B,YAGD7I,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLxH,MAAO,IACPmB,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbnkC,KAAK,0BACLqzC,oBAAkB,EAClB1wC,aAAW,EACX3c,KAAK,SACL+Y,UAAWqpC,GAGXlpC,IAAAC,cAACoqE,KAAY,MAAG,aC3CXijB,OAzDf,WACE,MAAM,QAAE7mG,GAAY8mG,eAEd,QACJzpG,EAAO,QACPG,EAAO,QACPgB,EACAf,UAAU,cAAEg4C,IACV+E,YAAa1oB,GAAUA,EAAMyB,OAC3BvpB,EAAWoT,cAsBjB,OApBAuD,oBAAU,KACR3W,EAASC,EAAatH,wBAAwB3C,KAC7C,CAACgK,EAAUhK,IAEd2gB,oBAAU,SAC8B,OAAb80B,QAAa,IAAbA,OAAa,EAAbA,EAAesxD,sBAEhB1pG,GAAWG,GAAWgB,IAC5CnK,EAAQ+tB,KAAK,sBAADhI,OAAuBpa,EAAO,cAC3C,CAACxB,EAASwB,EAAsB,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAesxD,mBAAoB1pG,EAASG,IAW9DH,EAEAkc,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAAC9wC,aAAW,EAACC,eAAa,EAACmhC,UAAW,KAC1D7kC,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACg7C,GAAe,QAMtBj7C,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,iBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAAC4jD,KAAI,CAACC,SA3BZ,SAAsBpoE,GACpB,MAAMivB,EAAU,CACdlkB,QAAsB,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAe/d,QACxBpC,WAAYrgC,EAAKqgC,WACjBC,UAAWtgC,EAAKsgC,WAElBvrB,EAASC,EAAaxH,wBAAwByhB,MAsBxC3K,IAAAC,cAACktF,GAAiB,CAACnzE,MAAOkiB,Q,+BCkDrBuxD,OA5Gf,SAAmB70G,GAAa,IAAZ,MAAEohC,GAAOphC,EAC3B,OACEonB,IAAAC,cAACitB,QAAI,CAAC2Z,OAAQ,GACZ7mC,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAM5C,QACbwJ,KAAK,iBACLmC,KAAK,cACLkqF,WAAS,EACTpuF,aAAc,KAEhBU,IAAAC,cAACgrC,eAAW,CAACmY,KAAG,GACdpjD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACiC,SAAU,KAC5B71C,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,SACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMzI,UACbqP,KACEka,KAAmB5tC,oBAAyB,OAALqsC,QAAK,IAALA,OAAK,EAALA,EAAOqE,gBAC9C,IAEF5e,cAAe,MAGnBO,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,QACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMzI,UACbqP,MAAW,OAAL2Y,QAAK,IAALA,OAAK,EAALA,EAAOmE,UAAW,IACxB1e,cAAe,MAGnBO,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,qBACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMzI,UACbqP,MACO,OAAL2Y,QAAK,IAALA,OAAK,EAALA,EAAOwzE,oBACHG,KAAepgH,yBACR,OAALysC,QAAK,IAALA,OAAK,EAALA,EAAOwzE,oBAET,IAEN/tF,cAAe,OAKrBO,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,cACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMzI,UACbqP,MACO,OAAL2Y,QAAK,IAALA,OAAK,EAALA,EAAOgE,eAAa,GAAAnd,OACR,OAALmZ,QAAK,IAALA,OAAK,EAALA,EAAOgE,cAAa,OAAAnd,OAAW,OAALmZ,QAAK,IAALA,OAAK,EAALA,EAAOw7D,WACpC,IAEN/1E,cAAe,MAGnBO,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,qBACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CAACZ,MAAOtG,GAAMzI,UAAWqP,KAAK,UAAU5B,cAAe,MAE9DO,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,kBACL5B,cAAe,KAEjBO,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMzI,UACbyN,cAAe,GACf4B,MAAW,OAAL2Y,QAAK,IAALA,OAAK,EAALA,EAAOsE,cAAe,WC8C3BsvE,I,2BAAAA,GA9IkBh1G,IAU1B,IAV2B,QAChCi1G,EAAO,OACPC,EAAM,iBACNC,EAAgB,kBAChBC,EAAiB,kBACjBC,EAAiB,mBACjBC,EAAkB,oBAClBC,EAAmB,wBACnBC,EAAuB,gBACvBC,GACDz1G,EACC,OACEonB,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAImN,qBAAmB,EAACM,WAAS,MAC9C,OAAPs5C,QAAO,IAAPA,OAAO,EAAPA,EAASS,WACTtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACV7qF,KAAK,YACLywC,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAAgB,OAAP+tF,QAAO,IAAPA,OAAO,EAAPA,EAAS/tF,SAElBE,IAAAC,cAACq/D,KAAQ,CACP9jF,KAAM,GACNulB,MAAOtG,GAAMzH,aACb4+C,MAAO,CAAEzwC,YAAa,SACtB,WAINnB,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,OACK,OAAnB8/C,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBG,WACrBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAA4B,OAAnBquF,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBruF,SAE9BE,IAAAC,cAACsuF,KAAM,CACL/yG,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,gCAImB,OAAvBitF,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyBE,WACzBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAAgC,OAAvBsuF,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyBtuF,SAElCE,IAAAC,cAACuuF,KAAW,CACVhzG,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,sCAIc,OAAlB+sF,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBI,WACpBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAA2B,OAAlBouF,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBpuF,SAE7BE,IAAAC,cAACwuF,KAAM,CACLjzG,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,0BAIa,OAAjB6sF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBM,WACnBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACV7qF,KAAK,YACLywC,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAA0B,OAAjBkuF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBluF,SAE5BE,IAAAC,cAACg7E,KAAc,CACbz/F,KAAM,GACNulB,MAAOtG,GAAMzH,aACb4+C,MAAO,CAAEzwC,YAAa,SACtB,4BAIa,OAAjB8sF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBK,WACnBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAA0B,OAAjBmuF,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBnuF,SAE5BE,IAAAC,cAACwuF,KAAM,CACLjzG,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,4BAKY,OAAhB4sF,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBO,WAClBtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAAyB,OAAhBiuF,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBjuF,SAE3BE,IAAAC,cAACsuF,KAAM,CACL/yG,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,wBAIE,OAAN2sF,QAAM,IAANA,OAAM,EAANA,EAAQQ,WACRtuF,IAAAC,cAACmB,UAAM,CACLvB,SAAUwuF,EACVp6C,qBAAmB,EACnBnzC,KAAK,0BACLhB,QAAe,OAANguF,QAAM,IAANA,OAAM,EAANA,EAAQhuF,SAEjBE,IAAAC,cAACoqE,KAAY,CACX7uF,KAAM,GACNulB,MAAOtG,GAAM9E,MACbi8C,MAAO,CAAEzwC,YAAa,SACtB,aCjJC,IACbutF,iBAAkB,CAChBC,2BAA4B,mCAC5BC,8BAA+B,wCAC/BC,gCAAiC,4CACjCC,8BAA+B,wCAEjCC,eAAgB,CACdJ,2BAA4B,6BAC5BC,8BAA+B,gCAC/BC,gCAAiC,kCACjCC,8BAA+B,iCAEjCE,aAAc,CACZL,2BAA4B,EAC5BC,8BAA+B,EAC/BC,gCAAiC,EACjCC,8BAA+B,I,UCZVp0F,WAAOC,IAAGC,QAAAC,aAAA,sJAWRH,WAAOC,IAAGK,QAAAH,aAAA,mKAE1BJ,GAAM5C,SAOM6C,WAAOC,IAAGO,QAAAL,aAAA,mDApB1B,MAyBMo0F,GAAkBv0F,WAAOC,IAAGU,QAAAR,aAAA,4KAkC5Bq0F,IAtBoBx0F,WAAOC,IAAGa,QAAAX,aAAA,iFAMdH,WAAOC,IAAGgB,QAAAd,aAAA,2CAKRH,WAAOC,IAAGmB,QAAAjB,aAAA,iIAWfH,WAAOC,IAAGsB,QAAApB,aAAA,yEAMvBs0F,GAAYz0F,WAAOksC,MAAK1qC,QAAArB,aAAA,2JCiLtBu0F,OAjOf,SAAiCx2G,GAM7B,IAN8B,WAChCy2G,EAAU,cACVC,EAAa,gBACbC,EAAe,wBACfC,GAA0B,EAAK,kBAC/BC,GACD72G,EACC,MAAM,SAAEsL,GAAa+8C,YAAa1oB,GAAUA,EAAMwD,YAC5C2D,EAAcx7B,EAEdwrG,EAAsB,CAC1B,CACE3nD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACH0b,aACEC,GAAiBb,eAAeJ,8BAEpCc,KAEFpuF,KAAMuuF,GAAiBlB,iBAAiBC,4BAE1C,CACE5mD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACH0b,aACEC,GAAiBb,eAAeH,iCAEpCa,KAEFpuF,KAAMuuF,GAAiBlB,iBAAiBE,+BAE1C,CACE7mD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACH0b,aACEC,GAAiBb,eAAeF,mCAEpCY,KAEFpuF,KAAMuuF,GAAiBlB,iBAAiBG,iCAE1C,CACE9mD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACH0b,aACEC,GAAiBb,eAAeD,iCAEpCW,KAEFpuF,KAAMuuF,GAAiBlB,iBAAiBI,gCAItCjkD,EAAmBjJ,sBACtBkJ,GACCA,EAAiB1vD,IAAK2gC,IAAU,CAC9B1a,KAAM0a,EAAWyH,iBAAiBjqC,WAClC8nC,OAAQtF,EAAWsF,OAAOjmC,IAAK4vD,GAAUA,EAAMvnB,YAAYlqC,eAE/D,IAGF,SAASs2G,EAAkBzvF,GACzB,MAAM,KAAEgE,EAAI,MAAEoc,GAAUpgB,EAAEmrC,OAC1B+jD,EAAerb,IAAQ,IAAWA,EAAU,CAAC7vE,GAAOoc,KAGtD,SAASsvE,EAAqB3rF,EAAKqc,GAC5BA,GAEL8uE,EAAerb,IAAQ,IAAWA,EAAU,CAAC9vE,GAAMqc,KAGrD,OACExgB,IAAAC,cAACgvF,GAAe,KACdjvF,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAAS2vE,EACTlsF,KAAK,WACLxH,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,EACXipD,eAAc,EACd1kD,UAAU,gBACVjnC,KAAK,gBAGHwrF,GAAiBlB,kBACL,OAAVW,QAAU,IAAVA,OAAU,EAAVA,EAAYM,eAAgB,gCAIvB,OAAVN,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeD,+BAEhC9uF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,oBACLinC,UAAU,cACVrvC,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,GACX2E,YAAY,oBACZ3qC,KAAK,yBACL0f,MAAiB,OAAV6uE,QAAU,IAAVA,OAAU,EAAVA,EAAYW,kBACnBxqD,SAAWplC,GAAMyvF,EAAkBzvF,MAG5B,OAAVivF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeD,+BAEhC9uF,IAAAC,cAACkvF,GAAS,KACRnvF,IAAAC,cAAC0B,QAAI,CAACN,KAAK,qBAAqBylC,UAAW,IAC3C9mC,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,iBACLoc,MAAiB,OAAV6uE,QAAU,IAAVA,OAAU,EAAVA,EAAYY,eACnBzqD,SAAWplC,GAAM0vF,EAAqB,iBAAkB1vF,OAInD,OAAVivF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeH,+BAEhC5uF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,cACLinC,UAAU,iBACVrvC,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,GACX2E,YAAY,iBACZ3qC,KAAK,yBACL0f,MAAiB,OAAV6uE,QAAU,IAAVA,OAAU,EAAVA,EAAYa,YACnB1qD,SAAWplC,GAAMyvF,EAAkBzvF,MAG5B,OAAVivF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeH,+BAEhC5uF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,SACLinC,UAAU,YACVrvC,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,GACX2E,YAAY,YACZ3qC,KAAK,yBACL0f,MAAiB,OAAV6uE,QAAU,IAAVA,OAAU,EAAVA,EAAYc,OACnB3qD,SAAWplC,GAAMyvF,EAAkBzvF,MAG5B,OAAVivF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeF,iCAEhC7uF,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,0BACLinC,UAAU,cACVrvC,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,GACX2E,YAAY,eACZ3qC,KAAK,yBACL0f,MAAiB,OAAV6uE,QAAU,IAAVA,OAAU,EAAVA,EAAYe,wBACnB5qD,SAAWplC,GAAMyvF,EAAkBzvF,MAG5B,OAAVivF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeF,iCAEhC7uF,IAAAC,cAAC0rC,YAAQ,CACPvnC,KAAK,UACLinC,UAAU,UACVrvC,MAAO,IACPH,OAAQ,GACRyD,aAAc,GACdwnC,UAAW,GACXhmC,KAAK,yBACLkrD,SAAO,GACR,YAIQ,OAAVqjC,QAAU,IAAVA,OAAU,EAAVA,EAAYM,gBACXC,GAAiBb,eAAeJ,4BAEhC3uF,IAAAC,cAACgsC,wBAAoB,CACnBlwB,YAAsB,OAAVszE,QAAU,IAAVA,OAAU,EAAVA,EAAYtzE,aAAc,GACtCmwB,cAAgB1rB,GAAUsvE,EAAqB,aAActvE,GAC7DwqB,OAAiB,OAAVqkD,QAAU,IAAVA,OAAU,EAAVA,EAAYrkD,QAAS,GAC5BmB,SAAW3rB,GAAUsvE,EAAqB,QAAStvE,GACnDd,YAAamrB,EAAiBnrB,GAC9BmnB,OAAQ,KAIZ7mC,IAAAC,cAACivF,GAAU,KACTlvF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLrG,WAAY,GACZuG,eAAa,EACbD,aAAW,EACX5H,OAAQ,GACRiF,KAAK,0BACLha,KAAK,SACL+Y,SAAU2vF,EACV1vF,QAASyvF,GAETvvF,IAAAC,cAACowF,KAAQ,CACPtvF,MAAOtG,GAAM9E,MACbna,KAAM,GACNo2D,MAAO,CAAEzwC,YAAa,SACtB,gBCzHGmvF,OAvGe13G,IAQvB,IARwB,qBAC7B23G,EAAoB,wBACpBC,EAAuB,iBAEvBl6C,EAAgB,iBAChBL,EAAgB,oBAChBD,EAAmB,wBACnBE,GACDt9D,EACC,MAAQ8C,KAAMqO,EAAa,QAAEjG,EAAO,MAAErI,GAAUwlD,YAC7C1oB,GAAUA,EAAMyB,MAAMl1B,0BAGzB,OAAIhB,EAEAkc,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACg7C,GAAe,CAACp/C,OAAO,YAK5B9R,EAAcvS,QAAU,EAExBwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAMnBn6C,IAAAC,cAAAD,IAAAuD,SAAA,KACGxZ,EAAc3O,IAAKqJ,GAClBub,IAAAC,cAACu1C,YAAQ,CACP11C,QAASA,MACS,OAAZrb,QAAY,IAAZA,OAAY,EAAZA,EAAc8F,QAA4B,OAApBgmG,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBhmG,KAC9CimG,EAAwB,MACrBA,EAAwB/rG,IAE/BotE,aAAW,GAEX7xD,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAACC,eAAa,GACpC1D,IAAAC,cAAC01C,YAAQ,CACP95C,OAAQ,GACRG,MAAO,GACP45C,SACc,OAAZnxD,QAAY,IAAZA,OAAY,EAAZA,EAAcgsG,WAA+B,OAApBF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBE,UACnC,OAAZhsG,QAAY,IAAZA,OAAY,EAAZA,EAAcisG,sBACQ,OAApBH,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBG,qBACZ,OAAZjsG,QAAY,IAAZA,OAAY,EAAZA,EAAcumD,UAA8B,OAApBulD,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBvlD,WAKtDhrC,IAAAC,cAAC+4C,aAAS,KAAEv0D,EAAaozB,KAAOpzB,EAAaozB,KAAO,KACpD7X,IAAAC,cAAC+4C,aAAS,KACPv0D,EAAa8F,IACE,OAAZ9F,QAAY,IAAZA,OAAY,EAAZA,EAAc8F,IAAIiuD,QAChB,+BACA,eAEF,KAENx4C,IAAAC,cAAC+4C,aAAS,KACPv0D,EAAagsG,OAAShsG,EAAagsG,OAAS,KAE/CzwF,IAAAC,cAAC+4C,aAAS,QAAAn4C,OAENpc,EAAaksG,aACTlsG,EAAaksG,aAAaC,SAAS,EAAG,KACtC,IAAG,KAAA/vF,OAEPpc,EAAaosG,SACTpsG,EAAaosG,SAASD,SAAS,GAAI,KACnC,MAGR5wF,IAAAC,cAAC+4C,aAAS,KACPv0D,EAAaqsG,WACVx3C,aAAO,IAAI1zC,KAAKnhB,EAAaqsG,YAAa,aAAc,CACtDv3C,SAAU,sBAEZ,OAIVv5C,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAOA,EACPw6D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,QCpFjBy6C,OAvBiBA,IAE5B/wF,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACI,SAAU,GAAIn6C,SAAU,KACrCsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,QAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,OAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,GAAIn6C,SAAU,IAAI,aAGzCsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,YAG3CsE,IAAAC,cAACw1C,eAAW,CAACI,SAAU,IAAKn6C,SAAU,KAAK,mBCelCs1F,OA3Bf,SAAmCp4G,GAQ/B,IARgC,qBAClC23G,EAAoB,wBACpBC,EAAuB,iBAEvBv6C,EAAgB,iBAChBK,EAAgB,oBAChBN,EAAmB,wBACnBE,GACDt9D,EACC,OACEonB,IAAAC,cAACyzD,aAAS,CAAC73D,OAAQ,IAAKG,MAAO,IAAK41C,MAAO,CAAE9K,UAAW,SACtD9mC,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAAC8wF,GAAuB,OACnC/wF,IAAAC,cAACqwF,GAAqB,CACpBC,qBAAsBA,EACtBC,wBAAyBA,EACzBv6C,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,QCgBjB91C,OAtCK5nB,IAIb,IAJc,aACnBqlF,EAAY,qBACZ5K,EAAoB,uBACpB49B,GACDr4G,EACC,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAAUM,GAAM69D,EAAa79D,GAC7BsD,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLqa,YAAa,GACbL,KAAK,0BACL9E,MAAO,KACR,YAGDgE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLE,eAAa,EACbD,aAAW,EACX3c,KAAK,SACLgZ,QAAUM,IACRizD,IACA4K,EAAa79D,IAEfU,KAAK,0BACL9E,MAAO,IACP6D,SAAUoxF,GACX,eCUQC,OArCf,SAA+Bt4G,GAS3B,IAT4B,OAC9BgrB,EAAM,UACNw6D,EAAS,WACTF,EAAU,YACVC,EAAW,aACXF,EAAY,qBACZ5K,EAAoB,uBAEpB49B,GACDr4G,EACC,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASm+D,EACTjiE,MAAO,IACPH,OAAQ,IACRT,IAAK,GACLuyC,qBAAqB,WACrBvV,OAAQ8lC,EACRn6D,OACE/D,IAAAC,cAACO,GAAW,CACVy9D,aAAcA,EACd5K,qBAAsBA,EACtB49B,uBAAwBA,KAI5BjxF,IAAAC,cAAC89D,GAAkB,KACjB/9D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACW,WAAS,GAC1B4pB,GAEHn+D,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GAAEwqB,MCsId+yB,OAjKf,SAAkCv4G,GAA4B,IAA3B,OAAEgrB,EAAM,aAAEq6D,GAAcrlF,EACzD,MAAM6X,EAAWoT,eAEX,cAAEq4B,GAAkB+E,YAAa1oB,GAAUA,EAAMyB,MAAM91B,WACvD,QAAE2d,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAE3C2uF,EAA0Bp4B,kBAC9B,MACEr9E,WAAY,EACZC,SAAU,KAEZ,IAGIy1G,EAAoBr4B,kBACxB,MACE22B,aAAcC,GAAiBb,eAAeJ,2BAC9C2C,QAAS,UAETv1E,WAAY,GACZivB,MAAO,GACPmlD,OAAQ,GACRD,YAAa,GACbE,wBAAyB,GACzBJ,kBAAmB,GACnBC,eAAgB,KAElB,KAGKM,EAAsBgB,GAA2BtqF,mBAAS,OAC1DooF,EAAYC,GAAiBroF,mBAASoqF,IACtCp7C,EAAkBD,GAAuB/uC,mBAC9CmqF,GAGI7B,EAAkB3tD,sBAAY,KAClC,GAAIh+B,GAAyB,OAAfyrF,EAAqB,CAEjC,MAAM1kF,EAAU,IACXsrC,KACAo5C,EACH5oG,QAAsB,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,QACxB03B,QAAsB,OAAb+d,QAAa,IAAbA,OAAa,EAAbA,EAAe/d,QACxBnG,kBAAmBnW,EAAQmW,mBAG7BvnB,EAASC,EAAajH,4BAA4BkhB,MAEnD,CACDla,EACA4+F,EACAzrF,EACa,OAAbs4B,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,QACF,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAe/d,QACf83B,EACAp0C,EAAQmW,oBAGJw5E,EAA8B5vD,sBAAY,KAC9C,MAAMj3B,EAAU,CACdlkB,QAAsB,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,QACxB03B,QAAsB,OAAb+d,QAAa,IAAbA,OAAa,EAAbA,EAAe/d,QACxB15B,aAAc,IACT8rG,GAELkB,OAAQ,CACNhrG,QAAsB,OAAby1C,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,WACrB4oG,IAGP5+F,EAASC,EAAa/G,sCAAsCghB,KAC3D,CAACla,EAAU4+F,EAAYnzD,EAAeq0D,IAEnCj6C,EAAmB1U,sBAAa6xB,IACpCzd,EAAoB,IACfyd,KAEJ,IAEGvd,EAA0BtU,sBAC7BxhC,IACmB,KAAdA,EAAEohD,SAAkD,KAAhCvL,EAAiBt6D,YACvCq6D,EAAoB,IACfC,KAGT,CAACA,IAGH7uC,oBAAU,MACO,IAAXxD,IACF0rF,EAAc+B,GACdr7C,EAAoBo7C,GACpBG,EAAwB,MACxB9gG,EAASC,EAAahH,+BAEvB,CAAC+G,EAAU4gG,EAAmBztF,EAAQwtF,IAEzChqF,oBAAU,KACR3W,EACEmvB,GAAwC,CACtC5H,kBAAmBnW,EAAQmW,sBAG9B,CAACvnB,EAAiB,OAAPoR,QAAO,IAAPA,OAAO,EAAPA,EAASmW,oBAEvB5Q,oBAAU,KACW/tB,KAAKC,UAAU28D,KACR58D,KAAKC,UAAU83G,IAGvC7B,KAED,CAAC3rF,EAAQwtF,EAAyBn7C,IAErC,MAAMu5C,EAA0Bx2B,kBAAQ,KACd,CACtB21B,8BACc,OAAVU,QAAU,IAAVA,OAAU,EAAVA,EAAYtzE,gBAA0B,OAAVszE,QAAU,IAAVA,OAAU,EAAVA,EAAYrkD,OAC5C4jD,iCACc,OAAVS,QAAU,IAAVA,OAAU,EAAVA,EAAYc,YAAsB,OAAVd,QAAU,IAAVA,OAAU,EAAVA,EAAYa,aACxCrB,mCACc,OAAVQ,QAAU,IAAVA,OAAU,EAAVA,EAAYe,6BAAuC,OAAVf,QAAU,IAAVA,OAAU,EAAVA,EAAYiC,SACzDxC,iCACc,OAAVO,QAAU,IAAVA,OAAU,EAAVA,EAAYW,uBAAiC,OAAVX,QAAU,IAAVA,OAAU,EAAVA,EAAYY,iBAG7BZ,EAAWM,cAClC,CAACN,IAEJ,OACErvF,IAAAC,cAACixF,GAAsB,CACrBttF,OAAQA,EACRs6D,WAAYl+D,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,0BACd06D,aAAcA,EACdG,UACEp+D,IAAAC,cAAC+wF,GAA0B,CACzBT,qBAAsBA,EACtBC,wBAAyBe,EACzBt7C,iBAAkBA,EAClBK,iBAAkBA,EAClBN,oBAAqBA,EACrBE,wBAAyBA,IAG7BioB,YACEn+D,IAAAC,cAACmvF,GAAwB,CACvBC,WAAYA,EACZC,cAAeA,EACfC,gBAAiBA,EACjBC,wBAAyBA,EACzBC,kBAAmBA,IAAMz5C,EAAoBo7C,KAGjD/9B,qBAAsBm+B,EACtBP,wBAAyBV,K,qBCbhBmB,OA1Ie94G,IAKvB,IALwB,SAC7B+4G,EAAQ,iBACR17C,EAAgB,oBAChBD,EAAmB,0BACnB47C,GACDh5G,EACC,MAAM6X,EAAWoT,cACXmW,EAAQinB,YAAa1oB,GAAUA,EAAMyB,QACrC,mBAAEwgB,EAAkB,cAAE0B,GAAkB+E,YAC3C1oB,GAAUA,EAAMyB,MAAM91B,UAGnB2tG,EAAoBjwD,sBACvBn9C,IACCgM,EACEC,EAAab,wBAAwBpL,EAAaqL,kBAGtD,CAACW,IAGG6lD,EAAmB1U,sBACtB6xB,IACCzd,EAAoB,IACfyd,KAGP,CAACzd,IAGGE,EAA0BtU,sBAC7BxhC,IACmB,KAAdA,EAAEohD,SAAkD,KAAhCvL,EAAiBt6D,YACvCq6D,EAAoB,IACfC,KAGT,CAACA,EAAkBD,IAIrB,GAAI47C,GAA6B53E,EAAMl2B,QACrC,OACEkc,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOy0D,aAAa,OACrCtwD,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOy0D,aAAa,OACrCtwD,IAAAC,cAACswD,GAAQ,CAAC10D,OAAO,OAAOy0D,aAAa,UAQ/C,IAAK91B,GAAsBA,EAAmBhjD,QAAU,EACtD,OACEwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAMrB,MAAM23C,EAAwB,IAAIt3D,GAAoBu3D,QACnD97C,EAAiBt6D,WAAa,GAAKs6D,EAAiBr6D,SACrDq6D,EAAiBr6D,UAGnB,OACEokB,IAAAC,cAAAD,IAAAuD,SAAA,KACGuuF,EAAsB12G,IAAKqJ,GAC1Bub,IAAAC,cAACu1C,YAAQ,CACPrxC,IAAK1f,EAAaqL,eAClBgQ,QAASA,KACH6xF,GAGFltG,EAAag2C,OACbu3D,KAAqBvkH,2BAA2BJ,YAEhDwkH,EAAkBptG,IAGtBotE,aACE8/B,GAEIltG,EAAag2C,OACbu3D,KAAqBvkH,2BAA2BJ,YAGtD2yB,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,GAAIn6C,SAAU,IACjCsE,IAAAC,cAAC01C,YAAQ,CACP95C,OAAQ,GACRG,MAAO,GACP45C,QAASnxD,EAAai2C,UACtB76B,SACEpb,EAAag2C,OACbu3D,KAAqBvkH,2BAA2BJ,cAItD2yB,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCpxD,EAAaozB,KAAOpzB,EAAaozB,KAAO,KAE3C7X,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCpxD,EAAag2C,KAAOh2C,EAAag2C,KAAO,KAE3Cz6B,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCpxD,EAAawtG,kBACVxtG,EAAawtG,kBACb,KAENjyF,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCpxD,EAAaumD,MAAQvmD,EAAaumD,MAAQ,KAE7ChrC,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACpB,OAAb3Z,QAAa,IAAbA,OAAa,EAAbA,EAAesxD,sBAItBxtF,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAO++C,EAAmBhjD,OAC1By+D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,QCvGjB47C,OAvCiBA,IAE5BlyF,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACvB71C,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACrB71C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,sBAGTrB,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACrB71C,IAAAC,cAAC0B,QAAI,CAACb,KAAK,yBAAyBC,MAAOtG,GAAM5C,QAASwJ,KAAK,UAEjErB,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACrB71C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,gBAGTrB,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACrB71C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,oBAGTrB,IAAAC,cAACw1C,eAAW,CAACI,SAAU,KACrB71C,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLC,MAAOtG,GAAM5C,QACbwJ,KAAK,yBCCA8wF,OA9Bf,SAAkCv5G,GAAgB,IAAf,SAAE+4G,GAAU/4G,EAC7C,MAKOq9D,EAAkBD,GAAuB/uC,mBALhB,CAC9BtrB,WAAY,EACZC,SAAU,KAOJkI,QAAS8tG,GAA8B3wD,YAC5C1oB,GAAUA,EAAMyB,MAAMn1B,gCAGzB,OACEmb,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACiyF,GAAuB,OACnClyF,IAAAC,cAACyxF,GAAqB,CACpBC,SAAUA,EACV17C,iBAAkBA,EAClBD,oBAAqBA,EACrB47C,0BAA2BA,QCmDxBvzB,OA3EczlF,IAItB,IAJuB,iBAC5Bq9D,EAAgB,oBAChBm8C,EAAmB,oBACnBp8C,GACDp9D,EACC,MAAM09D,EAAmB1U,sBACtB6xB,IACCzd,EAAoB,IACfyd,KAGP,CAACzd,IAGGE,EAA0BtU,sBAC7BxhC,IACmB,KAAdA,EAAEohD,SAAkD,KAAhCvL,EAAiBt6D,YACvCq6D,EAAoB,IACfC,KAGT,CAACA,EAAkBD,IAGrB,GAAIo8C,GAAuBA,EAAoB56G,QAAU,EACvD,OACEwoB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACk6C,GAAY,QAKrB,MAAMk4C,EAAyB,IAAID,GAAqBL,QACrD97C,EAAiBt6D,WAAa,GAAKs6D,EAAiBr6D,SACrDq6D,EAAiBr6D,UAGnB,OACEokB,IAAAC,cAAAD,IAAAuD,SAAA,KACG8uF,EAAuBj3G,IAAKk3G,GAC3BtyF,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCy8C,EAAUz6E,MAAQ,KAErB7X,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCy8C,EAAUt2E,WAAa,KAE1Bhc,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCy8C,EAAUC,iBAAmB,KAEhCvyF,IAAAC,cAAC+4C,aAAS,CAACt9C,SAAU,IAAKm6C,SAAU,KACjCy8C,EAAUE,YACPl5C,aAAO,IAAI1zC,KAAK0sF,EAAUE,aAAc,mBAAoB,CAC1Dj5C,SAAU,sBAEZ,OAIVv5C,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACkY,QAAS,GAClBlxD,IAAAC,cAACg4C,cAAU,CACTx8D,MAAO22G,EAAoB56G,OAC3By+D,iBAAkBA,EAClBD,oBAAqBA,EACrBE,wBAAyBA,EACzBgC,mBAAoB5B,QCpDjB+nB,OAjBcA,IAC3Br+D,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,cAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,cAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,mBAG3C71C,IAAAC,cAACw1C,eAAW,CAAC/5C,SAAU,IAAKm6C,SAAU,KAAK,SCgBhC48C,I,kBAAAA,GAtBuB75G,IAA8B,IAA7B,oBAAEw5G,GAAqBx5G,EAC5D,MAKOq9D,EAAkBD,GAAuB/uC,mBALhB,CAC9BtrB,WAAY,EACZC,SAAU,IAMZ,OACEokB,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACo+D,GAAoB,OAChCr+D,IAAAC,cAACyyF,GAAkB,CACjBz8C,iBAAkBA,EAClBm8C,oBAAqBA,EACrBp8C,oBAAqBA,OCpBxB,MAAMt1C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,wEAqB7B23C,IAfwB93C,WAAOC,IAAGK,QAAAH,aAAA,uIAClB6uD,GAAOl1D,SAOHkG,WAAOC,IAAGO,QAAAL,aAAA,oDAILH,WAAOC,IAAGU,QAAAR,aAAA,4BAG1B8pC,qBAASnpC,QAAAX,aAAA,qHAUaH,WAAOC,IAAGgB,QAAAd,aAAA,gLAQ9B23C,ICiXFmgD,I,kBAAAA,GAxXf,WACE,MAAM,QAAElsG,GAAY8mG,cACd98F,EAAWoT,eAEX,cACJq4B,EAAa,mBACb1B,EAAkB,uBAClBo4D,GACE3xD,YAAa1oB,GAAUA,EAAMyB,MAAM91B,WACjC,QAAEJ,GAAYm9C,YAAa1oB,GAAUA,EAAMyB,QAC3C,QAAEnY,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OACzCxe,QAAS4uG,GAA8B5xD,YAC5C1oB,GAAUA,EAAMyB,MAAMn1B,iCAEjBZ,QAAS6uG,GAAgC7xD,YAC9C1oB,GAAUA,EAAM2jB,cAAcpC,iCAI3BghC,EAAS/2B,GAAQliC,EAAQkW,QAAS,EAClCg7E,GACS,OAAb72D,QAAa,IAAbA,OAAa,EAAbA,EAAe82D,uBAAoC,OAAb92D,QAAa,IAAbA,OAAa,EAAbA,EAAe+2D,eAEjDC,EAAoC,OAAbh3D,QAAa,IAAbA,OAAa,EAAbA,EAAe+2D,cAEtCE,EAAgD,OAAbj3D,QAAa,IAAbA,OAAa,EAAbA,EAAe82D,mBAElDI,EACJ54D,GAAsBA,EAAmBhjD,OAAS,EAE9C67G,EAAoC,OAAbn3D,QAAa,IAAbA,OAAa,EAAbA,EAAeo3D,oBAGtCC,GACS,OAAbr3D,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAAS6M,wBAExB05F,GACS,OAAbj4C,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAAS0M,qBAExBk5G,GACS,OAAbt3D,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAASuM,sBAExBs5G,GACS,OAAbv3D,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAAS+L,gBAExBy6F,GACS,OAAbl4C,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAASiM,oBAExB65G,GACS,OAAbx3D,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBACf9C,KAAmB3tC,SAASkM,kBAExB65G,GACS,OAAbz3D,QAAa,IAAbA,OAAa,EAAbA,EAAe7d,iBAAkB9C,KAAmB3tC,SAASoM,SAIzDk8F,EAAO,CACX,CACEt2E,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,oBACZxC,MAAO,UACPqD,KAAM,iBAER,CACExE,SAAUI,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,gBACZxC,MAAO,UACPqD,KAAM,eAIHwvF,EAA0BC,GAA+B5sF,oBAC9D,IAEKonF,EAAiByF,GAAsB7sF,oBAAS,GAEjD8sF,EAAmCnyD,sBAAY,KACnDiyD,EAA6B5f,IAAcA,IAC1C,IAEG+f,EAA4BpyD,sBAAY,KAC5CnxC,EACEC,EAAa5G,oBACE,OAAboyC,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,QACf+zC,KAGH,CAAC/pC,EAAU+pC,EAAiC,OAAb0B,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,UAE3CwtG,EAA2BryD,sBAC9BpmB,IACC/qB,EACEyjG,GAAqBt6D,uCACnBnzC,EACA+0B,KAIN,CAAC/qB,EAAUhK,IAGP0tG,EAAgCvyD,sBAAY,KAChDnxC,EACE4oC,GAAiBvB,0CACfrxC,EACA,KACEgK,EAASC,EAAatH,wBAAwB3C,IAC9CqtG,GAAmB,OAIxB,CAACrjG,EAAUhK,IAEd2gB,oBAAU,KACR3W,EAASC,EAAatH,wBAAwB3C,IAC9CqtG,GAAmB,IAClB,CACDrjG,EACAhK,EACAosG,EACAC,IAGF,MAAMsB,EAASp7B,kBAAQ,KACrB,MAAM60B,EAAU,CACdS,UACGoF,IACAC,IACA74B,IAAW04B,GACd1zF,QAASA,KACPm0F,EAAyB14E,KAAmB3tC,SAASoM,UACrD85G,GAAmB,KAIjBhG,EAAS,CACbQ,UAAU,EACVxuF,QAASA,KACPk0F,IACAF,GAAmB,KAIjB9F,EAAoB,CACxBM,UAAU,EACVxuF,QAASA,KACPm0F,EACE14E,KAAmB3tC,SAASiM,qBAE9Bi6G,GAAmB,KAIjB7F,EAAoB,CACxBK,UAAU,EACVxuF,QAASA,KACPm0F,EAAyB14E,KAAmB3tC,SAASkM,mBACrDg6G,GAAmB,KAIjB5F,EAAqB,CACzBI,SACExzB,GACAo4B,GACAE,IACCC,GACDG,EACF1zF,QAASA,KACPm0F,EACE14E,KAAmB3tC,SAAS6M,yBAE9Bq5G,GAAmB,KAIjB1F,EAA0B,CAC9BE,SACExzB,GACAo4B,GACAE,GACAG,EACFzzF,QAASA,KACPq0F,IACAL,GAAmB,KAIjB3F,EAAsB,CAC1BG,UAAU,EACVxuF,QAASA,KACPm0F,EACE14E,KAAmB3tC,SAASuM,uBAE9B25G,GAAmB,KAqCvB,OAjCIf,GACF5E,EAAoBG,UACjBxzB,GACDs4B,IACCK,GAAqBrf,GAExB6Z,EAAkBK,SAAWxzB,GAAU04B,EAEvCxF,EAAkBM,SAAWxzB,GAAU04B,EAEvC1F,EAAOQ,UACJxzB,GACDs4B,IACCK,GAAqBrf,KAExB+Z,EAAoBG,UACjBxzB,GACDs4B,IACCD,GAAoCE,KACpClf,GAAyBC,GAE5B6Z,EAAkBK,SAChBxzB,GAAU04B,GAA6BH,EAEzCrF,EAAkBM,SAChBxzB,GAAU04B,GAA6BH,EAEzCvF,EAAOQ,UACJxzB,GACDs4B,IACCjf,GAAyBC,IAGvB,CACLyZ,UACAC,SACAE,oBACAC,oBACAC,qBACAC,sBACAC,4BAED,CACDsF,EACAC,EACA74B,EACAi4B,EACAS,EACAN,EACAO,EACAL,EACAjf,EACAC,EACA+e,EACAI,EACAU,EACAD,EACAG,IAGF,OAAIrwG,EAEAkc,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAAC9wC,aAAW,EAACC,eAAa,EAACmhC,UAAW,KAC1D7kC,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACg7C,GAAe,QAMtBj7C,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,GAC9Bj0C,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAI,UAAAR,QAAyB,OAAbq7B,QAAa,IAAbA,OAAa,EAAbA,EAAe/d,UAAW,IAC1Cpd,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,SACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,qBAKpCiyD,GAAUy4B,IACTz4B,GAAUo4B,GAAwBE,IACpCpzF,IAAAC,cAACmB,UAAM,CACLtB,QAASA,KACPhlB,EAAQ+tB,KAAK,sBAADhI,OACyB,OAAbq7B,QAAa,IAAbA,OAAa,EAAbA,EAAez1C,QAAO,kBAIhDuZ,IAAAC,cAACo0F,KAAqB,CAACtzF,MAAM,QAAQ6wC,MAAO,CAAEzwC,YAAa,KAAO,wBAMxEnB,IAAAC,cAACwtF,GAAU,CAACzzE,MAAOkiB,IAEnBl8B,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,IACtB9mC,IAAAC,cAACk2E,OAAG,CAACD,KAAMA,GACTl2E,IAAAC,cAACm2E,cAAU,CAACC,cAAc,iBACxBr2E,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,IACfknB,IACEi4B,IACCU,GAAqBrf,IACrB8e,IACE/e,GACEsf,IAAsBL,GACvBhf,KACJp0E,IAAAC,cAACgrC,eAAW,CAACiJ,YAAU,EAAC50C,aAAc,IACpCU,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL8wC,UAAQ,EACRn3C,WAAY,GACZkvC,aAAc,GACdlrC,YAAa,EACbmzF,cAAY,WACZC,QAAQ,WACRtgD,qBAAmB,EACnBj4C,MAAO,IACP8E,KAAK,0BACLhB,QAASi0F,GAET/zF,IAAAC,cAAC+iD,KAAa,CAACjiD,MAAM,UAAU,cAKvCf,IAAAC,cAACkyF,GAAyB,CACxBR,YAEK72B,IACCi4B,IACCU,GAAqBrf,IACrB8e,IACE/e,GACEsf,IAAsBL,GACvBhf,SAMhBp0E,IAAAC,cAACm2E,cAAU,CAACC,cAAc,aACxBr2E,IAAAC,cAACwyF,GAA6B,CAC5BL,oBAAqBQ,OAM7B5yF,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,IACtB9mC,IAAAC,cAAC2tF,GAAwBrsF,OAAAC,OAAA,GACnB4yF,EAAM,CACV/F,gBAAiBA,MAIrBruF,IAAAC,cAACkxF,GAAyB,CACxBvtF,OAAQgwF,EACR31B,aAAc81B,MChZtB,MAAMvhD,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAsCX63C,IA5BYh4C,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,IAIkB93C,mBAAOwjF,MAAUpzE,MAAOxJ,IAAK,CAC9DP,MAAOO,EAAMP,QADoBrG,CAEhCW,QAAAR,aAAA,6DAEUyG,GAAUA,EAAMP,MAGzBnoB,IAAA,IAAC,YAAEuoB,GAAavoB,EAAA,OAChBuoB,EACIpG,eAAGS,QAAAX,aAAA,+CACesG,GAElB,KAGoBzG,WAAOC,IAAGgB,QAAAd,aAAA,0TAGdJ,GAAMzH,eCV9B,MAAMwhG,GAAwBA,IAE1Bx0F,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACw1C,eAAW,KAAC,MACbz1C,IAAAC,cAACw1C,eAAW,KAAC,QACbz1C,IAAAC,cAACw1C,eAAW,KAAC,mBACbz1C,IAAAC,cAACw1C,eAAW,KAAC,SACbz1C,IAAAC,cAACw1C,eAAW,KAAC,SACbz1C,IAAAC,cAACw1C,eAAW,KAAC,WAKbg/C,GAAkB17G,IAAoB,IAAnB,UAAEgjD,GAAWhjD,EACpC,OACEinB,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,GAAIn6C,SAAU,IAChCqgC,EAAU9nB,kBAAoB,KAEjCjU,IAAAC,cAAC+4C,aAAS,KAAEjd,EAAU6wD,oBAAsB,KAC5C5sF,IAAAC,cAAC+4C,aAAS,KAAEjd,EAAU/f,WAAa,KACnChc,IAAAC,cAAC+4C,aAAS,CAACnD,SAAU,IAAKn6C,SAAU,KACjCqgC,EAAUvd,MAAQ,QAAU,WAE/Bxe,IAAAC,cAAC+4C,aAAS,KAAEjd,EAAUkwD,qBAAuB,KAC7CjsF,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,IAChBgE,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,GACtBzD,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACb6M,KAAK,SACLvG,SAAS,UAETkF,IAAAC,cAACyyC,GAAY,CACX5yC,QAASA,IACPhlB,EAAQ+tB,KAAK,2BAADhI,OACiBk7B,EAAU6wD,oBACrC,CACE7wD,eAKN/7B,IAAAC,cAACs6C,KAAQ,CAAC/+D,KAAK,KAAKulB,MAAOtG,GAAMpC,kBAShCq8F,I,GAAAA,GArEf,SAAwB97G,GAAkB,IAAjB,WAAEswF,GAAYtwF,EACrC,OACEonB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACitB,QAAI,CAACxxB,SAAU,KAAMi4C,KAAM,EAAG9M,OAAO,KACpC7mC,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAACu0F,GAAqB,OAChCtrB,EAAW9tF,IAAK2gD,GACf/7B,IAAAC,cAACw0F,GAAe,CACdtwF,IAAK43B,EAAU9nB,iBACf8nB,UAAWA,SC1BlB,MAAMr7B,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFCiDpBymF,I,qBAAAA,GAtCIA,KACjB,MAAM7wF,EAAWoT,cACXqlE,EAAajoC,YAAa1oB,GAAUA,EAAMwjB,UAAUrgD,MAU1D,OARA0rB,oBAAU,KACR3W,EAAS6kC,GAAiBxB,wBAEnB,KACLrjC,EAAS6kC,GAAiBrB,WAE3B,CAACxjC,IAGFuP,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,gBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,IAEhBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,aACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,wBAIrC7I,IAAAC,cAACgrC,eAAW,CAACnE,UAAW,GAAIqE,cAAY,EAACkJ,YAAU,EAAC+O,KAAG,GACrDpjD,IAAAC,cAACy0F,GAAe,CAACxrB,WAAYA,QC1ChC,MAAMxoE,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFAONH,WAAOC,IAAGK,QAAAH,aAAA,+IAQRH,WAAOC,IAAGO,QAAAL,aAAA,6IAUZH,WAAOC,IAAGU,QAAAR,aAAA,2CAIRH,WAAOC,IAAGa,QAAAX,aAAA,qIAWfH,WAAOC,IAAGgB,QAAAd,aAAA,gFAMXH,WAAOksC,MAAK9qC,QAAAjB,aAAA,2J,mBC5C9B,MAAMu1D,GAAmB11D,WAAOC,IAAGC,QAAAC,aAAA,yRAK/BJ,GAAMpC,WAUJy+D,GAAap8D,WAAOiG,OAAM3F,QAAAH,aAAA,iVAkB1B2jE,GAAgB9jE,mBAAO0G,UAAP1G,CAAcQ,QAAAL,aAAA,2BAG9BqmE,GAAoBxmE,mBAAO+6C,eAAP/6C,CAAmBW,QAAAR,aAAA,yBAIvC63C,GAAeh4C,WAAOC,IAAGa,QAAAX,aAAA,yJCnBvBq+E,I,GAAAA,GApBSA,IAEpBl5E,IAAAC,cAACmwD,GAAgB,KAAC,6BAEhBpwD,IAAAC,cAAA,YAAM,iCACwB,IAC5BD,IAAAC,cAAC62D,GAAU,CACThwE,KAAK,SACLgZ,QAASA,KACPhlB,EAAQ+tB,KAAK,iCAEf2qC,cAAY,wBACb,yBCbF,MAAM9yC,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,4TAIxBJ,GAAM9E,MAEK/c,IAAA,IAAC,gBAAEq0E,GAAiBr0E,EAAA,OACtCq0E,GAAmBxyD,GAAMzH,eCP7B,SAAS2hG,GAAI/7G,GAAiC,IAAhC,SAAEgnB,EAAQ,gBAAEqtD,GAAiBr0E,EACzC,OAAOonB,IAAAC,cAACS,GAAS,CAACusD,gBAAiBA,GAAkBrtD,GC2LxCw5E,OAjKaxgG,IAMrB,IANsB,WAC3BygG,EAAU,qBACVub,EAAoB,gBACpBC,EAAe,iBACfC,EAAgB,kBAChBC,GACDn8G,EACC,MAAM,WAAE41C,GAAeyS,YAAa1oB,GAAUA,EAAM6jB,gBAC9C,mBAAE5I,GAAuByN,YAAa1oB,GAAUA,EAAMgkB,MAEtDy4D,EAAa,CACjB5oH,EAAGquB,GAAMzH,aACT3mB,EAAGouB,GAAMlC,KACT7qB,EAAG+sB,GAAM7E,WACTrnB,EAAGksB,GAAMtH,eAEL8hG,EAAuBrzD,sBAAa5F,GACpCA,EAAUk5D,gBAAwBL,EAAgB74D,EAAUvN,QAEzDziB,IAAM1zB,MACX0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,OAAM,uSAOxB,IAEH,OACEwkB,IAAAC,cAAAD,IAAAuD,SAAA,KACG81E,EAAWj+F,IAAK4gD,GAEbh8B,IAAAC,cAACu1C,YAAQ,CAACrxC,IAAK63B,EAAUvN,QACvBzuB,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAChBgE,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,EAAG4F,qBAAmB,EAACxwC,aAAW,GACjDu4B,EAAUxf,YAAcwf,EAAUxf,YAAc,MAGrDxc,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KAChBgE,IAAAC,cAAC00F,GAAI,CAAC1nC,gBAAiB+nC,EAAWh5D,EAAUzgD,SACzCygD,EAAUm5D,iBAAmB,KAC5Bn5D,EAAUk5D,iBAAmBl1F,IAAAC,cAACi6C,KAAM,CAAC1+D,KAAM,OAGjDwkB,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfggC,EAAUo5D,SACP97C,aAAO,IAAI1zC,KAAKo2B,EAAUo5D,UAAW,mBAAoB,CACvD77C,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,CAACh9C,MAAO,KACfggC,EAAUq5D,aACP/7C,aAAO,IAAI1zC,KAAKo2B,EAAUq5D,cAAe,mBAAoB,CAC3D97C,SAAU,sBAEZ,KAENv5C,IAAAC,cAAC+4C,aAAS,KACRh5C,IAAAC,cAACgrC,eAAW,CAACoD,IAAK,IAChBruC,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMzH,aAClB+N,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,YAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb7D,SAA+B,IAArBm8B,EAAUzgD,QAAgBizC,EAAW1qC,QAC/Cgc,QAASA,IACPi1F,EAAkB/4D,EAAUjN,UAAWiN,EAAUvN,SAGnDzuB,IAAAC,cAACy5E,KAAc,CAAC34E,MAAOtG,GAAM9E,MAAOna,KAAM,QAIhDwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAMlC,KAClBwI,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,qBAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb5D,QAASA,IACP80F,EAAqB,CACnBhxF,QAAQ,EACR6qB,OAAQuN,EAAUvN,SAGtBnyB,WAAY7B,GAAMlC,MAElByH,IAAAC,cAACq1F,KAAkB,CAACv0F,MAAOtG,GAAM9E,MAAOna,KAAM,QAIpDwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACNl5C,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,oBACL/E,WAAY7B,GAAMtH,eAElB6M,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb7D,SACuB,IAArBm8B,EAAUzgD,QACW,IAArBygD,EAAUzgD,QACVi4C,EAAmB1vC,QAErBgc,QAASA,IAAMm1F,EAAqBj5D,GACpC1/B,WAAY7B,GAAMtH,eAElB6M,IAAAC,cAACs1F,KAAe,CAACx0F,MAAOtG,GAAM9E,MAAOna,KAAM,QAKjDwkB,IAAAC,cAACyyC,GAAY,KACX1yC,IAAAC,cAACg6C,WAAO,CACN39C,WAAY7B,GAAM7E,WAClBmL,MAAOtG,GAAMjG,QACbsG,SAAS,MACTuG,KAAK,SAELrB,IAAAC,cAACu+D,GAAa,CACZxiE,MAAO,GACPY,QAAS,EACT8G,eAAa,EACb7D,SAA+B,IAArBm8B,EAAUzgD,OACpBukB,QAASA,IACPg1F,EACE94D,EAAUvN,OACVuN,EAAUk5D,iBAGd54F,WAAY7B,GAAM7E,YAElBoK,IAAAC,cAACu1F,KAAqB,CAACz0F,MAAOtG,GAAM9E,MAAOna,KAAM,cCnKxDm+F,OAZeA,IAE1B35E,IAAAC,cAACu1C,YAAQ,KACPx1C,IAAAC,cAACihE,GAAiB,KAAC,gBACnBlhE,IAAAC,cAACihE,GAAiB,KAAC,UACnBlhE,IAAAC,cAACihE,GAAiB,KAAC,6BACnBlhE,IAAAC,cAACihE,GAAiB,KAAC,6BACnBlhE,IAAAC,cAACihE,GAAiB,KAAC,gBCkDVu0B,I,YAAAA,GAnDqB78G,IAQ7B,IAR8B,qBACnCg8G,EAAoB,iBACpB3+C,EAAgB,oBAChBD,EAAmB,iBACnBM,EAAgB,gBAChBu+C,EAAe,iBACfC,EAAgB,kBAChBC,GACDn8G,EACC,MAAM,iBAAE01C,GAAqB2S,YAAa1oB,GAAUA,EAAM6jB,eAEpDy9C,EAAc,CAClBn2E,cAAe4qB,EAAiBpqC,SAASqqC,MAAM/2C,QAAU,EACzD2zD,aAAc7c,EAAiBpqC,SAASqqC,MAAM/2C,OAAS,GAGzD,OAAI82C,EAAiBxqC,QACZkc,IAAAC,cAACi1C,GAAc,MAItBl1C,IAAAC,cAACitB,QAAI3rB,OAAAC,OAAA,CAACqlC,OAAO,IAAIpjC,aAAW,GAAKo2E,GAC9BvrD,EAAiBpqC,SAASqqC,MAAM/2C,QAAU,EACzCwoB,IAAAC,cAACi5E,GAAe,MAEhBl5E,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACy3C,SAAK,CAACC,KAAM33C,IAAAC,cAAC05E,GAAqB,OACjC35E,IAAAC,cAACm5E,GAAmB,CAClBC,WAAY/qD,EAAiBpqC,SAASqqC,MACtCqmE,qBAAsBA,EACtB3+C,iBAAkBA,EAClBD,oBAAqBA,EACrB6+C,gBAAiBA,EACjBC,iBAAkBA,EAClBC,kBAAmBA,KAGtBzmE,EAAiBpqC,SAASzI,MAAQ,IACjCukB,IAAAC,cAACg4C,cAAU,CACTx8D,MAAO6yC,EAAiBpqC,SAASzI,MACjCw6D,iBAAkBA,EAClBD,oBAAqBA,EACrBkC,mBAAoB5B,OC/C3B,MAAM51C,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,yHAQtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,8NAgBxB6G,GAAchH,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,wHAQXH,mBAAO0G,GAAP1G,CAAcW,QAAAR,aAAA,+DCqD1C,MAAM2F,GAAcrF,IAAkB,IAAjB,QAAE2E,GAAS3E,EAC9B,OACE6E,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTiB,MAAOtG,GAAMzH,aACbmO,YAAa,GACbnF,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,SAMUgyF,I,SAAAA,GAhGf,SAA8B98G,GAAsC,IAArC,UAAE+8G,EAAS,QAAEC,EAAO,WAAEr6C,GAAY3iE,EAC/D,MAAMi9G,EAAkBD,EAAQn7E,KAC7Bg3E,GAAWA,EAAOhjE,SAAWknE,EAAUlnE,QA4D1C,OACEzuB,IAAAC,cAAC6D,SAAK,CACJF,OAAQ+xF,EAAU/xF,OAClB9D,QAASy7C,EACT1/C,OAAQ,IACRG,MAAO,IACP+H,OAAQ/D,IAAAC,cAACO,GAAW,CAACV,QAASy7C,IAC9BnjB,OAAQp4B,IAAAC,cAACyB,GAAW,CAACL,KAAK,uBAE1BrB,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,KACXN,IAAAC,cAACS,GAAS,KApElB,WACE,IAAKm1F,EACH,OAGF,MAMMpE,EAASp4G,KAAK+rB,MAAMywF,EAAgB3sB,YACpC4sB,EAAkB,CACtBnG,aARuB,CACvBvjH,EAAG,wBACHC,EAAG,8BACHqB,EAAG,2BAK4B+jH,EAAOsE,4BAA6B,EACnE/sG,YAAayoG,EAAOuE,0BAA2B,EAC/CC,iBACExE,EAAOyE,oBAAsBzE,EAAOuE,wBAAwBz8G,YACxDk4G,EAAOyE,kBAEbn6E,WAAY01E,EAAOr7B,aAAc,EACjCprB,MAAOymD,EAAOp7B,QAAS,EACvB8/B,OAAQ1E,EAAO2E,eAAiB,WAAa,WAC7CC,cAAU5E,EAAO6E,aAAe,OAAS,MACzCC,oCAA2B9E,EAAO+E,uBAC9B,IAAI5wF,KAAK6rF,EAAO+E,uBAEpBC,qCAA4BhF,EAAOiF,qBAC/B,IAAI9wF,KAAK6rF,EAAOiF,qBAEpBC,0BAAoBlF,EAAOmF,uCACvB,OAIN,OAAOr1F,OAAOs1F,QAAQf,GAAiB16G,IAAIrC,IAAqB,IAAnB+9G,EAAOh2B,GAAM/nF,EACxD,MAAMg+G,EACJj2B,aAAiBl7D,KAAOk7D,EAAMk2B,qBAAuBl2B,EAEvD,GAAIA,EACF,OACE9gE,IAAAC,cAACwB,GAAW,CAAC0C,IAAK2yF,GAQ1B,SAAyBG,GACvB,MAAMC,EAAQD,EAAIjqD,MAAM,aAKxB,OAJekqD,EACZ97G,IAAK+7G,GAASA,EAAKryC,OAAO,GAAGrlB,cAAgB03D,EAAKv1E,MAAM,IACxD+2B,KAAK,KAXCy+C,CAAgBN,GAAO,KAAGC,KA2BjBM,QC/Ef,MAAM32F,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kHAOtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,0VAuBxBmwD,GAAUtwD,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,wHCgCpBy8F,OAhDf,SAA6B1+G,GAOzB,IAP0B,OAC5BgrB,EAAM,QACN9D,EAAO,OACPy3F,EAAM,UACNC,EAAS,gBACTC,EAAe,gBACfvC,GACDt8G,EACC,MAAM8+G,EACE,4RADFA,EAMmB,+MAMzB,OACE13F,IAAAC,cAAC6D,SAAK,CAACF,OAAQA,EAAQ9D,QAASA,EAASjE,OAAQ,IAAKG,MAAO,KAC3DgE,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,CAACrC,SAAS,SAAS1C,UAAU,QACzB,UAAdi8F,GACCx3F,IAAAC,cAAC03F,GAAc,CACbD,SACExC,EACIwC,EACAA,EAENH,OAAQA,EACRz3F,QAASA,IAGE,aAAd03F,GACCx3F,IAAAC,cAAC23F,GAAgB,CACfH,gBAAiBA,EACjB33F,QAASA,MAKjBE,IAAAC,cAACO,GAAW,QAOlB,SAASm3F,GAAc5+G,GAAiC,IAAD8+G,EAAA,IAA/B,SAAEH,EAAQ,OAAEH,EAAM,QAAEz3F,GAAS/mB,EACnD,MAAM,kBAAE06C,GAAsBwN,YAAa1oB,GAAUA,EAAMgkB,MAE3D,OAAI9I,EAAkB3vC,QACbkc,IAAAC,cAACi1C,GAAc,MAItBl1C,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACirD,KAAQ,CAACnqD,MAAM,UAAUvlB,KAAK,OAC/BwkB,IAAAC,cAAC+qD,GAAO,CAAC3pD,KAAK,UACdrB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACvF,IAAK,GAAI5qC,aAAW,EAACqjC,UAAW,KAC3B,QAAtB+wD,EAAApkE,EAAkB/3C,YAAI,IAAAm8G,OAAA,EAAtBA,EAAwBC,eACvB93F,IAAAC,cAACwB,GAAW,KAAEgyB,EAAkB/3C,KAAKq8G,MAErC/3F,IAAAC,cAACwB,GAAW,KAAEi2F,GAGhB13F,IAAAC,cAACwB,GAAW,KAAE81F,GACdv3F,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRhB,WAAW,UACXsE,OAAO,UACP9Z,KAAK,SACLkV,MAAO,IACP8E,KAAK,0BACLhB,QAASA,GACV,UAQT,SAAS83F,GAAgBz8F,GAAgC,IAA/B,gBAAEs8F,EAAe,QAAE33F,GAAS3E,EACpD,MAAM,WAAEqzB,GAAeyS,YAAa1oB,GAAUA,EAAM6jB,eAEpD,OACEp8B,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC+3F,KAAO,CAACj3F,MAAOtG,GAAMzH,aAAcxX,KAAK,OACzCwkB,IAAAC,cAAC+qD,GAAO,CAAC3pD,KAAK,8BACdrB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACvF,IAAK,GAAI5qC,aAAW,EAACqjC,UAAW,IACjDtY,EAAW1qC,QACVkc,IAAAC,cAACgrC,eAAW,CAACruC,QAAS,GAAIg3C,QAAM,EAACvF,IAAK,IACpCruC,IAAAC,cAACwB,GAAW,KAAC,gFAIbzB,IAAAC,cAACi1C,GAAc,OAGjBl1C,IAAAC,cAACwB,GAAW,KAAC,oCAGd+sB,EAAWvqC,SAA2C,KAAhCuqC,EAAWtqC,SAASq4B,SACzCvc,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLlE,aAAc,GACdhC,QAAQ,QACRxW,KAAK,SACLga,KAAK,0BACLhB,QAASA,IACP23F,EACEjpE,EAAWtqC,SAAS2zB,KACpB2W,EAAWtqC,SAASq4B,UAGzB,cCyEI07E,I,GAAAA,GAzLgBA,KAC7B,MAAMxnG,EAAWoT,eACVq9B,EAAiBC,EAAgBC,GAAmBlB,MAErD,QAAEr+B,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,iBAAE6rB,EAAgB,WAAEE,GAAeyS,YACtC1oB,GAAUA,EAAM6jB,eAGb87D,EAAgC,CACpClgF,kBAAmBnW,EAAQmW,kBAC3B4W,cAAe,EACfC,0BAA2B,KAOtBspE,EAAkBC,GAAuBnxF,mBAAS,CACvDrD,QAAQ,EACR6qB,OAAQ,QAEH4pE,EAAsBC,GAAuBrxF,mBAClDixF,IAEKK,EAAuBC,GAA2BvxF,mBAZrB,CAClCtrB,WAAY,EACZC,SAAU,MAcLw5C,EAAOmwB,GAAYt+C,mBAAS,CACjCsuD,MAAM,EACNiiC,UAAW,QACXD,OAAQ,GACRrC,gBAAiB,OAwDb35C,EAAaA,KACjBgK,EAAS,CACPjtE,OAAO,EACPk/G,UAAW,QACXj+E,QAAS,GACTg+E,OAAQ,KACRkB,UAAW,IAEbhoG,EAASy+B,IAAuC,GAAO,KAmCzD,OAhBA9nB,oBAAU,KAfM,QAgBYvF,EAAQkW,MAfhCj9B,EAAQ+tB,KAAK,eAKfpY,EACEy+B,GACEmpE,EAAqBrgF,kBACrBqgF,EAAqBzpE,cACrBypE,EAAqBxpE,4BASzB,MAAM6pE,EAAUx3D,EAAgB,wBAOhC,OANAC,EAAeu3D,GAEfA,EAAQpoG,GAAG,oBAAsBonG,IAC/BjnG,EAASy+B,GAAsDwoE,MAG1D,KACLt2D,EAAgBs3D,KAEjB,IAGD14F,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,gBACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,gBACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,yBAKvC7I,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAACw1F,GAA2B,CAC1Bb,qBAAsBwD,EACtBniD,iBAAkBsiD,EAClBviD,oBAAqBwiD,EACrBliD,iBA3HgB4E,IACxB,GAAIA,EAAUv/D,YAAc,EAAG,CAC7B,MAAMg9G,EAA6Br+D,YACjCi+D,EACCp9G,IACCA,EAAMQ,WAAa,EACnBR,EAAMS,SAAWs/D,EAAUt/D,WAG/B48G,EAAwBG,GAG1BloG,EACEy+B,GACEmpE,EAAqBrgF,kBACrBkjC,EAAUv/D,YAAc,EAAI,EAAIu/D,EAAUv/D,WAAa,EACvDu/D,EAAUt/D,YA4GNi5G,gBAvGe0C,IACvB9mG,EAASmjC,GAAuC2jE,IAEzCvrF,IAAM/nB,QACX+b,IAAAC,cAACwL,GAAY,KAAC,yCAoGRqpF,iBAhGeA,CAACyC,EAAQrC,KAChCzkG,EAASmjC,GAAsC2jE,IAC/ChyC,EAAS,CACPgQ,MAAM,EACNiiC,UAAW,QACXD,SACArC,qBA2FMH,kBAvFwBvmG,IAChCiC,EAASy+B,GAAuC1gC,IAChD+2D,EAAS,CACPgQ,MAAM,EACNiiC,UAAW,kBAuFXx3F,IAAAC,cAACq3F,GAAoB,CACnBx3F,QAASA,IAAMy7C,IACf33C,OAAQwxB,EAAMmgC,KACdgiC,OAAQniE,EAAMmiE,OACdC,UAAWpiE,EAAMoiE,UACjBC,gBAxFkBA,CAACj7E,EAAa/iC,KACpC,MAAMmlD,EAAYpiB,EAAYwwB,MAAM,KAAK,GAAGwvB,oBAC5C79B,GAAallD,EAAQ+iC,EAAaoiB,GAClC2c,KAsFI25C,gBAAiB9/D,EAAM8/D,kBAGzBl1F,IAAAC,cAACy1F,GAAqB,CACpBC,UAAWwC,EACXvC,QAAStnE,EAAiBpqC,SAASqqC,MACnCgtB,WAAYA,IAAM68C,EAAoB,CAAE3pE,OAAQ,KAAM7qB,QAAQ,Q,UC3M/D,MAAMnC,GAAc/G,WAAOC,IAAGC,QAAAC,aAAA,0ZC4BtB,I,qBAAA,GAzBei/E,IAE1B95E,IAAAC,cAACwB,GAAW,KAAC,wDAEXzB,IAAAC,cAAA,WAAM,sFAEND,IAAAC,cAAA,WAAM,qDAmBG,GAbiBrnB,IAAgC,IAA/B,WAAE2iE,EAAU,UAAEC,GAAW5iE,EACxD,OACEonB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAAC0B,SAAU,KACxC71C,IAAAC,cAACmB,UAAM,CAACoC,KAAK,YAAY1D,QAASy7C,EAAYv/C,MAAO,IAAK0H,eAAa,GAAC,UAGxE1D,IAAAC,cAACmB,UAAM,CAACtB,QAAS07C,EAAWx/C,MAAO,IAAK0H,eAAa,GAAC,SCrBrD,MAAMhD,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,sFAOtB+9F,GAAgBl+F,WAAOC,IAAGK,QAAAH,aAAA,+IAQ1Bo0F,GAAkBv0F,WAAOC,IAAGO,QAAAL,aAAA,6IAc5B0sC,IAJgB7sC,WAAOC,IAAGU,QAAAR,aAAA,2CAIRH,WAAOC,IAAGa,QAAAX,aAAA,sIAW5Bq0F,GAAax0F,WAAOC,IAAGgB,QAAAd,aAAA,gFAMXH,WAAOksC,MAAK9qC,QAAAjB,aAAA,2JC+QtBg+F,OApSf,SAAkCjgH,GAM9B,IAN+B,WACjCy2G,EAAU,cACVC,EAAa,iBACb2G,EAAgB,YAChB6C,EAAW,oBACX3f,GACDvgG,EACC,MAAM,SAAEsL,GAAa+8C,YAAa1oB,GAAUA,EAAMwD,YAC5C2D,EAAcx7B,EAEd60G,EAAoB,CACxB,CACEhxD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACHkiB,OAAQ,eAGZ90F,KAAM,YAER,CACE0mC,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACHkiB,OAAQ,eAGZ90F,KAAM,aAIJ23F,EAAsB,CAC1B,CACEjxD,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACHglB,SAAU,WAGd53F,KAAM,QAER,CACE0mC,cAAeA,KACbunD,EAAerb,IAAQ,IAClBA,EACHglB,SAAU,UAGd53F,KAAM,QA8BJwpC,EAAmBjJ,sBACtBkJ,GACCA,EAAiB1vD,IAAK2gC,IAAU,CAC9B1a,KAAM0a,EAAWyH,iBAAiBjqC,WAClC8nC,OAAQtF,EAAWsF,OAAOjmC,IAAK4vD,GAAUA,EAAMvnB,YAAYlqC,eAE/D,IAQF,SAASu2G,EAAqB3rF,EAAKqc,GAC7BA,EAAM+qB,QACL/qB,GAEL8uE,EAAerb,IAAQ,IAAWA,EAAU,CAAC9vE,GAAMqc,KAGrD,SAAS04E,EAA2BvJ,GAClC,MAAMwJ,EACa,IAAjBxJ,EAAqB,CAAE5zE,WAAY,GAAIivB,MAAO,IAAO,KAEvDskD,EAAerb,IAAQ,IAClBA,EACH0b,kBACGwJ,KAuBP,OACEn5F,IAAAC,cAAC24F,GAAa,KACZ54F,IAAAC,cAACgvF,GAAe,KACdjvF,IAAAC,cAACm5F,SAAK,CACJxyD,MAAM,wBACNgP,QAAqC,IAA5By5C,EAAWM,aACpB0J,aAAa,UACbv5F,QAASA,IAAMo5F,EAA2B,KAE5Cl5F,IAAAC,cAACm5F,SAAK,CACJxyD,MAAM,8BACNgP,QAAqC,IAA5By5C,EAAWM,aACpB0J,aAAa,UACbv5F,QAASA,IAAMo5F,EAA2B,KAE3Cx5E,EAAY5mC,KACVijC,GACiC,KAAhCA,EAAWyH,kBACqB,KAAhCzH,EAAWyH,kBACqB,KAAhCzH,EAAWyH,mBAEbxjB,IAAAC,cAACm5F,SAAK,CACJxyD,MAAM,0BACNgP,QAAqC,IAA5By5C,EAAWM,aACpB0J,aAAa,UACbv5F,QAASA,IAAMo5F,EAA2B,MAKhDl5F,IAAAC,cAACgrC,eAAW,KACVjrC,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,cACLinC,UAAU,2BACVrvC,MAAO,IACPyvC,YAAY,2BACZ3qC,KAAK,yBACL0f,MACE6uE,EAAWiK,4BACP,IACU,OAAVjK,QAAU,IAAVA,OAAU,EAAVA,EAAYrmG,YAElBw8C,SAAWplC,GApFnB,SAA2BA,GACzB,MAAM,KAAEgE,EAAI,MAAEoc,GAAUpgB,EAAEmrC,OAC1B+jD,EAAerb,IAAQ,IAAWA,EAAU,CAAC7vE,GAAOoc,KAkF7BqvE,CAAkBzvF,GACnCvE,OAAQ,GACRgE,UAAQ,IAEVG,IAAAC,cAACgsC,wBAAoB,CACnBlwB,YAAsB,OAAVszE,QAAU,IAAVA,OAAU,EAAVA,EAAYtzE,aAAc,GACtCmwB,cAAgB1rB,GAAUsvE,EAAqB,aAActvE,GAC7DwqB,OAAiB,OAAVqkD,QAAU,IAAVA,OAAU,EAAVA,EAAYrkD,QAAS,GAC5BmB,SAAW3rB,GAAUsvE,EAAqB,QAAStvE,GACnDd,YACE2vE,EAAWiK,6BACiB,IAA5BjK,EAAWM,aACP,KACA9kD,EAAiBnrB,GAEvB7jB,OAAQ,MAIZmE,IAAAC,cAACgrC,eAAW,KACVjrC,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASg5E,EACT30F,KAAK,SACLinC,UAAU,SACVrvC,MAAO,IACPH,OAAQ,GACRiF,KAAK,0BAEJuuF,EAAW8G,QAEdn2F,IAAAC,cAAC0rC,YAAQ,CACP5rB,QAASi5E,EACT50F,KAAK,cACLinC,UAAU,cACVrvC,MAAO,IACPH,OAAQ,GACRiF,KAAK,0BAEJuuF,EAAW4J,YAGC,OAAhBhD,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBsD,kBACjBv5F,IAAAC,cAACgrC,eAAW,CAACxnC,aAAW,EAACvC,WAAY,EAAG4lC,UAAW,GAAIuH,IAAK,IAC1DruC,IAAAC,cAAC01C,YAAQ,CACP0jD,aAAa,UACbl6B,UAAWA,KAnGnBmwB,EAAerb,IAAQ,IAClBA,EACHulB,kBACEvD,EAAiBsD,kBAChBlK,EAAWiK,4BACRrD,EAAiBsD,gBACjB,GACND,6BAA8BjK,EAAWiK,4BACzCv9E,WAAY,GACZivB,MAAO,OA2FD4K,QAASy5C,EAAWiK,8BAEtBt5F,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLO,KAAK,oBACLP,KAAK,4BAImB,KAAnB,OAAVuuF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,eAGX3vF,IAAAC,cAACgrC,eAAW,CAAC/pC,WAAY,EAAGuC,aAAW,EAAC4qC,IAAK,GAAIvH,UAAW,GAC1D9mC,IAAAC,cAAC01C,YAAQ,CACP0jD,aAAa,UACbl6B,UAAWA,KAzHnBmwB,EAAerb,IAAQ,IAClBA,EACHwlB,oBAAqBpK,EAAWoK,uBAwH1B7jD,QAASy5C,EAAWoK,qBAEtBz5F,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLO,KAAK,kDACLP,KAAK,4BAImB,KAAnB,OAAVuuF,QAAU,IAAVA,OAAU,EAAVA,EAAYM,eAGX3vF,IAAAC,cAACinC,GAAc,CAAC7lC,KAAK,+BACnBrB,IAAAC,cAACsnC,GAAe,KACdvnC,IAAAC,cAACqlC,GAAU,CACTlhC,KAAK,gBACLohC,SArMZ,SAAyCplC,GACvC,GAAIA,EAAEmrC,OAAQ,OACd,MAAMmuD,EACJt5F,EAAIivF,EAAWqK,2BACXt5F,EACAivF,EAAWqK,2BAEjBpK,EAAerb,IAAQ,IAClBA,EACH0lB,0BAA2Bv5F,EAC3Bs5F,iCA4LQl5E,MAAO6uE,EAAWsK,0BAClBl0D,UAAQ,IAEVzlC,IAAAC,cAAA,SAAG,QACHD,IAAAC,cAACqlC,GAAU,CACTE,SA9LZ,SAA0CplC,GACpCA,EAAEmrC,QAEN+jD,EAAerb,IAAQ,IAClBA,EACH0lB,0BAA2BtK,EAAWsK,0BACtCD,2BACEt5F,EAAIivF,EAAWsK,0BACXtK,EAAWsK,0BACXv5F,MAsLEgE,KAAK,iBACLmhC,QAAS8pD,EAAWuK,0BACpBp5E,MAAO6uE,EAAWqK,2BAClBj0D,UAAQ,MAKhBzlC,IAAAC,cAACivF,GAAU,KACTlvF,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACLrG,WAAY,GACZuG,eAAa,EACbD,aAAW,EACX5H,OAAQ,GACRiF,KAAK,0BACLha,KAAK,SACLgZ,QAASg5F,GACV,UAID94F,IAAAC,cAACmB,UAAM,CACL+yC,oBAAkB,EAClB1wC,aAAW,EACX3C,KAAK,0BACL9E,MAAO,IACP8D,QAASq5E,GACV,yBCrHM0gB,I,MAAAA,GA3KgBA,KAC7B,MAAMppG,EAAWoT,eAEX,QAAEhC,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,OAC3C,SAAEve,GAAa+8C,YAClB1oB,GAAUA,EAAM1W,QAAQwN,yBAErB,iCAAEmmB,GAAqCyL,YAC1C1oB,GAAUA,EAAMyjB,WAGbq1D,EAAoBr4B,kBACxB,MACE22B,aAAc,EACd3mG,YAAa6Y,EAAQmW,kBACrBi+E,iBAAkB,GAClBqD,6BAA6B,EAC7Bv9E,WAAY,GACZivB,MAAO,GACPmrD,OAAQ,WACR8C,SAAU,OACVU,0BAA2B,GAC3BD,2BAA4B,GAC5BD,oBAAoB,IAEtB,KAGKpK,EAAYC,GAAiBroF,mBAASoqF,GAEvCyI,EAAyB51G,EAAS41G,uBACpC51G,EAAS41G,uBAAuBr/E,KAC7BzxB,GACCA,EAAYgvB,kBAAkBz+B,aAAesoB,EAAQmW,mBAEzD,GA2BEmhE,EAAsBv3C,sBAAY,KACtC,GAAgC,IAA5BytD,EAAWM,aAAoB,CACjC,MAAM,0BAAEgK,EAAyB,2BAAED,GACjCrK,EAEF,IAAKsK,IAA8BD,EACjC,OAAO1tF,IAAM1zB,MACX0nB,IAAAC,cAACsL,GAAY,KAAC,2CAIlB,MAAMwuF,EAAY,IAAIn0F,KAChBo0F,EAAqBC,aAAUF,EAAW,GAEhD,GAAIp0F,aAASg0F,EAA2BK,GACtC,OAAOhuF,IAAM1zB,MACX0nB,IAAAC,cAACsL,GAAY,KAAC,iEAOpB6pB,GAAMC,QACJr1B,IAAAC,cAACo6E,GAA4C,MAC7C,OACAzhG,IAAA,IAAC,WAAE2iE,GAAY3iE,EAAA,OACbonB,IAAAC,cAACo6E,GAA8C,CAC7C9+B,WAAYA,EACZC,UAAWA,KAtDA8I,MACjB,MAAMz9D,EAAS,CACbqzG,cAAuC,SAAxB7K,EAAW4J,SAC1BkB,gBAAuC,aAAtB9K,EAAW8G,OAC5BiE,qBAAsBv4F,EAAQ8V,MAC9B0iF,oBAAqBx4F,EAAQgW,KAC7ByiF,0BAA2Bz4F,EAAQmW,kBACnCuiF,mBAAoBlL,EAAWiK,4BAC3BQ,EAAuBP,gBACvB13F,EAAQmW,kBACZ+D,WAAYszE,EAAWtzE,WACvBivB,MAAOqkD,EAAWrkD,MAClBwvD,2BAA4BnL,EAAWM,aACvC8K,wBAAyBpL,EAAWsK,0BAChCrgD,aAAO+1C,EAAWsK,0BAA2B,uBAC7C,KACJe,sBAAuBrL,EAAWqK,2BAC9BpgD,aAAO+1C,EAAWqK,2BAA4B,uBAC9C,KACJiB,0CAA2CtL,EAAWoK,oBAGxDhpG,EAAS+lC,GAAiBhB,iCAAiC3uC,KAiCnDy9D,GACA/I,UAKP,CAAC9qD,EAAU4+F,IAqCd,OAnCAjoF,oBAAU,KACR,GAAqB,QAAjBvF,EAAQkW,KACV,OAAOj9B,EAAQ+tB,KAAK,eAGtBpY,EACEmvB,GAAwC,CACtC5H,kBAAmBnW,EAAQmW,kBAC3BwH,aAAa,MAGhB,CAAC/uB,EAAUoR,EAAQmW,oBAEtB5Q,oBAAU,KACR,MAAM,UAAEnc,EAAS,aAAE2vG,GAAiBplE,EAAiC95C,KAEjEuP,GACFnQ,EAAQ+tB,KAAK,kCAGV5d,GAAa2vG,GAChB5uF,IAAM1zB,MAAM0nB,IAAAC,cAACsL,GAAY,KAAEqvF,IAG7BnqG,EACE+lC,GAAiBf,mCAAkC,EAAO,CACxD8hE,OAAQ,KACRtsG,WAAW,MAGd,CACDwF,EACA+kC,EAAiC95C,KAAKuP,UACtCuqC,EAAiC95C,KAAKk/G,eAGtC56F,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC2kC,GAAM,KACL5kC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAACkJ,YAAU,EAACT,QAAM,GACzC5zC,IAAAC,cAACgrC,eAAW,CAACsJ,WAAS,EAACN,qBAAmB,EAACI,YAAU,GACnDr0C,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAK,wDACLN,MAAOtG,GAAMpF,UACbwtD,SAAU,GACVvjD,aAAc,KAGlBU,IAAAC,cAACgjD,eAAW,CACVC,OAAQ,CACN,CAAEzpC,KAAM,QACR,CACEA,KAAM,wDACN0pC,WAAYA,IAAMroE,EAAQ+tB,KAAK,qCAKvC7I,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,GACjB5zC,IAAAC,cAAC44F,GAAyB,CACxB5C,iBAAkB6D,EAClBzK,WAAYA,EACZC,cAAeA,EACfwJ,YAAaA,IAAMxJ,EAAc+B,GACjClY,oBAAqBA,IAAMA,U,OCxLdz+E,WAAOC,IAAGC,QAAAC,aAAA,sFAOKH,WAAOwkB,EAAClkB,QAAAH,aAAA,wDCsDjCggG,I,uCC7DgBngG,WAAOC,IAAGC,QAAAC,aAAA,6GAUhBH,WAAOC,IAAGK,QAAAH,aAAA,kTAe/BjiB,IAAA,IAAC,OAAEgrB,GAAQhrB,EAAA,OACXgrB,EACI7I,eAAGG,QAAAL,aAAA,kEAIHE,eAAGM,QAAAR,aAAA,6FAOeH,WAAOC,IAAGa,QAAAX,aAAA,+GAMhC9hB,IAAA,IAAC,UAAE8rD,GAAW9rD,EAAA,OACd8rD,EACI9pC,eAAGY,QAAAd,aAAA,+CACagqC,GAAS,uBAIAnqC,WAAOC,IAAGmB,QAAAjB,aAAA,4DAGvCM,IAAA,IAAC,UAAE0pC,GAAW1pC,EAAA,OACd0pC,EACI9pC,eAAGkB,QAAApB,aAAA,6CACagqC,GAAS,KAIDnqC,WAAOC,IAAGuB,QAAArB,aAAA,6NAUVH,WAAOC,IAAGyB,QAAAvB,aAAA,qHAGtCS,IAAA,IAAC,eAAEmB,GAAgBnB,EAAA,OACnBmB,EACI1B,eAAGwB,QAAA1B,aAAA,kDACkB4B,GAAc,2BAIvChB,IAAA,IAAC,YAAEwpC,GAAaxpC,EAAA,OAChBwpC,EACIlqC,eAAG2B,QAAA7B,aAAA,+CACeoqC,GAAW,IAGjCrpC,IAAA,IAAC,WAAEuB,GAAYvB,EAAA,OACfuB,EACIpC,eAAG8B,QAAAhC,aAAA,8CACcsC,GAAU,KClDpBqD,I,GCtCmB9F,WAAOC,IAAGC,QAAAC,aAAA,mLAO5BJ,GAAM9E,OC2BPmlG,I,2BCjCUpgG,WAAOC,IAAGC,QAAAC,aAAA,sJAWRH,WAAOC,IAAGK,QAAAH,aAAA,mKAE1BJ,GAAM5C,SAOM6C,WAAOC,IAAGO,QAAAL,aAAA,mDAKFH,WAAOC,IAAGU,QAAAR,aAAA,4KAYRH,WAAOC,IAAGa,QAAAX,aAAA,iFAMdH,WAAOC,IAAGgB,QAAAd,aAAA,2CAKRH,WAAOC,IAAGmB,QAAAjB,aAAA,iIAWfH,WAAOC,IAAGsB,QAAApB,aAAA,wEAMXH,WAAOksC,MAAK1qC,QAAArB,aAAA,2JCwMtBkgG,I,eCxQf,MAAMvoD,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAUCH,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,IAIkB93C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAIyBH,WAAOC,IAAGa,QAAAX,aAAA,kVAIdJ,GAAMzH,cCuIfgoG,I,eCxKf,MAAMxoD,GAAS7N,qBAAS/pC,QAAAC,aAAA,oHAUCH,WAAOC,IAAGK,QAAAH,aAAA,QACEH,WAAOC,IAAGO,QAAAL,aAAA,gLAQ9B23C,IAIkB93C,mBAAOi4C,MAAiB7nC,MAAOxJ,IAAK,CACrEsxC,OAAQtxC,EAAMsxC,SADmBl4C,CAEhCW,QAAAR,aAAA,wDAIyBH,WAAOC,IAAGa,QAAAX,aAAA,kVAIdJ,GAAMzH,cCioBfioG,I,qBCrqBUvgG,WAAOC,IAAGC,QAAAC,aAAA,sFAMIH,WAAOC,IAAGK,QAAAH,aAAA,yGAIpBJ,GAAMzH,cAEZ0H,WAAOC,IAAGO,QAAAL,aAAA,yIAKXJ,GAAM9E,OAID+E,WAAOC,IAAGU,QAAAR,aAAA,4EAKTH,WAAOC,IAAGa,QAAAX,aAAA,gQAKfyG,GAAUA,EAAMV,QAAU,QAErCU,GAAUA,EAAMP,OAAS,QACdO,GAAUA,EAAMhF,YAAc,QAQb5B,WAAOwkB,EAACvjB,QAAAd,aAAA,wDAKpBH,WAAOC,IAAGmB,QAAAjB,aAAA,kVAIdJ,GAAMzH,cCcfkoG,I,uCChEUxgG,WAAOC,IAAGC,QAAAC,aAAA,wWAa/BjiB,IAAA,IAAC,OAAEgoB,GAAQhoB,EAAA,OACXgoB,EACI7F,eAAGC,QAAAH,aAAA,yCACS+F,GAAM,6BAItB7nB,IAAA,IAAC,aAAEioB,GAAcjoB,EAAA,OACjBioB,EACIjG,eAAGG,QAAAL,aAAA,gDACgBmG,GAAY,sBAInC7F,IAAA,IAAC,QAAE8F,GAAS9F,EAAA,OACZ8F,EACIlG,eAAGM,QAAAR,aAAA,0CACUoG,GAAO,cAIxB3F,IAAA,IAAC,MAAEyF,GAAOzF,EAAA,OACVyF,EACIhG,eAAGS,QAAAX,aAAA,wCACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAEpB3qD,IAAA,IAAC,KAAEqF,GAAMrF,EAAA,OACTqF,EACI/F,eAAGY,QAAAd,aAAA,uCACOiG,GAAI,8BAIlBlF,IAAA,IAAC,UAAEyqD,GAAWzqD,EAAA,OACdyqD,EACItrD,eAAGe,QAAAjB,aAAA,6CACawrD,GAAS,oBAI7BtqD,IAAA,IAAC,MAAEC,GAAOD,EAAA,OACVC,EACIjB,eAAGkB,QAAApB,aAAA,0CACQmB,GAEX,MAEJK,IAAA,IAAC,OAAER,GAAQQ,EAAA,OACXR,EACId,eAAGmB,QAAArB,aAAA,2CACSgB,GAEZ,MACJW,IAAA,IAAC,SAAEqD,GAAUrD,EAAA,OACbqD,EACI9E,eAAGqB,QAAAvB,aAAA,kDAGH,MAIA8B,IAAA,IAAC,iBAAE2pD,GAAkB3pD,EAAA,OACrB2pD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SAIzB5rD,WAAOg5C,MAAKn3C,QAAA1B,aAAA,4BAIVH,WAAOC,IAAG+B,QAAA7B,aAAA,uRAahBH,WAAOC,IAAGkC,QAAAhC,aAAA,sFCgXjC,MC1basgG,GAAS,CAEpB,CAAE7xG,GAAI,EAAG6e,IAAK,gBAAiBizF,UAAWC,IAS1C,CAAE/xG,GAAI,EAAG6e,IAAK,SAAUizF,UAAWE,GAAgBC,WAAW,GAC9D,CACEjyG,GAAI,EACJ6e,IAAK,uBACLizF,UAAWI,GACXD,WAAW,GAWb,CACEjyG,GAAI,GACJ6e,IAAK,UACLizF,UAAW9a,GACXib,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,0CACLizF,UAAW/Y,GACXkZ,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,qCACLizF,UAAW7e,GACXgf,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,iBACLizF,UAAW50B,GACX+0B,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,cACLizF,UAAWhjB,GACXmjB,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,wBACLizF,UAAW5kB,GACX+kB,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,qCACLizF,UAAW1qB,GACX6qB,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,cACLizF,UAAW9Z,GACXia,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,yCACLizF,UAAWK,GACXF,WAAW,EACXt1B,MAAO,CAACntD,wBAAsBxsC,kBAAkB23D,MAElD,CACE36C,GAAI,GACJ6e,IAAK,yBACLizF,UAAW9N,GACXiO,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,iCACLizF,UAAWM,GACXH,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,oCACLizF,UAAW9oB,GACXipB,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,oBACLizF,UAAWrhB,IAEb,CACEzwF,GAAI,GACJ6e,IAAK,wBACLizF,UAAW7T,IAEb,CACEj+F,GAAI,GACJ6e,IAAK,sCACLizF,UAAWzP,IA2Bb,CACEriG,GAAI,GACJ6e,IAAK,0BACLizF,UAAWvB,GACX0B,WAAW,GAEb,CACEjyG,GAAI,GACJ6e,IAAK,2BACLizF,UAAWnD,GACXsD,WAAW,I,sBCtLf,MAAMtmD,GAAYtQ,qBAAS/pC,QAAAC,aAAA,kGAiCd43C,IAxBU/3C,WAAOu4C,IAAGj4C,QAAAH,aAAA,qHAChBo6C,GAEXr8D,IAAA,IAAC,OAAE+nB,EAAM,MAAEg7F,GAAO/iH,EAAA,OAChB+nB,GAAUg7F,EACJ5gG,eAAGG,QAAAL,aAAA,yDAGH8F,EACA5F,eAAGM,QAAAR,aAAA,yDAGH,IAGJ9hB,IAAA,IAAC,OAAE4nB,GAAQ5nB,EAAA,OACR4nB,EAIK,GAHA5F,eAAGS,QAAAX,aAAA,mEAOgBH,WAAOC,IAAGgB,QAAAd,aAAA,kMAQ1Bo6C,KCpCN,SAAS2mD,GAAWhjH,GAA0C,IAAzC,WAAEsoB,EAAU,UAAE4lC,EAAS,MAAE9qC,EAAK,KAAExgB,GAAM5C,EACxE,OACEonB,IAAAC,cAACgrC,GAAW,CACVjvC,MAAOA,EACPkF,WAAYA,EACZ4lC,UAAWA,EACXjrC,OAAO,OACP6H,eAAa,EACbD,aAAW,GAEXzD,IAAAC,cAACwyC,GAAqB,KACpBzyC,IAAAC,cAACk1C,KAAyB,CACxB35D,KAAMA,GAAQ,KACdulB,MAAOtG,GAAMzH,iBCJvB,MAAQkW,wBAAwB,IAAI5X,gbA+DrBuqG,I,8BAAAA,GA7DQjjH,IAKhB,IAJLwiH,UAAWU,EAAS,UACpBP,EAAS,MACTt1B,KACG16C,GACJ3yC,EACC,MAAM6X,EAAWoT,eACX,SAAEjC,EAAQ,QAAEC,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAM3D,OAJIb,GAAY25F,IAAc71F,MAAwBI,MACpDrV,EAASuT,GAAuCqB,QAG7CzD,GAAY25F,GACXl2F,MzVRmCb,GAAYN,IAAU63F,eyVQbr2F,MAC9CjV,EAASuT,GAA0BqB,OAE5BrF,IAAAC,cAAC27F,GAAW,OAUnB31B,IAAUA,EAAM9uD,SAAStV,EAAQkW,MAEjC/X,IAAAC,cAAC+7F,IAAKz6F,OAAAC,OAAA,GACA+pB,EAAI,CACR0wE,OAAS36F,GACPtB,IAAAC,cAACi8F,IAAQ,CACPC,GAAI,CACFC,SAAU,cACV7jF,MAAO,CAAEn/B,KAAMkoB,EAAM6X,gBAQ/BnZ,IAAAC,cAAC+7F,IAAKz6F,OAAAC,OAAA,GACA+pB,EAAI,CACR0wE,OAAS36F,GACPM,EACE5B,IAAAC,cAAC67F,EAAcx6F,GAEftB,IAAAC,cAACi8F,IAAQ,CACPC,GAAI,CACFC,SAAU,cACV7jF,MAAO,CAAEn/B,KAAMkoB,EAAM6X,iB,qBCjE5B,MAAMzY,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,wGAoBtBwhG,IAdkB3hG,WAAOC,IAAGK,QAAAH,aAAA,2DAIrCjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGG,QAAAL,aAAA,0CACUyC,GAEbvC,eAAGM,QAAAR,aAAA,8CAK0BH,WAAOC,IAAGa,QAAAX,aAAA,gJAI3C9hB,IAAA,IAAC,QAAEukB,GAASvkB,EAAA,OACZukB,EACIvC,eAAGY,QAAAd,aAAA,0CACUyC,GAEb,MAQKg/F,GAAiB5hG,WAAOC,IAAGmB,QAAAjB,aAAA,0LACpB0hG,MAOPC,GAA6B9hG,WAAOC,IAAGsB,QAAApB,aAAA,yEAMvC4hG,GAAY/hG,mBAAOgiG,SAAM5xF,MAAOxJ,IAAK,CAChDqW,OAAO,EACP6B,MAAOlY,EAAMkY,QAFU9e,CAGtBwB,QAAArB,aAAA,+NAGQJ,GAAMrD,KAIJqD,GAAMhE,WAINkmG,GAA8BjiG,WAAOC,IAAGyB,QAAAvB,aAAA,mD,gBCpE9C,MAAM6F,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,2EAItBjiB,IAAA,IAAC,QAAEgkB,GAAShkB,EAAA,OAAKgkB,GAAO,yBAEjC7jB,IAAA,IAAC,aAAEumB,GAAcvmB,EAAA,OACjBumB,GACAvE,eAAGC,QAAAH,aAAA,wCACgByE,KAIE5E,WAAOkiG,GAAE1hG,QAAAL,aAAA,sJASNH,WAAOusC,KAAI5rC,QAAAR,aAAA,kICjBxB,SAASgiG,GAAajkH,GAKjC,IALkC,YACpCkkH,EAAW,mBACXC,EAAkB,aAClBz9F,EAAY,QACZ1C,GACDhkB,EACC,OACEonB,IAAAC,cAACS,GAAS,CAAC9D,QAASA,EAAS0C,aAAcA,GACzCU,IAAAC,cAAC2iD,SAAK,CACJC,SAAU,GACV9hD,MAAOtG,GAAMpF,UACbgM,KAAMy7F,EACNx9F,cAAe,IAEjBU,IAAAC,cAAC2iD,SAAK,CACJvhD,KAAM07F,EACNj8F,KAAK,0BACLC,MAAOtG,GAAMrD,Q,oCCtBd,MAAMsJ,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,+BAC/BjiB,IAAA,IAAC,aAAE0qF,GAAc1qF,EAAA,OACjB0qF,EACIvoE,eAAGC,QAAAH,aAAA,6HAOH,IAGJ9hB,IAAA,IAAC,WAAE4qF,GAAY5qF,EAAA,OACf4qF,EACI5oE,eAAGG,QAAAL,aAAA,4HAOH,KAGsCH,WAAOusC,KAAI5rC,QAAAR,aAAA,iMCqF1CmiG,OArGf,SAAkBpkH,GAAuD,IAAtD,YAAEqkH,EAAW,eAAEC,EAAc,QAAEz2B,EAAO,UAAE3/B,GAAWluD,EACpE,MAAM,UAAEypB,GAAc4+B,YAAa1oB,GAAUA,EAAM9V,MAC7C06F,EAAkBp3D,aAAS,WAAWF,cACtCu3D,EAAgBr3D,aAAS,SAASF,cAClCy9B,EAAev9B,aAAS,WAAWztD,MACnCqrF,EAAa59B,aAAS,SAASztD,OAC9BorF,EAAY25B,GAAiBp2F,oBAAS,GAE7C,SAAS49D,EAAYzkE,EAAG7kB,GACtB,MAAM+hH,EAAiBhjE,YAAQ2iE,EAAc9hH,IACvCA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAC7BrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,SAI7B08E,EAAeI,GAiCjB,OAjBAl2F,oBAAU,KACJ/E,EAAU/pB,OAAoC,MAA3B+pB,EAAU/pB,MAAMiD,QACrCkrF,EAAQ82B,cAAc,QAAS,oCAC/B92B,EAAQ82B,cAAc,UAAW,MACxBl7F,EAAU/pB,QACnBmuF,EAAQ82B,cACN,QACA,gDAEF92B,EAAQ82B,cAAc,UAAW,OAElC,CAACl7F,EAAU/pB,QAEd8uB,oBAAU,KACJ61F,EAAYp7F,SAASw7F,GAAc,IACtC,CAACJ,EAAYp7F,UAGd7B,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACzI,cAAY,EAACkJ,YAAU,EAACr4C,MAAO,OACjDgE,IAAAC,cAACS,GAAS,CAAC4iE,aAAcA,EAAcK,WAAYA,GACjD3jE,IAAAC,cAACmrC,aAAS,CACRC,UAAU,aACVrvC,MAAO,IACPsvC,cAAc,OACdG,YAAY,oBACZrnC,KAAK,UACLoc,MAAOy8E,EAAYp7F,QACnBX,WAAY,GACZ4lC,UAAW,GACXxnC,aAAcgkE,EAAe,GAAK,GAClCt3B,OAASjX,IA5CnB,IAAyB30B,IA6CG20B,EA5CtB0xC,IACF42B,GAAc,GACTj9F,EAAEmrC,OAAO/qB,MAEFtK,GAAQ9V,EAAEmrC,OAAO/qB,OAG3BimD,EAAQ82B,cAAc,UAAW,MAFjC92B,EAAQ82B,cAAc,UAAW,sBAFjC92B,EAAQ82B,cAAc,UAAW,kCA2C7B/3D,SAAWzQ,IACT8vC,EAAY9vC,EAAO,YAErB2W,SAAUyxD,EACV7kH,MAAOgrF,EACPrkD,aAAcqkD,EACdk6B,gBAAiB95B,IAEnB1jE,IAAAC,cAACmrC,aAAS,CACRC,UAAU,QACVrvC,MAAO,IACPsvC,cAAc,WACdG,YAAY,mBACZrnC,KAAK,QACLoc,MAAOy8E,EAAYzrF,MACnBtQ,WAAY,GACZ4lC,UAAW,EACXxnC,aAAcgkE,EAAe,GAAK,GAClC99B,SAAWzQ,IACT8vC,EAAY9vC,EAAO,UAErB2W,SAAU0xD,EACV9kH,MAAOqrF,EACP1kD,aAAc0kD,QCrE1B,MAAQ85B,oCAAoC,IAAInsG,gbAgIjCosG,I,iCAAAA,GA9Hf,WACE,MAAM,QAAE77F,EAAO,SAAED,EAAQ,UAAES,GAAc4+B,YAAa1oB,GAAUA,EAAM9V,MAEhEhS,EAAWoT,cACX4iE,EAAU9gC,iBAAO,MAEjBrqB,EAAcpC,OAAOC,SAASwkF,OAI9BC,EAAY,CAChB/7F,QAJa,IAAIg8F,gBAAgBviF,GACTzP,IAAI,UAGL,GACvB2F,MAAO,IAGHssF,EAAM,UAAAj9F,OAAa48F,KAClBR,EAAaC,GAAkBj2F,mBAAS22F,GA6D/C,OApBAx2F,oBAAU,KACJvF,EAAQoB,gBACVnoB,EAAQ+tB,KAAK,wBAAyB,CAAEuO,kBAAkB,KAC3D,CAACvV,EAAQoB,iBAEZmE,oBAAU,KACJxF,GAAU9mB,EAAQ+tB,KAAK,eAEvBrE,GAAYN,MAActC,IACxB0D,MAAyBI,KAC3BjV,EAASuT,GAA0BqB,OAC1BS,OAAsBJ,KAC/BjV,EAASuT,GAAuCsB,QAEhDkB,KACA/V,EAASuT,SAGZ,CAACvT,EAAUmR,IAGZ5B,IAAAC,cAAC4jD,KAAI,CAACtjD,IAAKkmE,EAAS3iB,SA5DtB5zD,eAAiCxU,GAC/B,IACE,MAAMqxG,EAASpmB,OAAaC,MAAM,CAChC/kE,QAAS8kE,OACNxwD,MAAM,sBACNsvB,SAAS,gCACZj0B,MAAOm1D,OAAa1tD,OAAOwsB,SAAS,uCAGhCsnD,EAAOljB,SAASnuF,EAAM,CAC1BouF,YAAY,IAGd,MAAMi0B,EAAkB,CACtB1rE,OAAQ32C,EAAKmmB,QACbwV,SAAU37B,EAAK81B,MAAMyH,OACrB2wD,UAAW,YAGbn5E,EAASuT,GAA6B+5F,IAEtCt3B,EAAQzgC,QAAQ5C,UAAU,IAC1B,MAAO9qD,GACP,GAAIA,aAAiBquF,KAAqB,CACxC,MAAMoD,EAAgB,GAEtBzxF,EAAM0xF,MAAMp+C,QAASxO,IACnB2sD,EAAc3sD,EAAI3D,MAAQ2D,EAAI7D,UAGhCktD,EAAQzgC,QAAQ5C,UAAU2mC,OA+B5B/pE,IAAAC,cAAC+8F,GAAS,CACRC,YAAaA,EACbC,eAAgBA,EAChBz2B,QAASA,EAAQzgC,QACjBc,UAAU,SAEZ9mC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLtC,WAAY,MACZ4lC,UAAW,GACX9lC,aAAc,EACdJ,OAAO,UACP/E,OAAQ,GACRG,MAAO,IACPlV,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXnE,aAAc,GACdhC,QAAS+E,EAAUve,SAAW,OAC9Bgd,KAAK,2BACN,YAGAuB,EAAUve,SACTkc,IAAAC,cAAC27F,GAAW,CACVpgH,KAAK,KACLwgB,MAAM,QACN8qC,UAAU,OACV5lC,WAAW,SAGflB,IAAAC,cAACu8F,GAA0B,KACzBx8F,IAAAC,cAAC0B,QAAI,CAACR,YAAa,EAAGD,WAAY,OAAQG,KAAK,wBAC/CrB,IAAAC,cAACw8F,GAAS,CAAC38F,QA3DjB,WACEhlB,EAAQ+tB,KAAK,gCA0DwC+2B,KAAK,KAAI,iCAI5D5/B,IAAAC,cAAC08F,GAA2B,KAC1B38F,IAAAC,cAAC0B,QAAI,CAACR,YAAa,EAAGE,KAAK,4BAC3BrB,IAAAC,cAACw8F,GAAS,CAACjjF,MAAOikF,GAAqC79D,KAAMk+D,GAAQ,gCClJtE,MAAMp9F,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,0EAG/BjiB,IAAA,IAAC,MAAEN,GAAOM,EAAA,OACTN,EAIGyiB,eAAGG,QAAAL,aAAA,mDACmBJ,GAAMN,WAJ5BY,eAAGC,QAAAH,aAAA,mDACmBJ,GAAMpB,aAMhCtgB,IAAA,IAAC,UAAE+tD,GAAW/tD,EAAA,OACd+tD,EACI/rC,eAAGM,QAAAR,aAAA,6CACaisC,GAEhB,IAEJ3rC,IAAA,IAAC,QAAEmC,GAASnC,EAAA,OACZmC,EACIvC,eAAGS,QAAAX,aAAA,0CACUyC,GAEbvC,eAAGY,QAAAd,aAAA,6CAIPS,IAAA,IAAC,MAAEU,GAAOV,EAAA,OACVU,EACIjB,eAAGe,QAAAjB,aAAA,wCACQmB,GAEXjB,eAAGkB,QAAApB,aAAA,4CAGPY,IAAA,IAAC,OAAEI,GAAQJ,EAAA,OACXI,EACId,eAAGmB,QAAArB,aAAA,yCACSgB,GAEZd,eAAGqB,QAAAvB,aAAA,6CAKEksD,GAAgBrsD,WAAOC,IAAG4B,QAAA1B,aAAA,wCCdxBmjG,I,mDAAAA,GA3Bf,SAAgBplH,GAAgE,IAA/D,SAAEgnB,EAAQ,KAAE9Y,EAAI,MAAEkV,EAAK,OAAEH,EAAM,QAAEyB,EAAO,UAAEwpC,EAAS,MAAExuD,GAAOM,EAC3E,OACEonB,IAAAC,cAACS,GAAS,CACRomC,UAAWA,EACXxuD,MAAOA,EACP0jB,MAAOA,EACPlV,KAAMA,EACN+U,OAAQA,EACRyB,QAASA,GAET0C,IAAAC,cAAC8mD,GAAa,KACVzuE,EAGA0nB,IAAAC,cAACg+F,KAAoB,CAACl9F,MAAOtG,GAAM7E,WAAYpa,KAAK,SAFpDwkB,IAAAC,cAACgL,KAAkB,CAAClK,MAAOtG,GAAMrB,cAAe5d,KAAK,UAKzDwkB,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMpF,UACbyL,KAAK,eACLlE,QAAS,GACTyE,KAAMzB,MCzBP,MAAMc,GAAYhG,WAAOg5C,MAAK94C,QAAAC,aAAA,gvBAG1BJ,GAAMpC,UAKJoC,GAAMrD,KAIaqD,GAAM9E,MACN8E,GAAMzH,aAGV+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAGN+zC,aAAQ,IAAMtsC,GAAMzH,cACpByH,GAAMzH,aAE5Bpa,IAAoB,IAAnB,UAAE8yC,GAAW9yC,EACd8yC,EACI3wB,eAAGC,QAAAH,aAAA,2FACmBksC,aAAQ,IAAMtsC,GAAMnH,UACpBmH,GAAMnH,UAE5ByH,eAAGG,QAAAL,aAAA,SAIX9hB,IAAA,IAAC,WAAEmoB,GAAYnoB,EAAA,OACfmoB,EACInG,eAAGM,QAAAR,aAAA,0CACcqG,GAEjB,IACJ/F,IAAA,IAAC,OAAE0rC,GAAQ1rC,EAAA,OACX0rC,EACI9rC,eAAGS,QAAAX,aAAA,uCACSgsC,GAEZ,IAEFvrC,IAAA,IAAC,UAAEwrC,GAAWxrC,EAAA,OACdwrC,EACI/rC,eAAGY,QAAAd,aAAA,+CACaisC,GAEhB,IAENrrC,IAAA,IAAC,OAAEmF,GAAQnF,EAAA,OACXmF,EACI7F,eAAGe,QAAAjB,aAAA,qCACS+F,GAAM,qBAAAC,OAEGpG,GAAMpC,YAK/BuD,IAAA,IAAC,WAAEU,GAAYV,EAAA,OACfU,EACIvB,eAAGkB,QAAApB,aAAA,yCACayB,GAAU,eAAAuE,OAEXpG,GAAM9E,MAAK,iCAI5BoG,IAAA,IAAC,SAAE8D,GAAU9D,EAAA,OACb8D,EACI9E,eAAGmB,QAAArB,aAAA,yGACaJ,GAAMnF,qBAGtByF,eAAGqB,QAAAvB,aAAA,SAGTwB,IAAA,IAAC,aAAE2E,GAAc3E,EAAA,OACjB2E,EACIjG,eAAGwB,QAAA1B,aAAA,4CACgBmG,GAAY,sBAOnCxE,IAAA,IAAC,QAAEyE,GAASzE,EAAA,OACZyE,EACIlG,eAAG2B,QAAA7B,aAAA,sCACUoG,GAAO,cAMxBtE,IAAA,IAAC,MAAEoE,GAAOpE,EAAA,OACVoE,EACIhG,eAAG8B,QAAAhC,aAAA,oCACQkG,GAAK,UAAAF,OAENpG,GAAM2rD,iBAMpBppD,IAAA,IAAC,KAAE8D,GAAM9D,EAAA,OACT8D,EACI/F,eAAGgC,QAAAlC,aAAA,mCACOiG,GAAI,8BAMlB5D,IAAA,IAAC,UAAEmpD,GAAWnpD,EAAA,OACdmpD,EACItrD,eAAGkC,QAAApC,aAAA,yCACawrD,GAAS,oBAM3BhpD,IAAA,IAAC,MAAErB,GAAOqB,EAAA,OACVrB,EACIjB,eAAGqC,QAAAvC,aAAA,0CACQmB,GAEX,MAIJwB,IAAA,IAAC,OAAE3B,GAAQ2B,EAAA,OACX3B,EACId,eAAGwC,QAAA1C,aAAA,2CACSgB,GAEZ,MAMQ+B,IAAA,IAAC,iBAAE0oD,GAAkB1oD,EAAA,OAC/B0oD,EAAgB,GAAAzlD,OAAMylD,EAAgB,KAAM,SChEnC6c,I,GAAAA,GAtFGvqF,IAyBX,IAzBY,UACjBkuD,EAAS,WACTxqC,EAAU,OACVsE,EAAM,aACNI,EAAY,QACZC,EAAO,MACPF,EAAK,KACLD,EAAI,UACJulD,EAAS,KACTjiD,EAAI,KACJtd,EAAI,MACJ05B,EAAK,aACLgmC,EAAgBtnC,IAAMA,GAAC,YACvBkoB,EAAeloB,IAAMA,GAAC,mBACtBqiC,EAAsBriC,IAAMA,GAAC,kBAC7BkkD,EAAqBlkD,IAAMA,GAAC,MAC5BljB,EAAK,OACLH,EAAM,YACN4vC,EAAW,SACX5rC,EAAQ,OACRgnC,EAAM,WACN3lC,EAAU,UACV+iE,EAAS,kBACTi6B,KACG3yE,GACJ3yC,EACC,MAAMo1E,EAAWroB,iBAAO,OAClB,UAAEC,EAAS,aAAEE,EAAY,cAAED,EAAa,MAAEvtD,GAAUytD,aAAS3hC,GASnE,OARAgD,oBAAU,KACRy+B,EAAc,CACZzhC,KAAMwhC,EACNrlC,IAAKytD,EAAShoB,QACdvsB,KAAM,WAEP,CAACmsB,EAAWC,IAGb7lC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACinC,GAAc,CACbJ,UAAWA,GAAa,KACxBzlC,KAAM4iE,EACNp9B,OAAO,IACPvnC,aAAc4+F,GAAqB,IACnCh9F,WAAYA,GAAc,KAE1BlB,IAAAC,cAACS,GAAS,CACRH,IAAKytD,EACLnnB,OAAQA,EACRC,UAAU,IACV1iC,KAAMA,EACNohC,SAAWzQ,IACTA,EAAMuS,kBACNkf,EAAazxB,IAEfwuB,UAAYxuB,IACVA,EAAMuS,kBACNia,EAAmBxsB,IAErBiX,OAASjX,IACPA,EAAMuS,kBACN87B,EAAkBruC,IAEpBj1B,QAAUi1B,IACRA,EAAMuS,kBACNF,EAAYrS,IAEdvU,MAAOA,EACP15B,KAAMA,EACN8Z,OAAQA,EACRtE,WAAYA,EACZ0E,aAAcA,EACdC,QAASA,EACTF,MAAOA,EACPD,KAAMA,EACNulD,UAAWA,EACXrqD,MAAOA,EACPH,OAAQA,EACR4vC,YAAaA,EACb5rC,SAAUA,EACVwjE,WAAY7iD,OClFf,MAAM9f,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kCCwCpBsjG,I,GAAAA,GAhCf,SAAsBvlH,GAAa,IAAZ,MAAEu9B,GAAOv9B,EAC9B,MAAMwlH,EAAgB,0CAAAv9F,OAA6CsV,EAAK,+CAExE,OACEnW,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACzI,cAAY,EAACkJ,YAAU,EAACr4C,MAAO,OACjDgE,IAAAC,cAAC0B,QAAI,CACHb,KAAK,uBACLC,MAAOtG,GAAMpF,UACbgM,KAAK,+BACL4jC,YAAa,GACb6B,UAAW,KAEb9mC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,eACLC,MAAOtG,GAAMpF,UACbgM,KAAM+8F,EACNl9F,WAAY,GACZ/D,WAAY,EACZsC,cAAc,IACdqnC,UAAW,GACXxnC,aAAc,GACdtD,MAAO,MAETgE,IAAAC,cAAC+9F,GAAO,KAAC,wEAEPh+F,IAAAC,cAAA,SAAG,YAAY,MAAGD,IAAAC,cAAA,SAAG,iBAAiB,KAExCD,IAAAC,cAACS,GAAS,QCnCT,MAAMA,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kCCyFpBwjG,OA7Ef,SAA8BzlH,GAK1B,IAL2B,YAC7B0lH,EAAW,gBACXC,EAAe,aACfC,EAAY,WACZC,GACD7lH,EACC,MAAO2lE,EAAYC,GAAiBv3C,mBAAS,IAE7C,SAASy3F,EAAavoF,GACpB,OAAOD,GAAQC,GAiBjB,OAVA/O,oBAAU,KACJm3C,GACFggD,EAAgBG,EAAangD,KAE9B,CAACA,IAEJn3C,oBAAU,KACRo3C,EAAcigD,IACb,IAGDz+F,IAAAC,cAAAD,IAAAuD,SAAA,KACG+6F,EACCt+F,IAAAC,cAACk+F,GAAa,CAAChoF,MAAOooC,IAEtBv+C,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACzI,cAAY,EAACkJ,YAAU,EAACr4C,MAAO,OACjDgE,IAAAC,cAAC0B,QAAI,CACHb,KAAK,uBACLC,MAAOtG,GAAMpF,UACbgM,KAAK,sBACL4jC,YAAa,GACb6B,UAAW,KAGb9mC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yCACLC,MAAOtG,GAAMpF,UACbgM,KAAK,8GACL4jC,YAAa,GACb9nC,WAAY,EACZsC,cAAe,EACfqnC,UAAW,GACX9qC,MAAO,MAETgE,IAAAC,cAAC+9F,GAAO,CACN1gG,QAASkhG,EAAe,KAAO,OAC/BlmH,OAAK,EACLwuD,UAAU,QACX,+CACoC9mC,IAAAC,cAAA,SAAG,eAAY,+DAGpDD,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACkjE,GAAS,CACR3c,aAhDZ,SAA0BpmD,GACxBo+C,EAAcp+C,EAAEmrC,OAAO/qB,OACvB+9E,EAAgBG,EAAat+F,EAAEmrC,OAAO/qB,SA+C5BsmB,UAAU,OACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,oBACZrnC,KAAK,QACL6/D,UAAU,SACV/iE,WAAW,OACXsf,MAAO+9B,QC5DrB,MAAQk/C,oCAAoC,IAAInsG,gbAoFjCqtG,OAlFf,WACE,MAAM,SAAE/8F,GAAaq/B,YAAa1oB,GAAUA,EAAM9V,MAC5ChS,EAAWoT,cACX4iE,EAAU9gC,iBAAO,MAEjBrqB,EAAcpC,OAAOC,SAASwkF,OAC9B92G,EAAS,IAAIg3G,gBAAgBviF,GAC7BmjF,EAAa53G,EAAOglB,IAAI,SACxB2yF,EAAwB33G,EAAOglB,IAAI,gBACnCiyF,EAAM,UAAAj9F,OAAa48F,KAElBa,EAAaM,GAAkB33F,oBAAS,IACxC43F,EAAcN,GAAmBt3F,oBAAS,GA0BjD,OAfAG,oBAAU,KACJxF,GAAU9mB,EAAQ+tB,KAAK,eAEvBrE,GAAYN,MAActC,IACxB0D,MAAyBI,KAC3BjV,EAASuT,GAA0BqB,OAC1BS,OAAsBJ,KAC/BjV,EAASuT,GAAuCsB,QAEhDkB,KACA/V,EAASuT,SAGZ,CAACvT,EAAUmR,IAGZ5B,IAAAC,cAAC4jD,KAAI,CACHtjD,IAAKkmE,EACL3iB,SACGw6C,EAvBP,WACEplF,OAAOC,SAASq/B,QAAQ,gBAN1B,SAAuC98D,GACrC+U,EAASuT,GAAqCtoB,IAC9CkjH,GAAe,KA+Bb5+F,IAAAC,cAACo+F,GAAqB,CACpBE,gBAAiBA,EACjBD,YAAaA,EACbG,WAAYA,EACZD,aAAcA,IAEhBx+F,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLtC,WAAYo9F,EAAc,IAAM,MAChCx3D,UAAW,GACX9lC,aAAc,EACdJ,OAAO,UACP/E,OAAQ,GACRG,MAAOsiG,EAAc,IAAM,IAC3Bx3G,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXnE,aAAc,GACdO,UAAWg/F,EACX/9F,KAAK,2BAEJw9F,EAAc,sBAAwB,UAExCA,GACCt+F,IAAAC,cAAC08F,GAA2B,KAC1B38F,IAAAC,cAAC0B,QAAI,CAACR,YAAa,EAAGE,KAAK,4BAC3BrB,IAAAC,cAACw8F,GAAS,CAACjjF,MAAOikF,GAAqC79D,KAAMk+D,GAAQ,gCC1DhEgB,I,8BAAAA,GAzBf,WACE,MAAM,KAAErlF,GAASslF,cAEjB,OACE/+F,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACo8F,GAAqB,KACpBr8F,IAAAC,cAACqxC,SAAK,CAACC,IAAKytD,KAAY56F,KAAK,gBAC7BpE,IAAAC,cAAC48F,GAAa,CACZC,YAAY,SACZC,mBAAmB,mCAErB/8F,IAAAC,cAACg/F,IAAM,KACLj/F,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAI,GAAA5Y,OAAK4Y,EAAI,qBACxBzZ,IAAAC,cAAC0+F,GAAc,OAEjB3+F,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAI,GAAA5Y,OAAK4Y,EAAI,MACxBzZ,IAAAC,cAACy9F,GAAS,SAIhB19F,IAAAC,cAACq8F,GAAc,QChCd,MAAM57F,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,qEAC/BjiB,IAAA,IAAC,iBAAEumH,GAAkBvmH,EAAA,OACrBumH,EACIpkG,eAAGC,QAAAH,aAAA,6HAOH,IAEJ9hB,IAAA,IAAC,WAAE4qF,GAAY5qF,EAAA,OACf4qF,EACI5oE,eAAGG,QAAAL,aAAA,8HAOH,IAGJM,IAAA,IAAC,oBAAEikG,GAAqBjkG,EAAA,OACxBikG,EACIrkG,eAAGM,QAAAR,aAAA,4HAOH,IAEJS,IAAA,IAAC,sBAAE+jG,GAAuB/jG,EAAA,OAC3B+jG,EACKtkG,eAAGS,QAAAX,aAAA,qIAOHE,eAAGY,QAAAd,aAAA,mIAQPY,IAAA,IAAC,oBAAE6jG,GAAqB7jG,EAAA,OACxB6jG,EACIvkG,eAAGe,QAAAjB,aAAA,sIAOHE,eAAGkB,QAAApB,aAAA,oIAQPe,IAAA,IAAC,yBAAE2jG,GAA0B3jG,EAAA,OAC7B2jG,EACIxkG,eAAGmB,QAAArB,aAAA,oIAOHE,eAAGqB,QAAAvB,aAAA,mICiHI2kG,I,2BAAAA,GAnLf,SAA2B5mH,GAKvB,IALwB,qBAC1B6mH,EAAoB,wBACpBC,EAAuB,QACvBj5B,EAAO,oBACPk5B,GACD/mH,EACC,MAAMumH,EAAmBp5D,aAAS,eAAeztD,MAC3CqrF,EAAa59B,aAAS,aAAaztD,MACnC8mH,EAAsBr5D,aAAS,kBAAkBztD,OAChD+mH,EAAuBO,GAA4B34F,oBAAS,IAC5Dq4F,EAAqBO,GAA0B54F,oBAAS,IACxDs4F,EAA0BO,GAA+B74F,oBAC9D,GAEF,SAAS49D,EAAYzkE,EAAG7kB,GACtB,MAAMwkH,EAA0BzlE,YAAQmlE,EAAuBtkH,IACzDA,EAAMI,KAAY6kB,EAAEmrC,OAAO/qB,QAAOrlC,EAAMI,GAAU6kB,EAAEmrC,OAAO/qB,SAGjEk/E,EAAwBK,GAmF1B,OACE//F,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACzI,cAAY,EAACkJ,YAAU,EAACr4C,MAAO,OACjDgE,IAAAC,cAAC0B,QAAI,CACHb,KAAK,uBACLC,MAAOtG,GAAMpF,UACbgM,KAAK,mBACL4jC,YAAa,GACb6B,UAAW,KAEb9mC,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yCACLC,MAAOtG,GAAMpF,UACbgM,KAAK,sKACL4jC,YAAa,GACb9nC,WAAY,EACZ2pC,UAAW,GACX9qC,MAAO,MAETgE,IAAAC,cAACS,GAAS,CACRs/F,gBAAiBb,EACjBx7B,WAAYA,EACZy7B,oBAAqBA,EACrBE,oBAAqBA,EACrBC,yBAA0BA,EAC1BF,sBAAuBA,GAEvBr/F,IAAAC,cAAC+jE,GAAa,CACZxd,aAAepmD,GAAMykE,EAAYzkE,EAAG,eACpC0mC,UAAU,MACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,yBACZrnC,KAAK,cACL6/D,UAAU,QACV/iE,WAAW,OACX5B,aAAa,IACbkhB,MAAOi/E,EAAqBQ,YAC5Bp8B,SAAO,EACPF,WAAYw7B,EACZ/7B,kBAvHR,SAA6BhjE,GACvBqmE,IACGrmE,EAAEmrC,OAAO/qB,MAGZimD,EAAQy5B,cAAc,cACtB9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,aAEzCz5B,EAAQ82B,cACN,YACA,6CAGFqC,GAAyB,GACzBn5B,EAAQ82B,cAAc,cAAe,OAXrC92B,EAAQ82B,cAAc,cAAe,iCAqHnCjgG,UAASqiG,GAAsB,SAEjC3/F,IAAAC,cAAC+jE,GAAa,CACZxd,aAAepmD,GAAMykE,EAAYzkE,EAAG,aACpC0mC,UAAU,MACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,mBACZrnC,KAAK,YACL6/D,UAAU,aACV/iE,WAAW,OACX5B,aAAa,IACbkhB,MAAOi/E,EAAqBhuF,UAC5BoyD,SAAO,EACPF,WAAYA,EACZP,kBApHR,SAA2BhjE,GACrBqmE,IACGrmE,EAAEmrC,OAAO/qB,MAEFpJ,GAAiBhX,EAAEmrC,OAAO/qB,OAMpCimD,EAAQy5B,cAAc,cACtBz5B,EAAQy5B,cAAc,mBACtB9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,mBACzC9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,gBAEzCL,GAAuB,GACvBp5B,EAAQ82B,cAAc,YAAa,MACnC92B,EAAQ82B,cAAc,iBAAkB,+BAExC92B,EAAQy5B,cAAc,cACtBz5B,EAAQy5B,cAAc,mBACtB9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,mBACzC9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,gBAEzCL,GAAuB,GACvBp5B,EAAQ82B,cAAc,iBAAkB,MACxC92B,EAAQ82B,cAAc,YAAa,OAEnC92B,EAAQy5B,cAAc,gBACtB9/F,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,gBAEzCz5B,EAAQ82B,cACN,YACA,4CAEF92B,EAAQ82B,cAAc,iBAAkB,QAExCsC,GAAuB,GACvBp5B,EAAQ82B,cAAc,YAAa,OAjCnC92B,EAAQ82B,cACN,YACA,oIAJF92B,EAAQ82B,cAAc,YAAa,mCAmHnCv9F,IAAAC,cAAC+jE,GAAa,CACZxd,aAAepmD,GAAMykE,EAAYzkE,EAAG,kBACpC0mC,UAAU,MACV9qC,MAAM,MACNH,OAAO,KACP4vC,YAAY,mBACZrnC,KAAK,iBACL6/D,UAAU,kBACV/iE,WAAW,OACX5B,aAAa,IACbkhB,MAAOi/E,EAAqBU,eAC5Bt8B,SAAO,EACPF,WAAYy7B,EACZh8B,kBAxFR,SAAgChjE,GAC1BqmE,IACGrmE,EAAEmrC,OAAO/qB,MAEFpJ,GAAiBhX,EAAEmrC,OAAO/qB,OAK7BpgB,EAAEmrC,OAAO/qB,QAAUimD,EAAQy5B,cAAc,aAChDz5B,EAAQ82B,cAAc,iBAAkB,+BAExCuC,GAA4B,GAC5Br5B,EAAQ82B,cAAc,iBAAkB,OARxC92B,EAAQ82B,cACN,iBACA,oIAJF92B,EAAQ82B,cAAc,iBAAkB,sCCjGzC,MAAM78F,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,wGAOtBulG,GAAkB1lG,WAAOC,IAAGK,QAAAH,aAAA,2DAIrCjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGG,QAAAL,aAAA,0CACUyC,GAEbvC,eAAGM,QAAAR,aAAA,8CAKEwhG,GAAwB3hG,WAAOC,IAAGa,QAAAX,aAAA,gJAI3C9hB,IAAA,IAAC,QAAEukB,GAASvkB,EAAA,OACZukB,EACIvC,eAAGY,QAAAd,aAAA,0CACUyC,GAEb,KAQKg/F,GAAiB5hG,WAAOC,IAAGmB,QAAAjB,aAAA,0LACpB0hG,MAQPE,GAAY/hG,mBAAOgiG,SAAM5xF,MAAOxJ,IAAK,CAChDqW,OAAO,EACP6B,MAAOlY,EAAMkY,QAFU9e,CAGtBuB,QAAApB,aAAA,QAEU8hG,GAA8BjiG,WAAOC,IAAGuB,QAAArB,aAAA,mDCkPtCwlG,OAjQf,WAA2B,IAADC,EACxB,MAAMnnF,EAAW2zE,cACX11E,EACM+B,EAASZ,OAASY,EAASZ,MAAMnB,kBAEvC,WAAElI,GAAe+xB,YAAa1oB,GAAUA,EAAM1W,UAC9C,SAAED,EAAQ,mBAAEY,EAAkB,QAAEX,GAAYo/B,YAC/C1oB,GAAUA,EAAM9V,MAGbhS,EAAWoT,cACX4iE,EAAU9gC,iBAAO,OAEjB,oCAAE83D,GAAwCnsG,gbAC1CwsG,EAAM,UAAAj9F,OAAa48F,GACnBniF,EAAcpC,OAAOC,SAASwkF,OAC9B92G,EAAS,IAAIg3G,gBAAgBviF,GAC7BmjF,EAAa53G,EAAOglB,IAAI,UACvB00F,EAAYC,GAAiBv5F,mBACf,QADuBq5F,EAC1Cz5G,EAAOglB,IAAI,gBAAQ,IAAAy0F,OAAA,EAAnBA,EAAqB9gE,WAAW,IAAK,OAShCigE,EAAsBC,GAC3Bz4F,mBAPyB,CACzBg5F,YAAa,GACbxuF,UAAW,GACX0uF,eAAgB,MAMX1uF,EAAWgvF,GAAgBx5F,qBAyIlC,OA1CAG,oBAAU,KACJxF,GAAU9mB,EAAQ+tB,KAAK,eAEvBrE,GAAYN,MAActC,IACxB0D,MAAyBI,KAC3BjV,EAASuT,GAA0BqB,OAC1BS,OAAsBJ,KAC/BjV,EAASuT,GAAuCsB,QAEhDkB,KACA/V,EAASuT,SAGZ,CAACvT,EAAUmR,IAEdwF,oBAAU,KACJ8H,EAAWjrB,SAASnJ,EAAQ+tB,KAAK,gBACpC,CAACqG,EAAWjrB,UAEfmjB,oBAAU,KACJ8H,EAAW9qB,SACb4nB,IAAM1zB,MAAM0nB,IAAAC,cAACuL,GAAU,CAAChwB,KAAK,MAAM0zB,EAAW52B,MAAM,MAErD,CAAC42B,EAAW52B,MAAO42B,EAAW9qB,UAEjCgjB,oBAAU,KACR,GAAI5E,EAAmBpe,QACrBo8G,EAAc,MACd1lH,EAAQ09D,QAAQ,qCAAD33C,OACwB49F,EAAU,4BAE5C,GAAIj8F,EAAmBve,QAAS,CAOrCwM,EAASuT,GANa,CACpBquB,OAAQosE,EACRpnF,SAAU5F,EACVm4D,UAAW,gBAKd,CAACn5E,EAAUghB,EAAWjP,EAAoBi8F,IAG3Cz+F,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACo8F,GAAqB,KACnBjlF,EACCpX,IAAAC,cAACmgG,GAAe,KACdpgG,IAAAC,cAAC48F,GAAa,CACZC,YAAY,SACZC,mBAAmB,iCACnBngG,QAAQ,QAEVoD,IAAAC,cAACqxC,SAAK,CACJxK,YAAW1vB,GAAmB,OAC9Bm6B,IAAKytD,KACL56F,KAAK,cACLlD,WAAW,UAIflB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACqxC,SAAK,CACJxK,YAAW1vB,GAAmB,OAC9Bm6B,IAAKytD,KACL56F,KAAK,gBAEPpE,IAAAC,cAAC48F,GAAa,CACZC,YAAY,SACZC,mBAAmB,oCAIzB/8F,IAAAC,cAAC4jD,KAAI,CACHtjD,IAAKkmE,EACL3iB,SACG1sC,EA3HXlnB,eAA0CxU,GACxC,IACE,MAAMqxG,EAASpmB,OAAaC,MAAM,CAChCq5B,YAAat5B,OAAalhC,SAAS,+BACnCh0B,UAAWk1D,OACR1tD,OACA4tD,QACC,iFACA,oIAEDphC,SAAS,+BACZ06D,eAAgBx5B,OACb1tD,OACA4tD,QACC,iFACA,yIAEDE,MAAM,CAACJ,KAAQ,cAAe,8BAC9BlhC,SAAS,uCAGRsnD,EAAOljB,SAASnuF,EAAM,CAC1BouF,YAAY,IAGdr5E,EACE2nB,GACEvW,EAAQ4V,gBACR/7B,EAAKukH,YACLvkH,EAAK+1B,UACL/1B,EAAKykH,iBAIT15B,EAAQzgC,QAAQ5C,UAAU,IAC1B,MAAO9qD,GACP,GAAIA,aAAiBquF,KAAqB,CACxC,MAAMoD,EAAgB,GAEtBzxF,EAAM0xF,MAAMp+C,QAASxO,IACnB2sD,EAAc3sD,EAAI3D,MAAQ2D,EAAI7D,UAGhCktD,EAAQzgC,QAAQ5C,UAAU2mC,MAxFhC75E,eAA4CxU,GAC1C,IACE,MAAMqxG,EAASpmB,OAAaC,MAAM,CAChCn1D,UAAWk1D,OACR1tD,OACA4tD,QACC,iFACA,oIAEDphC,SAAS,+BACZ06D,eAAgBx5B,OACb1tD,OACA4tD,QACC,iFACA,yIAEDE,MAAM,CAACJ,KAAQ,cAAe,8BAC9BlhC,SAAS,uCAERsnD,EAAOljB,SAASnuF,EAAM,CAC1BouF,YAAY,IAEdr5E,EACEuT,GAAsC,CACpCmS,MAAOsoF,EACPjtF,MAAO91B,EAAK+1B,UACZ0uF,eAAgBzkH,EAAKykH,eACrBh+F,MAAOo+F,KAIXE,EAAa/kH,EAAK+1B,WAElBg1D,EAAQzgC,QAAQ5C,UAAU,IAC1B,MAAO9qD,GACP,GAAIA,aAAiBquF,KAAqB,CACxC,MAAMoD,EAAgB,GACtBzxF,EAAM0xF,MAAMp+C,QAASxO,IACnB2sD,EAAc3sD,EAAI3D,MAAQ2D,EAAI7D,UAGhCktD,EAAQzgC,QAAQ5C,UAAU2mC,OAoIxB/pE,IAAAC,cAACu/F,GAAkB,CACjBC,qBAAsBA,EACtBC,wBAAyBA,EACzBj5B,QAASA,EAAQzgC,QACjB25D,qBAAsBvoF,IAExBpX,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACLtC,WAAY,MACZ4lC,UAAW,GACX9lC,aAAc,EACdJ,OAAO,UACP/E,OAAQ,GACRG,MAAO,IACPlV,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXnE,aAAc,GACdhC,WACEkF,EAAmB1e,UAAWorB,EAAWprB,UAAU,OAErDgd,KAAK,2BACN,kBAGC0B,EAAmB1e,SAAWorB,EAAWprB,UACzCkc,IAAAC,cAAC27F,GAAW,CACVpgH,KAAK,KACLwgB,MAAM,QACN8qC,UAAU,OACV5lC,WAAW,SAGdkW,GACCpX,IAAAC,cAAC08F,GAA2B,KAC1B38F,IAAAC,cAAC0B,QAAI,CAACR,YAAa,EAAGE,KAAK,4BAC3BrB,IAAAC,cAACw8F,GAAS,CACRjjF,MAAOikF,EACP79D,KAAMk+D,GACP,gCAOT99F,IAAAC,cAACq8F,GAAc,QCvPNoE,OAzCf,WACE,MACMp/F,EADWwrF,cACMv0E,MAEvB,SAAS6uB,IACP,MAAM9rB,EAAcpC,OAAOC,SAASwkF,OAE9BgD,EADS,IAAI9C,gBAAgBviF,GACHzP,IAAI,YAChCvK,GACFxmB,EAAQ+tB,KAAKvH,EAAMmY,MAEjBknF,EAAkB7lH,EAAQ+tB,KAAK83F,GAC9BznF,OAAOC,SAASC,SAQvB,OAAI9X,EAEAtB,IAAAC,cAACic,SAAK,CACJ0kF,UAAWx5D,EACXozC,SAAUl5E,EAAMhpB,MAChBkhC,MAAOlY,EAAMkY,MACbD,QAASjY,EAAMiY,UAMnBvZ,IAAAC,cAACic,SAAK,CACJ0kF,UAAWx5D,EACXozC,SAnBgB,MAoBhBhhE,MAnBe,iCAoBfD,QAlBF,2ECJWghE,OAhBf,WAME,OACEv6E,IAAAC,cAACic,SAAK,CACJs+D,SAPgB,MAQhBhhE,MAPe,oCAQfD,QANF,iKAOEkhE,mBAAiB,K,UCdhB,MCECz6C,kBAAkB,IAAI1uC,gb,UCCvB,MAAMoP,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,qEAMtBgmG,GAAWnmG,mBAAOomG,KAAPpmG,CAAoBM,QAAAH,aAAA,gECiM7BkmG,I,2BAAAA,GA7Lf,SAAyBnoH,GAMrB,IANsB,aACxBooH,EAAY,gBACZC,EAAe,QACfx6B,EAAO,YACPy6B,EAAW,cACXC,GACDvoH,EACC,MAAMwoH,EAAkBr7D,aAAS,WAAWF,cACtC6uC,EAAsB3uC,aAAS,eAAeF,cAC9C8uC,EAAgB5uC,aAAS,SAASF,cAClCw7D,EAAet7D,aAAS,QAAQF,cAChCy7D,EAAav7D,aAAS,SAASztD,MAC/BipH,EAAYx7D,aAAS,QAAQztD,MAC7BkpH,EAAmBz7D,aAAS,eAAeztD,MAC3CmpH,EAAe17D,aAAS,WAAWztD,MAEnCopH,IACFV,EAAa7mE,cACdqnE,KACCR,EAAaW,UACdF,KACCT,EAAa7qF,QACdmrF,KACCN,EAAansB,OACd0sB,EAEGK,EAAiBxhG,IACrB,IAAKqmE,EAAS,OAEd,MAAM,KAAEriE,EAAI,MAAEoc,GAAUpgB,EAAEmrC,OtWyHPspC,MsWxHnBpO,EAAQ82B,cAAcn5F,EAAM,IAEf,SAATA,ItWsHeywE,EsWtHYr0D,GtWwHxBpK,MAAMT,MAjDmBi1B,KAClC,IAAKA,EAAO,OAAO,EAEnB,MAAMi3D,EAAUj3D,EAAM4N,QAAQ,WAAY,KACpC,OAAEhhE,GAAWqqH,EAGnB,OAF2BA,EAAQ1pH,OAAO,EAAG,GAEnB2pH,OAAOtqH,KAAYqqH,GA2C1CE,CAAoBltB,IAxCgBA,KACvC,MAAMmtB,EAAoBntB,EAAKr1C,WAAW,UAAW,IAErD,IAAIyiE,EAAUD,EAAkBxqH,OAAS,EACrCqqH,EAAUG,EAAkBrrF,UAAU,EAAGsrF,GAC7C,MAAMC,EAAUF,EAAkBrrF,UAAUsrF,GAC5C,IAAIE,EAAO,EACPC,EAAMH,EAAU,EAEpB,IAAK,IAAI3yD,EAAI2yD,EAAS3yD,GAAK,EAAGA,IAC5B6yD,GAAQN,EAAQ/8C,OAAOm9C,EAAU3yD,GAAK8yD,IAClCA,EAAM,IACRA,EAAM,GAIV,IAAIC,EAAYF,EAAO,GAAK,EAAI,EAAI,GAAMA,EAAO,GACjD,GAAIE,GAAaH,EAAQp9C,OAAO,GAAI,OAAO,EAE3Cm9C,GAAW,EACXJ,EAAUG,EAAkBrrF,UAAU,EAAGsrF,GACzCE,EAAO,EACPC,EAAMH,EAAU,EAEhB,IAAK,IAAI3yD,EAAI2yD,EAAS3yD,GAAK,EAAGA,IAC5B6yD,GAAQN,EAAQ/8C,OAAOm9C,EAAU3yD,GAAK8yD,IAClCA,EAAM,IACRA,EAAM,GAKV,OAFAC,EAAYF,EAAO,GAAK,EAAI,EAAI,GAAMA,EAAO,GAEzCE,GAAaH,EAAQp9C,OAAO,IAS9Bw9C,CAAgCztB,IsWzH9BpO,EAAQ82B,cAAcn5F,EAAK,gCAGhB,UAATA,GAAqB8R,GAAQsK,IAC/BimD,EAAQ82B,cAAcn5F,EAAK,kCAGf,YAATA,GAA+B,gBAATA,IAA2Boc,EAAMhpC,OAAS,KACnEivF,EAAQ82B,cAAcn5F,EAAK,yCAGxBoc,GACHimD,EAAQ82B,cAAcn5F,EAAK,gCAIzBoiD,EAAgBpmD,IACpB,MAAM,KAAEgE,EAAI,MAAEoc,GAAUpgB,EAAEmrC,OAC1B01D,EAAiB1yE,IAAK,IACjBA,EACH,CAACnqB,GAAgB,SAATA,EAAkBoc,EAAMgf,WAAW,MAAO,IAAMhf,MA0B5D,OACExgB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAACzI,cAAY,GAC9BnrC,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,UACLinC,UAAU,UACVI,YAAY,gCACZzvC,MAAO,IACPkF,WAAY,EACZ5B,aAAc,GACdkhB,MAAOwgF,EAAaW,QACpBn8D,SAAWplC,GAAMomD,EAAapmD,GAC9B4rC,OAAS5rC,GAAMwhG,EAAcxhG,GAC7B9nB,MAAOmpH,EACPxiF,aAAcwiF,EACd/1D,SAAU01D,IAEZphG,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,OACLinC,UAAU,OACVI,YAAY,gCACZzvC,MAAO,IACPkF,WAAY,EACZ5B,aAAc,GACdkhB,MA/CUq0D,KAClB,IAAI0tB,EAAa1tB,EAAKr1C,WAAW,SAAU,IAmB3C,OAjBI+iE,EAAW/qH,QAAU,KAAI+qH,EAAaA,EAAWpqH,OAAO,EAAG,KAE3DoqH,EAAW/qH,OAAS,GACtB+qH,EAAaA,EAAW/pD,QACtB,qCACA,kBAEK+pD,EAAW/qH,OAAS,EAC3B+qH,EAAaA,EAAW/pD,QACtB,8BACA,eAEK+pD,EAAW/qH,OAAS,EAC3B+qH,EAAaA,EAAW/pD,QAAQ,uBAAwB,YACjD+pD,EAAW/qH,OAAS,IAC3B+qH,EAAaA,EAAW/pD,QAAQ,gBAAiB,UAE5C+pD,GA2BQC,CAAWxB,EAAansB,MAC/BrvC,SAAWplC,GAAMomD,EAAapmD,GAC9B4rC,OAAS5rC,GAAMwhG,EAAcxhG,GAC7BsrC,SAAU21D,EACV/oH,MAAOipH,EACPtiF,aAAcsiF,IAEhBvhG,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,cACLinC,UAAU,iBACVI,YAAY,mDACZzvC,MAAO,IACPkF,WAAY,EACZ5B,aAAc,GACdkhB,MAAOwgF,EAAa7mE,YACpBqL,SAAWplC,GAAMomD,EAAapmD,GAC9B4rC,OAAS5rC,GAAMwhG,EAAcxhG,GAC7BsrC,SAAUgpC,EACVp8F,MAAOkpH,EACPviF,aAAcuiF,IAEhBxhG,IAAAC,cAACmrC,aAAS,CACRhnC,KAAK,QACLinC,UAAU,SACVI,YAAY,qDACZzvC,MAAO,IACPkF,WAAY,EACZ5B,aAAc,GACdkhB,MAAOwgF,EAAa7qF,MACpBqvB,SAAWplC,GAAMomD,EAAapmD,GAC9B4rC,OAAS5rC,GAAMwhG,EAAcxhG,GAC7BsrC,SAAUipC,EACVr8F,MAAOgpH,EACPriF,aAAcqiF,IAEhBthG,IAAAC,cAACimE,eAAW,CACVh1D,SAAU8vF,EAAaxqF,SAAStF,SAChCi1D,uBAAyBj1D,GACvB+vF,EAAiB1oF,IAAK,IACjBA,EACH/B,SAAU,CAAEtF,eAGhBuxF,QAAM,KAGVziG,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACnN,UAAW,IAC1C9mC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbjpC,MAAO,IACPlV,KAAK,SACL2c,aAAW,EACXC,eAAa,EACb5D,QAASohG,EACTpgG,KAAK,2BACN,UAGDd,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbjpC,MAAO,IACPlV,KAAK,SACL2c,aAAW,EACXC,eAAa,EACb7D,UAAW6hG,EACX5hG,QAASA,IAAMqhG,IACfrgG,KAAK,2BACN,aAECd,IAAAC,cAAC4gG,GAAQ,W,SC3LInmG,WAAOC,IAAGC,QAAAC,aAAA,oHAA5B,MAUM4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,2LAwDxB6nG,IA7COhoG,WAAO4N,EAACpN,QAAAL,aAAA,6FAEjBJ,GAAMpC,WAIMqC,WAAOC,IAAGU,QAAAR,aAAA,mDAKPH,WAAOioG,OAAMnnG,QAAAX,aAAA,iKAE5BJ,GAAMpF,WAOaqF,WAAOioG,OAAMhnG,QAAAd,aAAA,uKAEhCJ,GAAMpF,WAOQqF,mBAAOkoG,KAAPloG,CAAqBoB,QAAAjB,aAAA,sGACnCJ,GAAMrB,eAOUsB,mBAAO8tD,KAAP9tD,CAAwBuB,QAAApB,aAAA,wGACxCJ,GAAMzH,cAOe0H,mBAAOi7C,YAAPj7C,CAAgBwB,QAAArB,aAAA,oOAInCJ,GAAMpC,UAMNoC,GAAM7D,SCGnB,MAAM4J,GAAcznB,IAAsD,IAArD,QAAE+mB,EAAO,QAAE+iG,EAAO,0BAAEC,GAA2B/pH,EAClE,OACEinB,IAAAC,cAACgrC,eAAW,CAACkJ,oBAAkB,EAACR,MAAI,GAClC3zC,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1c,KAAK,SACLqW,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbjpC,MAAO,IACPyH,aAAW,EACXC,eAAa,EACb5C,KAAK,0BACLhB,QAASA,GACV,YAGDE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1c,KAAK,SACLqW,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbjpC,MAAO,IACPyH,aAAW,EACXC,eAAa,EACb7D,SAAUgjG,IAAYA,EAAQ1rF,SAAS,SACvCrW,KAAK,0BACLhB,QAASgjG,GACV,2BAODC,GAAoB5nG,IAA0B,IAAzB,OAAEyI,EAAM,QAAE9D,GAAS3E,EAC5C,SAAS6nG,IACP9pF,OAAOC,SAASC,SAGlB,OACEpZ,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASkjG,EACTnnG,OAAQ,IACRG,MAAO,IACPwH,KAAK,UACLO,OACE/D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1c,KAAK,SACLqW,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbjpC,MAAO,IACPyH,aAAW,EACXC,eAAa,EACb5C,KAAK,0BACLhB,QAASkjG,GACV,OAKHhjG,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACwB,GAAW,KACVzB,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLqkD,QAAM,EACNpkD,MAAOtG,GAAMpC,UACbgJ,KAAK,4CAEPrB,IAAAC,cAAA,WACAD,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLqkD,QAAM,EACNpkD,MAAOtG,GAAMpC,UACbgJ,KAAK,8JAQF4hG,I,kBAAAA,GAnKf,SAA+BrqH,GAM3B,IAN4B,OAC9BgrB,EAAM,QACN9D,EAAO,QACP+iG,EAAO,WACPK,EAAU,0BACVJ,GACDlqH,EACC,MAAM,QAAEqL,GAAYg9C,YAAa1oB,GAAUA,EAAMyB,MAAMzzB,aAAaG,OAEpE,SAAS8/D,EAAahmC,GAChBqiF,EAAQ1rF,SAASqJ,GACnB0iF,EAAY3qF,GAAUA,EAAMhhC,OAAQ2B,GAASA,IAASsnC,IAEtD0iF,EAAY3qF,GAAU,IAAIA,EAAOiI,IAIrC,OAAIv8B,EAAgB+b,IAAAC,cAAC8iG,GAAiB,CAACn/F,OAAQA,EAAQ9D,QAASA,IAG9DE,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,EACTjE,OAAQ,IACRG,MAAO,IACPwH,KAAK,UACLO,OACE/D,IAAAC,cAACO,GAAW,CACVV,QAASA,EACT+iG,QAASA,EACTC,0BAA2BA,KAI/B9iG,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACwB,GAAW,KACVzB,IAAAC,cAAC0B,QAAI,CACHb,KAAK,yBACLqkD,QAAM,EACNpkD,MAAOtG,GAAMpC,UACbgJ,KAAK,uIAGPrB,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC9M,UAAW,GAAI9qC,MAAO,IAAKkF,WAAY,IACzDlB,IAAAC,cAACyiG,GAAgB,CACfliF,MAAM,eACNo1B,QAASitD,EAAQ1rF,SAAS,gBAC1ByvB,MAAM,yFACN9mC,QAASA,IAAM0mD,EAAa,kBAE9BxmD,IAAAC,cAACyiG,GAAgB,CACfliF,MAAM,QACNo1B,QAASitD,EAAQ1rF,SAAS,SAC1ByvB,MACE5mC,IAAAC,cAAAD,IAAAuD,SAAA,KAAE,sBAEAvD,IAAAC,cAACy8F,KAAI,CACHP,GAAG,6CACH5wD,OAAO,UAEN,IAAI,8BAKXzrC,QAASA,IAAM0mD,EAAa,gBCxEnC,MAAM9lD,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,iGAI/BjiB,IAAA,IAAC,MAAEojB,GAAOpjB,EAAA,OACVojB,GACAjB,eAAGC,QAAAH,aAAA,kCACQmB,KAIFyF,GAAc/G,WAAOC,IAAGO,QAAAL,aAAA,oRAC1BJ,GAAM5C,SAiBJi2C,GAAcpzC,WAAOC,IAAGU,QAAAR,aAAA,2BAIxBsoG,GAAYzoG,mBAAOkoG,KAAPloG,CAAqBc,QAAAX,aAAA,gFACnCJ,GAAMrB,eAMJgqG,GAAe1oG,mBAAO2oG,KAAP3oG,CAAqBiB,QAAAd,aAAA,gFACtCJ,GAAMzH,cCDX+6C,GAAgBh1D,IAKf,IALgB,KACrBrB,EAAI,eACJy2D,EAAc,cACdH,EAAa,kBACbs1D,GACDvqH,EACC,OACEinB,IAAAC,cAAC6tC,GAAW,CAAC3pC,IAAKzsB,EAAK4R,IACrB0W,IAAAC,cAACguC,cAAU,CACTlT,SACEuoE,GAAqB5rH,EAAK0sB,KAAK5sB,OAAS8rH,EAAiB,GAAAziG,OAClDnpB,EAAK0sB,KAAKjsB,OAAO,EAAGmrH,GAAkB,OACzC5rH,EAAK0sB,KAEX8pC,SAAUx2D,EAAK60D,aACf4B,eAAgBA,EAAez2D,GAC/Bs2D,cAAeA,MAKRu1D,I,YAAAA,GAtDM3qH,IAOd,IAPe,MACpB6M,EAAK,cACLuoD,EAAa,UACbw1D,EAAS,eACTC,EAAc,MACdznG,EAAK,kBACLsnG,GACD1qH,EACC,OACEonB,IAAAC,cAACS,GAAS,CAAC1E,MAAOA,GACfwnG,EACCxjG,IAAAC,cAACwB,GAAW,KACVzB,IAAAC,cAACmjG,GAAY,MAAG,kCAIlBpjG,IAAAC,cAACwB,GAAW,KACVzB,IAAAC,cAACkjG,GAAS,MAAG,qDAIhB5hG,OAAO8Z,OAAO51B,GAAOrK,IAAK1D,GACzBsoB,IAAAC,cAAC8tC,GAAa,CACZr2D,KAAMA,EACNy2D,eAAgBs1D,EAChBz1D,cAAeA,EACfs1D,kBAAmBA,O,0CChCtB,MAAM5iG,GAAYhG,mBAAOuwC,GAAPvwC,CAAmBE,QAAAC,aAAA,8EAM/B6oG,GAAWhpG,mBAAOipG,KAAPjpG,CAAmBM,QAAAH,aAAA,oDAK9B+oG,GAAWlpG,mBAAOmpG,KAAPnpG,CAAqBQ,QAAAL,aAAA,oDAKhCipG,GAAkBppG,WAAOC,IAAGU,QAAAR,aAAA,+BCI1BsyC,OAnBcA,IAC3BntC,IAAAC,cAAC6jG,GAAe,KAAC,6BAEf9jG,IAAAC,cAAA,KAAG2/B,KAAMmkE,KAA0BpkE,SAAS,gCACzC,IAAI,mBACS,KACZ,6DAEJ3/B,IAAAC,cAAA,KACE2/B,KAAMokE,KACNrkE,SAAS,kDAER,IAAI,qCACwB,KAC3B,eCFOskE,OAjBkBA,IAC/BjkG,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAA,SAAG,qBAEDD,IAAAC,cAAA,cAAQ,mBAAwB,oCAEhCD,IAAAC,cAAA,cAAQ,UAAe,aAChBD,IAAAC,cAAA,cAAQ,SAAc,KAE/BD,IAAAC,cAAA,SAAG,wCACiCD,IAAAC,cAAA,cAAQ,gBAAgC,IAAI,+CACpC,IAC1CD,IAAAC,cAAA,cAAQ,4BC0GCikG,I,8BAAAA,GAtGf,SAA2BtrH,GAMvB,IANwB,aAC1BurH,EAAY,cACZ32D,EAAa,KACb91D,EAAI,cACJ0sH,EAAa,SACb14G,GACD9S,EACC,MAAM6X,EAAWoT,eACX,QAAE5f,GAAYg9C,YAAa1oB,GAAUA,EAAMyB,MAAMzzB,aAAaC,MAEpE,SAAS69G,EAAWtrH,GAAkC,IAAjC,WAAEmpD,EAAU,eAAEC,GAAgBppD,EAC7CmpD,EAAW1qD,OAAS,IAClB0qD,EAAW,GAAG5pD,MAAM8pD,WACtBp2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,qDAIP22B,EAAW,GAAG5pD,MAAM+pD,kBAC7Br2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,uCAEP42B,GACTn2B,IAAM1zB,MACJ0nB,IAAAC,cAACsL,GAAY,KAAC,qCAMtB,OACEvL,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAC1I,UAAQ,GAC1BlrC,IAAAC,cAACS,GAAS,CAACgD,eAAa,EAACkuC,MAAO,CAAEl2C,SAAU,SACzChkB,EACCsoB,IAAAC,cAACsjG,GAAY,CACX99G,MAAO,CAAC/N,GACRs2D,cAAeA,KACbR,EAAc,IACd/8C,EAASC,EAAa5B,iCAExB00G,UAAWv/G,EACXw/G,eAAgBA,IAAOx/G,EAAU,IAAMyH,EACvC43G,kBAAmB,GACnBtnG,MAAO,MAGTgE,IAAAC,cAAC2tC,aAAS,CACRL,YAAavtC,IAAAC,cAACgkG,GAAwB,MACtCp2D,qBAAsB7tC,IAAAC,cAACktC,GAAoB,MAC3CK,cAAeA,EACflB,UAAWA,GACXM,kBAAoBC,GAClBD,GAAkBC,EAAY,IAAU,EAAG,CAAC,OAAQw3D,GAEtD3oG,SAAU,OAIhBsE,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACnN,UAAW,GAAIprC,SAAU,KACxDsE,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbjpC,MAAO,IACPlV,KAAK,SACL2c,aAAW,EACXC,eAAa,EACb5D,QAASA,KACP0tC,EAAc,IACd22D,KAEFrjG,KAAK,2BAELd,IAAAC,cAACyjG,GAAQ,MAAG,UAGd1jG,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL/D,cAAe,EACftC,WAAY,EACZkvC,aAAc,EACdpH,YAAa,EACbjpC,MAAO,IACPlV,KAAK,SACL2c,aAAW,EACXC,eAAa,EACb7D,UAAW5b,EACX6b,QAASskG,EACTtjG,KAAK,2BAELd,IAAAC,cAAC2jG,GAAQ,MAAG,e,qBCxGjB,MAAMljG,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,iKAStBypG,GAAiB5pG,WAAOC,IAAGK,QAAAH,aAAA,gGAO3BulG,GAAkB1lG,WAAOC,IAAGO,QAAAL,aAAA,iIAQ5B0pG,GAA4B7pG,WAAOC,IAAGU,QAAAR,aAAA,2FAI/CjiB,IAAA,IAAC,QAAE0kB,GAAS1kB,EAAA,OACZ0kB,EACIvC,eAAGS,QAAAX,aAAA,0CACUyC,GAEb,KAIKknG,GAAkB9pG,WAAOC,IAAGgB,QAAAd,aAAA,gNACf4pG,MASbC,GAAehqG,WAAOkiG,GAAE9gG,QAAAjB,aAAA,+EAE1BJ,GAAMpF,WAIJsvG,GAAuBjqG,WAAOC,IAAGsB,QAAApB,aAAA,gCAIjC+pG,GAAalqG,WAAOC,IAAGuB,QAAArB,aAAA,yGAEzBJ,GAAMpC,WAKJwrD,GAAOnpD,mBAAOmqG,KAAPnqG,CAAe0B,QAAAvB,aAAA,gHCxC7BiqG,GAAmB,CACvBnD,QAAS,GACT9sB,KAAM,GACN16C,YAAa,GACbhkB,MAAO,GACPK,SAAU,CACRtF,SAAU,CACR,CACE1N,KAAM,UACNwnB,OAAQ,OAKV+5E,GAAS,CAAC,mBAAoB,0BAkLrBx+G,I,qBAAAA,GAhLf,WACE,MAAOy6G,EAAcC,GAAmBh6F,mBAAS69F,KAC1CE,EAAkBC,GAAuBjlG,IAAMiH,SAAS,KACxDi+F,EAAmBC,GAAwBl+F,sBAC3Cm+F,EAAeC,GAAoBp+F,mBAAS,KAC5Cvb,EAAU45G,GAAer+F,mBAAS,IAEnC,QAAExgB,GAAYw6C,YAAa1oB,GAAUA,EAAMyB,MAAMzzB,aAAaC,MAC9DigF,EAAU9gC,oBACT4/D,EAAWC,GAAgBv+F,oBAAS,IACpCw+F,EAAOC,GAAYz+F,mBAAS,GAE7BxW,EAAWoT,cAMX5qB,EAAYvB,GAChB,IAAIC,QAAQ,CAACC,EAASC,KACpB,MAAMC,EAAS,IAAIC,WACnBD,EAAO6tH,WAAWjuH,EAAM,cACxBI,EAAOG,OAAUmoB,IACfxoB,EAAQguH,KAAOC,OAAOzlG,EAAEmrC,OAAOrzD,UAEjCJ,EAAOO,QAAWC,GAAUT,EAAOS,KAGjCwtH,EAAa51G,MAAOzK,EAAOg3B,KAC/B,MAAM,KAAE/kC,GAAS+N,EAAM,IAEhB,CAAE+2B,EAAay8E,GAAY,IAAI8M,OAAO,uBAAuBC,KAClEtuH,EAAK0sB,OAED,SAAEoS,GAAawqF,EAEfj2E,EACJvU,EAAStF,SAAS15B,OAAS,GAAKg/B,EAAStF,SAAS,GAAG8Z,OAAOxzC,OAAS,EACjE,CACEyzC,IAAKzU,EAAStF,SAAS,GAAG8Z,OAAO7yC,OAAO,EAAG,GAC3C6yC,OAAQxU,EAAStF,SAAS,GAAG8Z,OAAO7yC,OAAO,GAC3CqrB,KAAM4jE,KAAiB96F,kBAAkBkqC,EAAStF,SAAS,GAAG1N,OAEhE,GAEAqxE,EAAOmsB,EAAansB,KACtBmsB,EAAansB,KAAKr1C,WAAW,SAAU,IACvC,KAcJ,MAZiB,CACftnB,YAAa8oF,EAAaW,QAC1B9sB,OACAE,gBAAiBisB,EAAa7mE,YAC9BhkB,MAAO6qF,EAAa7qF,MACpB4U,UACAxO,cAAetjC,EAASvB,GACxB8kC,cACA0e,gBAAgB,IAADr6B,OAAMo4F,GACrBx8E,MAAOA,GAAS,IAMdqmF,EAA4BlhE,sBAChC1xC,MAAOzK,EAAOg3B,KACZ,MAAM5tB,QAAai3G,EAAWrgH,EAAOg3B,GACrChsB,EAASC,EAAa9B,+BAA+BC,KAEvD,CAAC4B,EAAUq1G,IAGb51G,eAAe+1G,IACb,MAAM5lE,EZ7GsBD,KAC9B,MAAMC,GAAmB,IAAIC,MAC1BC,iBAAiBD,KAAiBE,OAClCC,QAAQ,GAAD5/B,OAAIm/B,GAAiB,KAAAn/B,OAAIu/B,IAChCM,QAKH,OAHAL,EAAiBM,gCAAkC,IACnDN,EAAiBO,4BAA8B,IAExCP,GYoGoBa,CAAgB,qBAQzC,OAPAb,EAAiB/vC,GAAG,iBAAmBipB,IAChCA,EAAQ0F,cAA0C,IAA1B1F,EAAQ/oB,eACnC80G,EAAY/rF,EAAQ/oB,sBZvHEN,iBACtBmwC,EACH54B,QACAo5B,KAAMtwC,GAASqpB,QAAQC,IAAItpB,EAAM,aACjCuwC,MAAOxoD,GAAUshC,QAAQC,IAAIvhC,EAAO,WYqH/B6oD,CAAed,GACrB8kE,EAAqB9kE,GAEdA,EAwCT,OAPAj5B,oBAAU,KbjKmCvgB,QakKZ,CAC7B86G,QAASX,EAAaW,QACtBxnE,YAAa6mE,EAAa7mE,abnK9B11B,eAAewB,QAAQ,yBAA0B5sB,KAAKC,UAAUuN,KaqK7D,CAACm6G,IAGFhhG,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACqkG,GAAc,KACbtkG,IAAAC,cAACmgG,GAAe,KACdpgG,IAAAC,cAACqxC,SAAK,CAAChyC,aAAa,OAAOiyC,IAAKytD,KAAY56F,KAAK,gBACjDpE,IAAAC,cAAC48F,GAAa,CACZC,YAAY,SACZC,mBAAmB,iCACnBngG,QAAQ,SAGZoD,IAAAC,cAACukG,GAAe,OAElBxkG,IAAAC,cAACskG,GAAyB,KACxBvkG,IAAAC,cAACykG,GAAY,KAAC,iBACd1kG,IAAAC,cAAC4jD,GAAI,CAACtjD,IAAKkmE,GACTzmE,IAAAC,cAAC0kG,GAAoB,KACnB3kG,IAAAC,cAACimG,eAAW,CAACjiB,UAAyB,IAAbwhB,EAAQ,GAASzpG,MAAO,MACjDgE,IAAAC,cAAC2kG,GAAU,KAAC,SACHa,EAAQ,EAAE,UAAQV,GAAOU,KAGzB,IAAVA,GACCzlG,IAAAC,cAAC8gG,GAAgB,CACfC,aAAcA,EACdC,gBAAiBA,EACjBx6B,QAASA,EAAQzgC,QACjBk7D,YAtIQA,KAClBD,EAAgB6D,KAsIN3D,cAAeA,IAAMuE,EAASD,EAAQ,KAG/B,IAAVA,GACCzlG,IAAAC,cAACikG,GAAkB,CACjBC,aA/CZ,WACEuB,EAASD,EAAQ,GACjBJ,EAAiB,IACjB50G,EAASC,EAAa5B,gCACtB2B,EAASC,EAAaf,iDA4CZ69C,cAvEZ,SAAsB/nD,GAChBA,EAAMjO,QAAU,EAClBytH,EAAoB,IAItBgB,IAAwBplE,KAAMiB,IAC5BqjE,EAAqBrjE,GACrBmjE,EAAoBx/G,GAChBA,EAAMjO,OAAS,GAAGsrH,EAA0Br9G,EAAOq8C,EAAK1jB,iBA+DpD1mC,KAAMstH,EAAiB,IAAM,KAC7Bt5G,SAAUA,EACV04G,cAAeA,KACboB,GAAa,QAMvBxlG,IAAAC,cAACgjG,GAAsB,CACrBr/F,OAAQ2hG,EACRzlG,QAASA,IAAM0lG,GAAa,GAC5B3C,QAASuC,EACTlC,WAAYmC,EACZvC,0BAzEN,WACE,MAAMj0G,EAAO,CACXs3G,uBAAwBf,EAAcjuF,SAAS,gBAC/CivF,YAAahB,EAAcjuF,SAAS,UAEtC1mB,EACEC,EAAalB,+CAA+C/I,EAASoI,S,qBCjJpE,MAAM6R,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,0IAGnBJ,GAAMjG,SAKTouD,GAAQloD,WAAOkiG,GAAE5hG,QAAAH,aAAA,oIAEnBJ,GAAMpF,WAKJsM,GAAOjH,WAAO4N,EAACpN,QAAAL,aAAA,kMAGjBJ,GAAMpC,WAmBJguG,IAVa3rG,WAAOC,IAAGU,QAAAR,aAAA,+LACVJ,GAAMpC,UAGrBoC,GAAMpC,WAMGqC,WAAOusC,KAAIzrC,QAAAX,aAAA,iHAEpBJ,GAAMrD,OAKJkvG,GAAiB5rG,mBAAO0G,UAAP1G,CAAciB,QAAAd,aAAA,0CAI/B0rG,GAAW7rG,WAAO8rG,IAAG1qG,QAAAjB,aAAA,uEClCnB,SAAS4rG,KACtB,MAAMC,EAAO,IAAI9gG,KAWjB,OACE5F,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAAC0mG,iBAAa,CAACC,YAAY,SAASC,QAASr2D,GAAaC,KAAKtoC,MAC/DnI,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACqxC,SAAK,CAACC,IAAKytD,KAAY56F,KAAK,gBAC7BpE,IAAAC,cAACgrC,eAAW,CAACgJ,qBAAmB,EAACI,YAAU,EAACvN,UAAW,IACrD9mC,IAAAC,cAAC2iD,GAAK,KAAC,6CACP5iD,IAAAC,cAACqmG,GAAc,CACb9iG,KAAK,UACLla,GAAG,eACHxC,KAAK,SACLqW,WAAY,EACZkvC,aAAc,EACd5sC,cAAe,EACfwlC,YAAa,EACbjpC,MAAO,IACPyH,aAAW,EACX0wC,oBAAkB,EAClBrzC,KAAK,0BACLhB,QA5BV,SAAuBM,GACrBA,EAAEknC,kBACF,MAAM,OAAEiE,GAAWnrC,EAEnB8Y,OAAO4tF,MAAM,KACXv7D,EAAOqG,MAAMt0C,QAAU,WAwBlB,WAEC0C,IAAAC,cAAC8mG,KAAS,QAId/mG,IAAAC,cAAC0B,GAAI,KAAC,ibAUN3B,IAAAC,cAACsmG,GAAQ,CAACh1D,IAAKy1D,KAASv1D,IAAI,QAC5BzxC,IAAAC,cAAComG,GAAI,KACFK,EAAKO,cAAc1tH,WAAW,wCC3B1B2tH,I,GAAAA,GA9BAA,KACb,MAAM,SAAEtlG,GAAaq/B,YAAa1oB,GAAUA,EAAM9V,MAClD,OACEzC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACg/F,IAAM,KACJ9D,GAAO//G,IAAKywC,GACX7rB,IAAAC,cAAC47F,GAAc,CACbqD,OAAK,EACL/6F,IAAK0nB,EAAEviC,GACPmwB,KAAI,QAAA5Y,OAAUgrB,EAAE1jB,KAChBizF,UAAWvvE,EAAEuvE,UACbG,UAAW1vE,EAAE0vE,UACbt1B,MAAOp6C,EAAEo6C,SAGbjmE,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAK,sBAAsB2hF,UAAW70G,KACnDyZ,IAAAC,cAAC+7F,IAAK,CACJkD,OAAK,EACLzlF,KAAK,6CACL2hF,UAAWqL,KAEbzmG,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAK,wBAAwB2hF,UAAWiF,KACrDrgG,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAK,eAAe2hF,UAAW0D,KAC5C9+F,IAAAC,cAAC+7F,IAAK,CAACkD,OAAK,EAACzlF,KAAK,cAAc2hF,UAAWsF,KAC3C1gG,IAAAC,cAAC47F,GAAc,CAACN,WAAS,EAAC9hF,KAAK,IAAI2hF,UAAW+L,Q,OC6UvCC,OA7WKC,6BAAiBzsG,QAAAC,aAAA,qjKCErC,MAAM,SAAEysG,IAAah2G,gbAErB,MAAMi2G,WAAsBzL,YAC1B0L,cACEC,QACA/3D,KAAKn3B,MAAQ,CAAEuiB,UAAU,EAAOxiD,MAAO,MAGzCovH,kBAAkBpvH,EAAOqvH,GACvBj4D,KAAKk4D,SAAS,CAAE9sE,UAAU,EAAMxiD,UAChCshC,QAAQC,IAAIvhC,EAAMihC,QAASouF,EAAKE,gBAGlC5L,SACE,MAAM,SAAEnhE,EAAQ,MAAExiD,GAAUo3D,KAAKn3B,OAC3B,SAAE3Y,GAAa8vC,KAAKpuC,MAE1B,OAAIw5B,EAEA96B,IAAAC,cAACgrC,eAAW,CAAC2I,QAAM,EAAClwC,eAAa,EAACD,aAAW,EAAC5H,OAAQ,KACpDmE,IAAAC,cAACygG,GAAS,CAACpoH,MAAOA,KAGjBsnB,GAII2nG,I,GAAAA,MC/BR,MAAM7mG,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,8XCapBitG,I,GAAAA,GAXf,WACE,OACE9nG,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAA,YAAM,IAAI2F,MAAOqhG,cAAc,sCAC/BjnG,IAAAC,cAAA,WACED,IAAAC,cAAC6G,GAAoB,SCPtB,MAAMihG,GAA6BrtG,WAAOC,IAAGC,QAAAC,aAAA,kJC+GrCmtG,I,YAAAA,GAlGkBpvH,IAK1B,IAL2B,aAChCwoC,EAAY,QACZthB,EAAO,WACPuuD,EAAU,gBACVkrC,GACD3gH,EACC,MAAM,QAAEipB,EAAO,YAAEC,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OAExD,MAAEk5C,GAAUnkC,GAAU1V,GAGtBmmG,EAAsD,YAA1B,OAAf1O,QAAe,IAAfA,OAAe,EAAfA,EAAiB/8B,qBAC9B1B,EAASnf,GAAuC,SAA9BA,EAAM6gB,oBACxB0rC,GACFptC,GAAU52B,GAAoBriC,KAAyB,OAAZuf,QAAY,IAAZA,OAAY,EAAZA,EAAc5pC,QAAS,EAGhE2wH,EAAiBvmE,sBAAY,IAC5Bk5B,EACDmtC,EACK,CAACnvF,wBAAsBtrC,2BAA2By2D,IAtB5C,aAwBR,CACLnrB,wBAAsBtrC,2BAA2By2D,OAC9C7iB,EAAahmC,IAAK4N,GAAgBA,EAAY6uB,OAN/BuJ,EAAahmC,IAAK4N,GAAgBA,EAAY6uB,MAQjE,CAACowF,EAAYntC,EAAQ15C,IAElBgnF,EAAyBxmE,sBAC5BymE,IAAgB,IAADC,EACd,MAAMC,EAhCO,cAiCXF,EAA2C,QAAlBC,EAAGlnF,EAAa,UAAE,IAAAknF,OAAA,EAAfA,EAAiBzwF,KAAOwwF,EAEtDvoG,EAAQyoG,IAEV,CAACnnF,EAActhB,IAGjB,OAAIooG,EAEAloG,IAAAC,cAAC8nG,GAA0B,CAACv0D,cAAY,uBACtCxzC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAAC1nC,aAAW,GACnCzD,IAAAC,cAAC0B,QAAI,CACHi8C,MAAI,EACJ78C,MAAOtG,GAAMjG,QACb6M,KACEQ,EAAQkW,OAASe,wBAAsBxsC,kBAAkB23D,IACrD,gBACA,iBAGPpiC,EAAQkW,OAASe,wBAAsBxsC,kBAAkB23D,KACxDjkC,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMjG,QACb6M,KAAM6iC,GAAoBriC,GAxDrB,YAwD6CwsD,EAClDzxD,QAAQ,IACRsE,WAAY,MAQtBlB,IAAAC,cAAC63E,iBAAa,CACZ/3D,QAASooF,IACTpwB,kBAAmBqwB,EACnBpsG,MAAO,IACPs0E,YAAY,gDACZx1E,SAAS,gBAETkF,IAAAC,cAAC8nG,GAA0B,CAACv0D,cAAY,uBACtCxzC,IAAAC,cAACgrC,eAAW,CAACE,cAAY,EAAC1nC,aAAW,GACnCzD,IAAAC,cAAC0B,QAAI,CACHi8C,MAAI,EACJ78C,MAAOtG,GAAMjG,QACb6M,KACEQ,EAAQkW,OAASe,wBAAsBxsC,kBAAkB23D,IACrD,gBACA,eAENiP,OAAO,WAETlzC,IAAAC,cAACgrC,eAAW,CAAC/pC,WAAY,EAAGmtC,IAAK,GAC9BggB,GACCruD,IAAAC,cAAC0B,QAAI,CACHZ,MAAOtG,GAAMjG,QACb6M,KAAM6iC,GAAoBriC,GAzFvB,YAyF+CwsD,IAGtDruD,IAAAC,cAACuoG,KAAc,CAACznG,MAAOtG,GAAMjG,eCnGlC,MAAMkM,GAAYhG,WAAOC,IAAGC,QAAAC,aAAA,kHAOtB4G,GAAc/G,WAAOC,IAAGK,QAAAH,aAAA,kSAmBxB6G,GAAchH,mBAAOiH,QAAPjH,CAAYQ,QAAAL,aAAA,wHAQXH,mBAAO0G,GAAP1G,CAAcW,QAAAR,aAAA,+DCP1C,MAAM2F,GAAcznB,IAA0B,IAAzB,QAAE+mB,EAAO,OAAEkI,GAAQjvB,EACtC,OACEinB,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACmB,UAAM,CACLoC,KAAK,YACL1D,QAASA,EACTiB,MAAOtG,GAAMzH,aACbmO,YAAa,GACbnF,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,YAGD1D,IAAAC,cAACmB,UAAM,CACLoC,KAAK,UACL1D,QAASkI,EACTjH,MAAOtG,GAAMjG,QACb0M,WAAY,GACZlF,MAAO,IACPyH,aAAW,EACXC,eAAa,GACd,UAOQ+kG,I,sDAAAA,GAnDf,SAAoB7vH,GAA+B,IAA9B,OAAEgrB,EAAM,QAAE9D,EAAO,OAAEkI,GAAQpvB,EAC9C,OACEonB,IAAAC,cAAC6D,SAAK,CACJF,OAAQA,EACR9D,QAASA,EACTjE,OAAQ,IACRG,MAAO,IACP+H,OAAQ/D,IAAAC,cAACO,GAAW,CAACV,QAASA,EAASkI,OAAQA,KAE/ChI,IAAAC,cAACI,GAAmB,KAClBL,IAAAC,cAACK,GAAY,KACXN,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAACyoG,KAAU,CAAC3nG,MAAOtG,GAAMzH,aAAcxX,KAAK,QAC5CwkB,IAAAC,cAACyB,GAAW,CAACL,KAAK,YAClBrB,IAAAC,cAACwB,GAAW,KAAC,wCCpBiB/G,WAAOC,IAAGC,QAAAC,aAAA,sDAKdH,WAAOC,IAAGK,QAAAH,aAAA,sKAC1BJ,GAAMzH,cANrB,MAiBM21G,GAAuBjuG,WAAO+wD,GAAEvwD,QAAAL,aAAA,0HAOzCjiB,IAAA,IAAC,cACD8qB,EAAa,oBACbuwC,EAAmB,WACnBC,EAAU,aACV/I,EAAY,mBACZgJ,EAAkB,mBAClBC,GACDx7D,EAAA,OACC8qB,EACI3I,eAAGM,QAAAR,aAAA,sDAGHo5C,EACAl5C,eAAGS,QAAAX,aAAA,6DAGHq5C,EACAn5C,eAAGY,QAAAd,aAAA,wDAGHs5C,EACAp5C,eAAGe,QAAAjB,aAAA,4DAGHu5C,EACAr5C,eAAGkB,QAAApB,aAAA,4DAGHswC,EACApwC,eAAGmB,QAAArB,aAAA,0DAGH,IAEJ9hB,IAAA,IAAC,WAAEs7D,EAAU,YAAE5wC,EAAW,SAAE6wC,GAAUv7D,EAAA,OACtCs7D,EACIt5C,eAAGqB,QAAAvB,aAAA,sDAGH4I,EACA1I,eAAGwB,QAAA1B,aAAA,kDAGHy5C,EACAv5C,eAAG2B,QAAA7B,aAAA,oDAGH,KAkBK+tG,IAfsBluG,mBAAOgiG,KAAPhiG,CAAYmC,QAAAhC,aAAA,4NAeZH,WAAOkxD,GAAE7uD,QAAAlC,aAAA,6RAexCM,IAAA,IAAC,YAAEgG,GAAahG,EAAA,OAChBgG,EACIpG,eAAGkC,QAAApC,aAAA,+CACesG,GAAW,IAIjC7F,IAAA,IAAC,aAAE+wC,GAAc/wC,EAAA,OACjB+wC,EACItxC,eAAGqC,QAAAvC,aAAA,kDACgBwxC,GAAY,IAInC5wC,IAAA,IAAC,WAAEyF,GAAYzF,EAAA,OACfyF,EACInG,eAAGwC,QAAA1C,aAAA,8CACcqG,GAAU,MAKHxG,WAAOwkB,EAACzhB,QAAA5C,aAAA,sPC/BzB8rG,I,qEAAAA,GAjFf,WAA0B,IAADkC,EAAAC,EACvB,MAAMr4G,EAAWoT,eACX,QAAEhC,EAAO,YAAEC,GAAgBm/B,YAAa1oB,GAAUA,EAAM9V,OACxD,uBAAE4M,GAA2B4xB,YAAa1oB,GAAUA,EAAM1W,SAEhE,IAAIuf,EAAe,GACnB,MAAMm4E,GACkB,OAAtBlqF,QAAsB,IAAtBA,GAAgC,QAAVw5F,EAAtBx5F,EAAwBnrB,gBAAQ,IAAA2kH,OAAV,EAAtBA,EAAkCtP,kBAAmB,IAE7B,OAAtBlqF,QAAsB,IAAtBA,GAAgC,QAAVy5F,EAAtBz5F,EAAwBnrB,gBAAQ,IAAA4kH,OAAV,EAAtBA,EAAkChP,0BACpC14E,EAAe/R,EAAuBnrB,SAAS41G,uBAAuB1+G,IACnE4N,IAAW,CACV6uB,KAAK,GAADhX,OAAK7X,EAAYgvB,kBAAiB,OAAAnX,OAAM7X,EAAYm6B,qBAK9D,MAAOoyC,EAAMC,GAAWvuD,oBAAS,GAE3B8hG,EACa,QAAjBlnG,EAAQkW,KACJ,GAAE,GAAAlX,OACCgB,EAAQmW,kBAAiB,OAAAnX,OAAMgB,EAAQqW,aAEhD,SAAS8wF,IACPxzC,GAASD,GA2BX,OAPAnuD,oBAAU,KACwB,IAA5BvF,EAAQ4V,iBAA0BssB,MACpCtzC,EACE2nB,GAA6CvW,EAAQ4V,mBAExD,CAAChnB,EAAUoR,EAAQ4V,gBAAiB5V,EAAQkW,OAG7C/X,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACgpG,iBAAe,CAACrC,YAAY,SAASC,QAASr2D,GAAaC,KAAKtoC,KAC/DnI,IAAAC,cAAC0oG,GAAoB,CAACz0D,YAAU,EAACzwC,aAAW,IACxC8gC,GAAWziC,IACX9B,IAAAC,cAAC+nG,GAAwB,CACvB5mF,aAAcA,EACditC,WAAY06C,EACZjpG,QA5BZ,SAAmC9W,GAAc,IAADkgH,EAC9C,IAAIC,EAAkBngH,EAClBA,IAAgB8vB,wBAAsBtrC,2BAA2By2D,MACnEklE,EAAe,OAAAtoG,OAAUiY,wBAAsBtrC,2BAA2By2D,MAE5E,MAAO36C,KAAOiiC,GAAuB,QAAlB29E,EAAGC,SAAe,IAAAD,OAAA,EAAfA,EAAiBl8D,MAAM,KAC7Cv8C,EACEuT,GAAkC,CAChC1a,SAqBMiwG,gBAAiBA,IAGpB13F,EAAQgW,MACP7X,IAAAC,cAAC2oG,GAAmB,CAACznG,YAAY,OAAOD,WAAW,QAChDW,EAAQgW,KACT7X,IAAAC,cAACmpG,KAAO,CAACtpG,QAASkpG,EAAcxtH,KAAK,UAK7CwkB,IAAAC,cAACwoG,GAAW,CACVzgG,OA7CN,WACEvX,EAASuT,OA6CLlE,QAASkpG,EACTplG,OAAQ2xD,MCvFsB76D,WAAOC,IAAGC,QAAAC,aAAA,oKASZH,WAAOC,IAAGK,QAAAH,aAAA,uKAY1CjiB,IAAA,IAAC,cACD8qB,EAAa,oBACbuwC,EAAmB,WACnBC,EAAU,aACV/I,EAAY,mBACZgJ,EAAkB,mBAClBC,GACDx7D,EAAA,OACC8qB,EACI3I,eAAGG,QAAAL,aAAA,sDAGHo5C,EACAl5C,eAAGM,QAAAR,aAAA,6DAGHq5C,EACAn5C,eAAGS,QAAAX,aAAA,wDAGHs5C,EACAp5C,eAAGY,QAAAd,aAAA,4DAGHu5C,EACAr5C,eAAGe,QAAAjB,aAAA,4DAGHswC,EACApwC,eAAGkB,QAAApB,aAAA,0DAGH,IAEJ9hB,IAAA,IAAC,WAAEs7D,EAAU,YAAE5wC,EAAW,SAAE6wC,GAAUv7D,EAAA,OACtCs7D,EACIt5C,eAAGmB,QAAArB,aAAA,sDAGH4I,EACA1I,eAAGqB,QAAAvB,aAAA,kDAGHy5C,EACAv5C,eAAGwB,QAAA1B,aAAA,oDAGH,KAtER,MAyEa+tG,GAAsBluG,mBAAO2uG,MAASv+F,MAAM,CAAEw+F,gBAzEnC,mBAyEW5uG,CAA0CgC,QAAA7B,aAAA,6cAe/DJ,GAAMzH,aAERyH,GAAMzH,aACayH,GAAMzH,aACxByH,GAAMzH,cAUNu2G,GAAmB7uG,WAAOwkB,EAACriB,QAAAhC,aAAA,wiBAgB1BJ,GAAMzH,aAEWyH,GAAMzH,aACxByH,GAAMzH,aAzHK,kBA8HVyH,GAAMzH,aAEWyH,GAAMzH,aACxByH,GAAMzH,cAUNw2G,GAAoB9uG,WAAOC,IAAGoC,QAAAlC,aAAA,+HAOvCM,IAAwB,IAAvB,cAAEsuG,GAAetuG,EAClB,OAAIsuG,EACK1uG,eAAGkC,QAAApC,aAAA,wEAKLE,eAAGqC,QAAAvC,aAAA,oEAMVS,IAAA,IAAC,wBAAEouG,GAAyBpuG,EAAA,OAC5BouG,EACI3uG,eAAGwC,QAAA1C,aAAA,6CAGHE,eAAG0C,QAAA5C,aAAA,6CAGPY,IAAA,IAAC,aAAEkuG,GAAcluG,EAAA,OACjBkuG,EACI5uG,eAAG4C,QAAA9C,aAAA,6CAGHE,eAAG+C,QAAAjD,aAAA,8CAKE+uG,GAAgBlvG,mBAAO2uG,KAAP3uG,CAAeqD,QAAAlD,aAAA,kQA+B/BgvG,IAhBsBnvG,WAAOwkB,EAAChhB,QAAArD,aAAA,kQAgBAH,WAAOC,IAAGwD,QAAAtD,aAAA,meAevCJ,GAAMzH,aAERyH,GAAMzH,aACayH,GAAMzH,aACxByH,GAAMzH,eCxOnB,IAAI82G,GAAO,GACX,SAAS,KAAiS,OAApR,GAAWvoG,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAM8/G,GAAsBnxH,IAC1B,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAMswF,KAAUA,GAAqB,IAAM7pG,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sFAAoG,IAAMA,cAAc,WAAY,CACrU3W,GAAI,KACU,IAAM2W,cAAc,OAAQ,CAC1CimC,UAAW,IACXlqC,MAAO,GACPH,OAAQ,GACRmuG,UAAW,sBACN,KAAO,GAAkB,IAAM/pG,cAAc,IAAK,CACvDimC,UAAW,IACX8jE,UAAW,oBACG,IAAM/pG,cAAc,IAAK,CACvC+pG,UAAW,kBACG,IAAM/pG,cAAc,OAAQ,CAC1CimC,UAAW,IACX8J,EAAG,kBACY,IAAM/vC,cAAc,OAAQ,CAC3CimC,UAAW,IACX8J,EAAG,ygBAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAc8pG,GAAqB,GAAS,CAC9Hn6D,OAAQrvC,GACPe,KACY,ICrCX,GAAO,GDqCI,ICpCf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMggH,GAAsBrxH,IAC1B,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sFAAoG,IAAMA,cAAc,WAAY,CACrU3W,GAAI,KACU,IAAM2W,cAAc,OAAQ,CAC1CimC,UAAW,IACXlqC,MAAO,GACPH,OAAQ,GACRmuG,UAAW,sBACN,KAAO,GAAkB,IAAM/pG,cAAc,IAAK,CACvDimC,UAAW,IACX8jE,UAAW,oBACG,IAAM/pG,cAAc,IAAK,CACvC+pG,UAAW,kBACG,IAAM/pG,cAAc,OAAQ,CAC1CimC,UAAW,IACX8J,EAAG,kBACY,IAAM/vC,cAAc,OAAQ,CAC3CimC,UAAW,IACX8J,EAAG,4/CAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcgqG,GAAqB,GAAS,CAC9Hr6D,OAAQrvC,GACPe,KACY,ICrCX4oG,GAAO,GDqCI,ICpCf,SAAS,KAAiS,OAApR,GAAW3oG,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMkgH,GAAgBvxH,IACpB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtD4vC,iBAAkB,gBAClBh0C,OAAQ,GACRi0C,QAAS,YACT9zC,MAAO,GACPuE,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM0wF,KAAUA,GAAqB,IAAMjqG,cAAc,OAAQ,CAC3I8vC,KAAM,OACNl0C,OAAQ,GACRG,MAAO,MACJ,KAAO,GAAkB,IAAMiE,cAAc,IAAK,KAAmB,IAAMA,cAAc,UAAW,CACvGmqG,OAAQ,qBACO,IAAMnqG,cAAc,OAAQ,CAC3C+vC,EAAG,+GAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAckqG,GAAe,GAAS,CACxHv6D,OAAQrvC,GACPe,KACY,IC5BX,GAAO,GD4BI,IC3Bf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMogH,GAAgBzxH,IACpB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sFAAoG,IAAMA,cAAc,WAAY,CACrU3W,GAAI,KACU,IAAM2W,cAAc,OAAQ,CAC1CimC,UAAW,IACXlqC,MAAO,GACPH,OAAQ,GACRmuG,UAAW,sBACN,KAAO,GAAkB,IAAM/pG,cAAc,IAAK,CACvDimC,UAAW,IACX8jE,UAAW,oBACG,IAAM/pG,cAAc,IAAK,CACvC+pG,UAAW,kBACG,IAAM/pG,cAAc,OAAQ,CAC1CimC,UAAW,IACX8J,EAAG,kBACY,IAAM/vC,cAAc,OAAQ,CAC3CimC,UAAW,IACX8J,EAAG,oNAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcoqG,GAAe,GAAS,CACxHz6D,OAAQrvC,GACPe,KACY,ICrCX,GAAO,GDqCI,ICpCf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMqgH,GAA0B1xH,IAC9B,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sFAAoG,IAAMA,cAAc,WAAY,CACrU3W,GAAI,KACU,IAAM2W,cAAc,OAAQ,CAC1CimC,UAAW,IACXlqC,MAAO,GACPH,OAAQ,GACRmuG,UAAW,sBACN,KAAO,GAAkB,IAAM/pG,cAAc,IAAK,CACvDimC,UAAW,IACX8jE,UAAW,oBACG,IAAM/pG,cAAc,IAAK,CACvC+pG,UAAW,kBACG,IAAM/pG,cAAc,OAAQ,CAC1CimC,UAAW,IACX8J,EAAG,kBACY,IAAM/vC,cAAc,OAAQ,CAC3CimC,UAAW,IACX8J,EAAG,qNAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcqqG,GAAyB,GAAS,CAClI16D,OAAQrvC,GACPe,KACY,ICrCX,GAAO,GDqCI,ICpCf,SAAS,KAAiS,OAApR,GAAWC,OAAOC,OAASD,OAAOC,OAAO6tC,OAAS,SAAU9D,GAAU,IAAK,IAAI+D,EAAI,EAAGA,EAAIrlD,UAAUzS,OAAQ83D,IAAK,CAAE,IAAIC,EAAStlD,UAAUqlD,GAAI,IAAK,IAAInrC,KAAOorC,EAAchuC,OAAOiuC,UAAUnL,eAAez4B,KAAK2jC,EAAQprC,KAAQonC,EAAOpnC,GAAOorC,EAAOprC,IAAY,OAAOonC,IAA2BkE,MAAMC,KAAMzlD,WAEtU,MAAMsgH,GAAoB3xH,IACxB,IAAI,OACFg3D,EAAM,MACNp2B,KACGlY,GACD1oB,EACJ,OAAoB,IAAMqnB,cAAc,MAAO,GAAS,CACtDjE,MAAO,GACPH,OAAQ,GACRi0C,QAAS,YACTvvC,IAAKqvC,GACJtuC,GAAQkY,EAAqB,IAAMvZ,cAAc,QAAS,KAAMuZ,GAAS,KAAM,KAAU,GAAqB,IAAMvZ,cAAc,OAAQ,KAAmB,IAAMA,cAAc,QAAS,KAAM,sFAAoG,IAAMA,cAAc,WAAY,CACrU3W,GAAI,KACU,IAAM2W,cAAc,OAAQ,CAC1CimC,UAAW,IACXlqC,MAAO,GACPH,OAAQ,GACRmuG,UAAW,sBACN,KAAO,GAAkB,IAAM/pG,cAAc,IAAK,CACvDimC,UAAW,IACX8jE,UAAW,oBACG,IAAM/pG,cAAc,IAAK,CACvC+pG,UAAW,kBACG,IAAM/pG,cAAc,OAAQ,CAC1CimC,UAAW,IACX8J,EAAG,kBACY,IAAM/vC,cAAc,OAAQ,CAC3CimC,UAAW,IACX8J,EAAG,2OAGD,GAA0B,IAAME,WAAW,CAAC5uC,EAAOf,IAAqB,IAAMN,cAAcsqG,GAAmB,GAAS,CAC5H36D,OAAQrvC,GACPe,KACY,ICgHAkpG,I,MAAAA,GArHf,WACE,MAAM,QAAE3oG,GAAYo/B,YAAa1oB,GAAUA,EAAM9V,MAC3CgoG,EAAc9kE,mBACd+kE,EAAyB/kE,oBACxBgkE,EAAcgB,GAAmB1jG,oBAAS,IAC1CyiG,EAAyBkB,GAA8B3jG,oBAAS,GAiBvE,OARAokD,GAAgBo/C,EAAa,KACvBd,GAAcgB,GAAgB,KAGpCt/C,GAAgBq/C,EAAwB,KAClChB,GAAyBkB,GAA2B,KAIxD5qG,IAAAC,cAAC4qG,mBAAwB,KACvB7qG,IAAAC,cAACspG,GAAgB,CAAC3pE,KAAM4Q,GAAaC,KAAKtoC,KACxCnI,IAAAC,cAAC6qG,GAAe,MAAG,kBAGpBjpG,EAAQkW,OAASe,wBAAsBxsC,kBAAkB23D,IACxDjkC,IAAAC,cAAC4pG,GAA2B,CAAC/pG,QAnBFM,IAC3BA,EAAEmrC,QAAQo/D,GAAiBhB,KAmBzB3pG,IAAAC,cAAC8qG,GAAW,MAAG,SAEf/qG,IAAAC,cAACupG,GAAiB,CAACjpG,IAAKkqG,EAAad,aAAcA,GACjD3pG,IAAAC,cAAC2pG,GAAa,CAACzN,GAAG,eAAc,gCAGhCn8F,IAAAC,cAAC2pG,GAAa,CAACzN,GAAG,oBAAmB,iBACrCn8F,IAAAC,cAAC2pG,GAAa,CAACzN,GAAG,8BAA6B,6BAMnDn8F,IAAAC,cAAC2oG,GAAmB,CAACzM,GAAG,eACtBn8F,IAAAC,cAAC8qG,GAAW,MAAG,UAKnB/qG,IAAAC,cAACspG,GAAgB,CAAC3pE,KAAM4Q,GAAaG,WAAWxoC,KAC9CnI,IAAAC,cAAC+qG,GAAe,MAAG,0BAQpB9mE,GAAoBriC,GACnB7B,IAAAC,cAAC2oG,GAAmB,CAACzM,GAAG,8BACtBn8F,IAAAC,cAACgrG,GAAiB,MAAG,oBAIvBjrG,IAAAC,cAACspG,GAAgB,CAAC3pE,KAAM4Q,GAAaI,sBAAsBzoC,KACzDnI,IAAAC,cAACgrG,GAAiB,MAAG,oBAKxB/mE,GAAoBriC,GACnB7B,IAAAC,cAAC2oG,GAAmB,CAACzM,GAAG,0BACtBn8F,IAAAC,cAAC8qG,GAAW,MAAG,kBAIhB7mE,GAAoBriC,EAAQkW,QAC5BgsB,GAAQliC,EAAQkW,OACf/X,IAAAC,cAAC4pG,GAA2B,CAAC/pG,QAvEFM,IAC7BA,EAAEmrC,QAAQq/D,GAA4BlB,KAuElC1pG,IAAAC,cAAC8qG,GAAW,MAAG,gBAEf/qG,IAAAC,cAACupG,GAAiB,CAChBjpG,IAAKmqG,EACLf,aAAcD,EACdD,eAAa,GAEbzpG,IAAAC,cAAC2pG,GAAa,CAACzN,GAAG,gCAA+B,iCAIjDn8F,IAAAC,cAAC2pG,GAAa,CAACzN,GAAG,iCAAgC,8BAQ1Dn8F,IAAAC,cAAC2rC,aAAS,CACRC,UAAW,CACT7H,cAAelrB,wBAAsBxsC,kBAAkB23D,KAEzD6H,SAAUjqC,EAAQkW,MAElB/X,IAAAC,cAAC2oG,GAAmB,CAACzM,GAAG,gBACtBn8F,IAAAC,cAACirG,GAAW,MAAG,cAInBlrG,IAAAC,cAAC2oG,GAAmB,CAACzM,GAAG,uBACtBn8F,IAAAC,cAACkrG,GAAiB,MAAG,yBC5I7B,MAAMC,GAAezmE,qBAAS/pC,QAAAC,aAAA,wOAejB6F,GAAYhG,WAAOC,IAAGK,QAAAH,aAAA,mKAQlBuwG,ICQXC,GAAgBtyH,IAAA,IAAC,QAAE+mB,GAAS/mB,EAAA,OAChCinB,IAAAC,cAACmB,UAAM,CACLtB,QAASA,EACTqB,YAAa,GACbra,KAAK,SACL4c,eAAa,EACbD,aAAW,EACXzH,MAAO,IACP8E,KAAK,2BACN,OAKYwqG,OA1CM1yH,IAAsD,IAArD,KAAE4qB,EAAI,QAAE+V,EAAO,SAAEmb,EAAQ,WAAE6mB,EAAU,OAAE5mB,GAAQ/7C,EACnE,MAAM2yH,EAAeA,KACnB72E,IACA6mB,KAGIiwD,EAAexrG,IAAMoqD,eAAe7wC,GAE1C,OACEvZ,IAAAC,cAACS,GAAS,KACRV,IAAAC,cAAC6D,SAAK,CACJN,KAAMA,EACNI,QAAM,EACN9D,QAASyrG,EACTxnG,OACE4wB,EACE30B,IAAAC,cAAC00B,EAAM,CAAC4mB,WAAYA,IAEpBv7C,IAAAC,cAACorG,GAAa,CAACvrG,QAASyrG,KAI3BC,EAAejyF,EAAUvZ,IAAAC,cAAC0B,QAAI,CAACN,KAAMkY,EAAS4rC,QAAM,OClB7D,MAAMsmD,GAAsBj6G,0BAEtBk6G,GAAe,CACnB9nG,QAAQ,EACR2V,QAAS,GACTmb,SAAUA,IAAM,KAChBlxB,KAAM,UACNmxB,OAAQ,MAGGg3E,GAA8B/yH,IAAmB,IAAlB,SAAEgnB,GAAUhnB,EACtD,MAAMgzH,EAAcjmE,iBAAO,OACpBkmE,EAAcC,GAAmB7kG,mBAASykG,IAE3CK,EAAY,SAChBxyF,GAII,IAHJmb,EAAQzqC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,IAAM,KACjBuZ,EAAIvZ,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,UACP0qC,EAAM1qC,UAAAzS,OAAA,QAAA0S,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAET6hH,EAAgB,IACXJ,GACHnyF,UACAmb,WACAlxB,OACAmxB,SACA/wB,QAAQ,KAQNooG,EAAyBpqE,sBAAY7oD,IAAiB,IAAhB,OAAEm8C,GAAQn8C,EACpD,MAAM,QAAEgnC,GAAYmV,EACpB62E,EAAUhsF,EAAQxG,QAASwG,EAAQ2U,SAAU3U,EAAQvc,KAAMuc,EAAQ4U,SAClE,IAeH,OAbAvtB,oBAAU,KACR,GAAIwkG,EAAY5lE,QAAS,CACTnR,SAASo3E,YAAY,SAE7BC,UAAU,cAAc,GAAM,GACpCN,EAAY5lE,QAAQulB,iBAClB,aACAygD,GACA,KAGH,CAACA,IAGFhsG,IAAAC,cAAA,OAAKM,IAAKqrG,EAAatiH,GAAG,uBACxB0W,IAAAC,cAACwrG,GAAoB3gD,SAAQ,CAACtqC,MAAO,CAAEurF,cACpCnsG,EACAisG,EAAajoG,QACZ5D,IAAAC,cAACqrG,GAAY/pG,OAAAC,OAAA,GAAKqqG,EAAY,CAAEtwD,WA3BrBA,KACjBuwD,EAAgB,IAAKJ,GAAc9nG,QAAQ,SA4BT,MC3BvBuoG,OA3BHA,KACV,MAAM,SAAEvqG,GAAaq/B,YAAa1oB,GAAUA,EAAM9V,MAElD,OACEzC,IAAAC,cAAAD,IAAAuD,SAAA,KACEvD,IAAAC,cAACovD,GAAgB,CACfiO,UAAQ,EACRC,gBAAiB,IACjBC,iBAAkB,IAClBI,aAAc,GACdC,WAAS,GAERj8D,GAAY5B,IAAAC,cAAC0mG,GAAa,MAC1B/kG,GAAY5B,IAAAC,cAACuqG,GAAe,MAC7BxqG,IAAAC,cAAC0rG,GAA2B,KAC1B3rG,IAAAC,cAACsnG,GAAa,KACZvnG,IAAAC,cAACmnG,GAAW,MACZpnG,IAAAC,cAACinG,GAAM,MACPlnG,IAAAC,cAACyL,GAAK,CAACX,UAAW,MACjBnJ,GAAY5B,IAAAC,cAAC6nG,GAAU,WCpBpC,MAAMsE,GAAcA,IAChBpsG,IAAAC,cAAC6qD,IAAQ,CAAC/tB,MAAOsvE,GAAMtvE,OACnB/8B,IAAAC,cAACqsG,IAAW,CAAC/uE,UAAW8uE,GAAM9uE,WAC1Bv9B,IAAAC,cAACssG,IAAM,CAACzxH,QAASA,GACbklB,IAAAC,cAACksG,GAAG,SAMpBK,IAASvQ,OAAOj8F,IAAAC,cAACmsG,GAAW,MAAKv3E,SAAS43E,eAAe,U,kBCvBzD,MAAMC,EAAkBC,EAAQ,KAC1BlqE,EAAqBkqE,EAAQ,KAC7BpxF,EAAqBoxF,EAAQ,IAC7BprE,EAAwBorE,EAAQ,KAChCvoD,EAAgBuoD,EAAQ,KACxBC,EAAsBD,EAAQ,KAC9BzsB,EAAaysB,EAAQ,KACrBzlC,EAA2BylC,EAAQ,KACnCvlC,EAAmBulC,EAAQ,KAC3BviF,EAAiBuiF,EAAQ,KACzB7zF,EAAwB6zF,EAAQ,IAChCtqF,EAAiCsqF,EAAQ,KACzC5rF,EAAe4rF,EAAQ,KACvBjuF,EAAqBiuF,EAAQ,KAC7Bj+B,EAAoBi+B,EAAQ,KAC5B9oE,EAAuB8oE,EAAQ,KAC/BzsC,EAAwBysC,EAAQ,KAEtC1gI,EAAOC,QAAU,CACfu2D,qBACAlnB,qBACAmxF,kBACAnrE,wBACA6iB,gBACAwoD,sBACA1sB,aACAhZ,2BACAE,mBACAh9C,iBACAtR,wBACAuJ,iCACAtB,eACArC,qBACAgwD,oBACA7qC,uBACAq8B,0B,mBCnCFj0F,EAAOC,QAAU,IAA0B,8C,iBCA3CD,EAAOC,QAAU,CACfC,WAAY,CACVC,EAAG,MACHC,EAAG,sBACHqB,EAAG,wBAELpB,kBAAmB,CACjB23D,IAAK,MACLt3D,oBAAqB,sBACrBC,qBAAsB,wBAExBmsC,qBAAsB,CACpBkrB,IAAK,MACLt3D,oBAAqB,cACrBC,qBAAsB,eAGxBe,oBAAqB,CACnBlB,EAAG,YACHL,EAAG,gBACHC,EAAG,uBACHqB,EAAG,+BAELE,SAAU,CACRq2D,IAAK,EACLt3D,oBAAqB,EACrBC,qBAAsB,GAExBY,2BAA4B,CAC1BkuG,UAAW,YACXz3C,IAAK,gBACLD,cAAe,gBACfr3D,oBAAqB,uBACrBC,qBAAsB,+BAExBa,2BAA4B,CAC1Bu2D,cAAe,MACf,uBAAwB,sBACxB,8BAAyB,wBAE3By3C,oCAAqC,CACnCC,UAAW,YACXz3C,IAAK,gBACLD,cAAe,gBACfnzD,YAAa,cACblE,oBAAqB,cACrBC,qBAAsB,kB","file":"static/js/main.0493e8e0.chunk.js","sourcesContent":["module.exports = {\r\n returnName: {\r\n 1: 'Celular',\r\n 2: 'Residencial',\r\n },\r\n returnNameForName: {\r\n Celular: 'Celular',\r\n Residencial: 'Residencial',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 0: 'Selecione',\r\n 1: 'Administrador',\r\n 2: 'Contratante',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 0: 'Selecione',\r\n 1: 'Consulta',\r\n 2: 'Alteração',\r\n },\r\n returnPermissaoForTipoPerfilUsuario: {\r\n ContratanteConsulta: 'Consulta',\r\n ContratanteAlteracao: 'Alteração',\r\n },\r\n returnTipoPerfilUsuarioForPermissao: {\r\n Consulta: 'ContratanteConsulta',\r\n Alteração: 'ContratanteAlteracao',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/imagem-login.ebc5911e.svg\";","module.exports = {\r\n returnNameForId: {\r\n 1: 'DEPENDENTE',\r\n 2: 'TITULAR',\r\n },\r\n returnIdForName: {\r\n DEPENDENTE: 1,\r\n TITULAR: 2,\r\n },\r\n returnIdForNameFormatted: {\r\n Dependente: 1,\r\n Titular: 2,\r\n },\r\n returnNameFormattedForId: {\r\n 1: 'Dependente',\r\n 2: 'Titular',\r\n },\r\n returnNameFormattedForName: {\r\n DEPENDENTE: 'Dependente',\r\n TITULAR: 'Titular',\r\n },\r\n returnNameForNameFormatted: {\r\n Dependente: 'DEPENDENTE',\r\n Titular: 'TITULAR',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'PendenteLiberacao',\r\n 2: 'Ativo',\r\n 3: 'Inativo',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Pendente de Liberacão',\r\n 2: 'Ativo',\r\n 3: 'Inativo',\r\n },\r\n returnId: {\r\n PendenteLiberacao: 1,\r\n Ativo: 2,\r\n Inativo: 3,\r\n },\r\n returnNameForName: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n },\r\n returnNameForTab: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Todas: 'Todas',\r\n },\r\n returnTabForName: {\r\n PendenteLiberacao: 'PendenteLiberacao',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n Todas: 'Todas',\r\n },\r\n returnNameFormattedForName: {\r\n PendenteLiberacao: 'Pendente de Liberacão',\r\n Ativo: 'Ativo',\r\n Inativo: 'Inativo',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/LAYREPAS_007_CONTRATANTE.b40e0386.txt\";","module.exports = __webpack_public_path__ + \"static/media/PlanilhaModeloCsv.d870bd4e.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/PlanilhaModeloNestlé.c4dd364b.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/TransferenciaModeloPadrao.97e7eae4.xlsx\";","module.exports = __webpack_public_path__ + \"static/media/unimed-fesp.63503fb1.png\";","module.exports = __webpack_public_path__ + \"static/media/orientacoes_documentos.fcd828a2.txt\";","module.exports = {\r\n returnNameForId: {\r\n 36: 'Demitidos',\r\n 38: 'Aposentados',\r\n },\r\n returnIdForName: {\r\n Demitidos: 36,\r\n Aposentados: 38,\r\n },\r\n returnIdForNameFormatted: {\r\n '36 - Demitidos': 36,\r\n '38 - Aposentados': 38,\r\n },\r\n returnNameFormattedForId: {\r\n 36: '36 - Demitidos',\r\n 38: '38 - Aposentados',\r\n },\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/ModeloPadrãoMassaInicial.04514af1.csv\";","module.exports = __webpack_public_path__ + \"static/media/OrientaçõesPreenchimentoMassaInicial.175b3acc.pdf\";","module.exports = __webpack_public_path__ + \"static/media/imagem-massa-inicial.873b19f1.svg\";","module.exports = __webpack_public_path__ + \"static/media/FespANS.3b227248.jpg\";","module.exports = {\r\n 1: 'Enviado',\r\n 2: 'Pendente',\r\n 3: 'Em_Exportacao',\r\n 4: 'ProcessadoErro',\r\n 5: 'ProcessadoSucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'ComErro' || 'ErroExportacao',\r\n 9: 'AguardandoDownload',\r\n 10: 'PendenteProcessamento',\r\n 11: 'ComErro' || 'ErroValidacao',\r\n 12: 'EmValidacao',\r\n 13: 'AguardandoDocumentos',\r\n 14: 'ProcessadaParcialmente',\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'ListaCriada',\r\n 2: 'UploadIniciado',\r\n 3: 'UploadFinalizado',\r\n 4: 'EmEsperaParaValidacao',\r\n 5: 'EmProcessamento',\r\n 6: 'EmProcessamento_LeituraDoArquivo',\r\n 7: 'EmProcessamento_RecuperandoInformacaoProgress',\r\n 8: 'EmProcessamento_ValidacaoDoArquivo',\r\n 9: 'EmProcessamento_ExecucaoDoArquivo',\r\n 10: 'ProcessamentoFinalizado',\r\n 11: 'ListaAntiga',\r\n 12: 'ErroExecucao',\r\n 13: 'EmEsperaParaProcessamento',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Lista criada',\r\n 2: 'Upload iniciado',\r\n 3: 'Upload finalizado',\r\n 4: 'Em Espera para validação',\r\n 5: 'Em validação',\r\n 6: 'Em validação: Leitura do arquivo',\r\n 7: 'Em validação: Recuperando informação progress',\r\n 8: 'Em validação: Validação do arquivo',\r\n 9: 'Em validação: Execução do arquivo',\r\n 10: 'Validação finalizada',\r\n 11: 'Lista Antiga',\r\n 12: 'Erro na validação da Lista',\r\n 13: 'Em Espera: Enviado para Processamento',\r\n },\r\n returnId: {\r\n ListaCriada: 1,\r\n UploadIniciado: 2,\r\n UploadFinalizado: 3,\r\n EmEsperaParaValidacao: 4,\r\n EmProcessamento: 5,\r\n EmProcessamento_LeituraDoArquivo: 6,\r\n EmProcessamento_RecuperandoInformacaoProgress: 7,\r\n EmProcessamento_ValidacaoDoArquivo: 8,\r\n EmProcessamento_ExecucaoDoArquivo: 9,\r\n ProcessamentoFinalizado: 10,\r\n ListaAntiga: 11,\r\n ErroExecucao: 12,\r\n EmEsperaParaProcessamento: 13,\r\n },\r\n};\r\n","module.exports = {\r\n returnNameFormatted: {\r\n 1: 'Inclusão',\r\n 2: 'Alteração',\r\n 3: 'Exclusão',\r\n 4: 'Transferência',\r\n },\r\n returnName: {\r\n 1: 'Inclusao',\r\n 2: 'Alteracao',\r\n 3: 'Exclusao',\r\n 4: 'Transferencia',\r\n 5: 'Lote',\r\n 6: 'Nestle',\r\n 7: 'Lote-csv',\r\n },\r\n returnIdForNameFormatted: {\r\n Inclusão: 1,\r\n Alteração: 2,\r\n Exclusão: 3,\r\n Transferência: 5,\r\n Inativos: 6,\r\n },\r\n returnIdForName: {\r\n Inclusao: 1,\r\n Alteracao: 2,\r\n Exclusao: 3,\r\n Transferencia: 4,\r\n Lote: 5,\r\n Nestle: 6,\r\n 'Lote-csv': 7,\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferencia: 'Transferencia',\r\n },\r\n returnNameFormatted: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferencia: 'Transferência',\r\n },\r\n returnNameForNameFormatted: {\r\n Lote: 'Lote',\r\n Manual: 'Manual',\r\n Transferência: 'Transferencia',\r\n },\r\n returnId: {\r\n Lote: 1,\r\n Manual: 2,\r\n Transferência: 3\r\n }\r\n};\r\n","module.exports = {\r\n Ready: 'Ready',\r\n InProgress: 'InProgress',\r\n Finished: 'Finished',\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Grupo ou Complemento',\r\n 2: 'Contratante',\r\n 3: 'Usuário Espelho',\r\n },\r\n\r\n returnNameFormatted: {\r\n 0: 'Selecione uma opção',\r\n 1: 'Grupo ou Complemento',\r\n 2: 'Contratante',\r\n },\r\n returnId: {\r\n 'Grupo ou Complemento': 1,\r\n Contratante: 2,\r\n },\r\n returnNameForName: {\r\n 'Grupo ou Complemento': 'Grupo ou Complemento',\r\n Contratante: 'Contratante',\r\n },\r\n returnIdForNameFormatted: {\r\n 'Selecione uma opção': 0,\r\n 'Grupo ou Complemento': 1,\r\n Contratante: 2,\r\n },\r\n\r\n returnPlaceHolderForName: {\r\n 'Grupo ou Complemento': 'Digite o código do grupo ou complemento',\r\n Contratante: 'Digite o código ou nome de contratante',\r\n 'Usuário Espelho': 'Digite o nome ou email do usuário espelho',\r\n },\r\n};\r\n","module.exports = {\r\n returnNameForName: {\r\n Contratante: 'ContratanteRoot',\r\n 'Grupo ou Complemento': 'GrupoRoot',\r\n },\r\n returnNameUIForNameAPI: {\r\n ContratanteRoot: 'Contratante',\r\n GrupoRoot: 'Grupo ou Complemento',\r\n },\r\n returnName: {\r\n 0: 'Contratante',\r\n 1: 'Grupo ou Complemento',\r\n },\r\n returnNameAPI: {\r\n 0: 'ContratanteRoot',\r\n 1: 'GrupoRoot',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Processar',\r\n 2: 'ComErros' || 'ErroCarga',\r\n 3: 'Reprocessar',\r\n 4: 'ComErros' || 'ErroImportacao',\r\n 5: 'Liberar' || 'LiberarRetorno',\r\n 6: 'PreVenda',\r\n 7: 'Alteracao',\r\n 8: 'PreVenda' || 'PreVendaAlteracao',\r\n 9: 'ImportacaoParcial',\r\n 10: 'Liberar' || 'LiberarRetornoParcial',\r\n 11: 'ComErros' || 'ErroLiberacao',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Processar',\r\n 2: 'Erro na carga',\r\n 3: 'Reprocessar',\r\n 4: 'Erro na importação',\r\n 5: 'Liberar retorno',\r\n 6: 'Pré-venda',\r\n 7: 'Alteração',\r\n 8: 'Pré-venda com alteração',\r\n 9: 'Importação parcial',\r\n 10: 'Liberar retorno parcial',\r\n 11: 'Erro de liberação',\r\n },\r\n returnId: {\r\n Processar: 1,\r\n ErroNaCarga: 2,\r\n Reprocessar: 3,\r\n ErroNaImportacao: 4,\r\n LiberarRetorno: 5,\r\n PreVenda: 6,\r\n Alteracao: 7,\r\n PreVendaComAlteracao: 8,\r\n ImportacaoParcial: 9,\r\n LiberarRetornoParcial: 10,\r\n ErroDeLiberacao: 11,\r\n },\r\n returnNameForName: {\r\n Processar: 'Processar',\r\n ErroNaCarga: 'ErroNaCarga',\r\n Reprocessar: 'Reprocessar',\r\n ErroNaImportacao: 'ErroNaImportacao',\r\n LiberarRetorno: 'LiberarRetorno',\r\n PreVenda: 'PreVenda',\r\n Alteracao: 'Alteracao',\r\n PreVendaComAlteracao: 'PreVendaComAlteracao',\r\n ImportacaoParcial: 'ImportacaoParcial',\r\n LiberarRetornoParcial: 'LiberarRetornoParcial',\r\n ErroDeLiberacao: 'ErroDeLiberacao',\r\n },\r\n returnNameForTab: {\r\n Todas: 0,\r\n Processar: 1,\r\n Reprocessar: 3,\r\n Liberar: [5, 10],\r\n Alteracao: 7,\r\n PreVenda: [6, 8],\r\n Importacao: 9,\r\n ComErros: [2, 4, 11],\r\n },\r\n returnTabForName: {\r\n Todas: 'Todas',\r\n Processar: 'Processar',\r\n Reprocessar: 'Reprocessar',\r\n Liberar: 'Liberar',\r\n Alteracao: 'Alteracao',\r\n PreVenda: 'PreVenda',\r\n Importacao: 'Importacao',\r\n ComErros: 'ComErros',\r\n },\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'AditivoReducaoCarencias',\r\n 2: 'BoletoPagamentoOperadoraAnterior',\r\n 3: 'CadastroPessoaFisica',\r\n 4: 'CartaProprioPunho',\r\n 5: 'CartaoNacionalSaude',\r\n 6: 'CarteiraConvenioOperadoraAnterior',\r\n 7: 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n 8: 'CertidaoCasamento',\r\n 9: 'CertidaoNascimento',\r\n 10: 'ComprovanteEndereco',\r\n 11: 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n 12: 'ComprovantePagamentoOperadoraAnterior',\r\n 13: 'DecisaoJudicial',\r\n 14: 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n 15: 'DeclaracaoFaculdadeAtualizada',\r\n 16: 'DeclaraçãoImpostoRenda',\r\n 17: 'DeclaracaoPermanenciaOperadoraAnterior',\r\n 18: 'DeclaracaoSaude',\r\n 19: 'DeclaracaoUniãoEstavel',\r\n 20: 'FichaFiliacaoEntidadeClasse',\r\n 21: 'LaudoINSS',\r\n 22: 'PropostaAdesao',\r\n 23: 'RegistroGeral',\r\n 24: 'RelatorioCompatibilidade',\r\n },\r\n returnNameFormatted: {\r\n 1: 'Aditivo de Redução de Carências',\r\n 2: 'Boleto de Pagamento da Operadora Anterior',\r\n 3: 'Cadastro de Pessoa Física',\r\n 4: 'Carta de próprio punho',\r\n 5: 'Cartão Nacional de Saúde',\r\n 6: 'Carteira Convênio da Operadora Anterior',\r\n 7: 'Carteira da Profissão vinculada à Entidade de Classe',\r\n 8: 'Certidão de casamento',\r\n 9: 'Certidão de nascimento',\r\n 10: 'Comprovante de Endereço',\r\n 11: 'Comprovante de Pagamento da Filiação à Entidade de Classe',\r\n 12: 'Comprovante de Pagamento Operadora Anterior',\r\n 13: 'Decisão judicial',\r\n 14: 'Declaração da Administradora/Entidade Comprovando Vinculo',\r\n 15: 'Declaração da faculdade atualizada',\r\n 16: 'Declaração de imposto de renda',\r\n 17: 'Declaração de Permanência da Operadora Anterior',\r\n 18: 'Declaração de Saúde',\r\n 19: 'Declaração de união estável',\r\n 20: 'Ficha de Filiação à Entidade de Classe',\r\n 21: 'Laudo INSS',\r\n 22: 'Proposta de Adesão',\r\n 23: 'Registro Geral',\r\n 24: 'Relatório de Compatibilidade',\r\n },\r\n returnId: {\r\n AditivoReducaoCarencias: 1,\r\n BoletoPagamentoOperadoraAnterior: 2,\r\n CadastroPessoaFisica: 3,\r\n CartaProprioPunho: 4,\r\n CartaoNacionalSaude: 5,\r\n CarteiraConvenioOperadoraAnterior: 6,\r\n CarteiraProfissaoVinculadaEntidadeClasse: 7,\r\n CertidaoCasamento: 8,\r\n CertidaoNascimento: 9,\r\n ComprovanteEndereco: 10,\r\n ComprovantePagamentoFiliacaoEntidadeClasse: 11,\r\n ComprovantePagamentoOperadoraAnterior: 12,\r\n DecisaoJudicial: 13,\r\n DeclaracaoAdministradoraEntidadeComprovandoVinculo: 14,\r\n DeclaracaoFaculdadeAtualizada: 15,\r\n DeclaraçãoImpostoRenda: 16,\r\n DeclaracaoPermanenciaOperadoraAnterior: 17,\r\n DeclaracaoSaude: 18,\r\n DeclaracaoUniãoEstavel: 19,\r\n FichaFiliacaoEntidadeClasse: 20,\r\n LaudoINSS: 21,\r\n PropostaAdesao: 22,\r\n RegistroGeral: 23,\r\n RelatorioCompatibilidade: 24,\r\n },\r\n returnNameForName: {\r\n AditivoReducaoCarencias: 'AditivoReducaoCarencias',\r\n BoletoPagamentoOperadoraAnterior: 'BoletoPagamentoOperadoraAnterior',\r\n CadastroPessoaFisica: 'CadastroPessoaFisica',\r\n CartaProprioPunho: 'CartaProprioPunho',\r\n CartaoNacionalSaude: 'CartaoNacionalSaude',\r\n CarteiraConvenioOperadoraAnterior: 'CarteiraConvenioOperadoraAnterior',\r\n CarteiraProfissaoVinculadaEntidadeClasse:\r\n 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n CertidaoCasamento: 'CertidaoCasamento',\r\n CertidaoNascimento: 'CertidaoNascimento',\r\n ComprovanteEndereco: 'ComprovanteEndereco',\r\n ComprovantePagamentoFiliacaoEntidadeClasse:\r\n 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n ComprovantePagamentoOperadoraAnterior:\r\n 'ComprovantePagamentoOperadoraAnterior',\r\n DecisaoJudicial: 'DecisaoJudicial',\r\n DeclaracaoAdministradoraEntidadeComprovandoVinculo:\r\n 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n DeclaracaoFaculdadeAtualizada: 'DeclaracaoFaculdadeAtualizada',\r\n DeclaraçãoImpostoRenda: 'DeclaraçãoImpostoRenda',\r\n DeclaracaoPermanenciaOperadoraAnterior:\r\n 'DeclaracaoPermanenciaOperadoraAnterior',\r\n DeclaracaoSaude: 'DeclaracaoSaude',\r\n DeclaracaoUniãoEstavel: 'DeclaracaoUniãoEstavel',\r\n FichaFiliacaoEntidadeClasse: 'FichaFiliacaoEntidadeClasse',\r\n LaudoINSS: 'LaudoINSS',\r\n PropostaAdesao: 'PropostaAdesao',\r\n RegistroGeral: 'RegistroGeral',\r\n RelatorioCompatibilidade: 'RelatorioCompatibilidade',\r\n },\r\n returnNamePorSigla: {\r\n ARC: 'AditivoReducaoCarencias',\r\n BPOA: 'BoletoPagamentoOperadoraAnterior',\r\n CPF: 'CadastroPessoaFisica',\r\n RDP: 'CartaProprioPunho',\r\n CNS: 'CartaoNacionalSaude',\r\n CCO: 'CarteiraConvenioOperadoraAnterior',\r\n CP: 'CarteiraProfissaoVinculadaEntidadeClasse',\r\n CC: 'CertidaoCasamento',\r\n CN: 'CertidaoNascimento',\r\n CE: 'ComprovanteEndereco',\r\n CPEC: 'ComprovantePagamentoFiliacaoEntidadeClasse',\r\n CPOA: 'ComprovantePagamentoOperadoraAnterior',\r\n DJ: 'DecisaoJudicial',\r\n CV: 'DeclaracaoAdministradoraEntidadeComprovandoVinculo',\r\n DFA: 'DeclaracaoFaculdadeAtualizada',\r\n DIR: 'DeclaraçãoImpostoRenda',\r\n DPO: 'DeclaracaoPermanenciaOperadoraAnterior',\r\n DS: 'DeclaracaoSaude',\r\n DUE: 'DeclaracaoUniãoEstavel',\r\n FF: 'FichaFiliacaoEntidadeClasse',\r\n LI: 'LaudoINSS',\r\n PA: 'PropostaAdesao',\r\n RG: 'RegistroGeral',\r\n RCA: 'RelatorioCompatibilidade',\r\n CCOA: 'CarteiraConvenioOperadoraAnterior',\r\n CCA: 'CONTRATO',\r\n HOL: 'holerites',\r\n TRES: 'TermoRescisao',\r\n CARCON: 'CartaConcessaoINSS',\r\n },\r\n returnNameFormattedPorSigla: {\r\n ARC: 'Aditivo de Redução de Carências',\r\n BPOA: 'Boleto de Pagamento da Operadora Anterior',\r\n CPF: 'Cadastro de Pessoa Física',\r\n RDP: 'Carta de próprio punho',\r\n CNS: 'Cartão Nacional de Saúde',\r\n CCO: 'Carteira Convênio da Operadora Anterior',\r\n CP: 'Carteira da Profissão vinculada à Entidade de Classe',\r\n CC: 'Certidão de casamento',\r\n CN: 'Certidão de nascimento',\r\n CE: 'Comprovante de Endereço',\r\n CPEC: 'Comprovante de Pagamento da Filiação à Entidade de Classe',\r\n CPOA: 'Comprovante de Pagamento Operadora Anterior',\r\n DJ: 'Decisão judicial',\r\n CV: 'Declaração da Administradora/Entidade Comprovando Vinculo',\r\n DFA: 'Declaração da faculdade atualizada',\r\n DIR: 'Declaração de imposto de renda',\r\n DPOA: 'Declaração de Permanência da Operadora Anterior',\r\n DS: 'Declaração de Saúde',\r\n DUE: 'Declaração de união estável',\r\n FF: 'Ficha de Filiação à Entidade de Classe',\r\n LI: 'Laudo INSS',\r\n PA: 'Proposta de Adesão',\r\n RG: 'Registro Geral',\r\n RCA: 'Relatório de Compatibilidade',\r\n CCOA: 'Carteira Convênio da Operadora Anterior',\r\n CCA: 'CONTRATO (carimbado e assinado)',\r\n HOL: '03 últimos holerites e/ou comprovação de contribuição',\r\n TRES: 'Termo de rescisão',\r\n CARCON: 'Carta de Concessão do INSS',\r\n },\r\n};\r\n","module.exports = {\r\n returnNameForId: {\r\n 1: 'Validacao',\r\n 2: 'Processamento',\r\n },\r\n returnIdForName: {\r\n Validacao: 1,\r\n Processamento: 2,\r\n },\r\n};\r\n","module.exports = {\r\n returnDescricao: {\r\n FinalizacaoRelatorioBeneficiarios:\r\n 'Finalização de Relatório de Beneficiários',\r\n AlteracaoListaStatusAguardandoDocumentos:\r\n 'Alteração de Status de Lista Para Aguardando Documentos',\r\n AlteracaoListaStatusAguardandoDownload:\r\n 'Alteração de Status de Lista Para Aguardando Download',\r\n AlteracaoListaStatusEmAnaliseDocumentacao:\r\n 'Alteração de Status de Lista Para Em Análise de Documentação',\r\n AlteracaoListaStatusEmValidacao:\r\n 'Alteração de Status de Lista Para Em Validação',\r\n AlteracaoListaStatusProcessadoErro:\r\n \"Alteração de Status de Lista Para 'Processado Com Erro'\",\r\n AlteracaoListaStatusErroValidacao:\r\n \"Alteração de Status de Lista Para 'Erro de Validação'\",\r\n AlteracaoListaStatusExcluida:\r\n \"Alteração de Status de Lista Para 'Excluída'\",\r\n AlteracaoListaStatusPendente:\r\n \"Alteração de Status de Lista Para 'Pendente de Envio'\",\r\n AlteracaoListaStatusPendenteProcessamento:\r\n \"Alteração de Status de Lista Para 'Pendente de Processamento'\",\r\n AlteracaoListaStatusProcessadoSucesso:\r\n \"Alteração de Status de Lista Para 'Processado Com Sucesso'\",\r\n AlteracaoListaStatusProcessadaParcialmente:\r\n \"Alteração de Status de Lista Para 'Processada Parcialmente'\",\r\n ErroGeracaoRelatorioBeneficiarios:\r\n 'Erro na geração do relatório de beneficiários',\r\n },\r\n returnIdForName: {\r\n FinalizacaoRelatorioBeneficiarios: 1,\r\n AlteracaoListaStatusAguardandoDocumentos: 2,\r\n AlteracaoListaStatusAguardandoDownload: 3,\r\n AlteracaoListaStatusEmAnaliseDocumentacao: 4,\r\n AlteracaoListaStatusEmValidacao: 5,\r\n AlteracaoListaStatusProcessadoErro: 6,\r\n AlteracaoListaStatusErroValidacao: 7,\r\n AlteracaoListaStatusExcluida: 8,\r\n AlteracaoListaStatusPendente: 9,\r\n AlteracaoListaStatusPendenteProcessamento: 10,\r\n AlteracaoListaStatusProcessadoSucesso: 11,\r\n AlteracaoListaStatusProcessadaParcialmente: 13,\r\n ErroGeracaoRelatorioBeneficiarios: 14,\r\n },\r\n returnIdForDescription: {\r\n 'Finalização de Relatório de Beneficiários': 1,\r\n 'Alteração de Status de Lista Para Aguardando Documentos': 2,\r\n 'Alteração de Status de Lista Para Aguardando Download': 3,\r\n 'Alteração de Status de Lista Para Em Análise de Documentação': 4,\r\n 'Alteração de Status de Lista Para Em Validação': 5,\r\n \"Alteração de Status de Lista Para 'Processado Com Erro'\": 6,\r\n \"Alteração de Status de Lista Para 'Erro de Validação'\": 7,\r\n \"Alteração de Status de Lista Para 'Excluída'\": 8,\r\n \"Alteração de Status de Lista Para 'Pendente de Envio'\": 9,\r\n \"Alteração de Status de Lista Para 'Pendente de Processamento'\": 10,\r\n \"Alteração de Status de Lista Para 'Processado Com Sucesso'\": 11,\r\n \"Alteração de Status de Lista Para 'Processada Parcialmente'\": 13,\r\n 'Erro na geração do relatório de beneficiários': 14,\r\n },\r\n returnDescriptionPorId: {\r\n 1: 'Finalização de Relatório de Beneficiários',\r\n 2: 'Alteração de Status de Lista Para Aguardando Documentos',\r\n 3: 'Alteração de Status de Lista Para Aguardando Download',\r\n 4: 'Alteração de Status de Lista Para Em Análise de Documentação',\r\n 5: 'Alteração de Status de Lista Para Em Validação',\r\n 6: \"Alteração de Status de Lista Para 'Processado Com Erro'\",\r\n 7: \"Alteração de Status de Lista Para 'Erro de Validação'\",\r\n 8: \"Alteração de Status de Lista Para 'Excluída'\",\r\n 9: \"Alteração de Status de Lista Para 'Pendente de Envio'\",\r\n 10: \"Alteração de Status de Lista Para 'Pendente de Processamento'\",\r\n 11: \"Alteração de Status de Lista Para 'Processado Com Sucesso'\",\r\n 13: \"Alteração de Status de Lista Para 'Processada Parcialmente'\",\r\n 14: 'Erro na geração do relatório de beneficiários',\r\n },\r\n};\r\n","export const allFalse = (array) => {\r\n return array.every((element) => !element);\r\n};\r\n\r\nexport const someFalse = (array) => {\r\n return array.some((element) => !element);\r\n};\r\n\r\nexport const someTrue = (array) => {\r\n return array.some((element) => element);\r\n};\r\n\r\nexport const groupBy = (array, property) =>\r\n array.reduce((acc, obj) => {\r\n const key = obj[property];\r\n if (!acc[key]) {\r\n acc[key] = [];\r\n }\r\n acc[key].push(obj);\r\n return acc;\r\n }, {});\r\n\r\nexport const mostFrequentItem = (array) => {\r\n if (array.length === 0) return null;\r\n const modeMap = {};\r\n let maxCount = 1;\r\n let modes = [];\r\n\r\n for (let i = 0; i < array.length; i++) {\r\n const el = array[i];\r\n\r\n if (modeMap[el] == null) modeMap[el] = 1;\r\n else modeMap[el]++;\r\n\r\n if (modeMap[el] > maxCount) {\r\n modes = [el];\r\n maxCount = modeMap[el];\r\n } else if (modeMap[el] === maxCount) {\r\n modes.push(el);\r\n maxCount = modeMap[el];\r\n }\r\n }\r\n return modes;\r\n};\r\n\r\nexport const getOccurrence = (array, predicate) => {\r\n return array.filter(predicate).length;\r\n};\r\n\r\nexport const sortObjsArrayByAttribute = (array, attribute, isAsc) => {\r\n return array.slice().sort((a, b) => {\r\n const value1 =\r\n typeof a[attribute] === 'string'\r\n ? a[attribute].toLowerCase()\r\n : a[attribute];\r\n const value2 =\r\n typeof b[attribute] === 'string'\r\n ? b[attribute].toLowerCase()\r\n : b[attribute];\r\n\r\n return isAsc\r\n ? (value1 > value2) - (value1 < value2)\r\n : (value1 < value2) - (value1 > value2);\r\n });\r\n};\r\n\r\nexport const getMinAndMaxValueObjs = (array, attribute) => {\r\n let lowest = Number.POSITIVE_INFINITY;\r\n let highest = Number.NEGATIVE_INFINITY;\r\n let tmp;\r\n for (let i = array.length - 1; i >= 0; i--) {\r\n tmp = array[i];\r\n if (tmp[attribute] < lowest) lowest = tmp;\r\n if (tmp[attribute] > highest) highest = tmp;\r\n }\r\n\r\n return [lowest, highest];\r\n};\r\n\r\nexport const uniqueByMultipleKeys = (arr, keyProps) => {\r\n const kvArray = arr.map((entry) => {\r\n const key = keyProps.map((k) => entry[k]).join('|');\r\n return [key, entry];\r\n });\r\n const map = new Map(kvArray);\r\n return Array.from(map.values());\r\n};\r\n\r\nexport const checkIfArrContainsAllElements = (arr, target) =>\r\n target.every((v) => arr.includes(v));\r\n\r\nexport const FirstOrDefault = (array) => {\r\n return array ? array[0] : [];\r\n};\r\n\r\nexport const LastOrDefault = (array) => {\r\n return array ? array[array.length - 1] : [];\r\n};\r\n\r\nexport function getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () =>\r\n resolve(reader.result.substr(reader.result.indexOf(',') + 1));\r\n reader.onerror = (error) => reject(error);\r\n });\r\n}\r\n\r\nexport function getDifferenceBetween(arrayOne, keyOne, arrayTwo, keyTwo) {\r\n return arrayOne.filter(\r\n ({ [keyOne]: id1 }) => !arrayTwo.some(({ [keyTwo]: id2 }) => id2 === id1)\r\n );\r\n}\r\n\r\nexport const toBase64 = (item) => {\r\n const buff = Buffer.from(JSON.stringify(item));\r\n return buff.toString('base64');\r\n};\r\nexport const toJsonFromBase64 = (base64) => {\r\n const decode = Buffer.from(base64, 'base64');\r\n return decode.toString('ascii');\r\n};\r\n","module.exports = {\r\n returnName: {\r\n 1: 'Enviado',\r\n 2: 'Pendente',\r\n 3: 'Em_Exportacao',\r\n 4: 'ProcessadoErro',\r\n 5: 'ProcessadoSucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'ComErro' || 'ErroExportacao',\r\n 9: 'EmEspera' || 'AguardandoDownload',\r\n 10: 'Pendente' || 'PendenteProcessamento',\r\n 11: 'ComErro' || 'ErroValidacao',\r\n 12: 'EmValidacao',\r\n 13: 'EmEspera' || 'AguardandoDocumentos',\r\n 14: 'ProcessadaParcialmente',\r\n 15: 'Registrada',\r\n 16: 'EmAnalisedeDocumentacao',\r\n },\r\n\r\n returnNameFormatted: {\r\n 1: 'Enviado',\r\n 2: 'Pendente de Envio',\r\n 3: 'Em Exportacão',\r\n 4: 'Erro de Processamento',\r\n 5: 'Processada c/ Sucesso',\r\n 6: 'Reenviado',\r\n 7: 'Excluida',\r\n 8: 'Erro ao Exportar',\r\n 9: 'Aguardando Download',\r\n 10: 'Pendente de Processamento',\r\n 11: 'Erro de Validação',\r\n 12: 'Em Validação',\r\n 13: 'Aguardando Documentos',\r\n 14: 'Processada parcialmente',\r\n 15: 'Registrada',\r\n 16: 'Em Análise de Documentação',\r\n },\r\n returnId: {\r\n Enviado: 1,\r\n PendentedeEnvio: 2,\r\n EmExportacao: 3,\r\n ErrodeProcessamento: 4,\r\n ProcessadoSucesso: 5,\r\n Reenviado: 6,\r\n Excluida: 7,\r\n ErroExportacao: 8,\r\n AguardandoDownload: 9,\r\n PendenteProcessamento: 10,\r\n ErroValidacao: 11,\r\n EmValidacao: 12,\r\n AguardandoDocumentos: 13,\r\n ProcessadaParcialmente: 14,\r\n Registrada: 15,\r\n EmAnalisedeDocumentacao: 16,\r\n },\r\n returnNameForName: {\r\n Enviado: 'Enviado',\r\n PendentedeEnvio: 'PendentedeEnvio',\r\n EmExportacao: 'EmExportacao',\r\n ErrodeProcessamento: 'ErrodeProcessamento',\r\n ProcessadoSucesso: 'ProcessadoSucesso',\r\n Reenviado: 'Reenviado',\r\n Excluida: 'Excluida',\r\n ErroExportacao: 'ErroExportacao',\r\n AguardandoDownload: 'AguardandoDownload',\r\n PendenteProcessamento: 'PendenteProcessamento',\r\n ComErro: 'ErroValidacao',\r\n EmValidacao: 'EmValidacao',\r\n AguardandoDocumentos: 'AguardandoDocumentos',\r\n ProcessadaParcialmente: 'ProcessadaParcialmente',\r\n Registrada: 'Registrada',\r\n EmAnalisedeDocumentacao: 'Em Análise de Documentação',\r\n },\r\n returnNameForTab: {\r\n Todas: 0,\r\n // Registrada: [1, 15],\r\n // Enviado: 1,\r\n EmValidacao: 12,\r\n Pendente: [2, 10],\r\n EmEspera: [3, 9, 13],\r\n Processada: [5, 14],\r\n ComErro: [4, 8, 11],\r\n Excluida: 7,\r\n // Reenviado: 6,\r\n },\r\n returnTabForName: {\r\n Todas: 'Todas',\r\n Registrada: 'Registrada',\r\n EmValidacao: 'EmValidacao',\r\n Pendente: 'Pendente',\r\n EmEspera: 'EmEspera',\r\n // Enviado: 'Enviado',\r\n Processada: 'Processada',\r\n ComErro: 'ComErro',\r\n Excluida: 'Excluida',\r\n },\r\n};\r\n","import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;\r\n","export const setTabContentPorStatus = (objResponse, StatusEnum, draft) => {\r\n objResponse.map((obj) => {\r\n const StatusLista = StatusEnum[obj.status];\r\n\r\n if (draft[StatusLista]) {\r\n draft[StatusLista].size = obj.total;\r\n draft[StatusLista].data = obj.data;\r\n draft[StatusLista].pageNumber = obj.pageNumber;\r\n draft[StatusLista].pageSize = obj.pageSize;\r\n draft[StatusLista].nextPage = obj.nextPage;\r\n draft[StatusLista].previousPage = obj.previousPage;\r\n draft[StatusLista].totalPages = Math.ceil(obj.total / obj.pageSize);\r\n }\r\n });\r\n};\r\n\r\nexport const setTabContentPorStatusSingleObj = (\r\n objResponse,\r\n StatusEnum,\r\n draft\r\n) => {\r\n const StatusLista = StatusEnum[objResponse.status];\r\n\r\n if (draft[StatusLista]) {\r\n draft[StatusLista].size = objResponse.total;\r\n draft[StatusLista].data = objResponse.data;\r\n draft[StatusLista].pageNumber = objResponse.pageNumber;\r\n draft[StatusLista].pageSize = objResponse.pageSize;\r\n draft[StatusLista].nextPage = objResponse.nextPage;\r\n draft[StatusLista].previousPage = objResponse.previousPage;\r\n draft[StatusLista].totalPages = Math.ceil(\r\n objResponse.total / objResponse.pageSize\r\n );\r\n }\r\n};\r\n","import produce from 'immer';\r\nimport { isError } from 'lodash';\r\nimport {\r\n StatusListaAPIEnum,\r\n StatusListaRPAEnum,\r\n UploadeProgressEnum,\r\n} from '../../enums';\r\nimport history from '../../services/history';\r\nimport { getDifferenceBetween } from '../../utils/array';\r\nimport {\r\n setTabContentPorStatus,\r\n setTabContentPorStatusSingleObj,\r\n setTabContentSingleObj,\r\n} from '../../utils/setTabContentPorStatus';\r\n\r\nexport const Types = {\r\n DELETE_LISTA_CSV_REQUEST: '@lista/DELETE_LISTA_CSV_REQUEST',\r\n GET_ARQUIVO_LOTE_ORIGINAL_REQUEST: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_REQUEST',\r\n GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS',\r\n GET_ARQUIVO_LOTE_ORIGINAL_ERROR: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_ERROR',\r\n GET_ARQUIVO_LOTE_ORIGINAL_RENEW: '@lista/GET_ARQUIVO_LOTE_ORIGINAL_RENEW',\r\n POST_IMPORTAR_LOTE_CSV_REQUEST: '@lista/POST_IMPORTAR_LOTE_CSV_REQUEST',\r\n POST_IMPORTAR_LOTE_CSV_SUCCESS: '@lista/POST_IMPORTAR_LOTE_CSV_SUCCESS',\r\n POST_VALIDAR_LOTE_CSV_REQUEST: '@lista/POST_VALIDAR_LOTE_CSV_REQUEST',\r\n POST_RELATORIO_RESUMIDO_NOVO_REQUEST:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_REQUEST',\r\n POST_RELATORIO_RESUMIDO_NOVO_SUCCESS:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_SUCCESS',\r\n POST_RELATORIO_RESUMIDO_NOVO_ERROR:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_ERROR',\r\n POST_RELATORIO_RESUMIDO_NOVO_RENEW:\r\n '@lista/POST_RELATORIO_RESUMIDO_NOVO_RENEW',\r\n POST_RELATORIO_DETALHADO_NOVO_REQUEST:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_REQUEST',\r\n POST_RELATORIO_DETALHADO_NOVO_SUCCESS:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_SUCCESS',\r\n POST_RELATORIO_DETALHADO_NOVO_ERROR:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_ERROR',\r\n POST_RELATORIO_DETALHADO_NOVO_RENEW:\r\n '@lista/POST_RELATORIO_DETALHADO_NOVO_RENEW',\r\n POST_SEARCH_LIST_RPA_REQUEST: '@lista/POST_SEARCH_LIST_RPA_REQUEST',\r\n POST_SEARCH_LIST_RPA_RESPONSE: '@lista/POST_SEARCH_LIST_RPA_RESPONSE',\r\n GET_STATUS_LIST_RPA_REQUEST: '@lista/GET_STATUS_LIST_RPA_REQUEST',\r\n GET_STATUS_LIST_RPA_RESPONSE: '@lista/GET_STATUS_LIST_RPA_RESPONSE',\r\n POST_SEARCH_LIST_REQUEST: '@lista/POST_SEARCH_LIST_REQUEST',\r\n POST_SEARCH_LIST_RESPONSE: '@lista/POST_SEARCH_LIST_RESPONSE',\r\n GET_STATUS_LIST_CONTRATANTE_REQUEST:\r\n '@lista/GET_STATUS_LIST_CONTRATANTE_REQUEST',\r\n GET_STATUS_LIST_CONTRATANTE_RESPONSE:\r\n '@lista/GET_STATUS_LIST_CONTRATANTE_RESPONSE',\r\n GET_STATUS_LIST_ADMIN_REQUEST: '@lista/GET_STATUS_LIST_ADMIN_REQUEST',\r\n GET_STATUS_LIST_ADMIN_RESPONSE: '@lista/GET_STATUS_LIST_ADMIN_RESPONSE',\r\n GET_STATUS_LIST_NESTLE_REQUEST: '@lista/GET_STATUS_LIST_NESTLE_REQUEST',\r\n GET_STATUS_LIST_NESTLE_RESPONSE: '@lista/GET_STATUS_LIST_NESTLE_RESPONSE',\r\n POST_LISTA_INATIVAS_REQUEST: '@lista/POST_LISTA_INATIVAS_REQUEST',\r\n POST_LISTA_INATIVAS_RESPONSE: '@lista/POST_LISTA_INATIVAS_RESPONSE',\r\n PUT_LISTA_INATIVAS_REQUEST: '@lista/PUT_LISTA_INATIVAS_REQUEST',\r\n PUT_LISTA_INATIVAS_RESPONSE: '@lista/PUT_LISTA_INATIVAS_RESPONSE',\r\n GET_LISTA_INATIVAS_REQUEST: '@lista/GET_LISTA_INATIVAS_REQUEST',\r\n GET_LISTA_INATIVAS_RESPONSE: '@lista/GET_LISTA_INATIVAS_RESPONSE',\r\n GET_LISTA_BENEFICIARIOS_RENEW: '@lista/GET_LISTA_BENEFICIARIOS_RENEW',\r\n GET_LISTA_BENEFICIARIOS_REQUEST: '@lista/GET_LISTA_BENEFICIARIOS_REQUEST',\r\n GET_LISTA_BENEFICIARIOS_RESPONSE: '@lista/GET_LISTA_BENEFICIARIOS_RESPONSE',\r\n GET_GRUPO_FAMILIAR_REQUEST: '@lista/GET_GRUPO_FAMILIAR_REQUEST',\r\n GET_GRUPO_FAMILIAR_RESPONSE: '@lista/GET_GRUPO_FAMILIAR_RESPONSE',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS',\r\n POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR:\r\n '@lista/POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR',\r\n CHECK_BENEFICIARIO_INATIVOS: '@lista/CHECK_BENEFICIARIO_INATIVOS',\r\n SET_BENEFICIARIOS_SUCCESS: '@lista/SET_BENEFICIARIOS_SUCCESS',\r\n SET_LISTA_FAMILIAR_REQUEST: '@lista/SET_LISTA_FAMILIAR_REQUEST',\r\n POST_LISTA_FAMILIAR_REQUEST: '@lista/POST_LISTA_FAMILIAR_REQUEST',\r\n POST_LISTA_FAMILIAR_RESPONSE: '@lista/POST_LISTA_FAMILIAR_RESPONSE',\r\n GET_RELATORIO_RPA_REQUEST: '@lista/GET_RELATORIO_RPA_REQUEST',\r\n GET_RELATORIO_RPA_SUCCESS: '@lista/GET_RELATORIO_RPA_SUCCESS',\r\n GET_RELATORIO_RPA_ERROR: '@lista/GET_RELATORIO_RPA_ERROR',\r\n GET_RELATORIO_RPA_RENEW: '@lista/GET_RELATORIO_RPA_RENEW',\r\n GET_LISTAS_REQUEST: '@lista/GET_LISTAS_REQUEST',\r\n GET_LISTAS_SUCCESS: '@lista/GET_LISTAS_SUCCESS',\r\n GET_LISTAS_ERROR: '@lista/GET_LISTAS_ERROR',\r\n GET_LISTAS_POR_STATUS_REQUEST: '@lista/GET_LISTAS_POR_STATUS_REQUEST',\r\n GET_LISTAS_POR_STATUS_SUCCESS: '@lista/GET_LISTAS_POR_STATUS_SUCCESS',\r\n GET_LISTAS_POR_STATUS_ERROR: '@lista/GET_LISTAS_POR_STATUS_ERROR',\r\n GET_LISTAS_RPA_REQUEST: '@listasRPA/GET_LISTAS_RPA_REQUEST',\r\n GET_LISTAS_RPA_SUCCESS: '@listasRPA/GET_LISTAS_RPA_SUCCESS',\r\n GET_LISTAS_RPA_ERROR: '@listasRPA/GET_LISTAS_ERROR',\r\n GET_LISTA_DETALHE_REQUEST: '@listas/GET_LISTA_DETALHE_REQUEST',\r\n GET_LISTA_DETALHE_SUCCESS: '@listas/GET_LISTA_DETALHE_SUCCESS',\r\n GET_LISTA_DETALHE_ERROR: '@listas/GET_LISTA_DETALHE_ERROR',\r\n GET_LISTA_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_REQUEST',\r\n GET_LISTA_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_ERROR',\r\n GET_LISTA_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_LISTAS_MASSA_INICIAL_SUCCESS',\r\n GET_ARQUIVO_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_REQUEST',\r\n GET_ARQUIVO_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_ERROR',\r\n GET_ARQUIVO_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_ARQUIVO_MASSA_INICIAL_SUCCESS',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR',\r\n GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS:\r\n '@listasMassaInicial/GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS',\r\n POST_ARQUIVO_MASSA_INICIAL_REQUEST:\r\n '@lista/POST_ARQUIVO_MASSA_INICIAL_REQUEST',\r\n POST_ARQUIVO_MASSA_INICIAL_SUCCESS:\r\n '@lista/POST_ARQUIVO_MASSA_INICIAL_SUCCESS',\r\n POST_ARQUIVO_MASSA_INICIAL_ERROR: '@lista/POST_ARQUIVO_MASSA_INICIAL_ERROR',\r\n POST_ARQUIVO_MASSA_INICIAL_RENEW: '@lista/POST_ARQUIVO_MASSA_INICIAL_RENEW',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR',\r\n PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW:\r\n '@lista/PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW',\r\n GET_LISTAS_RPA_POR_STATUS_REQUEST: '@lista/GET_LISTAS_RPA_POR_STATUS_REQUEST',\r\n GET_LISTAS_RPA_POR_STATUS_SUCCESS: '@lista/GET_LISTAS_RPA_POR_STATUS_SUCCESS',\r\n GET_LISTAS_RPA_POR_STATUS_ERROR: '@lista/GET_LISTAS_RPA_POR_STATUS_ERROR',\r\n POST_ARQUIVO_IMPORTACAO_REQUEST: '@lista/POST_ARQUIVO_IMPORTACAO_REQUEST',\r\n POST_ARQUIVO_IMPORTACAO_SUCCESS: '@lista/POST_ARQUIVO_IMPORTACAO_SUCCESS',\r\n POST_ARQUIVO_IMPORTACAO_ERROR: '@lista/POST_ARQUIVO_IMPORTACAO_ERROR',\r\n IMPORTAR_LOTE_REQUEST: '@lista/IMPORTAR_LOTE_REQUEST',\r\n IMPORTAR_LOTE_RENEW: '@lista/IMPORTAR_LOTE_RENEW',\r\n IMPORTAR_LOTE_UPDATE: '@lista/IMPORTAR_LOTE_UPDATE',\r\n IMPORTAR_LOTE_UPDATE_PROGRESS: '@lista/IMPORTAR_LOTE_UPDATE_PROGRESS',\r\n IMPORTAR_LOTE_UPDATE_STATUS: '@lista/IMPORTAR_LOTE_UPDATE_STATUS',\r\n IMPORTAR_LOTE_UPDATE_FILES: '@lista/IMPORTAR_LOTE_UPDATE_FILES',\r\n IMPORTAR_LOTE_SUCCESS: '@lista/IMPORTAR_LOTE_SUCCESS',\r\n IMPORTAR_LOTE_LOG_ERROR: '@lista/IMPORTAR_LOTE_LOG_ERROR',\r\n IMPORTAR_LOTE_LOG_ERROR_RENEW: '@lista/IMPORTAR_LOTE_LOG_ERROR_RENEW',\r\n IMPORTAR_LOTE_ERROR: '@lista/IMPORTAR_LOTE_ERROR',\r\n IMPORTAR_LOTE_NESTLE_REQUEST: '@lista/IMPORTAR_LOTE_NESTLE_REQUEST',\r\n PUT_LISTAS_REQUEST: '@lista/PUT_LISTAS_REQUEST',\r\n PUT_LISTAS_RENEW: '@lista/PUT_LISTAS_RENEW',\r\n PUT_LISTAS_SUCCESS: '@lista/PUT_LISTAS_SUCCESS',\r\n PUT_LISTAS_ERROR: '@lista/PUT_LISTAS_ERROR',\r\n PATCH_LISTA_STATUS_REQUEST: '@lista/PATCH_LISTA_STATUS_REQUEST',\r\n PATCH_LISTA_STATUS_RENEW: '@lista/PATCH_LISTA_STATUS_RENEW',\r\n PACTH_LISTA_STATUS_SUCCESS: '@lista/PACTH_LISTA_STATUS_SUCCESS',\r\n PATCH_LISTA_STATUS_ERROR: '@lista/PATCH_LISTA_STATUS_ERROR',\r\n PATCH_LISTA_ENVIO_RPA_REQUEST: '@lista/PATCH_LISTA_ENVIO_RPA_REQUEST',\r\n PATCH_LISTA_ENVIO_RPA_SUCCESS: '@lista/PATCH_LISTA_ENVIO_RPA_SUCCESS',\r\n PATCH_LISTA_ENVIO_RPA_ERROR: '@lista/PATCH_LISTA_ENVIO_RPA_ERROR',\r\n PATCH_LISTA_ENVIO_RPA_RENEW: '@lista/PATCH_LISTA_ENVIO_RPA_RENEW',\r\n PATCH_STATUS_RPA_REQUEST: '@listasRPA/PATCH_STATUS_RPA_REQUEST',\r\n PATCH_STATUS_RPA_SUCCESS: '@listasRPA/PATCH_STATUS_RPA_SUCCESS',\r\n PATCH_STATUS_RPA_ERROR: '@listasRPA/PATCH_STATUS_RPA_ERROR',\r\n PATCH_STATUS_RPA_RENEW: '@listasRPA/PATCH_STATUS_RPA_RENEW',\r\n DELETE_LISTA_REQUEST: '@lista/DELETE_LISTA_REQUEST',\r\n DELETE_LISTA_SUCCESS: '@lista/DELETE_LISTA_SUCCESS',\r\n DELETE_LISTA_RENEW: '@lista/DELETE_LISTA_RENEW',\r\n DELETE_LISTA_ERROR: '@lista/DELETE_LISTA_ERROR',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR',\r\n PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW:\r\n '@lista/PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n uploadLoading: false,\r\n getRelatorioLista: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getArquivoOriginalLote: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n listas: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n totalCount: 0,\r\n totalPages: 0,\r\n pageNumber: 0,\r\n pageSize: 0,\r\n data: [],\r\n },\r\n },\r\n listasRpa: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n totalCount: 0,\r\n totalPages: 0,\r\n pageNumber: 0,\r\n pageSize: 0,\r\n data: [],\r\n },\r\n },\r\n error: null,\r\n response: [],\r\n beneficiario: [],\r\n statusLists: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n availables: [],\r\n actives: [],\r\n },\r\n },\r\n postSalvarBeneficiarioInativos: {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n error: null,\r\n },\r\n postPesquisaBeneficiario: {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n },\r\n grupoFamiliar: [],\r\n loadFamiliar: false,\r\n success: false,\r\n isError: false,\r\n details: false,\r\n create: false,\r\n putListas: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n patchListaStatus: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n postArquivoImportacao: {\r\n success: false,\r\n isError: false,\r\n response: [],\r\n loading: false,\r\n },\r\n unsuccessResponse: '',\r\n // success: false,\r\n postImportarLoteCsv: {\r\n loading: false,\r\n success: false,\r\n },\r\n postImportarLote: {\r\n loading: false,\r\n tipoMovimentacao: '',\r\n files: [],\r\n success: false,\r\n isPartialSuccess: false,\r\n isError: false,\r\n error: '',\r\n logError: [],\r\n },\r\n getListas: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processada: { data: [], size: 0 },\r\n Registrada: { data: [], size: 0 },\r\n Pendente: { data: [], size: 0 },\r\n EmValidacao: { data: [], size: 0 },\r\n EmEspera: { data: [], size: 0 },\r\n ComErro: { data: [], size: 0 },\r\n Excluida: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n deleteLista: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchListaEnvioRPA: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getListasRPA: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processar: { data: [], size: 0 },\r\n Reprocessar: { data: [], size: 0 },\r\n Liberar: { data: [], size: 0 },\r\n Alteracao: { data: [], size: 0 },\r\n PreVenda: { data: [], size: 0 },\r\n Importacao: { data: [], size: 0 },\r\n ComErros: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n patchStatusRPA: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postListaTransferencia: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getRelatorioRPA: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getListaDetalhe: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchValidacaoListaTransferencia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getListaMassaInicial: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: {\r\n data: [],\r\n size: 0,\r\n },\r\n },\r\n error: null,\r\n },\r\n getArquivoMassaInicial: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n },\r\n MassaInicial: {\r\n post: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n idLista: null,\r\n },\r\n patch: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n },\r\n};\r\n\r\nexport default function lista(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST: {\r\n draft.getArquivoOriginalLote.loading = true;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_RENEW: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.success = false;\r\n draft.getArquivoOriginalLote.response = {};\r\n draft.getArquivoOriginalLote.unsuccessResponse = [];\r\n draft.getArquivoOriginalLote.error = null;\r\n draft.getArquivoOriginalLote.isError = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.response = action.payload.response;\r\n draft.getArquivoOriginalLote.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_LOTE_ORIGINAL_ERROR: {\r\n draft.getArquivoOriginalLote.loading = false;\r\n draft.getArquivoOriginalLote.isError = true;\r\n draft.getArquivoOriginalLote.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_REQUEST: {\r\n draft.getRelatorioLista.loading = true;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_RENEW: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.success = false;\r\n draft.getRelatorioLista.response = {};\r\n draft.getRelatorioLista.unsuccessResponse = [];\r\n draft.getRelatorioLista.error = null;\r\n draft.getRelatorioLista.isError = false;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_SUCCESS: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.response = action.payload.response;\r\n draft.getRelatorioLista.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_RESUMIDO_NOVO_ERROR: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.isError = true;\r\n draft.getRelatorioLista.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_REQUEST: {\r\n draft.getRelatorioLista.loading = true;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_RENEW: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.success = false;\r\n draft.getRelatorioLista.response = {};\r\n draft.getRelatorioLista.unsuccessResponse = [];\r\n draft.getRelatorioLista.error = null;\r\n draft.getRelatorioLista.isError = false;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_SUCCESS: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.response = action.payload.response;\r\n draft.getRelatorioLista.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RELATORIO_DETALHADO_NOVO_ERROR: {\r\n draft.getRelatorioLista.loading = false;\r\n draft.getRelatorioLista.isError = true;\r\n draft.getRelatorioLista.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RPA_REQUEST: {\r\n draft.listasRpa.loading = true;\r\n draft.listasRpa.success = false;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RPA_RESPONSE: {\r\n draft.listasRpa.loading = false;\r\n draft.listasRpa.success = true;\r\n draft.listasRpa.response = action.payload.response;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_REQUEST: {\r\n draft.listas.loading = true;\r\n draft.listas.success = false;\r\n break;\r\n }\r\n case Types.POST_SEARCH_LIST_RESPONSE: {\r\n draft.listas.loading = false;\r\n draft.listas.success = true;\r\n draft.listas.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_CONTRATANTE_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_ADMIN_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_RPA_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_RPA_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_CONTRATANTE_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_ADMIN_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_NESTLE_REQUEST: {\r\n draft.statusLists.loading = true;\r\n draft.statusLists.success = false;\r\n break;\r\n }\r\n case Types.GET_STATUS_LIST_NESTLE_RESPONSE: {\r\n draft.statusLists.loading = false;\r\n draft.statusLists.success = true;\r\n draft.statusLists.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTAS_REQUEST: {\r\n draft.getListas.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_SUCCESS: {\r\n draft.getListas.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaAPIEnum.returnTabForName,\r\n draft.getListas.response\r\n );\r\n\r\n draft.getListas.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.POST_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.create = true;\r\n draft.success = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n\r\n break;\r\n }\r\n case Types.PUT_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.details = true;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.PUT_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_RESPONSE: {\r\n draft.postPesquisaBeneficiario = action.payload.response;\r\n draft.postPesquisaBeneficiario.loading = false;\r\n draft.postPesquisaBeneficiario.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_RENEW: {\r\n draft.postPesquisaBeneficiario = {\r\n data: [],\r\n success: false,\r\n isError: false,\r\n loading: false,\r\n };\r\n break;\r\n }\r\n case Types.GET_LISTA_BENEFICIARIOS_REQUEST: {\r\n draft.postPesquisaBeneficiario = { data: [] };\r\n draft.postPesquisaBeneficiario.loading = true;\r\n draft.postPesquisaBeneficiario.success = false;\r\n break;\r\n }\r\n\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST: {\r\n draft.postSalvarBeneficiarioInativos.loading = true;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.postSalvarBeneficiarioInativos.data = {};\r\n break;\r\n }\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = action.payload.success;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.postSalvarBeneficiarioInativos.data = action.payload.response;\r\n\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.loadFamiliar = true;\r\n draft.beneficiario = action.payload.response;\r\n break;\r\n }\r\n case Types.POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.loadFamiliar = false;\r\n draft.loading = false;\r\n draft.success = false;\r\n draft.loadFamiliar = false;\r\n draft.beneficiario = [];\r\n break;\r\n }\r\n case Types.CHECK_BENEFICIARIO_INATIVOS: {\r\n draft.response.listaGrupoFamiliar =\r\n draft.response?.listaGrupoFamiliar.map((beneficiario) =>\r\n beneficiario?.grau === 'DEPENDENTE' &&\r\n beneficiario?.idBeneficiario === action.payload.idBeneficiario\r\n ? { ...beneficiario, isChecked: !beneficiario.isChecked }\r\n : beneficiario\r\n );\r\n break;\r\n }\r\n case Types.POST_LISTA_FAMILIAR_REQUEST: {\r\n draft.postSalvarBeneficiarioInativos.loading = true;\r\n draft.postSalvarBeneficiarioInativos.success = false;\r\n draft.postSalvarBeneficiarioInativos.error = null;\r\n break;\r\n }\r\n case Types.POST_LISTA_FAMILIAR_RESPONSE: {\r\n draft.postSalvarBeneficiarioInativos.loading = false;\r\n draft.postSalvarBeneficiarioInativos.success = action.payload.success;\r\n draft.postSalvarBeneficiarioInativos.error = action.payload.error;\r\n draft.postSalvarBeneficiarioInativos.data = action.payload.response;\r\n break;\r\n }\r\n case Types.SET_LISTA_FAMILIAR_REQUEST: {\r\n draft.grupoFamiliar = action.payload.param;\r\n break;\r\n }\r\n case Types.GET_GRUPO_FAMILIAR_RESPONSE: {\r\n draft.success = true;\r\n draft.grupoFamiliar = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTA_INATIVAS_REQUEST: {\r\n draft.loading = true;\r\n draft.create = false;\r\n draft.success = false;\r\n draft.isError = false;\r\n draft.error = false;\r\n draft.details = false;\r\n draft.response = [];\r\n\r\n break;\r\n }\r\n case Types.GET_LISTA_INATIVAS_RESPONSE: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.loadFamiliar = true;\r\n draft.isError = action.payload.isError;\r\n draft.response = action.payload.response;\r\n break;\r\n }\r\n case Types.GET_LISTAS_ERROR: {\r\n draft.getListas.loading = false;\r\n draft.getListas.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_REQUEST: {\r\n draft.getListas.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_SUCCESS: {\r\n draft.getListas.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n StatusListaAPIEnum.returnTabForName,\r\n draft.getListas.response\r\n );\r\n\r\n draft.getListas.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_POR_STATUS_ERROR: {\r\n draft.getListas.loading = false;\r\n draft.getListas.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_REQUEST: {\r\n draft.postArquivoImportacao.loading = true;\r\n draft.postArquivoImportacao.success = false;\r\n draft.postArquivoImportacao.response = [];\r\n draft.postArquivoImportacao.isError = false;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_SUCCESS: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n if (file.idLista === action.payload.files.idLista)\r\n file.name = action.payload.files.name;\r\n file.base64 = action.payload.files.base64;\r\n\r\n return file;\r\n }\r\n );\r\n draft.postArquivoImportacao.success = true;\r\n draft.postArquivoImportacao.loading = false;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_IMPORTACAO_ERROR: {\r\n draft.loading = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_LOTE_CSV_REQUEST: {\r\n draft.postImportarLoteCsv.loading = true;\r\n break;\r\n }\r\n case Types.POST_IMPORTAR_LOTE_CSV_SUCCESS: {\r\n draft.postImportarLoteCsv.loading = false;\r\n draft.postImportarLoteCsv.success = action.payload.isSuccess;\r\n break;\r\n }\r\n case Types.POST_VALIDAR_LOTE_CSV_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.tipoMovimentacao =\r\n action.payload.params.TipoLista;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.tipoMovimentacao =\r\n action.payload.params.TipoLista;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_RENEW: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.files = [];\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n if (\r\n file.idFile === action.payload.files.idFile &&\r\n action.payload.files\r\n )\r\n file = action.payload.files;\r\n\r\n return file;\r\n }\r\n );\r\n\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_PROGRESS: {\r\n const fileAtual = draft.postImportarLote.files.find(\r\n (file) =>\r\n file.idLista?.toString() === action.payload.idLista ||\r\n file.idFile?.toString() === action.payload.idLista\r\n );\r\n if (fileAtual) {\r\n fileAtual.progress = action.payload.progress;\r\n }\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_STATUS: {\r\n const fileAtual = draft.postImportarLote.files.find(\r\n (file) => file.idFile === action.payload.idFile\r\n );\r\n\r\n if (fileAtual) {\r\n fileAtual.error = action.payload.error;\r\n fileAtual.uploaded = action.payload.uploaded;\r\n }\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_UPDATE_FILES: {\r\n draft.postImportarLote.files = draft.postImportarLote.files.filter(\r\n (file) => file.error !== true\r\n );\r\n\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_SUCCESS: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.success = action.payload.isSuccess;\r\n draft.postImportarLote.isPartialSuccess =\r\n action.payload.isPartialSuccess;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_LOG_ERROR: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.logError.push({\r\n hasError: true,\r\n fileName: action.payload.filename,\r\n base64: action.payload.base64,\r\n });\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_LOG_ERROR_RENEW: {\r\n draft.postImportarLote.logError = [];\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_ERROR: {\r\n draft.postImportarLote.loading = false;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = action.payload.isError;\r\n draft.postImportarLote.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_REQUEST: {\r\n draft.putListas.loading = true;\r\n draft.putListas.response = [];\r\n draft.putListas.success = false;\r\n draft.putListas.isError = false;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_RENEW: {\r\n draft.putListas.loading = false;\r\n draft.putListas.response = [];\r\n draft.putListas.success = false;\r\n draft.putListas.isError = false;\r\n break;\r\n }\r\n case Types.PUT_LISTAS_SUCCESS: {\r\n draft.putListas.loading = false;\r\n draft.putListas.success = action.payload.isSuccess;\r\n\r\n draft.postImportarLote.files = draft.postImportarLote.files.map(\r\n (file) => {\r\n const newFile = action.payload.newListas.find(\r\n (newLista) =>\r\n newLista.idLista === file.idLista &&\r\n newLista.descricao !== file.descricao\r\n );\r\n if (newFile) file = newFile;\r\n\r\n return file;\r\n }\r\n );\r\n break;\r\n }\r\n case Types.PUT_LISTAS_ERROR: {\r\n draft.putListas.loading = false;\r\n draft.putListas.isError = true;\r\n draft.putListas.success = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_REQUEST: {\r\n draft.patchListaStatus.loading = true;\r\n draft.patchListaStatus.response = [];\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_RENEW: {\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.response = [];\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PACTH_LISTA_STATUS_SUCCESS: {\r\n draft.patchListaStatus.success = action.payload.isSuccess;\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_STATUS_ERROR: {\r\n draft.patchListaStatus.success = false;\r\n draft.patchListaStatus.loading = false;\r\n draft.patchListaStatus.isError = true;\r\n break;\r\n }\r\n case Types.DELETE_LISTA_REQUEST: {\r\n draft.deleteLista.loading = true;\r\n draft.deleteLista.success = false;\r\n draft.deleteLista.error = '';\r\n draft.deleteLista.isError = false;\r\n\r\n break;\r\n }\r\n case Types.DELETE_LISTA_SUCCESS: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.success = true;\r\n draft.postImportarLote.files = getDifferenceBetween(\r\n draft.postImportarLote.files,\r\n 'idFile',\r\n action.payload.files,\r\n 'idFile'\r\n );\r\n draft.postImportarLote.logError = getDifferenceBetween(\r\n draft.postImportarLote.logError,\r\n 'filename',\r\n action.payload.files,\r\n 'name'\r\n );\r\n break;\r\n }\r\n case Types.DELETE_LISTA_RENEW: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.success = false;\r\n draft.deleteLista.error = '';\r\n draft.deleteLista.isError = false;\r\n break;\r\n }\r\n case Types.DELETE_LISTA_ERROR: {\r\n draft.deleteLista.loading = false;\r\n draft.deleteLista.error = action.payload.error;\r\n draft.deleteLista.isError = true;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_REQUEST: {\r\n draft.patchListaEnvioRPA.loading = true;\r\n draft.patchListaEnvioRPA.success = false;\r\n draft.patchListaEnvioRPA.error = null;\r\n draft.patchListaEnvioRPA.isError = null;\r\n draft.patchListaEnvioRPA.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_SUCCESS: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.success = action.payload.isSuccess;\r\n draft.patchListaEnvioRPA.response = action.payload.response;\r\n draft.patchListaEnvioRPA.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_ERROR: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.isError = true;\r\n draft.patchListaEnvioRPA.error = action.payload.error;\r\n draft.patchListaEnvioRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_LISTA_ENVIO_RPA_RENEW: {\r\n draft.patchListaEnvioRPA.loading = false;\r\n draft.patchListaEnvioRPA.success = false;\r\n draft.patchListaEnvioRPA.error = null;\r\n draft.patchListaEnvioRPA.isError = null;\r\n draft.patchListaEnvioRPA.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_POR_STATUS_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_REQUEST: {\r\n draft.patchStatusRPA.success = false;\r\n draft.patchStatusRPA.unsuccessResponse = [];\r\n draft.patchStatusRPA.loading = false;\r\n draft.patchStatusRPA.isError = false;\r\n draft.patchStatusRPA.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_SUCCESS: {\r\n draft.patchStatusRPA.success = action.payload.isSuccess;\r\n draft.patchStatusRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_ERROR: {\r\n draft.patchStatusRPA.error = action.payload.error;\r\n draft.patchStatusRPA.isError = true;\r\n draft.patchStatusRPA.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_RPA_RENEW: {\r\n draft.patchStatusRPA.success = false;\r\n draft.patchStatusRPA.unsuccessResponse = [];\r\n draft.patchStatusRPA.loading = false;\r\n draft.patchStatusRPA.isError = false;\r\n draft.patchStatusRPA.error = [];\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_REQUEST: {\r\n draft.getRelatorioRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_SUCCESS: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.response = action.payload.response;\r\n draft.getRelatorioRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_ERROR: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.isError = true;\r\n draft.getRelatorioRPA.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_RELATORIO_RPA_RENEW: {\r\n draft.getRelatorioRPA.loading = false;\r\n draft.getRelatorioRPA.success = false;\r\n draft.getRelatorioRPA.response = {};\r\n draft.getRelatorioRPA.unsuccessResponse = [];\r\n draft.getRelatorioRPA.error = null;\r\n draft.getRelatorioRPA.isError = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_REQUEST: {\r\n draft.getListaDetalhe.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_SUCCESS: {\r\n draft.getListaDetalhe.loading = false;\r\n draft.getListaDetalhe.response = action.payload.response;\r\n draft.getListaDetalhe.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTA_DETALHE_ERROR: {\r\n draft.getListaDetalhe.loading = false;\r\n draft.getListaDetalhe.isError = true;\r\n draft.getListaDetalhe.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_REQUEST: {\r\n draft.getListaMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_SUCCESS: {\r\n draft.getListaMassaInicial.loading = false;\r\n draft.getListaMassaInicial.success = true;\r\n setTabContentPorStatusSingleObj(\r\n { ...action.payload.response, status: 'Todas' },\r\n {\r\n Todas: 'Todas',\r\n },\r\n draft.getListaMassaInicial.response\r\n );\r\n break;\r\n }\r\n case Types.GET_LISTA_MASSA_INICIAL_ERROR: {\r\n draft.getListaMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_REQUEST: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_ERROR: {\r\n draft.getArquivoMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_MASSA_INICIAL_SUCCESS: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n draft.getArquivoMassaInicial.response = {\r\n ...action.payload.response,\r\n nomeArquivoDownload: action.payload.nomeArquivoDownload,\r\n };\r\n draft.getArquivoMassaInicial.success = true;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADEVO_MASSA_INICIAL_ERROR: {\r\n draft.getArquivoMassaInicial.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS: {\r\n draft.getArquivoMassaInicial.loading = false;\r\n draft.getArquivoMassaInicial.response = {\r\n arquivo: action.payload.response.arquivoTermo,\r\n extensaoArquivo: '.pdf',\r\n nomeArquivoDownload: action.payload.nomeArquivoDownload,\r\n };\r\n draft.getArquivoMassaInicial.success = true;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_REQUEST: {\r\n draft.MassaInicial.post.loading = true;\r\n draft.MassaInicial.post.success = false;\r\n draft.MassaInicial.patch.error = null;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_SUCCESS: {\r\n draft.MassaInicial.post.loading = false;\r\n draft.MassaInicial.post.success = true;\r\n draft.MassaInicial.post.idLista =\r\n action.payload.response.idListaMassaInicial;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_ERROR: {\r\n draft.MassaInicial.post.loading = false;\r\n draft.MassaInicial.post.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_ARQUIVO_MASSA_INICIAL_RENEW: {\r\n draft.MassaInicial.post.loading = true;\r\n draft.MassaInicial.post.success = false;\r\n draft.MassaInicial.post.error = null;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW: {\r\n draft.MassaInicial.patch.loading = true;\r\n draft.MassaInicial.patch.success = false;\r\n draft.MassaInicial.patch.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST: {\r\n draft.MassaInicial.patch.loading = true;\r\n draft.MassaInicial.patch.success = false;\r\n draft.MassaInicial.patch.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR: {\r\n draft.MassaInicial.patch.loading = false;\r\n draft.MassaInicial.patch.isError = true;\r\n draft.MassaInicial.patch.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS: {\r\n draft.MassaInicial.patch.loading = false;\r\n draft.MassaInicial.patch.success = true;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST: {\r\n draft.patchValidacaoListaTransferencia.loading = true;\r\n draft.patchValidacaoListaTransferencia.success = false;\r\n draft.patchValidacaoListaTransferencia.error = null;\r\n draft.patchValidacaoListaTransferencia.isError = null;\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.success =\r\n action.payload.isSuccess;\r\n draft.patchValidacaoListaTransferencia.response =\r\n action.payload.response;\r\n draft.patchValidacaoListaTransferencia.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.isError = true;\r\n draft.patchValidacaoListaTransferencia.error = action.payload.error;\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW: {\r\n draft.patchValidacaoListaTransferencia.loading = false;\r\n draft.patchValidacaoListaTransferencia.isError = false;\r\n draft.patchValidacaoListaTransferencia.success = false;\r\n draft.patchValidacaoListaTransferencia.error = {};\r\n draft.patchValidacaoListaTransferencia.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.IMPORTAR_LOTE_NESTLE_REQUEST: {\r\n draft.postImportarLote.loading = true;\r\n draft.postImportarLote.files = action.payload.params.newFiles;\r\n draft.postImportarLote.success = false;\r\n draft.postImportarLote.isError = false;\r\n draft.postImportarLote.error = '';\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n deleteListaCsv: (params) => ({\r\n type: Types.DELETE_LISTA_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n getDownloadArquivoLoteOriginal: (params) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST,\r\n payload: { params },\r\n }),\r\n getDownloadArquivoLoteOriginalSuccess: (response, success) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDownloadArquivoLoteOriginalError: (error) => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_ERROR,\r\n payload: { error },\r\n }),\r\n getDownloadArquivoLoteOriginalRenew: () => ({\r\n type: Types.GET_ARQUIVO_LOTE_ORIGINAL_RENEW,\r\n payload: {},\r\n }),\r\n postRelatorioResumidoNovoRequest: (params, tipoRelatorio) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n postRelatorioResumidoNovoSuccess: (response, success) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRelatorioResumidoNovoError: (error) => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_ERROR,\r\n payload: { error },\r\n }),\r\n postRelatorioResumidoNovoRenew: () => ({\r\n type: Types.POST_RELATORIO_RESUMIDO_NOVO_RENEW,\r\n payload: {},\r\n }),\r\n postRelatorioDetalhadoNovoRequest: (params, tipoRelatorio) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n postRelatorioDetalhadoNovoSuccess: (response, success) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRelatorioDetalhadoNovoError: (error) => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_ERROR,\r\n payload: { error },\r\n }),\r\n postRelatorioDetalhadoNovoRenew: () => ({\r\n type: Types.POST_RELATORIO_DETALHADO_NOVO_RENEW,\r\n payload: {},\r\n }),\r\n postSearchListRpaRequest: (params) => ({\r\n type: Types.POST_SEARCH_LIST_RPA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSearchListRpaResponse: (response, success) => ({\r\n type: Types.POST_SEARCH_LIST_RPA_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n postSearchListRequest: (params) => ({\r\n type: Types.POST_SEARCH_LIST_REQUEST,\r\n payload: { params },\r\n }),\r\n postSearchListResponse: (response, success) => ({\r\n type: Types.POST_SEARCH_LIST_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListRpaRequest: () => ({\r\n type: Types.GET_STATUS_LIST_RPA_REQUEST,\r\n }),\r\n getStatusListRpaResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_RPA_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListContratanteRequest: (idContrantante, mostrarListaFake) => ({\r\n type: Types.GET_STATUS_LIST_CONTRATANTE_REQUEST,\r\n payload: { idContrantante, mostrarListaFake },\r\n }),\r\n getStatusListContratanteResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_CONTRATANTE_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListAdminRequest: () => ({\r\n type: Types.GET_STATUS_LIST_ADMIN_REQUEST,\r\n payload: {},\r\n }),\r\n getStatusListAdminResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_ADMIN_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getStatusListNestleRequest: (mostrarListaFake) => ({\r\n type: Types.GET_STATUS_LIST_NESTLE_REQUEST,\r\n payload: { mostrarListaFake },\r\n }),\r\n getStatusListNestleResponse: (response, success) => ({\r\n type: Types.GET_STATUS_LIST_NESTLE_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListasRequest: (params, TipoStatus) => ({\r\n type: Types.GET_LISTAS_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getListasSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasError: (error) => ({\r\n type: Types.GET_LISTAS_ERROR,\r\n payload: { error },\r\n }),\r\n postListaInativasRequest: (contratante) => ({\r\n type: Types.POST_LISTA_INATIVAS_REQUEST,\r\n payload: { contratante },\r\n }),\r\n postListaInativasSuccess: (response, success) => ({\r\n type: Types.POST_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putListaInativasRequest: (params) => ({\r\n type: Types.PUT_LISTA_INATIVAS_REQUEST,\r\n payload: { params },\r\n }),\r\n putListaInativasSuccess: (response, success) => ({\r\n type: Types.PUT_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaInativasRequest: (idLista) => ({\r\n type: Types.GET_LISTA_INATIVAS_REQUEST,\r\n payload: { idLista },\r\n }),\r\n getListaGrupoFamiliarRequest: (id) => ({\r\n type: Types.GET_GRUPO_FAMILIAR_REQUEST,\r\n payload: { id },\r\n }),\r\n getListaGrupoFamiliarSuccess: (response, success) => ({\r\n type: Types.GET_GRUPO_FAMILIAR_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaInativasSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_INATIVAS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListaBeneficiarioRequest: (params) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getListaBeneficiarioRenew: (params) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_RENEW,\r\n payload: { params },\r\n }),\r\n postSalvarBeneficiarioInativosRequest: (params) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST,\r\n payload: { params },\r\n }),\r\n setFamiliar: (param) => ({\r\n type: Types.SET_LISTA_FAMILIAR_REQUEST,\r\n payload: { param },\r\n }),\r\n postFamiliarRequest: (idLista, beneficiarios) => ({\r\n type: Types.POST_LISTA_FAMILIAR_REQUEST,\r\n payload: { idLista, beneficiarios },\r\n }),\r\n postFamiliarResponse: (response, success, error = null) => ({\r\n type: Types.POST_LISTA_FAMILIAR_RESPONSE,\r\n payload: { response, success, error },\r\n }),\r\n postSalvarBeneficiarioInativosSuccess: (response, success) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSalvarBeneficiarioInativosError: (error) => ({\r\n type: Types.POST_SALVAR_BENEFICIARIO_INATIVOS_ERROR,\r\n payload: { error },\r\n }),\r\n getListaBeneficiarioSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_BENEFICIARIOS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getListasPorStatusRequest: (params, cpf) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_REQUEST,\r\n payload: { params, cpf },\r\n }),\r\n getListasPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasPorStatusError: (error) => ({\r\n type: Types.GET_LISTAS_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n postArquivoImportacaoRequest: (novoArquivoRequest) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_REQUEST,\r\n payload: { novoArquivoRequest },\r\n }),\r\n postArquivoImportacaoSuccess: (files) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_SUCCESS,\r\n payload: { files },\r\n }),\r\n postArquivoImportacaoError: (error) => ({\r\n type: Types.POST_ARQUIVO_IMPORTACAO_ERROR,\r\n payload: { error },\r\n }),\r\n importarLoteRequest: (params) => ({\r\n type: Types.IMPORTAR_LOTE_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteCsvRequest: (params) => ({\r\n type: Types.POST_IMPORTAR_LOTE_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteCsvSuccess: (isSuccess) => ({\r\n type: Types.POST_IMPORTAR_LOTE_CSV_SUCCESS,\r\n payload: { isSuccess },\r\n }),\r\n validarLoteCsvRequest: (params) => ({\r\n type: Types.POST_VALIDAR_LOTE_CSV_REQUEST,\r\n payload: { params },\r\n }),\r\n importarLoteSuccess: (isSuccess, isPartialSuccess) => ({\r\n type: Types.IMPORTAR_LOTE_SUCCESS,\r\n payload: { isSuccess, isPartialSuccess },\r\n }),\r\n importarLoteLogError: (filename, base64) => ({\r\n type: Types.IMPORTAR_LOTE_LOG_ERROR,\r\n payload: { filename, base64 },\r\n }),\r\n importarLoteLogErrorRenew: () => ({\r\n type: Types.IMPORTAR_LOTE_LOG_ERROR_RENEW,\r\n payload: {},\r\n }),\r\n importarLoteRenew: () => ({\r\n type: Types.IMPORTAR_LOTE_RENEW,\r\n }),\r\n importarLoteUpdate: (files) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE,\r\n payload: { files },\r\n }),\r\n importarLoteUpdateProgress: (idLista, progress) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_PROGRESS,\r\n payload: { idLista, progress },\r\n }),\r\n importarLoteUpdateStatus: (idFile, error, uploaded) => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_STATUS,\r\n payload: { idFile, error, uploaded },\r\n }),\r\n importarLoteUpdateFiles: () => ({\r\n type: Types.IMPORTAR_LOTE_UPDATE_FILES,\r\n }),\r\n importarLoteError: (error, isError) => ({\r\n type: Types.IMPORTAR_LOTE_ERROR,\r\n payload: { error, isError },\r\n }),\r\n putListasRequest: (listas) => ({\r\n type: Types.PUT_LISTAS_REQUEST,\r\n payload: { listas },\r\n }),\r\n putListasRenew: () => ({\r\n type: Types.PUT_LISTAS_RENEW,\r\n }),\r\n putListasSuccess: (newListas, isSuccess) => ({\r\n type: Types.PUT_LISTAS_SUCCESS,\r\n payload: { newListas, isSuccess },\r\n }),\r\n putListasError: (error) => ({\r\n type: Types.PUT_LISTAS_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaStatusRequest: (listas) => ({\r\n type: Types.PATCH_LISTA_STATUS_REQUEST,\r\n payload: { listas },\r\n }),\r\n patchListaStatusRenew: () => ({\r\n type: Types.PATCH_LISTA_STATUS_RENEW,\r\n }),\r\n patchListaStatusSuccess: (isSuccess) => ({\r\n type: Types.PACTH_LISTA_STATUS_SUCCESS,\r\n payload: { isSuccess },\r\n }),\r\n patchListaStatusError: (error) => ({\r\n type: Types.PATCH_LISTA_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n deleteListaRequest: (listas) => ({\r\n type: Types.DELETE_LISTA_REQUEST,\r\n payload: { listas },\r\n }),\r\n deleteListaSuccess: (success, files) => ({\r\n type: Types.DELETE_LISTA_SUCCESS,\r\n payload: { success, files },\r\n }),\r\n deleteListaRenew: () => ({\r\n type: Types.DELETE_LISTA_RENEW,\r\n }),\r\n deleteListaError: (error) => ({\r\n type: Types.DELETE_LISTA_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaEnvioRPARequest: (listas, isActive) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_REQUEST,\r\n payload: { listas, isActive },\r\n }),\r\n patchListaEnvioRPASuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchListaEnvioRPAError: (error) => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n patchListaEnvioRPARenew: () => ({\r\n type: Types.PATCH_LISTA_ENVIO_RPA_RENEW,\r\n }),\r\n getListasRPARequest: (params, TipoStatus) => ({\r\n type: Types.GET_LISTAS_RPA_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getListasRPASuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n getListasRPAPorStatusRequest: (params) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getListasRPAPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAPorStatusError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n patchStatusRPARequest: (listas, tipoStatus) => ({\r\n type: Types.PATCH_STATUS_RPA_REQUEST,\r\n payload: { listas, tipoStatus },\r\n }),\r\n patchStatusRPASuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_STATUS_RPA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchStatusRPAError: (error) => ({\r\n type: Types.PATCH_STATUS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n patchStatusRPARenew: () => ({\r\n type: Types.PATCH_STATUS_RPA_RENEW,\r\n }),\r\n getRelatorioRPARequest: (params, tipoRelatorio) => ({\r\n type: Types.GET_RELATORIO_RPA_REQUEST,\r\n payload: { params, tipoRelatorio },\r\n }),\r\n getRelatorioRPASuccess: (response, success) => ({\r\n type: Types.GET_RELATORIO_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getRelatorioRPAError: (error) => ({\r\n type: Types.GET_RELATORIO_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n getRelatorioRPARenew: () => ({\r\n type: Types.GET_RELATORIO_RPA_RENEW,\r\n payload: {},\r\n }),\r\n getListaDetalheRequest: (idLista) => ({\r\n type: Types.GET_LISTA_DETALHE_REQUEST,\r\n payload: { idLista },\r\n }),\r\n getListaDetalheSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_DETALHE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListaDetalheError: (error) => ({\r\n type: Types.GET_LISTA_DETALHE_ERROR,\r\n payload: { error },\r\n }),\r\n getListasMassaInicialRequest: (params) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_REQUEST,\r\n payload: { params },\r\n }),\r\n getListasMassaInicialError: (error) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getListasMassaInicialSuccess: (response) => ({\r\n type: Types.GET_LISTA_MASSA_INICIAL_SUCCESS,\r\n payload: { response },\r\n }),\r\n getArquivoMassaInicialRequest: (idLista, idArquivo, nomeArquivoDownload) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, idArquivo, nomeArquivoDownload },\r\n }),\r\n getArquivoMassaInicialError: (error) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getArquivoMassaInicialSuccess: (response, nomeArquivoDownload) => ({\r\n type: Types.GET_ARQUIVO_MASSA_INICIAL_SUCCESS,\r\n payload: { response, nomeArquivoDownload },\r\n }),\r\n postArquivoMassaInicialRequest: (body) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n payload: { body },\r\n }),\r\n postArquivoMassaInicialRenew: () => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_RENEW,\r\n payload: {},\r\n }),\r\n postArquivoMassaInicialSuccess: (response) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_SUCCESS,\r\n payload: { response },\r\n }),\r\n postArquivoMassaInicialError: (error) => ({\r\n type: Types.POST_ARQUIVO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getTermoResponsabilidadeMassaInicialRequest: (\r\n idLista,\r\n nomeArquivoDownload\r\n ) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, nomeArquivoDownload },\r\n }),\r\n getTermoResponsabilidadeMassaInicialError: (error) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n getTermoResponsabilidadeMassaInicialSuccess: (\r\n response,\r\n nomeArquivoDownload\r\n ) => ({\r\n type: Types.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_SUCCESS,\r\n payload: { response, nomeArquivoDownload },\r\n }),\r\n patchValidacaoListaTrasnferenciaRequest: (listas) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST,\r\n payload: { listas },\r\n }),\r\n patchValidacaoListaTrasnferenciaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchValidacaoListaTrasnferenciaError: (error) => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_ERROR,\r\n payload: { error },\r\n }),\r\n patchValidacaoListaTrasnferenciaRenew: () => ({\r\n type: Types.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_RENEW,\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialRequest: (idLista, body) => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST,\r\n payload: { idLista, body },\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialError: (error) => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_ERROR,\r\n payload: { error },\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialSuccess: () => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_SUCCESS,\r\n payload: {},\r\n }),\r\n patchAceiteCompartilhamentoMassaInicialRenew: () => ({\r\n type: Types.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_RENEW,\r\n payload: {},\r\n }),\r\n postArquivoImportacaoNestleRequest: (params) => ({\r\n type: Types.IMPORTAR_LOTE_NESTLE_REQUEST,\r\n payload: { params },\r\n }),\r\n checkBenefiarioInativos: (idBeneficiario) => ({\r\n type: Types.CHECK_BENEFICIARIO_INATIVOS,\r\n payload: { idBeneficiario },\r\n }),\r\n};\r\n","import {\r\n Types as ListaTypes,\r\n Creators as ListaActions,\r\n} from '../store/ducks/lista';\r\n\r\nconst socketMiddleware = (storeAPI) => (next) => async (action) => {\r\n switch (action.type) {\r\n case ListaTypes.IMPORTAR_LOTE_REQUEST: {\r\n action.payload.params.connection.on('updateProgress', (resp) => {\r\n if (resp.progressValue !== 0)\r\n storeAPI.dispatch(\r\n ListaActions.importarLoteUpdateProgress(resp.id, resp.progressValue)\r\n );\r\n });\r\n break;\r\n }\r\n case ListaTypes.IMPORTAR_LOTE_NESTLE_REQUEST: {\r\n action.payload.params.connection.on('updateProgress', (resp) => {\r\n if (resp.progressValue !== 0)\r\n storeAPI.dispatch(\r\n ListaActions.importarLoteUpdateProgress(resp.id, resp.progressValue)\r\n );\r\n });\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n return next(action);\r\n};\r\n\r\nexport default socketMiddleware;\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/POST_WEBHOOK_EVENT_HEADER_REQUEST',\r\n POST_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/POST_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n PUT_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/PUT_WEBHOOK_EVENT_HEADER_REQUEST',\r\n PUT_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/PUT_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST:\r\n '@webhookEventHeaderIntegration/GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST',\r\n GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE:\r\n '@webhookEventHeaderIntegration/GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE',\r\n DELETE_WEBHOOK_EVENT_HEADER_REQUEST:\r\n '@webhookEventHeaderIntegration/DELETE_WEBHOOK_EVENT_HEADER_REQUEST',\r\n DELETE_WEBHOOK_EVENT_HEADER_RESPONSE:\r\n '@webhookEventHeaderIntegration/DELETE_WEBHOOK_EVENT_HEADER_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookEventHeaderList: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n putWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n deleteWebhookEventHeader: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function webhookEventHeaderIntegration(\r\n state = INITIAL_STATE,\r\n action\r\n) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST: {\r\n draft.getWebhookEventHeaderList.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE: {\r\n draft.getWebhookEventHeaderList.loading = false;\r\n draft.getWebhookEventHeaderList.data = action.payload.response;\r\n draft.getWebhookEventHeaderList.success = action.payload.success;\r\n draft.getWebhookEventHeaderList.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.postWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.postWebhookEventHeader.loading = false;\r\n draft.postWebhookEventHeader.data = action.payload.response;\r\n draft.postWebhookEventHeader.success = action.payload.success;\r\n draft.postWebhookEventHeader.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.putWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.putWebhookEventHeader.loading = false;\r\n draft.putWebhookEventHeader.data = action.payload.response;\r\n draft.putWebhookEventHeader.success = action.payload.success;\r\n draft.putWebhookEventHeader.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOK_EVENT_HEADER_REQUEST: {\r\n draft.deleteWebhookEventHeader.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOK_EVENT_HEADER_RESPONSE: {\r\n draft.deleteWebhookEventHeader.loading = false;\r\n draft.deleteWebhookEventHeader.data = action.payload.response;\r\n draft.deleteWebhookEventHeader.success = action.payload.success;\r\n draft.deleteWebhookEventHeader.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookEventHeaderRequest: (params) => ({\r\n type: Types.POST_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: { params },\r\n }),\r\n postWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookEventHeadersListRequest: (webhookEventId) => ({\r\n type: Types.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST,\r\n payload: { webhookEventId },\r\n }),\r\n getWebhookEventHeadersListResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOK_EVENT_HEADERS_LIST_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookEventHeaderRequest: (params) => ({\r\n type: Types.PUT_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookEventHeaderRequest: (idWebhookEventHeader) => ({\r\n type: Types.DELETE_WEBHOOK_EVENT_HEADER_REQUEST,\r\n payload: idWebhookEventHeader,\r\n }),\r\n deleteWebhookEventHeaderResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOK_EVENT_HEADER_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","const { REACT_APP_IDENTIFIER_CONTRATANTE } = process.env;\r\n\r\nexport const getApplication = () => {\r\n const application = {\r\n id: 1,\r\n key: '@movcad',\r\n name: REACT_APP_IDENTIFIER_CONTRATANTE,\r\n port: '4000',\r\n ports: ['4000'],\r\n };\r\n\r\n return application;\r\n};\r\n","import { createContext } from 'react';\r\n\r\nconst ModalContext = createContext();\r\n\r\nexport default ModalContext;\r\n","const common = {\r\n // bgHighlight: '#adff2f',\r\n bgHighlight: '#cf3',\r\n bgGrayFooter: '#f5f5f5',\r\n bgGrayDisabled: '#C8D0DA',\r\n blueDefault: '#091E42',\r\n bluePressed: '#54688B',\r\n grayDefault: '#8B8B8B',\r\n grayLigth: '#48484826',\r\n textGray: '#707070',\r\n textGrayDisabled: '#9A9A9A',\r\n textSidebarDisabled: 'rgba(9, 30, 66, 0.5)',\r\n textSupp: '#3D3D3D',\r\n bgGray: '#FBFBFB',\r\n bgWhite: '#FFFFFF',\r\n bgCream: '#F0FFE6',\r\n bgInput: '#F0F1F3',\r\n redPressed: '#C1010C',\r\n orangeDefault: '#FA7921',\r\n lightblueDefault: '#3C91E6',\r\n borderGray: '#C1BBBB',\r\n borderGrayLight: 'rgba(200,208,218, 0.15)',\r\n borderGrayLighter: 'rgba(193, 187, 187, 0.8)',\r\n borderGrayCollapse: 'rgba(193, 187, 187, 0.3)',\r\n statusYellow: '#C8C83A',\r\n transparent: 'rgba(255, 255, 255, 0.001)',\r\n shadowDefault: 'rgba(0, 0, 0, 0.15)',\r\n shadowHover: 'rgba(0, 0, 0, 0.3)',\r\n titleGray: '#5A5A5A',\r\n inputBackgroundGray: '#F2F2F2',\r\n dropdownBorderGray: '#808080',\r\n dropdownBackgroundGray: '#F2FAF7',\r\n dropdownBackgroundWhite: '#FFFFFF',\r\n dropdownColorGray: '#A1A1A1',\r\n\r\n white: '#FFFFFF',\r\n\r\n redDefault: '#F44336',\r\n red: '#ED1651',\r\n red100: '#FAD8CF',\r\n red200: '#F6ACA0',\r\n red300: '#E6726D',\r\n red400: '#CD464E',\r\n red500: '#AC162C',\r\n red600: '#93102F',\r\n red700: '#7B0B30',\r\n red800: '#63072E',\r\n red900: '#52042C',\r\n red1000: '#B01A34',\r\n redLight: '#ED1651',\r\n\r\n greenDefault: '#00995D',\r\n greenHover: '#007245',\r\n greenPressed: '#256041',\r\n greenLink: '#1DAA7D',\r\n greenDisabledLoading: '#BADDCC',\r\n greenDisabled: '#D7D7D7',\r\n green1: '#8BAC2A',\r\n greenLight: '#B1D34B',\r\n green100: '#EBFBD3',\r\n green200: '#D3F7A9',\r\n green221: '#BADDCC',\r\n green250: '#F2FAF7',\r\n green300: '#AFE97A',\r\n green400: '#8AD355',\r\n green500: '#419D1B',\r\n\r\n grey: '#A1A1A1',\r\n grey100: '#F8F8F8',\r\n grey200: '#F1F1F1',\r\n grey210: '#F2F2F2',\r\n grey300: '#D7D7D7',\r\n grey400: '#B0B0AF',\r\n grey410: '#5A5A5A',\r\n grey500: '#6A6A59',\r\n grey600: '#C4C4C4',\r\n movGrey: '#60656C',\r\n grey1: '#00000029',\r\n grey2: '#0000001A',\r\n greyBorder: '#D7D7D7',\r\n greyText: '#A9A9A9',\r\n greyRadio: '#C1BBBB',\r\n greyBack: '#c4c4c4',\r\n greyDisable: '#e6e6e6',\r\n colorGray: '#808080',\r\n lightGrey: '#d3d3d3',\r\n\r\n blue: '#0077D3',\r\n blue100: '#CAF2FC',\r\n blue200: '#96DFFA',\r\n blue300: '#60C2F1',\r\n blue400: '#39A3E4',\r\n blue500: '#005CB5',\r\n blueA300: '#0CC5EB',\r\n\r\n yellow: '#F9C300',\r\n yellow100: '#FEF8CB',\r\n yellow200: '#FEEF98',\r\n yellow300: '#FDE365',\r\n yellow400: '#FBD63E',\r\n yellow500: '#D6A200',\r\n yellowDefault: '#F1C104',\r\n yellowInfo: '#FBF7E4',\r\n\r\n orange200: '#FFF599',\r\n orangeA400: '#FFAE0D',\r\n\r\n // yellowTheme: '#A52319', // movcad\r\n // yellowTheme: '#D5DF29', // new theme\r\n\r\n // yellowPressed: '#940301', // movcad\r\n // yellowPressed: '#C4BF1F', // new theme\r\n\r\n // yellowTranslucid: '#C4BF1F44', // new theme\r\n\r\n // greenTheme: '#A52319', // movcad\r\n // greenTheme: '#98C93E', // new theme\r\n\r\n toastSuccess: '#419D1B',\r\n toastWarning: '#F9C300',\r\n toastError: '#CE361E',\r\n toastInfo: '#008BF4',\r\n\r\n buttonConfirm: '#59B726',\r\n buttonConfirmHover: '#2C8313',\r\n buttonCancel: '#CE361E',\r\n buttonCancelHover: '#940F11',\r\n buttonInfo: '#0077D3',\r\n buttonInfoHover: '#005CB5',\r\n\r\n purpleDefault: '#6A0099',\r\n\r\n pinkDefault: '#D94FCC',\r\n pink: '#ffb6c1',\r\n lightPink: '#FEF3F6',\r\n\r\n fontExtrabold: '800',\r\n fontBold: 'Bold',\r\n fontSemibold: '600',\r\n fontRegular: '400',\r\n fontLight: '100',\r\n};\r\n\r\nconst movcad = {\r\n movPrimary: '#', // vector color \"k\":[ 0.674509804, 0.0862745098, 0.17254902, 1 ],\r\n movRed90: '#008BF4',\r\n movRed80: '#008BF4',\r\n movRed70: '#008BF4',\r\n movRed60: '#008BF4',\r\n\r\n movSecondary: '#7C7C7B',\r\n movGrey90: '#858588',\r\n movGrey80: '#929395',\r\n movGrey70: '#A0A1A3',\r\n movGrey60: '#ADAEB0',\r\n\r\n movYellowDefault: '#F1C104',\r\n movYellow90: '#F1C104',\r\n movYellow80: '#F1C104',\r\n movYellow70: '#F1C104',\r\n movYellow60: '#F1C104',\r\n\r\n movBlack: '#2E2A25',\r\n movBlack90: '#433F3B',\r\n movBlack80: '#585551',\r\n movBlack70: '#827F7C',\r\n movBlack60: '#827F7C',\r\n\r\n movBlue: '#008BF4',\r\n movBlue30: '#B3DCFC',\r\n\r\n greenDefault: '#00995d', // \"k\": [0.411764706, 0.741176471, 0.207843137, 1],\r\n greenPressed: '#11268F',\r\n greenLight: '#B1D34B',\r\n\r\n orangeDefault: '#F47920',\r\n\r\n purpleDefault: '#6A0099',\r\n\r\n pinkDefault: '#D94FCC',\r\n\r\n redLight: '#ED1651',\r\n\r\n primaryHover: '#005CB5',\r\n\r\n contrastColor: '#ac162c',\r\n\r\n whiteDefault: '#FFF',\r\n\r\n yellowTheme: '#008BF4',\r\n yellowPressed: '#11268F',\r\n};\r\n\r\nconst application = movcad;\r\n\r\nconst appThemes = {\r\n movcad,\r\n};\r\n\r\nconst selectedTheme = appThemes[application.theme];\r\n\r\nexport default { ...common, ...selectedTheme };\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalContainer = styled.div`\r\n margin: 1rem;\r\n position: absolute;\r\n transform: translate(-50%, -50%);\r\n z-index: 12;\r\n background-color: #ffffff;\r\n border-radius: 10px;\r\n\r\n ${({ position }) =>\r\n position\r\n ? css`\r\n position: ${position};\r\n `\r\n : ` position: fixed;`};\r\n\r\n ${({ left }) =>\r\n left\r\n ? css`\r\n left: ${left}%;\r\n `\r\n : ` left: 50%;`};\r\n\r\n ${({ top }) =>\r\n top\r\n ? css`\r\n top: ${top}%;\r\n `\r\n : `top: 50%;`};\r\n /*\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight}px;\r\n `\r\n : ` max-height: 480px;`};\r\n\r\n ${({ maxWidth }) =>\r\n maxWidth\r\n ? css`\r\n max-width: ${maxWidth}px;\r\n `\r\n : ` max-width: 600px;`}; */\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : `height: 473px`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : `width: 600px`};\r\n`;\r\n\r\nexport const ModalBackGround = styled.div`\r\n position: fixed;\r\n top: 0%;\r\n bottom: 0%;\r\n left: 0%;\r\n right: 0%;\r\n background-color: #48484826;\r\n z-index: 1;\r\n`;\r\n\r\nexport const ModalHeaderContainer = styled.div`\r\n display: flex;\r\n align-items: left;\r\n padding: 20px;\r\n letter-spacing: 0.32px;\r\n font: normal normal 600 16px 'unimed_slabregular';\r\n position: relative;\r\n /* border-bottom: solid;\r\n border-bottom-width: thin;\r\n border-bottom-style: ridge; */\r\n color: ${theme.grey410};\r\n border-radius: 10px 10px 0 0;\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: space-between`};\r\n ${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding};\r\n `\r\n : `padding: 20px`};\r\n`;\r\n\r\nexport const ModalContentWrapperContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 200px;\r\n min-width: 300px;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : ``};\r\n`;\r\nexport const ModalContentContainer = styled.div`\r\n ${({ isModalWithWarning }) =>\r\n isModalWithWarning === true\r\n ? css`\r\n max-height: 370px;\r\n `\r\n : css`\r\n max-height: 300px;\r\n `}\r\n ${({ overflow }) =>\r\n overflow\r\n ? css`\r\n overflow: ${overflow};\r\n `\r\n : css`\r\n overflow: auto;\r\n `}\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : css`\r\n max-height: 300px;\r\n `}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css``}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css``}\r\n`;\r\n\r\nexport const ModalFooterContainer = styled.div`\r\n display: flex;\r\n\r\n border-radius: 0px 0px 10px 10px;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : ''};\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n // * {\r\n // margin: 5px;\r\n // }\r\n\r\n ${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding};\r\n `\r\n : `padding: 20px`};\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: ${marginBottom};\r\n `\r\n : ''};\r\n\r\n ${({ paddingBottom }) =>\r\n paddingBottom\r\n ? css`\r\n padding-bottom: ${paddingBottom};\r\n `\r\n : ''};\r\n`;\r\n","import React, { useContext } from 'react';\r\n\r\nimport { MdClose } from 'react-icons/md';\r\nimport ModalContext from '../../../context/ModalContext';\r\n\r\nimport {\r\n ModalContainer,\r\n ModalContentContainer,\r\n ModalContentWrapperContainer,\r\n ModalFooterContainer,\r\n ModalHeaderContainer,\r\n ModalBackGround,\r\n} from './styles';\r\n\r\nconst Modal = ({\r\n children,\r\n isOpen,\r\n onClick,\r\n height,\r\n maxHeight,\r\n width,\r\n maxWidth,\r\n havingBackground = true,\r\n position,\r\n top,\r\n left,\r\n}) => {\r\n return isOpen ? (\r\n <>\r\n {havingBackground ? : null}\r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n ) : null;\r\n};\r\n\r\nconst ModalHeader = ({\r\n children,\r\n justifyContent,\r\n padding,\r\n background,\r\n disabled,\r\n}) => {\r\n const { onClick } = useContext(ModalContext);\r\n\r\n return (\r\n \r\n {children}\r\n onClick(e) : (_) => _} size=\"20\" />\r\n \r\n );\r\n};\r\n\r\nconst ModalContentWrapper = ({\r\n children,\r\n height,\r\n display,\r\n paddingTop,\r\n background,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst ModalContent = ({\r\n children,\r\n isModalWithWarning,\r\n overflow,\r\n maxHeight,\r\n ref,\r\n width,\r\n height,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst ModalFooter = ({\r\n children,\r\n justifyContent,\r\n alignItems,\r\n padding,\r\n marginBottom,\r\n paddingBottom,\r\n background,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport { Modal, ModalHeader, ModalContentWrapper, ModalContent, ModalFooter };\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.button`\r\n border: ${({ border }) => border || `1px solid ${theme.greenDefault}`};\r\n font: ${({ font }) => font || `20px unimed_slabbold Regular`};\r\n color: ${({ color }) => color || theme.greenDefault};\r\n border-radius: ${({ borderRadius }) => borderRadius || `5px`};\r\n opacity: ${({ opacity }) => opacity || `1`};\r\n\r\n ${({ height }) =>\r\n height &&\r\n css`\r\n height: ${height};\r\n `};\r\n\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width};\r\n `};\r\n\r\n ${({ background }) =>\r\n background &&\r\n css`\r\n background: ${background};\r\n `};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft &&\r\n css`\r\n margin-left: ${marginLeft};\r\n `};\r\n\r\n ${({ marginRight }) =>\r\n marginRight &&\r\n css`\r\n margin-right: ${marginRight};\r\n `};\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Button = ({\r\n border,\r\n borderRadius,\r\n opacity,\r\n text,\r\n font,\r\n color,\r\n onClick,\r\n children,\r\n height,\r\n width,\r\n background,\r\n marginRight,\r\n marginLeft,\r\n type,\r\n ...props\r\n}) => (\r\n \r\n {children}\r\n {text}\r\n \r\n);\r\n\r\nexport default Button;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n text-align: center; /* Adicionado para centralizar o texto */\r\n overflow: hidden;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 20px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n SIGN_IN_REQUEST: '@user/SIGN_IN_REQUEST',\r\n SIGN_IN_SUCCESS: '@user/SIGN_IN_SUCCESS',\r\n SIGN_IN_ERROR: '@user/SIGN_IN_ERROR',\r\n SIGN_OUT: '@user/SIGN_OUT',\r\n SIGN_OUT_LEGADO_REQUEST: '@user/SIGN_OUT_LEGADO_REQUEST',\r\n REFRESH_INVALID_TOKEN_REQUEST: '@user/REFRESH_INVALID_TOKEN_REQUEST',\r\n REFRESH_INVALID_TOKEN_SUCCESS: '@user/REFRESH_INVALID_TOKEN_SUCCESS',\r\n REFRESH_INVALID_TOKEN_ERROR: '@user/REFRESH_INVALID_TOKEN_ERROR',\r\n GET_CHANGE_TOKEN_REQUEST: '@user/GET_CHANGE_TOKEN_REQUEST',\r\n GET_CHANGE_TOKEN_SUCCESS: '@user/GET_CHANGE_TOKEN_SUCCESS',\r\n GET_CHANGE_TOKEN_ERROR: '@user/GET_CHANGE_TOKEN_ERROR',\r\n GET_RECUPERAR_SENHA_REQUEST: '@user/GET_RECUPERAR_SENHA_REQUEST',\r\n GET_RECUPERAR_SENHA_SUCCESS: '@user/GET_RECUPERAR_SENHA_SUCCESS',\r\n GET_RECUPERAR_SENHA_ERROR: '@user/GET_RECUPERAR_SENHA_ERROR',\r\n POST_LOGIN_REQUEST: '@user/POST_LOGIN_REQUEST',\r\n POST_LOGIN_SUCCESS: '@user/POST_LOGIN_SUCCESS',\r\n POST_LOGIN_ERROR: '@user/POST_LOGIN_ERROR',\r\n POST_RECAPTCHA_VERIFY_REQUEST: '@user/POST_RECAPTCHA_VERIFY_REQUEST',\r\n POST_RECAPTCHA_VERIFY_SUCCESS: '@user/POST_RECAPTCHA_VERIFY_SUCCESS',\r\n POST_RECAPTCHA_VERIFY_ERROR: '@user/POST_RECAPTCHA_VERIFY_ERROR',\r\n POST_RECUPERAR_SENHA_REQUEST: '@user/POST_RECUPERAR_SENHA_REQUEST',\r\n POST_RECUPERAR_SENHA_SUCCESS: '@user/POST_RECUPERAR_SENHA_SUCCESS',\r\n POST_RECUPERAR_SENHA_ERROR: '@user/POST_RECUPERAR_SENHA_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n loggedIn: false,\r\n usuario: {},\r\n accessToken: null,\r\n accessTokenExpiration: null,\r\n refreshToken: null,\r\n refreshTokenExpiration: null,\r\n userType: null,\r\n token: null,\r\n getChangeToken: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postLogin: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postRecaptchaVerify: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getRecuperarSenha: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postRecuperarSenha: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function auth(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.SIGN_IN_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.SIGN_IN_SUCCESS: {\r\n draft.loading = false;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n draft.loggedIn = true;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.SIGN_IN_ERROR: {\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_SUCCESS: {\r\n draft.loading = true;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n draft.loggedIn = true;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.REFRESH_INVALID_TOKEN_ERROR: {\r\n draft.loading = false;\r\n // draft.loggedIn = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n case Types.SIGN_OUT: {\r\n draft.loggedIn = false;\r\n draft.token = null;\r\n draft.usuario = {};\r\n draft.accessToken = null;\r\n draft.accessTokenExpiration = null;\r\n draft.refreshToken = null;\r\n draft.refreshTokenExpiration = null;\r\n draft.error = null;\r\n break;\r\n }\r\n case Types.SIGN_OUT_LEGADO_REQUEST: {\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_REQUEST: {\r\n draft.getChangeToken.loading = true;\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_SUCCESS: {\r\n draft.getChangeToken.loading = false;\r\n draft.getChangeToken.response = action.payload.response;\r\n draft.getChangeToken.success = action.payload.success;\r\n draft.usuario = action.payload.usuario;\r\n break;\r\n }\r\n case Types.GET_CHANGE_TOKEN_ERROR: {\r\n draft.getChangeToken.loading = false;\r\n draft.getChangeToken.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_LOGIN_REQUEST: {\r\n draft.postLogin.loading = true;\r\n draft.postLogin.success = false;\r\n draft.postLogin.error = null;\r\n draft.postLogin.isError = null;\r\n draft.postLogin.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_LOGIN_SUCCESS: {\r\n draft.usuario = action.payload.usuario;\r\n draft.token = action.payload.token;\r\n draft.accessToken = action.payload.token.access_token;\r\n draft.accessTokenExpiration = action.payload.token.expiration;\r\n draft.refreshToken = action.payload.token.refresh_token;\r\n if (action.payload.changePassword == 'false') draft.loggedIn = true;\r\n else draft.loggedIn = false;\r\n draft.postLogin.loading = false;\r\n draft.postLogin.success = action.payload.isSuccess;\r\n draft.postLogin.isError = false;\r\n break;\r\n }\r\n case Types.POST_LOGIN_ERROR: {\r\n draft.postLogin.loading = false;\r\n draft.postLogin.isError = true;\r\n draft.postLogin.error = action.payload.error;\r\n draft.postLogin.unsuccessResponse = action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_REQUEST: {\r\n draft.postRecaptchaVerify.loading = true;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_SUCCESS: {\r\n draft.postRecaptchaVerify.loading = false;\r\n draft.postRecaptchaVerify.response = action.payload.response;\r\n draft.postRecaptchaVerify.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RECAPTCHA_VERIFY_ERROR: {\r\n draft.postRecaptchaVerify.loading = false;\r\n draft.postRecaptchaVerify.error = action.payload.error;\r\n draft.postRecaptchaVerify.isError = true;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_REQUEST: {\r\n draft.postRecuperarSenha.loading = true;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_SUCCESS: {\r\n draft.postRecuperarSenha.loading = false;\r\n draft.postRecuperarSenha.response = action.payload.response;\r\n draft.postRecuperarSenha.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_RECUPERAR_SENHA_ERROR: {\r\n draft.postRecuperarSenha.loading = false;\r\n draft.postRecuperarSenha.error = action.payload.error;\r\n draft.postRecuperarSenha.isError = true;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_REQUEST: {\r\n draft.getRecuperarSenha.loading = true;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_SUCCESS: {\r\n draft.getRecuperarSenha.loading = false;\r\n draft.getRecuperarSenha.response = action.payload.response;\r\n draft.getRecuperarSenha.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_RECUPERAR_SENHA_ERROR: {\r\n draft.getRecuperarSenha.loading = false;\r\n draft.getRecuperarSenha.error = action.payload.error;\r\n draft.getRecuperarSenha.isError = true;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n signInRequest: (auth) => ({\r\n type: Types.SIGN_IN_REQUEST,\r\n payload: { auth },\r\n }),\r\n signInSuccess: (token, usuario) => ({\r\n type: Types.SIGN_IN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n signInError: (error) => ({\r\n type: Types.SIGN_IN_ERROR,\r\n payload: { error },\r\n }),\r\n signOut: () => ({\r\n type: Types.SIGN_OUT,\r\n }),\r\n signOutLegadoRequest: () => ({\r\n type: Types.SIGN_OUT_LEGADO_REQUEST,\r\n }),\r\n refreshInvalidTokenRequest: (invalidToken) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_REQUEST,\r\n payload: { invalidToken },\r\n }),\r\n refreshInvalidTokenSuccess: (token, usuario) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n refreshInvalidTokenError: (error) => ({\r\n type: Types.REFRESH_INVALID_TOKEN_ERROR,\r\n payload: { error },\r\n }),\r\n getChangeTokenRequest: (queryParams) => ({\r\n type: Types.GET_CHANGE_TOKEN_REQUEST,\r\n payload: { queryParams },\r\n }),\r\n getChangeTokenSuccess: (token, usuario) => ({\r\n type: Types.GET_CHANGE_TOKEN_SUCCESS,\r\n payload: { token, usuario },\r\n }),\r\n getChangeTokenError: (error) => ({\r\n type: Types.GET_CHANGE_TOKEN_ERROR,\r\n payload: { error },\r\n }),\r\n postLoginRequest: (usuarioParams) => ({\r\n type: Types.POST_LOGIN_REQUEST,\r\n payload: { usuarioParams },\r\n }),\r\n postLoginSuccess: (token, usuario, isSuccess, changePassword) => ({\r\n type: Types.POST_LOGIN_SUCCESS,\r\n payload: { token, usuario, isSuccess, changePassword },\r\n }),\r\n postLoginError: (unsuccessResponse, error) => ({\r\n type: Types.POST_LOGIN_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postRecaptchaVerifyRequest: (queryParams) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_REQUEST,\r\n payload: { queryParams },\r\n }),\r\n postRecaptchaVerifySuccess: (response, success) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRecaptchaVerifyError: (error) => ({\r\n type: Types.POST_RECAPTCHA_VERIFY_ERROR,\r\n payload: { error },\r\n }),\r\n postRecuperarSenhaRequest: (params) => ({\r\n type: Types.POST_RECUPERAR_SENHA_REQUEST,\r\n payload: { params },\r\n }),\r\n postRecuperarSenhaSuccess: (response, success) => ({\r\n type: Types.POST_RECUPERAR_SENHA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postRecuperarSenhaError: (error) => ({\r\n type: Types.POST_RECUPERAR_SENHA_ERROR,\r\n payload: { error },\r\n }),\r\n getRecuperarSenhaRequest: (params) => ({\r\n type: Types.GET_RECUPERAR_SENHA_REQUEST,\r\n payload: { params },\r\n }),\r\n getRecuperarSenhaSuccess: (response, success) => ({\r\n type: Types.GET_RECUPERAR_SENHA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getRecuperarSenhaError: (error) => ({\r\n type: Types.GET_RECUPERAR_SENHA_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\nimport { FaClock } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\nimport { Creators as AuthActions } from '../../../store/ducks/auth';\r\n\r\nfunction ModalSessionExpired({ isOpen, onClick }) {\r\n const dispatch = useDispatch();\r\n\r\n const handleSignOut = () => {\r\n dispatch(AuthActions.signOutLegadoRequest());\r\n };\r\n\r\n return (\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n Seu acesso expirou. Por favor, faça login novamente para\r\n continuar.\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ handleSignOut }) => {\r\n return (\r\n <>\r\n \r\n OK\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalSessionExpired;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isBefore, parseISO, intervalToDuration } from 'date-fns';\r\nimport { getApplication } from '../application';\r\nimport { decryptObject, encryptObject } from '../utils/encrypt';\r\nimport ModalSessionExpired from '../components/organisms/ModalSessionExpired';\r\n\r\nconst application = getApplication();\r\n\r\nexport const USER_KEY = application.key;\r\nconst { REACT_APP_SECRET } = process.env;\r\n\r\nexport const getLocalObj = (key) => {\r\n if (sessionStorage.getItem(key)) {\r\n return decryptObject(sessionStorage.getItem(key), REACT_APP_SECRET);\r\n }\r\n};\r\n\r\n// User OAuth\r\nexport const getUserData = () => getLocalObj(USER_KEY);\r\n\r\n// Token\r\nexport const getTokenAccessToken = () => getLocalObj(USER_KEY).access_token;\r\nexport const getTokenCreated = () => getLocalObj(USER_KEY).created;\r\nexport const getTokenExpirationDate = () => getLocalObj(USER_KEY).expiration;\r\nexport const getTokenAuthenticated = () => getLocalObj(USER_KEY).authenticated;\r\nexport const isAccessTokenValid = () =>\r\n isBefore(new Date(), parseISO(getTokenExpirationDate()));\r\n\r\n// Refresh token\r\nexport const getRefreshToken = () => getLocalObj(USER_KEY).refresh_token;\r\nexport const getRefreshTokenExpirationDate = () =>\r\n getLocalObj(USER_KEY).refreshTokenExpiresAt;\r\nexport const isRefreshTokenValid = () =>\r\n isBefore(new Date(), parseISO(getRefreshTokenExpirationDate()));\r\n\r\nexport const movcadUpt = () => {\r\n sessionStorage.setItem('@movcad-upt', true);\r\n};\r\n\r\nexport const persistData = (data) => {\r\n const encryptData = encryptObject(data, REACT_APP_SECRET);\r\n sessionStorage.setItem(USER_KEY, encryptData);\r\n};\r\nexport const excludeData = () => {\r\n sessionStorage.removeItem(USER_KEY);\r\n};\r\n\r\nexport const setAuthorization = async (config) => {\r\n const token = getTokenAccessToken();\r\n\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n\r\n return config;\r\n};\r\n\r\nexport function TokenExpirationTimer() {\r\n const [timeLeft, setTimeLeft] = useState('');\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n useEffect(() => {\r\n const interval = setInterval(() => {\r\n const duration = intervalToDuration({\r\n start: new Date(),\r\n end: new Date(getTokenExpirationDate()),\r\n });\r\n\r\n const { hours, minutes, seconds } = duration;\r\n\r\n const formattedTimeLeft = `${hours} horas, ${minutes} minutos e ${seconds} segundos`;\r\n setTimeLeft(formattedTimeLeft);\r\n\r\n if (hours === 0 && minutes === 0 && seconds === 0) {\r\n setShowModal(true);\r\n clearInterval(interval);\r\n }\r\n }, 1000);\r\n\r\n return () => clearInterval(interval);\r\n }, []);\r\n\r\n return (\r\n
\r\n
Seu acesso expira em: {timeLeft}
\r\n setShowModal(false)}\r\n />{' '}\r\n {/* Renderiza a modal */}\r\n
\r\n );\r\n}\r\n","import CryptoJS from 'crypto-js';\r\n\r\nexport const encryptObject = (object, encryptionKey) => {\r\n const objectString = JSON.stringify(object);\r\n const encryptedString = CryptoJS.AES.encrypt(\r\n objectString,\r\n encryptionKey\r\n ).toString();\r\n return encryptedString;\r\n};\r\n\r\nexport const decryptObject = (encryptedString, encryptionKey) => {\r\n const decryptedBytes = CryptoJS.AES.decrypt(encryptedString, encryptionKey);\r\n const decryptedString = decryptedBytes.toString(CryptoJS.enc.Utf8);\r\n const decryptedObject = JSON.parse(decryptedString);\r\n return decryptedObject;\r\n};\r\n","import qs from 'qs';\r\nimport snakeCaseKeys from 'snakecase-keys';\r\nimport camelcaseKeys from 'camelcase-keys';\r\nimport history from './history';\r\nimport { setAuthorization } from './auth';\r\n\r\nconst UNAUTHORIZED = 401;\r\nconst INTERNAL_SERVER_ERROR = 500;\r\n\r\nexport const setData = (config) => {\r\n const newConfig = { ...config };\r\n newConfig.url = `${config.url}`;\r\n\r\n if (newConfig.headers['Content-Type'] === 'multipart/form-data')\r\n return newConfig;\r\n if (config.params) {\r\n newConfig.params = snakeCaseKeys(config.params);\r\n }\r\n if (config.data) {\r\n newConfig.data = snakeCaseKeys(config.data);\r\n }\r\n\r\n newConfig.paramsSerializer = (p) =>\r\n qs.stringify(p, {\r\n skipNulls: true,\r\n arrayFormat: 'repeat',\r\n });\r\n\r\n return newConfig;\r\n};\r\n\r\nexport const setAxiosRequestConfig = async (config) => {\r\n let newConfig = { ...config };\r\n newConfig = await setAuthorization(config);\r\n\r\n newConfig = await setData(config);\r\n\r\n return newConfig;\r\n};\r\n\r\nexport const errorHandler = (error, redirect) => {\r\n const { status } = error.response;\r\n if (status === UNAUTHORIZED) {\r\n history.push('/novo/unauthorized');\r\n }\r\n if (status === INTERNAL_SERVER_ERROR) {\r\n history.push(`/novo/error?redirect=${redirect}`);\r\n }\r\n return Promise.reject(error);\r\n};\r\n\r\nexport const setAxiosResponseConfig = async (response) => {\r\n if (response.status === UNAUTHORIZED) {\r\n history.push('/novo/Login');\r\n }\r\n return camelcaseKeys(response, { deep: true });\r\n};\r\n","import axios from 'axios';\r\nimport pjson from '../../package.json';\r\nimport {\r\n errorHandler,\r\n setAxiosRequestConfig,\r\n setAxiosResponseConfig,\r\n setData,\r\n} from './axios';\r\nconst { REACT_APP_BASEURL, REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\n// #region Axios criação de instância\r\n\r\nexport const legado = axios.create({\r\n baseURL: REACT_APP_MOVCAD_LEGACY,\r\n});\r\n\r\nexport const authApi = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const OAuth = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const OAuthNewToken = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const listasAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const requisitionAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/requisition`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const WebhookIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\nexport const WebhookEventIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook/event`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\nexport const WebhookEventHeaderIntegrationAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/webhook/event/header`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const TaskAPi = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/tasks`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ArquivoUploadAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/arquivo-upload`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const listasMassaInicialAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas/`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const contratantesAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/contratantes`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const UsuariosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/usuarios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ListasRPAAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/listas-rpa`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const BeneficiariosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/beneficiarios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const TesteAPI = axios.create({\r\n baseURL: 'http://localhost:44301/api/v1/',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const GoogleRecaptchaAPI = axios.create({\r\n baseURL: 'https://www.google.com/recaptcha/api',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ParametroAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/parametrizacao-movcad`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const RelatoriosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/relatorios`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const CheckListDocumentosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/check-list-documetos`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\nexport const ListaInativosAPI = axios.create({\r\n baseURL: `${REACT_APP_BASEURL}/cadastro-inativos`,\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'x-api-key': pjson.version,\r\n },\r\n});\r\n\r\n// #endregion\r\n\r\n// #region AxiosRequest Configuração\r\nlistasAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nrequisitionAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookEventIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nWebhookEventHeaderIntegrationAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nArquivoUploadAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nTaskAPi.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\ncontratantesAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nUsuariosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nOAuthNewToken.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nBeneficiariosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\n\r\nlistasMassaInicialAPI.interceptors.request.use(async (config) =>\r\n setData(config)\r\n);\r\nParametroAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nRelatoriosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nCheckListDocumentosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nListaInativosAPI.interceptors.request.use(async (config) =>\r\n setAxiosRequestConfig(config)\r\n);\r\nOAuth.interceptors.request.use(async (config) => setData(config));\r\n// #endregion\r\n\r\n// #region AxiosResponse Configuração\r\nlistasAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\n\r\nrequisitionAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'segunda-via')\r\n);\r\nWebhookIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\nWebhookEventIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\n\r\nWebhookEventHeaderIntegrationAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'configuracoes')\r\n);\r\n\r\nArquivoUploadAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'relatorio')\r\n);\r\n\r\nTaskAPi.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'relatorio')\r\n);\r\n\r\nlistasMassaInicialAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'massa-inicial')\r\n);\r\n\r\ncontratantesAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nUsuariosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nBeneficiariosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nParametroAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'gestao')\r\n);\r\nRelatoriosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\n\r\nCheckListDocumentosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\nListaInativosAPI.interceptors.response.use(\r\n (response) => setAxiosResponseConfig(response),\r\n (error) => errorHandler(error, 'lista')\r\n);\r\n// #endregion\r\n","import styled from 'styled-components';\r\nimport { ToastContainer } from 'react-toastify';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { GiCancel } from 'react-icons/gi';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled(ToastContainer).attrs((props) => ({\r\n autoClose: props.autoClose,\r\n}))`\r\n .Toastify__toast-container {\r\n background-color: #ffff;\r\n }\r\n .Toastify__toast {\r\n }\r\n .Toastify__toast--error {\r\n background-color: #ffff;\r\n color: #60656c;\r\n border-radius: 10px;\r\n font: 'Regular' 14px Work Sans;\r\n font: 200 14px Work Sans;\r\n }\r\n .Toastify__toast--warning {\r\n }\r\n .Toastify__toast--success {\r\n background-color: #ffff;\r\n color: #60656c;\r\n border-radius: 10px;\r\n font: 'Regular' 14px Work Sans;\r\n font: 200 14px Work Sans;\r\n }\r\n .Toastify__toast-body {\r\n }\r\n .Toastify__progress-bar {\r\n }\r\n`;\r\n\r\nexport const WarningToastContainer = styled(RiErrorWarningLine).attrs(\r\n (props) => ({\r\n size: props.size,\r\n })\r\n)`\r\n color: ${theme.yellowDefault};\r\n margin: 0;\r\n`;\r\n\r\nexport const ErrorToastContainer = styled(GiCancel).attrs((props) => ({\r\n size: props.size,\r\n}))`\r\n color: ${theme.redDefault};\r\n margin: 0;\r\n`;\r\nexport const SuccessToastContainer = styled(BiCheckCircle).attrs((props) => ({\r\n size: props.size,\r\n}))`\r\n color: ${theme.greenDefault};\r\n margin: 0;\r\n`;\r\n\r\nexport const InfoContainer = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: center;\r\n margin: 10px;\r\n\r\n span {\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding-left: 10px;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Container,\r\n WarningToastContainer,\r\n InfoContainer,\r\n ErrorToastContainer,\r\n SuccessToastContainer,\r\n} from './styles';\r\n\r\nfunction Toast(props) {\r\n return ;\r\n}\r\n\r\nexport const WarningToast = ({ children }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const ErrorToast = ({ children, size }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\nexport const SuccessToast = ({ children, size }) => {\r\n return (\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Toast;\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookEventHeaderIntegration } from '../ducks/webhookEventHeaderIntegration';\r\n\r\nimport { WebhookEventHeaderIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventHeadersList(action) {\r\n const { webhookEventId } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.get,\r\n `/list/${webhookEventId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventHeaderIntegration.getWebhookEventHeadersListResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.getWebhookEventHeadersListResponse(\r\n {},\r\n false\r\n )\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postWebhookEventHeader(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.post,\r\n `/post`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventHeaderIntegration.postWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.postWebhookEventHeaderResponse([], false)\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* deleteWebhookEventHeader(action) {\r\n const idWebhookEventHeader = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.delete,\r\n `${idWebhookEventHeader}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventHeaderIntegration.deleteWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.deleteWebhookEventHeaderResponse({}, false)\r\n );\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* putWebhookEventHeader(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventHeaderIntegrationAPI.put,\r\n `/put`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventHeaderIntegration.putWebhookEventHeaderResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventHeaderIntegration.putWebhookEventHeaderResponse({}, false)\r\n );\r\n\r\n toast.error(\r\n \r\n {error.response.data || error.response.data.result}\r\n \r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/POST_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n POST_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/POST_WEBHOOKINTEGRATION_RESPONSE',\r\n PUT_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/PUT_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n PUT_WEBHOOKEVENTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/PUT_WEBHOOKEVENTINTEGRATION_RESPONSE',\r\n GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST',\r\n GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE',\r\n DELETE_WEBHOOKEVENTINTEGRATION_REQUEST:\r\n '@webhookEventIntegration/DELETE_WEBHOOKEVENTINTEGRATION_REQUEST',\r\n DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE:\r\n '@webhookEventIntegration/DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhookEvent: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookEventList: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n putWebhookEventIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n deleteWebhookEventIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function webhookEventIntegration(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST: {\r\n draft.getWebhookEventList.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE: {\r\n draft.getWebhookEventList.loading = false;\r\n draft.getWebhookEventList.data = action.payload.response;\r\n draft.getWebhookEventList.success = action.payload.success;\r\n draft.getWebhookEventList.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.postWebhookEvent.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.postWebhookEvent.loading = false;\r\n draft.postWebhookEvent.data = action.payload.response;\r\n draft.postWebhookEvent.success = action.payload.success;\r\n draft.postWebhookEvent.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.putWebhookEventIntegration.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOKEVENTINTEGRATION_RESPONSE: {\r\n draft.putWebhookEventIntegration.loading = false;\r\n draft.putWebhookEventIntegration.data = action.payload.response;\r\n draft.putWebhookEventIntegration.success = action.payload.success;\r\n draft.putWebhookEventIntegration.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST: {\r\n draft.deleteWebhookEventIntegration.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE: {\r\n draft.deleteWebhookEventIntegration.loading = false;\r\n draft.deleteWebhookEventIntegration.data = action.payload.response;\r\n draft.deleteWebhookEventIntegration.success = action.payload.success;\r\n draft.deleteWebhookEventIntegration.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookEventIntegrationRequest: (params) => ({\r\n type: Types.POST_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n postWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookEventsListRequest: (webhookId) => ({\r\n type: Types.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST,\r\n payload: { webhookId },\r\n }),\r\n getWebhookEventsListResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKEVENTSLISTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookEventIntegrationRequest: (params) => ({\r\n type: Types.PUT_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOKEVENTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookEventIntegrationRequest: (idWebhook) => ({\r\n type: Types.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n payload: idWebhook,\r\n }),\r\n deleteWebhookEventIntegrationResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOKEVENTINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookEventIntegration } from '../ducks/webhookEventIntegration';\r\n\r\nimport { WebhookEventIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventList(action) {\r\n const { webhookId } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.get,\r\n `/list/${webhookId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventIntegration.getWebhookEventsListResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookEventIntegration.getWebhookEventsListResponse({}, false);\r\n }\r\n}\r\n\r\nexport function* postWebhookEvent(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.post,\r\n `/post`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventIntegration.postWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventIntegration.postWebhookEventIntegrationResponse([], false)\r\n );\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* deleteWebhookEvent(action) {\r\n const idWebhookEvent = action.payload;\r\n try {\r\n const response = yield call(\r\n WebhookEventIntegrationAPI.delete,\r\n `${idWebhookEvent}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n WebhookEventIntegration.deleteWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(\r\n WebhookEventIntegration.deleteWebhookEventIntegrationResponse({}, false)\r\n );\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putWebhookEvent(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(WebhookEventIntegrationAPI.put, `/put`, params);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookEventIntegration.putWebhookEventIntegrationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookEventIntegration.putWebhookEventIntegrationResponse({}, false);\r\n\r\n if (error.status === 500) {\r\n toast.error(\r\n {error.response.data.error_message}\r\n );\r\n }\r\n\r\n toast.error({error.response.data});\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/POST_WEBHOOKINTEGRATION_REQUEST',\r\n POST_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/POST_WEBHOOKINTEGRATION_RESPONSE',\r\n PUT_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/PUT_WEBHOOKINTEGRATION_REQUEST',\r\n PUT_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/PUT_WEBHOOKINTEGRATION_RESPONSE',\r\n GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST',\r\n GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE',\r\n GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST',\r\n GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE:\r\n '@webhookIntegration/GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE',\r\n DELETE_WEBHOOKINTEGRATION_REQUEST:\r\n '@webhookIntegration/DELETE_WEBHOOKINTEGRATION_REQUEST',\r\n DELETE_WEBHOOKINTEGRATION_RESPONSE:\r\n '@webhookIntegration/DELETE_WEBHOOKINTEGRATION_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n postWebhook: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookConfiguration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n putWebhookIntegration: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getWebhookListEvents: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: [],\r\n },\r\n};\r\n\r\nexport default function webhookIntegration(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST: {\r\n draft.getWebhookListEvents.loading = true;\r\n break;\r\n }\r\n case Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE: {\r\n draft.getWebhookListEvents.loading = false;\r\n draft.getWebhookListEvents.data = action.payload.response;\r\n draft.getWebhookListEvents.success = action.payload.success;\r\n draft.getWebhookListEvents.error = false;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.postWebhook.loading = true;\r\n break;\r\n }\r\n case Types.POST_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.postWebhook.loading = false;\r\n draft.postWebhook.data = action.payload.response;\r\n draft.postWebhook.success = action.payload.success;\r\n draft.postWebhook.error = false;\r\n break;\r\n }\r\n\r\n case Types.PUT_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.PUT_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKINTEGRATION_REQUEST: {\r\n draft.getWebhookConfiguration.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_WEBHOOKINTEGRATION_RESPONSE: {\r\n draft.getWebhookConfiguration.loading = false;\r\n draft.getWebhookConfiguration.data = action.payload.response;\r\n draft.getWebhookConfiguration.success = action.payload.success;\r\n draft.getWebhookConfiguration.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postWebhookIntegrationRequest: () => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_REQUEST,\r\n }),\r\n postWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.POST_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookConfigurationRequest: () => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST,\r\n }),\r\n getWebhookConfigurationResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_CONFIGURATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getWebhookListEventsRequest: () => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST,\r\n }),\r\n getWebhookListEventsResponse: (response, success) => ({\r\n type: Types.GET_WEBHOOKINTEGRATION_LIST_EVENTS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n putWebhookIntegrationRequest: (params) => ({\r\n type: Types.PUT_WEBHOOKINTEGRATION_REQUEST,\r\n payload: { params },\r\n }),\r\n putWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.PUT_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n deleteWebhookIntegrationRequest: (idWebhook) => ({\r\n type: Types.DELETE_WEBHOOKINTEGRATION_REQUEST,\r\n payload: idWebhook,\r\n }),\r\n deleteWebhookIntegrationResponse: (response, success) => ({\r\n type: Types.DELETE_WEBHOOKINTEGRATION_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as WebhookIntegration } from '../ducks/webhookIntegration';\r\n\r\nimport { WebhookIntegrationAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* getWebhookEventsList() {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.get, `/list-events`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookListEventsResponse(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n WebhookIntegration.getWebhookListEventsResponse({}, false);\r\n }\r\n}\r\nexport function* getWebhookConfiguration() {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.get, `/configuration`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n WebhookIntegration.getWebhookConfigurationResponse({}, false);\r\n }\r\n}\r\n\r\nexport function* postWebhook(action) {\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.post, `/post`, {\r\n isActive: false,\r\n });\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* deleteWebhook(action) {\r\n const idWebhook = action.payload;\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.delete, `${idWebhook}`, {\r\n isActive: true,\r\n });\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(null, isSuccess)\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putWebhook(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(WebhookIntegrationAPI.put, `/put`, params);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n WebhookIntegration.getWebhookConfigurationResponse(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\n","import produce from 'immer';\r\nimport { uniqueId } from 'lodash';\r\nimport {\r\n setTabContentPorStatus,\r\n setTabContentPorStatusSingleObj,\r\n} from '../../utils/setTabContentPorStatus';\r\nimport { TipoStatusEnum } from '../../enums';\r\n\r\n// Action types\r\nexport const Types = {\r\n GET_CONTRATANTES_USUARIO_REQUEST: '@usuario/GET_CONTRATANTES_USUARIO_REQUEST',\r\n GET_CONTRATANTES_USUARIO_SUCCESS: '@usuario/GET_CONTRATANTES_USUARIO_SUCCESS',\r\n GET_CONTRATANTES_USUARIO_ERROR: '@usuario/GET_CONTRATANTES_USUARIO_ERROR',\r\n GET_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/GET_PARAMETRIZACAO_USUARIO_REQUEST',\r\n GET_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/GET_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n GET_PARAMETRIZACAO_USUARIO_ERROR: '@usuario/GET_PARAMETRIZACAO_USUARIO_ERROR',\r\n GET_CONSULTA_USUARIOS_REQUEST: '@usuario/GET_CONSULTA_USUARIOS_REQUEST',\r\n GET_CONSULTA_USUARIOS_SUCCESS: '@usuario/GET_CONSULTA_USUARIOS_SUCCESS',\r\n GET_CONSULTA_USUARIOS_ERROR: '@usuario/GET_CONSULTA_USUARIOS_ERROR',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS',\r\n GET_CONSULTA_USUARIOS_POR_STATUS_ERROR:\r\n '@usuario/GET_CONSULTA_USUARIOS_POR_STATUS_ERROR',\r\n GET_USUARIO_BY_ID_REQUEST: '@usuario/GET_USUARIO_BY_ID_REQUEST',\r\n GET_USUARIO_BY_ID_SUCCESS: '@usuario/GET_USUARIO_BY_ID_SUCCESS',\r\n GET_USUARIO_BY_ID_ERROR: '@usuario/GET_USUARIO_BY_ID_ERROR',\r\n GET_CONTATO_BY_ID_REQUEST: '@usuario/GET_CONTATO_BY_ID_REQUEST',\r\n GET_CONTATO_BY_ID_SUCCESS: '@usuario/GET_CONTATO_BY_ID_SUCCESS',\r\n GET_CONTATO_BY_ID_ERROR: '@usuario/GET_CONTATO_BY_ID_ERROR',\r\n GET_DADOS_ACESSO_BY_ID_REQUEST: '@usuario/GET_DADOS_ACESSO_BY_ID_REQUEST',\r\n GET_DADOS_ACESSO_BY_ID_SUCCESS: '@usuario/GET_DADOS_ACESSO_BY_ID_SUCCESS',\r\n GET_DADOS_ACESSO_BY_ID_ERROR: '@usuario/GET_DADOS_ACESSO_BY_ID_ERROR',\r\n GET_HISTORICO_MOVIMENTACOES_REQUEST:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_REQUEST',\r\n GET_HISTORICO_MOVIMENTACOES_SUCCESS:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_SUCCESS',\r\n GET_HISTORICO_MOVIMENTACOES_ERROR:\r\n '@usuario/GET_HISTORICO_MOVIMENTACOES_ERROR',\r\n PATCH_LIBERAR_ACESSO_USUARIO_REQUEST:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_REQUEST',\r\n PATCH_LIBERAR_ACESSO_USUARIO_RENEW:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_RENEW',\r\n PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS',\r\n PATCH_LIBERAR_ACESSO_USUARIO_ERROR:\r\n '@usuario/PATCH_LIBERAR_ACESSO_USUARIO_ERROR',\r\n PATCH_STATUS_USUARIO_REQUEST: '@usuario/PATCH_STATUS_USUARIO_REQUEST',\r\n PATCH_STATUS_USUARIO_RENEW: '@usuario/PATCH_STATUS_USUARIO_RENEW',\r\n PATCH_STATUS_USUARIO_SUCCESS: '@usuario/PATCH_STATUS_USUARIO_SUCCESS',\r\n PATCH_STATUS_USUARIO_ERROR: '@usuario/PATCH_STATUS_USUARIO_ERROR',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_RENEW:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_RENEW',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS',\r\n PATCH_REGISTRAR_CONTATO_USUARIO_ERROR:\r\n '@usuario/PATCH_REGISTRAR_CONTATO_USUARIO_ERROR',\r\n PATCH_SENHA_USUARIO_REQUEST: '@usuario/PATCH_SENHA_USUARIO_REQUEST',\r\n PATCH_SENHA_USUARIO_RENEW: '@usuario/PATCH_SENHA_USUARIO_RENEW',\r\n PATCH_SENHA_USUARIO_SUCCESS: '@usuario/PATCH_SENHA_USUARIO_SUCCESS',\r\n PATCH_SENHA_USUARIO_ERROR: '@usuario/PATCH_SENHA_USUARIO_ERROR',\r\n PATCH_DADOS_GERAIS_REQUEST: '@usuario/PATCH_DADOS_GERAIS_REQUEST',\r\n PATCH_DADOS_GERAIS_RENEW: '@usuario/PATCH_DADOS_GERAIS_RENEW',\r\n PATCH_DADOS_GERAIS_SUCCESS: '@usuario/PATCH_DADOS_GERAIS_SUCCESS',\r\n PATCH_DADOS_GERAIS_ERROR: '@usuario/PATCH_DADOS_GERAIS_ERROR',\r\n PATCH_DADOS_ACESSO_REQUEST: '@usuario/PATCH_DADOS_ACESSO_REQUEST',\r\n PATCH_DADOS_ACESSO_RENEW: '@usuario/PATCH_DADOS_ACESSO_RENEW',\r\n PATCH_DADOS_ACESSO_SUCCESS: '@usuario/PATCH_DADOS_ACESSO_SUCCESS',\r\n PATCH_DADOS_ACESSO_ERROR: '@usuario/PATCH_DADOS_ACESSO_ERROR',\r\n CRIAR_USUARIO_REQUEST: '@usuario/CRIAR_USUARIO_REQUEST',\r\n CRIAR_USUARIO_SUCCESS: '@usuario/CRIAR_USUARIO_SUCCESS',\r\n CRIAR_USUARIO_ERROR: '@usuario/CRIAR_USUARIO_ERROR',\r\n CRIAR_USUARIO_RENEW: '@usuario/CRIAR_USUARIO_RENEW',\r\n POST_PARAMETRIZACAO_CONTRATANTE_REQUEST:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_REQUEST',\r\n POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS',\r\n POST_PARAMETRIZACAO_CONTRATANTE_ERROR:\r\n '@usuario/POST_PARAMETRIZACAO_CONTRATANTE_ERROR',\r\n GET_PARAMETRIZACAO_CARDS_REQUEST: '@usuario/GET_PARAMETRIZACAO_CARDS_REQUEST',\r\n GET_PARAMETRIZACAO_CARDS_SUCCESS: '@usuario/GET_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_PARAMETRIZACAO_CARDS_ERROR: '@usuario/GET_PARAMETRIZACAO_CARDS_ERROR',\r\n POST_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_REQUEST',\r\n POST_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n POST_PARAMETRIZACAO_USUARIO_ERROR:\r\n '@usuario/POST_PARAMETRIZACAO_USUARIO_ERROR',\r\n PUT_PARAMETRIZACAO_USUARIO_REQUEST:\r\n '@usuario/PUT_PARAMETRIZACAO_USUARIO_REQUEST',\r\n PUT_PARAMETRIZACAO_USUARIO_SUCCESS:\r\n '@usuario/PUT_PARAMETRIZACAO_USUARIO_SUCCESS',\r\n PUT_PARAMETRIZACAO_USUARIO_ERROR: '@usuario/PUT_PARAMETRIZACAO_USUARIO_ERROR',\r\n GET_PARAMETRIZACAO_NODE_REQUEST: '@usuario/GET_PARAMETRIZACAO_NODE_REQUEST',\r\n GET_PARAMETRIZACAO_NODE_SUCCESS: '@usuario/GET_PARAMETRIZACAO_NODE_SUCCESS',\r\n GET_PARAMETRIZACAO_NODE_ERROR: '@usuario/GET_PARAMETRIZACAO_NODE_ERROR',\r\n PARAMETRIZACAO_USUARIO_RENEW: '@usuario/PARAMETRIZACAO_USUARIO_RENEW',\r\n POST_ATUALIZAR_SESSAO_LEGADO_REQUEST:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_REQUEST',\r\n POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS',\r\n POST_ATUALIZAR_SESSAO_LEGADO_ERROR:\r\n '@usuario/POST_ATUALIZAR_SESSAO_LEGADO_ERROR',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR',\r\n GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS:\r\n '@usuario/GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS',\r\n PATCH_PARAMETRIZACAO_INATIVAR_REQUEST:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_REQUEST',\r\n PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST:\r\n '@usuario/PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST',\r\n PATCH_PARAMETRIZACAO_INATIVAR_ERROR:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_ERROR',\r\n PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS:\r\n '@usuario/PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS',\r\n SAVE_PARAMETRIZACAO_CARDS_REQUEST:\r\n '@usuario/SAVE_PARAMETRIZACAO_CARDS_REQUEST',\r\n SAVE_PARAMETRIZACAO_CARDS_ERROR: '@usuario/SAVE_PARAMETRIZACAO_CARDS_ERROR',\r\n SAVE_PARAMETRIZACAO_CARDS_SUCCESS:\r\n '@usuario/SAVE_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS',\r\n GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR:\r\n '@usuario/GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR',\r\n GET_USUARIOS_ESPELHO_REQUEST: '@usuario/GET_USUARIOS_ESPELHO_REQUEST',\r\n POST_CLONAR_USUARIO_ESPELHO_REQUEST:\r\n '@usuario/POST_CLONAR_USUARIO_ESPELHO_REQUEST',\r\n PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST:\r\n '@usuario/PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST',\r\n USUARIO_ESPELHO_SET: '@usuario/USUARIO_ESPELHO_SET',\r\n USUARIO_ESPELHO_RENEW: '@usuario/USUARIO_ESPELHO_RENEW',\r\n\r\n SUCCESS: '@usuario/SUCCESS',\r\n ERROR: '@usuario/ERROR',\r\n RENEW: '@usuario/RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n responseUsuarioEspelho: {},\r\n usuarioEspelho: {},\r\n\r\n isPatchLiberarAcessoSuccess: false,\r\n isPatchInativarAtivarSuccess: false,\r\n isPatchRegistrarContato: false,\r\n isPatchSenha: false,\r\n unsucessResponse: '',\r\n newUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchStatusUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchLiberarAcesso: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getConsultaUsuarios: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Ativo: { data: [], size: 0 },\r\n PendenteLiberacao: { data: [], size: 0 },\r\n Inativo: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getUsuarioById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContatoById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getDadosAcessoById: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getHistoricoMovimentacoes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getGrupoContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n patchDadosGerais: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchRegistrarContato: {\r\n loading: false,\r\n success: false,\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchDadosAcesso: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n patchSenha: {\r\n loading: false,\r\n success: false,\r\n isError: false,\r\n error: [],\r\n },\r\n postParametrizacaoContratante: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [{}],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratantesUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n postParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n id: uniqueId('req_'),\r\n },\r\n getParametrizacaoNode: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n putParametrizacaoUsuario: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n id: uniqueId('req_'),\r\n },\r\n postAtualizarSessaoLegado: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getParametrizacaoCardsCompleto: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n isError: false,\r\n },\r\n patchParametrizacaoInativar: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n saveParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n isSaveAll: false,\r\n },\r\n getAndBuildParametrizacaoCards: {\r\n loading: false,\r\n success: false,\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function usuario(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_CONSULTA_USUARIOS_REQUEST: {\r\n draft.getConsultaUsuarios.loading = true;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_SUCCESS: {\r\n draft.getConsultaUsuarios.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n TipoStatusEnum.returnTabForName,\r\n draft.getConsultaUsuarios.response\r\n );\r\n\r\n draft.getConsultaUsuarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_ERROR: {\r\n draft.getConsultaUsuarios.loading = false;\r\n draft.getConsultaUsuarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST: {\r\n draft.getConsultaUsuarios.loading = true;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS: {\r\n draft.getConsultaUsuarios.loading = false;\r\n setTabContentPorStatusSingleObj(\r\n action.payload.response,\r\n TipoStatusEnum.returnTabForName,\r\n draft.getConsultaUsuarios.response\r\n );\r\n\r\n draft.getConsultaUsuarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_CONSULTA_USUARIOS_POR_STATUS_ERROR: {\r\n draft.getConsultaUsuarios.loading = false;\r\n draft.getConsultaUsuarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST: {\r\n draft.patchLiberarAcesso.success = false;\r\n draft.patchLiberarAcesso.isError = false;\r\n draft.patchLiberarAcesso.error = null;\r\n draft.patchLiberarAcesso.loading = false;\r\n draft.patchLiberarAcesso.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_RENEW: {\r\n draft.patchLiberarAcesso.success = false;\r\n draft.patchLiberarAcesso.isError = false;\r\n draft.patchLiberarAcesso.error = null;\r\n draft.patchLiberarAcesso.loading = false;\r\n draft.patchLiberarAcesso.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS: {\r\n draft.patchLiberarAcesso.success = action.payload.isSuccess;\r\n\r\n break;\r\n }\r\n case Types.PATCH_LIBERAR_ACESSO_USUARIO_ERROR: {\r\n draft.patchLiberarAcesso.error = action.payload.error;\r\n draft.patchLiberarAcesso.isError = true;\r\n draft.patchLiberarAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_REQUEST: {\r\n draft.getUsuarioById.loading = true;\r\n draft.getUsuarioById.success = false;\r\n draft.getUsuarioById.error = null;\r\n draft.getUsuarioById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_SUCCESS: {\r\n draft.getUsuarioById.loading = false;\r\n draft.getUsuarioById.success = action.payload.isSuccess;\r\n draft.getUsuarioById.response = action.payload.usuarioById;\r\n break;\r\n }\r\n case Types.GET_USUARIO_BY_ID_ERROR: {\r\n draft.getUsuarioById.loading = false;\r\n draft.getUsuarioById.error = action.payload.error;\r\n draft.getUsuarioById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_REQUEST: {\r\n draft.patchStatusUsuario.success = false;\r\n draft.patchStatusUsuario.unsuccessResponse = [];\r\n draft.patchStatusUsuario.loading = false;\r\n draft.patchStatusUsuario.isError = false;\r\n draft.patchStatusUsuario.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_RENEW: {\r\n draft.patchStatusUsuario.success = false;\r\n draft.patchStatusUsuario.unsuccessResponse = [];\r\n draft.patchStatusUsuario.loading = false;\r\n draft.patchStatusUsuario.isError = false;\r\n draft.patchStatusUsuario.error = [];\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_SUCCESS: {\r\n draft.patchStatusUsuario.success = action.payload.isSuccess;\r\n draft.patchStatusUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_STATUS_USUARIO_ERROR: {\r\n draft.patchStatusUsuario.error = action.payload.error;\r\n draft.patchStatusUsuario.isError = true;\r\n draft.patchStatusUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_REQUEST: {\r\n draft.newUsuario.loading = true;\r\n draft.newUsuario.success = false;\r\n draft.newUsuario.error = null;\r\n draft.newUsuario.unsuccessResponse = null;\r\n draft.newUsuario.isError = false;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_SUCCESS: {\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.success = action.payload.isSuccess;\r\n draft.newUsuario.response = action.payload.newUsuario;\r\n draft.newUsuario.isError = false;\r\n\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_ERROR: {\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.error = action.payload.error;\r\n draft.newUsuario.unsuccessResponse = action.payload.unsuccessResponse;\r\n draft.newUsuario.isError = true;\r\n draft.newUsuario.success = false;\r\n break;\r\n }\r\n case Types.CRIAR_USUARIO_RENEW: {\r\n draft.newUsuario.success = false;\r\n draft.newUsuario.isError = false;\r\n draft.newUsuario.error = null;\r\n draft.newUsuario.loading = false;\r\n draft.newUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST: {\r\n draft.patchRegistrarContato.loading = true;\r\n draft.patchRegistrarContato.success = false;\r\n draft.patchRegistrarContato.isError = false;\r\n draft.patchRegistrarContato.error = null;\r\n draft.patchRegistrarContato.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_RENEW: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.success = false;\r\n draft.patchRegistrarContato.isError = false;\r\n draft.patchRegistrarContato.error = null;\r\n draft.patchRegistrarContato.unsuccessResponse = [];\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.success = action.payload.isSuccess;\r\n draft.patchRegistrarContato.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_REGISTRAR_CONTATO_USUARIO_ERROR: {\r\n draft.patchRegistrarContato.loading = false;\r\n draft.patchRegistrarContato.error = action.payload.error;\r\n draft.patchRegistrarContato.isError = true;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_REQUEST: {\r\n draft.getContatoById.loading = true;\r\n draft.getContatoById.success = false;\r\n draft.getContatoById.error = null;\r\n draft.getContatoById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_SUCCESS: {\r\n draft.getContatoById.loading = false;\r\n draft.getContatoById.success = action.payload.isSuccess;\r\n draft.getContatoById.response = action.payload.contatoById;\r\n break;\r\n }\r\n case Types.GET_CONTATO_BY_ID_ERROR: {\r\n draft.getContatoById.loading = false;\r\n draft.getContatoById.error = action.payload.error;\r\n draft.getContatoById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_REQUEST: {\r\n draft.patchSenha.success = false;\r\n draft.patchSenha.isError = false;\r\n draft.patchSenha.loading = true;\r\n draft.patchSenha.error = [];\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_RENEW: {\r\n draft.patchSenha.success = false;\r\n draft.patchSenha.isError = false;\r\n draft.patchSenha.loading = true;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_SUCCESS: {\r\n draft.patchSenha.success = true;\r\n draft.patchSenha.loading = false;\r\n break;\r\n }\r\n case Types.PATCH_SENHA_USUARIO_ERROR: {\r\n draft.error = action.payload.error;\r\n draft.patchSenha.isError = true;\r\n draft.patchSenha.error = action.payload.error;\r\n draft.patchSenha.loading = false;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_REQUEST: {\r\n draft.getDadosAcessoById.loading = true;\r\n draft.getDadosAcessoById.success = false;\r\n draft.getDadosAcessoById.error = null;\r\n draft.getDadosAcessoById.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_SUCCESS: {\r\n draft.getDadosAcessoById.loading = false;\r\n draft.getDadosAcessoById.success = action.payload.isSuccess;\r\n draft.getDadosAcessoById.response = action.payload.usuarioById;\r\n break;\r\n }\r\n case Types.GET_DADOS_ACESSO_BY_ID_ERROR: {\r\n draft.getDadosAcessoById.loading = false;\r\n draft.getDadosAcessoById.error = action.payload.error;\r\n draft.getDadosAcessoById.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_REQUEST: {\r\n draft.patchDadosGerais.loading = true;\r\n draft.patchDadosGerais.success = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.error = null;\r\n draft.patchDadosGerais.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_RENEW: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.success = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.error = null;\r\n draft.patchDadosGerais.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_SUCCESS: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.isError = false;\r\n draft.patchDadosGerais.success = action.payload.isSuccess;\r\n draft.patchDadosGerais.response = action.payload.response;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_GERAIS_ERROR: {\r\n draft.patchDadosGerais.loading = false;\r\n draft.patchDadosGerais.isError = true;\r\n draft.patchDadosGerais.error = action.payload.error;\r\n draft.patchDadosGerais.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_REQUEST: {\r\n draft.patchDadosAcesso.loading = true;\r\n draft.patchDadosAcesso.success = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.error = null;\r\n draft.patchDadosAcesso.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_RENEW: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.success = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.error = null;\r\n draft.patchDadosAcesso.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_SUCCESS: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = false;\r\n draft.patchDadosAcesso.success = true;\r\n draft.patchDadosAcesso.response = action.payload.response;\r\n break;\r\n }\r\n case Types.PATCH_DADOS_ACESSO_ERROR: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = true;\r\n draft.patchDadosAcesso.error = action.payload.error;\r\n draft.patchDadosAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_REQUEST: {\r\n draft.getHistoricoMovimentacoes.loading = true;\r\n draft.getHistoricoMovimentacoes.success = false;\r\n draft.getHistoricoMovimentacoes.error = null;\r\n draft.getHistoricoMovimentacoes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_SUCCESS: {\r\n draft.getHistoricoMovimentacoes.loading = false;\r\n draft.getHistoricoMovimentacoes.success = action.payload.isSuccess;\r\n draft.getHistoricoMovimentacoes.response.data =\r\n action.payload.historicoMovimentacao;\r\n draft.getHistoricoMovimentacoes.response.size =\r\n action.payload.historicoMovimentacao.total;\r\n break;\r\n }\r\n case Types.GET_HISTORICO_MOVIMENTACOES_ERROR: {\r\n draft.getHistoricoMovimentacoes.loading = false;\r\n draft.getHistoricoMovimentacoes.error = action.payload.error;\r\n draft.getHistoricoMovimentacoes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST: {\r\n draft.postParametrizacaoContratante.loading = true;\r\n draft.postParametrizacaoContratante.success = false;\r\n draft.postParametrizacaoContratante.error = null;\r\n draft.postParametrizacaoContratante.isError = null;\r\n draft.postParametrizacaoContratante.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS: {\r\n draft.postParametrizacaoContratante.loading = false;\r\n draft.postParametrizacaoContratante.success = action.payload.isSuccess;\r\n draft.postParametrizacaoContratante.response = action.payload.response;\r\n draft.postParametrizacaoContratante.isError = false;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_CONTRATANTE_ERROR: {\r\n draft.patchDadosAcesso.loading = false;\r\n draft.patchDadosAcesso.isError = true;\r\n draft.patchDadosAcesso.error = action.payload.error;\r\n draft.patchDadosAcesso.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.getParametrizacaoUsuario.loading = true;\r\n draft.getParametrizacaoUsuario.success = false;\r\n draft.getParametrizacaoUsuario.error = null;\r\n draft.getParametrizacaoUsuario.isError = null;\r\n draft.getParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.getParametrizacaoUsuario.loading = false;\r\n draft.getParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.getParametrizacaoUsuario.response = action.payload.response;\r\n draft.getParametrizacaoUsuario.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.isError = true;\r\n draft.getContratantesUsuario.error = action.payload.error;\r\n draft.getContratantesUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_REQUEST: {\r\n draft.getContratantesUsuario.loading = true;\r\n draft.getContratantesUsuario.success = false;\r\n draft.getContratantesUsuario.error = null;\r\n draft.getContratantesUsuario.isError = null;\r\n draft.getContratantesUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_SUCCESS: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.success = action.payload.isSuccess;\r\n draft.getContratantesUsuario.response = action.payload.response;\r\n draft.getContratantesUsuario.isError = false;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_USUARIO_ERROR: {\r\n draft.getContratantesUsuario.loading = false;\r\n draft.getContratantesUsuario.isError = true;\r\n draft.getContratantesUsuario.error = action.payload.error;\r\n draft.getContratantesUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.getParametrizacaoCards.loading = true;\r\n draft.getParametrizacaoCards.success = false;\r\n draft.getParametrizacaoCards.error = null;\r\n draft.getParametrizacaoCards.isError = null;\r\n draft.getParametrizacaoCards.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.getParametrizacaoCards.loading = false;\r\n draft.getParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.getParametrizacaoCards.response = action.payload.response;\r\n draft.getParametrizacaoCards.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.getParametrizacaoCards.loading = false;\r\n draft.getParametrizacaoCards.isError = true;\r\n draft.getParametrizacaoCards.error = action.payload.error;\r\n draft.getParametrizacaoCards.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.postParametrizacaoUsuario.loading = true;\r\n draft.postParametrizacaoUsuario.success = false;\r\n draft.postParametrizacaoUsuario.error = null;\r\n draft.postParametrizacaoUsuario.isError = null;\r\n draft.postParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.postParametrizacaoUsuario.response = action.payload.response;\r\n draft.postParametrizacaoUsuario.hasValidationErros =\r\n action.payload.hasValidationErros;\r\n draft.postParametrizacaoUsuario.error = action.payload.errors;\r\n draft.postParametrizacaoUsuario.isError = false;\r\n break;\r\n }\r\n case Types.POST_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.isError = true;\r\n draft.postParametrizacaoUsuario.error = action.payload.error;\r\n draft.postParametrizacaoUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_REQUEST: {\r\n draft.getParametrizacaoNode.loading = true;\r\n draft.getParametrizacaoNode.success = false;\r\n draft.getParametrizacaoNode.error = null;\r\n draft.getParametrizacaoNode.isError = null;\r\n draft.getParametrizacaoNode.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_SUCCESS: {\r\n draft.getParametrizacaoNode.loading = false;\r\n draft.getParametrizacaoNode.success = action.payload.isSuccess;\r\n draft.getParametrizacaoNode.response = action.payload.response;\r\n draft.getParametrizacaoNode.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_NODE_ERROR: {\r\n draft.getParametrizacaoNode.loading = false;\r\n draft.getParametrizacaoNode.isError = true;\r\n draft.getParametrizacaoNode.error = action.payload.error;\r\n draft.getParametrizacaoNode.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_REQUEST: {\r\n draft.putParametrizacaoUsuario.loading = true;\r\n draft.putParametrizacaoUsuario.success = false;\r\n draft.putParametrizacaoUsuario.error = null;\r\n draft.putParametrizacaoUsuario.isError = null;\r\n draft.putParametrizacaoUsuario.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_SUCCESS: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.success = action.payload.isSuccess;\r\n draft.putParametrizacaoUsuario.response = action.payload.response;\r\n draft.putParametrizacaoUsuario.isError = false;\r\n draft.putParametrizacaoUsuario.hasValidationErros =\r\n action.payload.hasValidationErros;\r\n draft.putParametrizacaoUsuario.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.PUT_PARAMETRIZACAO_USUARIO_ERROR: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.isError = true;\r\n draft.putParametrizacaoUsuario.error = action.payload.error;\r\n draft.putParametrizacaoUsuario.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_USUARIO_RENEW: {\r\n draft.putParametrizacaoUsuario.loading = false;\r\n draft.putParametrizacaoUsuario.success = false;\r\n draft.putParametrizacaoUsuario.error = null;\r\n draft.putParametrizacaoUsuario.isError = null;\r\n draft.putParametrizacaoUsuario.unsuccessResponse = null;\r\n draft.postParametrizacaoUsuario.loading = false;\r\n draft.postParametrizacaoUsuario.success = false;\r\n draft.postParametrizacaoUsuario.error = null;\r\n draft.postParametrizacaoUsuario.isError = null;\r\n draft.postParametrizacaoUsuario.unsuccessResponse = null;\r\n draft.postParametrizacaoUsuario.hasValidationErros = false;\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.isSaveAll = false;\r\n draft.saveParametrizacaoCards.success = false;\r\n draft.saveParametrizacaoCards.error = null;\r\n draft.saveParametrizacaoCards.isError = null;\r\n draft.saveParametrizacaoCards.unsuccessResponse = null;\r\n draft.saveParametrizacaoCards.hasValidationErros = false;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST: {\r\n draft.postAtualizarSessaoLegado.loading = true;\r\n draft.postAtualizarSessaoLegado.success = false;\r\n draft.postAtualizarSessaoLegado.error = null;\r\n draft.postAtualizarSessaoLegado.isError = null;\r\n draft.postAtualizarSessaoLegado.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS: {\r\n draft.postAtualizarSessaoLegado.loading = false;\r\n draft.postAtualizarSessaoLegado.success = action.payload.isSuccess;\r\n draft.postAtualizarSessaoLegado.response = action.payload.response;\r\n draft.postAtualizarSessaoLegado.isError = false;\r\n break;\r\n }\r\n case Types.POST_ATUALIZAR_SESSAO_LEGADO_ERROR: {\r\n draft.postAtualizarSessaoLegado.loading = false;\r\n draft.postAtualizarSessaoLegado.isError = true;\r\n draft.postAtualizarSessaoLegado.error = action.payload.error;\r\n draft.postAtualizarSessaoLegado.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST: {\r\n draft.getParametrizacaoCardsCompleto.loading = true;\r\n draft.getParametrizacaoCardsCompleto.success = false;\r\n draft.getParametrizacaoCardsCompleto.error = null;\r\n draft.getParametrizacaoCardsCompleto.isError = null;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS: {\r\n draft.getParametrizacaoCardsCompleto.loading = false;\r\n draft.getParametrizacaoCardsCompleto.success = action.payload.isSuccess;\r\n draft.getParametrizacaoCardsCompleto.response = action.payload.response;\r\n draft.getParametrizacaoCardsCompleto.isError = false;\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR: {\r\n draft.getParametrizacaoCardsCompleto.loading = false;\r\n draft.getParametrizacaoCardsCompleto.isError = true;\r\n draft.getParametrizacaoCardsCompleto.error = action.payload.error;\r\n\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST: {\r\n draft.patchParametrizacaoInativar.loading = true;\r\n draft.patchParametrizacaoInativar.success = false;\r\n draft.patchParametrizacaoInativar.error = null;\r\n draft.patchParametrizacaoInativar.isError = null;\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS: {\r\n draft.patchParametrizacaoInativar.loading = false;\r\n draft.patchParametrizacaoInativar.success = action.payload.isSuccess;\r\n draft.patchParametrizacaoInativar.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_PARAMETRIZACAO_INATIVAR_ERROR: {\r\n draft.patchParametrizacaoInativar.loading = false;\r\n draft.patchParametrizacaoInativar.isError = true;\r\n draft.patchParametrizacaoInativar.error = action.payload.error;\r\n\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.saveParametrizacaoCards.loading = true;\r\n draft.saveParametrizacaoCards.isSaveAll = action.payload.isSaveAll;\r\n draft.saveParametrizacaoCards.success = false;\r\n draft.saveParametrizacaoCards.error = null;\r\n draft.saveParametrizacaoCards.isError = null;\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.saveParametrizacaoCards.response = action.payload.response;\r\n draft.saveParametrizacaoCards.isError = false;\r\n draft.saveParametrizacaoCards.hasValidationErrors =\r\n action.payload.hasValidationErrors;\r\n draft.saveParametrizacaoCards.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.SAVE_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.saveParametrizacaoCards.loading = false;\r\n draft.saveParametrizacaoCards.isError = true;\r\n draft.saveParametrizacaoCards.error = action.payload.error;\r\n draft.saveParametrizacaoCards.isSaveAll = false;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST: {\r\n draft.getAndBuildParametrizacaoCards.loading = true;\r\n draft.getAndBuildParametrizacaoCards.success = false;\r\n draft.getAndBuildParametrizacaoCards.error = null;\r\n draft.getAndBuildParametrizacaoCards.isError = null;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS: {\r\n draft.getAndBuildParametrizacaoCards.loading = false;\r\n draft.getAndBuildParametrizacaoCards.success = action.payload.isSuccess;\r\n draft.getAndBuildParametrizacaoCards.response = action.payload.response;\r\n draft.getAndBuildParametrizacaoCards.isError = false;\r\n draft.getAndBuildParametrizacaoCards.hasValidationErrors =\r\n action.payload.hasValidationErrors;\r\n draft.getAndBuildParametrizacaoCards.error = action.payload.errors;\r\n break;\r\n }\r\n case Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR: {\r\n draft.getAndBuildParametrizacaoCards.loading = false;\r\n draft.getAndBuildParametrizacaoCards.isError = true;\r\n draft.getAndBuildParametrizacaoCards.error = action.payload.error;\r\n break;\r\n }\r\n case (Types.RENEW, Types.GET_USUARIOS_ESPELHO_REQUEST): {\r\n draft.loading = true;\r\n draft.success = false;\r\n draft.error = null;\r\n draft.isError = false;\r\n draft.responseUsuarioEspelho = {};\r\n break;\r\n }\r\n case Types.USUARIO_ESPELHO_SET: {\r\n draft.usuarioEspelho = action.payload.usuarioEspelho;\r\n break;\r\n }\r\n case Types.USUARIO_ESPELHO_RENEW: {\r\n draft.usuarioEspelho = {};\r\n break;\r\n }\r\n\r\n case Types.SUCCESS: {\r\n draft.loading = false;\r\n draft.success = true;\r\n draft.error = null;\r\n draft.isError = false;\r\n draft.responseUsuarioEspelho = action.payload.response;\r\n break;\r\n }\r\n case Types.ERROR: {\r\n draft.loading = false;\r\n draft.success = false;\r\n draft.error = action.payload.error;\r\n draft.isError = true;\r\n draft.responseUsuarioEspelho = {};\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getConsultaUsuariosRequest: (params, TipoStatus) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_REQUEST,\r\n payload: { params, TipoStatus },\r\n }),\r\n getConsultaUsuariosSuccess: (response, success) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getConsultaUsuariosError: (error) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_ERROR,\r\n payload: { error },\r\n }),\r\n getConsultaUsuariosPorStatusRequest: (params) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getConsultaUsuariosPorStatusSuccess: (response, success) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getConsultaUsuariosPorStatusError: (error) => ({\r\n type: Types.GET_CONSULTA_USUARIOS_POR_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n patchLiberarAcessoRequest: (usuarios) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST,\r\n payload: { usuarios },\r\n }),\r\n patchLiberarAcessoRenew: () => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_RENEW,\r\n }),\r\n patchLiberarAcessoSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchLiberarAcessoError: (error) => ({\r\n type: Types.PATCH_LIBERAR_ACESSO_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getUsuarioByIdRequest: (idUsuario) => ({\r\n type: Types.GET_USUARIO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getUsuarioByIdSuccess: (usuarioById, isSuccess) => ({\r\n type: Types.GET_USUARIO_BY_ID_SUCCESS,\r\n payload: { usuarioById, isSuccess },\r\n }),\r\n getUsuarioByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_USUARIO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchStatusRequest: (usuarios, tipoStatus) => ({\r\n type: Types.PATCH_STATUS_USUARIO_REQUEST,\r\n payload: { usuarios, tipoStatus },\r\n }),\r\n patchStatusRenew: () => ({\r\n type: Types.PATCH_STATUS_USUARIO_RENEW,\r\n }),\r\n patchStatusSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_STATUS_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchStatusError: (error) => ({\r\n type: Types.PATCH_STATUS_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n criarUsuarioRequest: (data) => ({\r\n type: Types.CRIAR_USUARIO_REQUEST,\r\n payload: { data },\r\n }),\r\n criarUsuarioSuccess: (newUsuario, isSuccess) => ({\r\n type: Types.CRIAR_USUARIO_SUCCESS,\r\n payload: { newUsuario, isSuccess },\r\n }),\r\n criarUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.CRIAR_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n criarUsuarioRenew: () => ({\r\n type: Types.CRIAR_USUARIO_RENEW,\r\n }),\r\n patchRegistrarContatoRequest: (contatos, idUsuario) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST,\r\n payload: { contatos, idUsuario },\r\n }),\r\n patchRegistrarContatoRenew: () => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_RENEW,\r\n }),\r\n patchRegistrarContatoSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchRegistrarContatoError: (error) => ({\r\n type: Types.PATCH_REGISTRAR_CONTATO_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getContatoByIdRequest: (idUsuario) => ({\r\n type: Types.GET_CONTATO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getContatoByIdSuccess: (contatoById, isSuccess) => ({\r\n type: Types.GET_CONTATO_BY_ID_SUCCESS,\r\n payload: { contatoById, isSuccess },\r\n }),\r\n getContatoByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTATO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchSenhaRequest: (idUsuario, senha, novaSenha, confirmacaoSenha) => ({\r\n type: Types.PATCH_SENHA_USUARIO_REQUEST,\r\n payload: {\r\n idUsuario,\r\n senha,\r\n novaSenha,\r\n confirmacaoSenha,\r\n },\r\n }),\r\n patchSenhaRenew: () => ({\r\n type: Types.PATCH_SENHA_USUARIO_RENEW,\r\n }),\r\n patchSenhaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_SENHA_USUARIO_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchSenhaError: (error) => ({\r\n type: Types.PATCH_SENHA_USUARIO_ERROR,\r\n payload: { error },\r\n }),\r\n getDadosAcessoByIdRequest: (idUsuario) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n getDadosAcessoByIdSuccess: (usuarioById, isSuccess) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_SUCCESS,\r\n payload: { usuarioById, isSuccess },\r\n }),\r\n getDadosAcessoByIdError: (unsuccessResponse, error) => ({\r\n type: Types.GET_DADOS_ACESSO_BY_ID_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchDadosGeraisRequest: (params, contatos) => ({\r\n type: Types.PATCH_DADOS_GERAIS_REQUEST,\r\n payload: { params, contatos },\r\n }),\r\n patchDadosGeraisRenew: () => ({\r\n type: Types.PATCH_DADOS_GERAIS_RENEW,\r\n }),\r\n patchDadosGeraisSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_DADOS_GERAIS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchDadosGeraisError: (unsuccessResponse, error) => ({\r\n type: Types.PATCH_DADOS_GERAIS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n patchDadosAcessoRequest: (params) => ({\r\n type: Types.PATCH_DADOS_ACESSO_REQUEST,\r\n payload: { params },\r\n }),\r\n patchDadosAcessoRenew: () => ({\r\n type: Types.PATCH_DADOS_ACESSO_RENEW,\r\n }),\r\n patchDadosAcessoSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_DADOS_ACESSO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchDadosAcessoError: (unsuccessResponse, error) => ({\r\n type: Types.PATCH_DADOS_ACESSO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getHistoricoMovimentacoesRequest: (idUsuario, params) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_REQUEST,\r\n payload: { idUsuario, params },\r\n }),\r\n getHistoricoMovimentacoesSuccess: (historicoMovimentacao, isSuccess) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_SUCCESS,\r\n payload: { historicoMovimentacao, isSuccess },\r\n }),\r\n getHistoricoMovimentacoesError: (unsuccessResponse, error) => ({\r\n type: Types.GET_HISTORICO_MOVIMENTACOES_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postParametrizacaoContratanteRequest: (contratantes) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST,\r\n payload: { contratantes },\r\n }),\r\n postParametrizacaoContratanteSuccess: (response, isSuccess) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n postParametrizacaoContratanteError: (unsuccessResponse, error) => ({\r\n type: Types.POST_PARAMETRIZACAO_CONTRATANTE_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoUsuarioRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoUsuarioSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratantesUsuarioRequest: (params) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratantesUsuarioSuccess: (response, isSuccess) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getContratantesUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTRATANTES_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoCardsRequest: (params, cards) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { params, cards },\r\n }),\r\n getParametrizacaoCardsSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoCardsError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n postParametrizacaoUsuarioRequest: (idUsuario, cards) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { idUsuario, cards },\r\n }),\r\n postParametrizacaoUsuarioSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErros,\r\n errors\r\n ) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErros, errors },\r\n }),\r\n postParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.POST_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n putParametrizacaoUsuarioRequest: (idUsuario, cards) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_REQUEST,\r\n payload: { idUsuario, cards },\r\n }),\r\n putParametrizacaoUsuarioSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErros,\r\n errors\r\n ) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErros, errors },\r\n }),\r\n putParametrizacaoUsuarioError: (unsuccessResponse, error) => ({\r\n type: Types.PUT_PARAMETRIZACAO_USUARIO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoNodeRequest: (idUsuario, params, node) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_REQUEST,\r\n payload: { idUsuario, params, node },\r\n }),\r\n getParametrizacaoNodeSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoNodeError: (unsuccessResponse, error) => ({\r\n type: Types.GET_PARAMETRIZACAO_NODE_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n parametrizacaoNodeRenew: () => ({\r\n type: Types.PARAMETRIZACAO_USUARIO_RENEW,\r\n }),\r\n postAtualizarSessaoLegadoRequest: (token) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST,\r\n payload: { token },\r\n }),\r\n postAtualizarSessaoLegadoSuccess: (response, isSuccess) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n postAtualizarSessaoLegadoError: (unsuccessResponse, error) => ({\r\n type: Types.POST_ATUALIZAR_SESSAO_LEGADO_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getParametrizacaoCardsCompletoRequest: (\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST,\r\n payload: { idUsuario, idCard, idParametrizacao },\r\n }),\r\n getParametrizacaoCardsCompletoSuccess: (response, isSuccess) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getParametrizacaoCardsCompletoError: (error) => ({\r\n type: Types.GET_PARAMETRIZACAO_CARD_COMPLETO_ERROR,\r\n payload: { error },\r\n }),\r\n patchParametrizacaoInativarRequest: (\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n ) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST,\r\n payload: { idUsuario, idCard, idParametrizacao },\r\n }),\r\n patchParametrizacaoAdmInativarRequest: (idUsuario) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST,\r\n payload: { idUsuario },\r\n }),\r\n patchParametrizacaoInativarSuccess: (response, isSuccess) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n patchParametrizacaoInativarError: (error) => ({\r\n type: Types.PATCH_PARAMETRIZACAO_INATIVAR_ERROR,\r\n payload: { error },\r\n }),\r\n saveParametrizacaoCardsRequest: (\r\n idUsuario,\r\n postCards,\r\n putCards,\r\n isSaveAll\r\n ) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { idUsuario, postCards, putCards, isSaveAll },\r\n }),\r\n saveParametrizacaoCardsSuccess: (\r\n response,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n ) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess, hasValidationErrors, errors },\r\n }),\r\n saveParametrizacaoCardsError: (error) => ({\r\n type: Types.SAVE_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { error },\r\n }),\r\n getAndBuildParametrizacaoCardsRequest: (params) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST,\r\n payload: { params },\r\n }),\r\n getAndBuildParametrizacaoCardsSuccess: (response, isSuccess) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getAndBuildParametrizacaoCardsError: (unsuccessResponse, error) => ({\r\n type: Types.GET_AND_BUILD_PARAMETRIZACAO_CARDS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getUsuarioEspelhoRequest: (params) => ({\r\n type: Types.GET_USUARIOS_ESPELHO_REQUEST,\r\n payload: { params },\r\n }),\r\n patchAtualizarTipoPerfilRequest: (idUsuario, newRoles) => ({\r\n type: Types.PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST,\r\n payload: { idUsuario, newRoles },\r\n }),\r\n postClonarUsuarioEspelhoRequest: (idUsuario, idUsuarioEspelho) => ({\r\n type: Types.POST_CLONAR_USUARIO_ESPELHO_REQUEST,\r\n payload: { idUsuario, idUsuarioEspelho },\r\n }),\r\n usuarioEspelhoSet: (usuarioEspelho) => ({\r\n type: Types.USUARIO_ESPELHO_SET,\r\n payload: { usuarioEspelho },\r\n }),\r\n usuarioEspelhoRenew: () => ({\r\n type: Types.USUARIO_ESPELHO_RENEW,\r\n }),\r\n\r\n success: (response) => ({\r\n type: Types.SUCCESS,\r\n payload: { response },\r\n }),\r\n error: (error) => ({\r\n type: Types.ERROR,\r\n payload: { error },\r\n }),\r\n renew: () => ({ type: Types.RENEW, payload: {} }),\r\n};\r\n","export const responseHandler = (\r\n objResponse,\r\n objRequest,\r\n objReference,\r\n methodName,\r\n status\r\n) => {\r\n const statusResponse = [];\r\n objResponse.map((o) => {\r\n if (o.status !== status) statusResponse.push(o);\r\n\r\n return statusResponse;\r\n });\r\n\r\n let isSuccess = false;\r\n if (!(statusResponse.length > 0)) isSuccess = true;\r\n\r\n const unsuccessResponse = [];\r\n unsuccessResponse.push(\r\n statusResponse.map((resp, index) => {\r\n return {\r\n reference: objRequest[index][objReference],\r\n status: resp.status,\r\n errorOn: methodName,\r\n };\r\n })\r\n );\r\n\r\n return { unsuccessResponse, isSuccess };\r\n};\r\n\r\nexport const responseHandlerGet = (\r\n objResponse,\r\n objRequest,\r\n methodName,\r\n statusCode\r\n) => {\r\n let isSuccess = true;\r\n if (objResponse.status !== statusCode) {\r\n isSuccess = false;\r\n const unsuccessResponse = {\r\n reference: objRequest,\r\n status: objResponse.status,\r\n errorOn: methodName,\r\n };\r\n\r\n return { unsuccessResponse, isSuccess };\r\n }\r\n\r\n return { isSuccess };\r\n};\r\n","export const validationPattern = {\r\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n number: /^[0-9\\b]+$/,\r\n telefone: /^[1-9]{2}([2-8])[0-9]{3}[0-9]{4}$/,\r\n sequenciaIgualTelefone: /^([0-9])\\1{3}[0-9]\\1{3}$/,\r\n celular: /^[1-9]{2}(9[1-9])[0-9]{3}[0-9]{4}$/,\r\n sequenciaIgualCelular: /^([0-9])\\1{4}[0-9]\\1{3}$/,\r\n cnpj: /^\\d{2}\\.?\\d{3}\\.?\\d{3}\\/?\\d{4}\\-?\\d{2}$/,\r\n char: /[a-zA-Z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+/,\r\n password: {\r\n regexValidate: /^([a-zA-Z0-9!z\\\"#$%&'()*+,-@./:;<=>?[\\]^_`{|}~])*$/g,\r\n charValidate: /[a-z]/,\r\n camelValidate: /[A-Z]/,\r\n numberValidate: /[0-9]/,\r\n symbolValidate: /([!\\\"#$%&'()*+,-\\/@./:;<=>?[\\]^_`{|}~])/g,\r\n changePasswordValidate: /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n },\r\n};\r\n\r\nexport const maskPattern = {\r\n Celular: [\r\n '(',\r\n /[1-9]/,\r\n /\\d/,\r\n ')',\r\n ' ',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n '-',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n ],\r\n Residencial: [\r\n '(',\r\n /[1-9]/,\r\n /\\d/,\r\n ')',\r\n ' ',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n '-',\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n /\\d/,\r\n ],\r\n};\r\nexport const isEmail = (email) => {\r\n return !!email.match(validationPattern.email);\r\n};\r\nexport const isNumber = (number) => {\r\n return !!number.match(validationPattern.number);\r\n};\r\n\r\nexport const isValidTelefone = (telefone) => {\r\n return !!telefone.match(validationPattern.telefone);\r\n};\r\nexport const isLengthTelefone = (telefone) => {\r\n return !!(telefone.length > 10 || telefone.length < 12);\r\n};\r\nexport const isSequenciaIgualTelefone = (telefone) => {\r\n return !!telefone\r\n .substring(2)\r\n .match(validationPattern.sequenciaIgualTelefone);\r\n};\r\n\r\nexport const isValidMesmoTelefone = (telefone) => {\r\n return (\r\n isValidTelefone(telefone) &&\r\n isLengthTelefone(telefone) &&\r\n !isSequenciaIgualTelefone(telefone)\r\n );\r\n};\r\nexport const isValidCelular = (celular) => {\r\n return !!celular.match(validationPattern.celular);\r\n};\r\nexport const isLengthCelular = (celular) => {\r\n return !!(celular.length > 9 || celular.length < 11);\r\n};\r\nexport const isSequenciaIgualCelular = (celular) => {\r\n return !!celular.substring(2).match(validationPattern.sequenciaIgualCelular);\r\n};\r\n\r\nexport const isValidMesmoCelular = (celular) => {\r\n return (\r\n isValidCelular(celular) &&\r\n isLengthCelular(celular) &&\r\n !isSequenciaIgualCelular(celular)\r\n );\r\n};\r\n\r\nexport const isValidPassword = (password) => {\r\n return !!password.match(validationPattern.password.regexValidate);\r\n};\r\nexport const passwordHasSymbols = (password) => {\r\n return !!password.match(validationPattern.password.symbolValidate);\r\n};\r\nexport const passwordSize = (password) => {\r\n return !!(password.length >= 8 && password.length <= 22);\r\n};\r\n\r\nexport const isPartialEmail = (email) => {\r\n return !!email.includes('@');\r\n};\r\n\r\nexport const isChangePassword = (password) => {\r\n return !!password.match(validationPattern.password.changePasswordValidate);\r\n};\r\n\r\nexport const isRepeatMesmoNumero = (texto) => {\r\n if (!texto) return true;\r\n\r\n const numeros = texto.replace(/[^0-9]/gi, '');\r\n const { length } = numeros;\r\n const primeiroCaracterer = numeros.substr(0, 1);\r\n\r\n return primeiroCaracterer.repeat(length) === numeros;\r\n};\r\n\r\nconst isValidDigitosVerificadoresCNPJ = (cnpj) => {\r\n const cnpjSemCaracteres = cnpj.replaceAll(/[^0-9]/g, '');\r\n\r\n let tamanho = cnpjSemCaracteres.length - 2;\r\n let numeros = cnpjSemCaracteres.substring(0, tamanho);\r\n const digitos = cnpjSemCaracteres.substring(tamanho);\r\n let soma = 0;\r\n let pos = tamanho - 7;\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2) {\r\n pos = 9;\r\n }\r\n }\r\n\r\n let resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\r\n if (resultado != digitos.charAt(0)) return false;\r\n\r\n tamanho += 1;\r\n numeros = cnpjSemCaracteres.substring(0, tamanho);\r\n soma = 0;\r\n pos = tamanho - 7;\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2) {\r\n pos = 9;\r\n }\r\n }\r\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\r\n\r\n if (resultado != digitos.charAt(1)) return false;\r\n\r\n return true;\r\n};\r\n\r\nexport const isCNPJ = (cnpj) => {\r\n return (\r\n !!cnpj.match(validationPattern.cnpj) &&\r\n !isRepeatMesmoNumero(cnpj) &&\r\n isValidDigitosVerificadoresCNPJ(cnpj)\r\n );\r\n};\r\n\r\nexport const hasChar = (string) => {\r\n const matches = string.match(validationPattern.char);\r\n if (matches != null) {\r\n return true;\r\n }\r\n};\r\n","import Axios from 'axios';\r\nimport camelcaseKeys from 'camelcase-keys';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { trim } from 'lodash';\r\nimport qs from 'qs';\r\nimport React from 'react';\r\nimport { put, retry, select } from 'redux-saga/effects';\r\nimport snakeCaseKeys from 'snakecase-keys';\r\n\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as AuthActions } from '../ducks/auth';\r\nimport { Creators as UsuarioActions } from '../ducks/usuario';\r\n\r\nimport { OAuth, OAuthNewToken, legado } from '../../services/api';\r\nimport {\r\n USER_KEY,\r\n excludeData,\r\n getLocalObj,\r\n movcadUpt,\r\n persistData,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport { responseHandlerGet } from '../../utils/responseHandler';\r\n\r\nimport { toSnake } from '../../utils/toSnake';\r\nimport { isEmail } from '../../utils/validation';\r\n\r\nimport { Error } from '@unimed-fesp/components';\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport function* signIn(action) {\r\n try {\r\n const { auth } = action.payload;\r\n\r\n const tokenData = jwtDecode(auth.access_token);\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n if (usuario.role !== 'Adm') {\r\n yield put(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }\r\n // persistData(data);\r\n\r\n // Descomentar após finalização da tela de login\r\n // Request após login para atualizar sessão no movcad legado\r\n if (process.env.NODE_ENV !== 'development')\r\n yield put(UsuarioActions.postAtualizarSessaoLegadoRequest(auth));\r\n\r\n yield put(AuthActions.signInSuccess(auth, usuario));\r\n } catch (error) {\r\n yield put(AuthActions.signInError(error));\r\n }\r\n}\r\n\r\nexport function* refreshInvalidToken(action) {\r\n try {\r\n const codigoContratante = yield select(\r\n (state) => state.auth.usuario.codigoContratante\r\n );\r\n const invalidToken = jwtDecode(action.payload.invalidToken.access_token);\r\n\r\n const requestBody = {\r\n ...(codigoContratante && { codigoContratante }),\r\n UserId: invalidToken.unique_name[0],\r\n password: invalidToken.Validate,\r\n GrantType: 'refresh_token',\r\n RefreshToken: action.payload.invalidToken.refresh_token,\r\n UserType: !isEmail(invalidToken.unique_name[0])\r\n ? TipoPerfilUsuarioEnum.returnNameForRefresh[invalidToken.role]\r\n : null,\r\n };\r\n\r\n const response = yield retry(1, 2000, OAuth.post, `/oauth`, requestBody);\r\n\r\n const isSuccess = response.status > 199 || response.status < 299;\r\n\r\n const tokenData = jwtDecode(response.data.access_token);\r\n\r\n if (isSuccess) {\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n if (process.env.NODE_ENV !== 'development')\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoRequest(response.data)\r\n );\r\n\r\n persistData(response.data);\r\n yield put(AuthActions.signInSuccess(response.data, usuario));\r\n // history.push('/novo/lista');\r\n }\r\n } catch (error) {\r\n // Axios.get(`${REACT_APP_MOVCAD_LEGACY}/LogOut.aspx/EfetuarLogOut`)\r\n // .then(() => {\r\n // // const { unsuccessResponse } = responseHandlerGet(\r\n // // error.response,\r\n // // '',\r\n // // 'refreshInvalidToken',\r\n // // 200\r\n // // );\r\n // // put(AuthActions.refreshInvalidTokenError(unsuccessResponse));\r\n // excludeData();\r\n // })\r\n // .finally(() => {\r\n // window.location.replace(`${REACT_APP_MOVCAD_LEGACY}/Login.aspx`);\r\n // });\r\n // yield put(AuthActions.signOut());\r\n }\r\n}\r\n\r\nexport function* getChangeToken(action) {\r\n const { queryParams } = action.payload;\r\n queryParams.id = trim(queryParams.id);\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuthNewToken.get,\r\n `/oauth/token-contratante`,\r\n { params: queryParams }\r\n );\r\n\r\n if (response.status === 200) {\r\n persistData(response.data);\r\n movcadUpt();\r\n window.location.reload();\r\n }\r\n } catch (error) {\r\n yield put(AuthActions.getChangeTokenError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para a troca de contratantes.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postLogin(action) {\r\n try {\r\n const { usuarioParams } = action.payload;\r\n\r\n const queryUsuarioParams = snakeCaseKeys(usuarioParams);\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n OAuth.post,\r\n `/oauth`,\r\n queryUsuarioParams\r\n );\r\n\r\n const token = response.data;\r\n const tokenData = jwtDecode(token.access_token);\r\n\r\n const usuario = {\r\n idUsuarioLogado: tokenData.id_usuario_logado,\r\n login: tokenData.unique_name[0],\r\n nome: tokenData.given_name,\r\n role: tokenData.role,\r\n changePassword: tokenData.bt_alteracao_senha,\r\n ...(tokenData.Contratante && {\r\n codigoContratante: tokenData.Contratante,\r\n }),\r\n ...(tokenData.NomeContratante && {\r\n nomeEmpresa: tokenData.NomeContratante,\r\n }),\r\n GrupoContratante: tokenData.GrupoContratante || 0,\r\n };\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'postLogin',\r\n 200\r\n );\r\n if (usuario.changePassword === 'false') {\r\n persistData(token);\r\n }\r\n yield put(\r\n AuthActions.postLoginSuccess(\r\n response.data,\r\n usuario,\r\n isSuccess,\r\n usuario.changePassword\r\n )\r\n );\r\n yield put(UsuarioActions.postAtualizarSessaoLegadoRequest(token));\r\n\r\n // if (usuario.role !== 'Adm') {\r\n // yield put(\r\n // UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n // );\r\n // }\r\n } catch (error) {\r\n if (error.response.status === 406) {\r\n history.push('/novo/error', {\r\n error: 406,\r\n message: `Identificamos que a versão do sistema no cache do seu navegador está desatualizada. \r\n Por gentileza, limpe o cache do seu navegador nas configurações dele.`,\r\n title: 'Versão do Sistema Desatualizada.',\r\n path: '/novo/',\r\n });\r\n }\r\n\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'postLogin',\r\n 200\r\n );\r\n\r\n yield put(AuthActions.postLoginError(unsuccessResponse, error.response));\r\n }\r\n}\r\n\r\nexport function* postRecaptchaVerify(action) {\r\n const { queryParams } = action.payload;\r\n\r\n const params = qs.stringify(queryParams, {\r\n addQueryPrefix: true,\r\n });\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuth.post,\r\n `/oauth/validar-captcha${params}`\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(AuthActions.postRecaptchaVerifySuccess(response, isSuccess));\r\n } catch (error) {\r\n yield put(AuthActions.postRecaptchaVerifyError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para validação de segurança do\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getRecuperarSenha(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield retry(1, 2000, OAuth.get, `/oauth/recuperar-senha`, {\r\n params,\r\n });\r\n\r\n const isSuccess = response.status === 204 || false;\r\n\r\n yield put(AuthActions.getRecuperarSenhaSuccess(response, isSuccess));\r\n } catch (error) {\r\n const errorStatusCode = error.response.status;\r\n yield put(AuthActions.getRecuperarSenhaError(error));\r\n // if (errorStatusCode !== 403) {\r\n // toast.error(\r\n // \r\n // Não foi possível realizar a conexão para envio de e-mail de\r\n // redefinição de senha.\r\n // \r\n // );\r\n // }\r\n }\r\n}\r\n\r\nexport function* postRecuperarSenha(action) {\r\n const { params } = action.payload;\r\n\r\n const queryUsuarioParams = snakeCaseKeys(params);\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n OAuth.post,\r\n `/oauth/recuperar-senha`,\r\n queryUsuarioParams\r\n );\r\n\r\n const isSuccess = !!(response.status === 200 || 204);\r\n\r\n yield put(AuthActions.postRecuperarSenhaSuccess(response, isSuccess));\r\n } catch (error) {\r\n yield put(AuthActions.postRecuperarSenhaError(error));\r\n }\r\n}\r\n\r\nexport function* signOutLegado(action) {\r\n try {\r\n yield retry(1, 2000, legado.get, `/LogOut.aspx/EfetuarLogOut`);\r\n } catch (e) {\r\n console.log(e);\r\n } finally {\r\n if (getLocalObj(USER_KEY)) {\r\n excludeData();\r\n yield put(AuthActions.signOut());\r\n }\r\n }\r\n}\r\n","import { findKey } from 'lodash';\r\nimport React from 'react';\r\nimport { all, call, put, retry } from 'redux-saga/effects';\r\n\r\nimport qs from 'qs';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ListaActions } from '../ducks/lista';\r\n\r\nimport { listasAPI, listasMassaInicialAPI } from '../../services/api';\r\n\r\nimport { getBase64 } from '../../utils/array';\r\nimport {\r\n responseHandler,\r\n responseHandlerGet,\r\n} from '../../utils/responseHandler';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n ErrorToast,\r\n SuccessToast,\r\n WarningToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nimport { StatusListaAPIEnum, StatusListaRPAEnum } from '../../enums';\r\n\r\nexport function* deleteListaCsv(action) {\r\n try {\r\n const { params } = action.payload;\r\n const listas = params.filter((file) => file.nomeLista);\r\n yield all(\r\n listas.map((lista) =>\r\n call(listasAPI.delete, `/delete-csv/${lista.nomeLista}`)\r\n )\r\n );\r\n } catch (error) {\r\n toast.success(Erro ao Excluir Lista.);\r\n }\r\n}\r\nexport function* getDownloadArquivoOriginalLote(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(listasAPI.get, `/download-csv/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download.\r\n \r\n );\r\n }\r\n yield put(\r\n ListaActions.getDownloadArquivoLoteOriginalSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ListaActions.getDownloadArquivoLoteOriginalRenew());\r\n } catch (error) {\r\n yield put(ListaActions.getDownloadArquivoLoteOriginalError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioResumidoNovo(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/relatorio-resumido-novo`,\r\n params\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(\r\n ListaActions.postRelatorioResumidoNovoSuccess(response.data, isSuccess)\r\n );\r\n yield put(ListaActions.postRelatorioResumidoNovoRenew());\r\n } catch (error) {\r\n yield put(ListaActions.postRelatorioResumidoNovoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioDetalhadoNovo(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/relatorio-detalhado-novo`,\r\n params\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(\r\n ListaActions.postRelatorioDetalhadoNovoSuccess(response.data, isSuccess)\r\n );\r\n yield put(ListaActions.postRelatorioDetalhadoNovoRenew());\r\n } catch (error) {\r\n yield put(ListaActions.postRelatorioDetalhadoNovoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSearchListRpa(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/search-rpa`, params);\r\n if (response.status === 200) {\r\n const idsListas = response.data.data.map((lista) => lista.idLista);\r\n\r\n let listasSinalizadas;\r\n\r\n if (idsListas.length > 0) {\r\n listasSinalizadas = yield call(\r\n listasAPI.post,\r\n `/lista-sinalizacao-rn412`,\r\n {\r\n ids_lista: idsListas,\r\n }\r\n );\r\n }\r\n\r\n const listas = response.data.data.map((lista) => {\r\n const listaSinalizada = listasSinalizadas.data.find(\r\n (item) => item.idLista === lista.idLista\r\n );\r\n if (listaSinalizada) {\r\n return {\r\n ...lista,\r\n ...listaSinalizada,\r\n };\r\n }\r\n return lista;\r\n });\r\n\r\n const data = { ...response.data, data: listas };\r\n\r\n yield put(ListaActions.postSearchListRpaResponse(data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi Possível buscar listas RPA.);\r\n }\r\n}\r\n\r\nexport function* getStatusListRpa() {\r\n const data = yield call(listasAPI.get, `/status-rpa`);\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListRpaResponse(response, true));\r\n }\r\n}\r\nexport function* postSearchList(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/search-list`, params);\r\n\r\n if (response.status === 200) {\r\n const idsListas = response.data.data.map((lista) => lista.idLista);\r\n\r\n let listasSinalizadas;\r\n\r\n if (idsListas.length > 0) {\r\n listasSinalizadas = yield call(\r\n listasAPI.post,\r\n `/lista-sinalizacao-rn412`,\r\n {\r\n ids_lista: idsListas,\r\n }\r\n );\r\n }\r\n\r\n const listas = response.data.data.map((lista) => {\r\n const listaSinalizada = listasSinalizadas.data.find(\r\n (item) => item.idLista === lista.idLista\r\n );\r\n if (listaSinalizada) {\r\n return {\r\n ...lista,\r\n ...listaSinalizada,\r\n };\r\n }\r\n return lista;\r\n });\r\n\r\n const data = { ...response.data, data: listas };\r\n yield put(ListaActions.postSearchListResponse(data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi Possível buscar listas.);\r\n }\r\n}\r\n\r\nexport function* getStatusListContratante(action) {\r\n const data = yield call(\r\n listasAPI.get,\r\n `/status-list/contractor-code/${parseInt(\r\n action.payload.idContrantante\r\n )}?withFakeList=${action.payload.mostrarListaFake}`\r\n );\r\n\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n yield put(ListaActions.getStatusListContratanteResponse(response, true));\r\n }\r\n}\r\nexport function* getStatusListNestle(action) {\r\n const data = yield call(\r\n listasAPI.get,\r\n `/status-list/nestle?withFakeList=${action.payload.mostrarListaFake}`\r\n );\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListNestleResponse(response, true));\r\n }\r\n}\r\n\r\nexport function* getStatusListAdmin(action) {\r\n const data = yield call(listasAPI.get, `/status-list`);\r\n if (data.status === 200) {\r\n const allCount = data.data.reduce(\r\n (accumulator, currentValue) => accumulator + currentValue.count,\r\n 0\r\n );\r\n\r\n const response = {\r\n availables: [\r\n { id: 0, description: 'Todos', count: allCount },\r\n ...data.data,\r\n ],\r\n actives: [],\r\n };\r\n\r\n yield put(ListaActions.getStatusListAdminResponse(response, true));\r\n }\r\n}\r\nexport function* getListas(action) {\r\n const { TipoStatus } = action.payload;\r\n\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n try {\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...(status !== StatusListaAPIEnum.returnNameForTab.Todas && {\r\n idStatus: status,\r\n }),\r\n };\r\n\r\n const params = qs.stringify(queryString, {\r\n addQueryPrefix: true,\r\n skipNulls: true,\r\n arrayFormat: 'repeat',\r\n });\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n objResponse.data.status = findKey(TipoStatus, (o) => o === status);\r\n return objResponse;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getListas',\r\n 200\r\n );\r\n\r\n const listas = response.map((resp) => resp.data);\r\n const dataLista = {\r\n response: listas,\r\n isSuccess,\r\n };\r\n yield put(\r\n ListaActions.getListasSuccess(dataLista.response, response.isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.getListasError(error));\r\n }\r\n}\r\n\r\nexport function* postListaInativas(action) {\r\n const { contratante } = action.payload;\r\n\r\n const request = yield {\r\n contratante: contratante.codigoContratante,\r\n solicitante: contratante.idUsuarioLogado,\r\n };\r\n\r\n try {\r\n const { data } = yield call(listasAPI.post, '/lista-inativos', request);\r\n\r\n if (data.success) {\r\n yield put(ListaActions.postListaInativasSuccess(data.data, true));\r\n }\r\n } catch (error) {\r\n toast.error(Não foi possível criar lista.);\r\n }\r\n}\r\n\r\nexport function* getListaInativas(action) {\r\n const { data } = yield call(\r\n listasAPI.get,\r\n `lista-inativos/${action.payload.idLista}`\r\n );\r\n if (data.success) {\r\n yield put(ListaActions.getListaInativasSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* putListaInativas(action) {\r\n const request = yield {\r\n idLista: action.payload.params.idLista,\r\n modalidade: action.payload.params.modalidade,\r\n descricao: action.payload.params.descricao,\r\n };\r\n\r\n const { data } = yield call(listasAPI.put, 'lista-inativos/', request);\r\n if (data.success) {\r\n yield put(ListaActions.putListaInativasSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* getListaBeneficiario(action) {\r\n const params = {\r\n pageNumber: action.payload.params.pageNumber || 1,\r\n pageSize: action.payload.params.pageSize || 10,\r\n };\r\n const request = {\r\n ...action.payload.params,\r\n };\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${action.payload.params.idLista}/pesquisa-beneficiario`,\r\n request,\r\n { params }\r\n );\r\n if (data.success) {\r\n yield put(ListaActions.getListaBeneficiarioSuccess(data, true));\r\n }\r\n}\r\n\r\nexport function* postSalvarBeneficiarioInativos(action) {\r\n const { params: request } = action.payload;\r\n const { idLista } = request;\r\n\r\n try {\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${idLista}/salvar-beneficiario`,\r\n request\r\n );\r\n\r\n if (data.success) {\r\n yield put(\r\n ListaActions.postSalvarBeneficiarioInativosSuccess(data.data, true)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao salvar beneficiario.');\r\n } catch (error) {\r\n toast.error({error.message});\r\n yield put(ListaActions.postSalvarBeneficiarioInativosError(error));\r\n }\r\n}\r\n\r\nexport function* postFamiliar(action) {\r\n const { idLista, beneficiarios } = action.payload;\r\n\r\n try {\r\n const { data } = yield call(\r\n listasAPI.post,\r\n `lista-inativos/${idLista}/salvar-familiar`,\r\n beneficiarios\r\n );\r\n\r\n if (data.success)\r\n yield put(ListaActions.postFamiliarResponse(data.data, data.success));\r\n else\r\n yield put(\r\n ListaActions.postFamiliarResponse(\r\n {},\r\n data.success,\r\n 'Erro ao atualizar beneficiários'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.postFamiliarResponse({}, false, error));\r\n }\r\n}\r\n\r\nexport function* getListaGrupoFamiliar(action) {\r\n const { data } = yield call(\r\n listasAPI.get,\r\n `lista-inativos/${action.payload.id}/grupo-familiar`\r\n );\r\n\r\n if (data.success) {\r\n yield put(ListaActions.getListaGrupoFamiliarSuccess(data.data, true));\r\n }\r\n}\r\n\r\nexport function* getListaPorStatus(action) {\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n const queryString = {\r\n ...queryParams,\r\n ...(tipoStatus !== StatusListaAPIEnum.returnNameForTab.Todas && {\r\n idStatus: tipoStatus,\r\n }),\r\n };\r\n\r\n try {\r\n const response = yield retry(10, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = findKey(\r\n StatusListaAPIEnum.returnNameForTab,\r\n (o) => o === tipoStatus\r\n );\r\n // response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getListaPorStatus',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n ListaActions.getListasPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getListaPorStatus',\r\n 200\r\n );\r\n\r\n yield put(ListaActions.getListasPorStatusError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postArquivoImportacao(action) {\r\n const { novoArquivoRequest } = action.payload;\r\n\r\n const body = {\r\n idLista: novoArquivoRequest[0].idLista,\r\n arquivo: novoArquivoRequest[0].base64,\r\n nomeArquivo: novoArquivoRequest[0].name,\r\n idHub: null,\r\n };\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/arquivo-importacao`, body);\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n if (isSuccess) {\r\n yield put(\r\n ListaActions.postArquivoImportacaoSuccess(novoArquivoRequest[0])\r\n );\r\n toast.success(\r\n Arquivo(s) alterado com sucesso.\r\n );\r\n } else throw new Error('Erro ao alterar arquivo.');\r\n } catch (error) {\r\n yield put(ListaActions.postArquivoImportacaoError(error));\r\n toast.error(\r\n \r\n Erro ao importar o arquivo:\r\n
\r\n {novoArquivoRequest.nomeArquivo}.\r\n
\r\n {error.response.data.errors.Messages}.\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport function* validarLoteCsv(action) {\r\n const { params } = action.payload;\r\n\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const fileToBase64 = yield getBase64(file.file);\r\n\r\n const fileListaRequest = {\r\n nome_arquivo: file.name,\r\n arquivo: fileToBase64,\r\n codigo_contratante: params?.codigoContratante,\r\n };\r\n\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/upload-csv`,\r\n fileListaRequest\r\n );\r\n\r\n const { idLista, TipoMovimentacao, codigoContratante, ...newFile } =\r\n file;\r\n\r\n yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/validation-progress/${response.data.nomeLista}/${params?.idUsuarioLogado}`\r\n );\r\n\r\n newFile.idLista = response.data.idLista;\r\n newFile.codigoContratante = params?.codigoContratante;\r\n newFile.nomeLista = response.data.nomeLista;\r\n newFile.progress = 100;\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n isLoteSuccess.push(isSuccess);\r\n\r\n yield put(ListaActions.importarLoteUpdate(newFile));\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(newFile.idFile, false, true)\r\n );\r\n } catch (err) {\r\n isLoteSuccess.push(isSuccess);\r\n\r\n if (err.response.status === 403) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n if (err.response.status === 400) {\r\n if (\r\n err.response.data.log_errors &&\r\n err.response.data.status_progress === 2\r\n ) {\r\n toast.error(\r\n \r\n A lista foi criada com sucesso, porém existem inconsistências\r\n retornadas pelo progress, verifique o log de erros.\r\n
\r\n {file.name}.\r\n
\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n file.name,\r\n err.response.data.erros_base64 || err.response.data.log_errors\r\n )\r\n );\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n );\r\n } else {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.errors.Messages}\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(file.idFile, true, false)\r\n );\r\n }\r\n });\r\n\r\n const isSuccess = isLoteSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isLoteSuccess.some((resp) => !!resp);\r\n const isError = isLoteSuccess.every((resp) => !resp);\r\n if ((isSuccess || isPartialSuccess) && !isError) {\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, isPartialSuccess));\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Arquivo(s) Validado(s) com sucesso.\r\n \r\n );\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Somente os arquivos com sucesso serão importados.\r\n \r\n );\r\n } else {\r\n yield put(\r\n ListaActions.importarLoteError(\r\n 'Erro ao carregar o lote atual.',\r\n isError\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.importarLoteError(error, true));\r\n }\r\n}\r\nexport function* importarLoteCsv(action) {\r\n const { params } = action.payload;\r\n\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const fileListaRequest = {\r\n arquivo: file,\r\n codigo_contratante: params?.codigoContratante,\r\n id_usuario_solicitante: params?.idUsuarioLogado,\r\n criar_lista: true,\r\n };\r\n\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/upload-csv`,\r\n fileListaRequest\r\n );\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n isLoteSuccess.push(isSuccess);\r\n\r\n if (isLoteSuccess.length === params.newFiles.length) {\r\n toast.success(\r\n \r\n Arquivo(s) Importado(s) com sucesso.\r\n \r\n );\r\n yield put(ListaActions.importarLoteCsvSuccess(true));\r\n setTimeout(() => history.go(0), 1500);\r\n }\r\n } catch (err) {\r\n toast.error(\r\n \r\n Erro ao Importar arquivo:\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n });\r\n } catch (error) {\r\n toast.error(\r\n \r\n Erro ao Importar arquivo:\r\n
\r\n {error.response.data.message}\r\n
\r\n );\r\n }\r\n}\r\nexport function* importarLote(action) {\r\n const { params } = action.payload;\r\n\r\n const newLista = yield {\r\n cdContratante: params?.codigoContratante,\r\n tipoLista: params?.TipoLista,\r\n };\r\n const isLoteSuccess = [];\r\n try {\r\n yield* params.newFiles.map(function* (file) {\r\n let isSuccess = false;\r\n try {\r\n const { data } = yield retry(1, 2000, listasAPI.post, ``, newLista);\r\n\r\n const fileToBase64 = yield getBase64(file.file);\r\n const { idLista, TipoMovimentacao, codigoContratante, ...newFile } =\r\n file;\r\n\r\n newFile.idLista = data.idLista;\r\n newFile.codigoContratante = params?.codigoContratante;\r\n newFile.nomeLista = data.nmLista;\r\n\r\n yield put(ListaActions.importarLoteUpdate(newFile));\r\n\r\n const fileListaRequest = {\r\n idLista: data.idLista,\r\n arquivo: fileToBase64,\r\n nomeArquivo: file.name,\r\n idHub: params.connection.connectionId,\r\n };\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/arquivo-importacao`,\r\n fileListaRequest\r\n );\r\n\r\n isSuccess = response.status > 199 && response.status < 300;\r\n\r\n isLoteSuccess.push(isSuccess);\r\n\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(newFile.idFile, false, true)\r\n );\r\n } catch (err) {\r\n isLoteSuccess.push(isSuccess);\r\n if (err.response.status === 403) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.message}\r\n
\r\n );\r\n }\r\n if (err.response.status === 400) {\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n file.name,\r\n err.response.data && err.response.data.errors.Messages\r\n )\r\n );\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n );\r\n } else {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.response.data.errors.Messages}\r\n
\r\n );\r\n }\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(file.idFile, true, false)\r\n );\r\n }\r\n });\r\n\r\n const isSuccess = isLoteSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isLoteSuccess.some((resp) => !!resp);\r\n const isError = isLoteSuccess.every((resp) => !resp);\r\n if ((isSuccess || isPartialSuccess) && !isError) {\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, isPartialSuccess));\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Arquivo(s) carregado(s) com sucesso.\r\n \r\n );\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Somente os arquivos com sucesso serão importados.\r\n \r\n );\r\n } else {\r\n yield put(\r\n ListaActions.importarLoteError(\r\n 'Erro ao carregar o lote atual.',\r\n isError\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n yield put(ListaActions.importarLoteError(error, true));\r\n }\r\n}\r\n\r\nexport function* putListas(action) {\r\n try {\r\n const { listas } = action.payload;\r\n const response = yield all(\r\n listas.map((lista) =>\r\n call(listasAPI.put, ``, {\r\n idLista: lista.idLista,\r\n idStatusLista: StatusListaAPIEnum.returnId.Registrada,\r\n dcDescricao: lista.descricao,\r\n })\r\n )\r\n );\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.putListasSuccess(listas, isSuccess));\r\n toast.success(\r\n \r\n Sucesso ao alterar a(s) informações!\r\n \r\n );\r\n } else throw new Error('Erro ao salvar informações');\r\n } catch (error) {\r\n yield put(ListaActions.putListasError(error));\r\n toast.error(\r\n Erro ao alterar a(s) informações!\r\n );\r\n }\r\n}\r\n\r\nexport function* patchListaStatus(action) {\r\n try {\r\n const { listas } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) => call(listasAPI.patch, `Status`, lista))\r\n );\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.patchListaStatusSuccess(isSuccess));\r\n toast.success(\r\n \r\n Sucesso ao alterar o status da lista!\r\n \r\n );\r\n yield put(ListaActions.deleteListaRenew());\r\n yield put(ListaActions.putListasRenew());\r\n yield put(ListaActions.patchListaStatusRenew());\r\n history.push('/novo/lista');\r\n } else throw new Error('Erro ao alterar o status');\r\n } catch (error) {\r\n yield put(ListaActions.patchListaStatusError(error));\r\n toast.error(\r\n Erro ao alterar o status da lista!\r\n );\r\n }\r\n}\r\n\r\nexport function* deleteLista(action) {\r\n try {\r\n const { listas } = action.payload;\r\n\r\n const listasComIdLista = listas.filter(\r\n (file) => file.idLista !== null && file.idLista !== undefined\r\n );\r\n\r\n const response = yield all(\r\n listasComIdLista.map((lista) =>\r\n call(listasAPI.delete, `/${lista.idLista}`)\r\n )\r\n );\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 300\r\n );\r\n if (isSuccess) {\r\n yield put(ListaActions.deleteListaSuccess(isSuccess, listas));\r\n toast.success(\r\n Lista(s) removida(s) com sucesso.\r\n );\r\n } else\r\n yield put(ListaActions.deleteListaError('Erro ao deletar as listas.'));\r\n } catch (error) {\r\n yield put(ListaActions.deleteListaError(error));\r\n }\r\n}\r\n\r\nexport function* patchListaEnvioRPA(action) {\r\n try {\r\n const { listas, isActive } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(2, 2000, listasAPI.patch, `${lista.idLista}/enviar-rpa`, {\r\n ativo: isActive,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n listas,\r\n 'idLista',\r\n 'patchListaEnvioRPA',\r\n 204\r\n );\r\n\r\n yield put(\r\n ListaActions.patchListaEnvioRPASuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.patchListaEnvioRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListasRPA(action) {\r\n const { TipoStatus } = action.payload;\r\n\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n try {\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...{\r\n idStatusRpa:\r\n status !== StatusListaRPAEnum.returnNameForTab.Todas\r\n ? status\r\n : null,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n },\r\n };\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n objResponse.data.status = findKey(TipoStatus, (o) => o === status);\r\n return objResponse;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getListasRPA',\r\n 200\r\n );\r\n\r\n const listas = response.map((resp) => resp.data);\r\n\r\n const dataLista = {\r\n response: listas,\r\n isSuccess,\r\n };\r\n yield put(\r\n ListaActions.getListasRPASuccess(dataLista.response, response.isSuccess)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(ListaActions.getListasRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListaPorStatusRPA(action) {\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n const queryString = {\r\n ...queryParams,\r\n ...{\r\n idStatusRpa:\r\n tipoStatus !== StatusListaRPAEnum.returnNameForTab.Todas\r\n ? tipoStatus\r\n : null,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n },\r\n };\r\n\r\n try {\r\n const response = yield retry(10, 2000, listasAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = findKey(\r\n StatusListaRPAEnum.returnNameForTab,\r\n (o) => o === tipoStatus\r\n );\r\n // response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getListaPorStatusRPA',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n ListaActions.getListasRPAPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getListaPorStatusRPA',\r\n 200\r\n );\r\n\r\n yield put(ListaActions.getListasRPAPorStatusError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de listas.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* patchStatusRPA(action) {\r\n try {\r\n const { listas, tipoStatus } = action.payload;\r\n\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(2, 2000, listasAPI.patch, `${lista.idLista}/status-rpa`, {\r\n idStatus: tipoStatus,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n listas,\r\n 'idLista',\r\n 'patchStatusRPA',\r\n 204\r\n );\r\n\r\n yield put(ListaActions.patchStatusRPASuccess(unsuccessResponse, isSuccess));\r\n } catch (error) {\r\n yield put(ListaActions.patchStatusRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getRelatorioRPA(action) {\r\n const { params, tipoRelatorio } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n idStatus: 10,\r\n statusEnvioRpa: true,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/relatorio-${tipoRelatorio}`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (response.status === 204) {\r\n toast.error(\r\n \r\n Não foram encontrados dados para o download do arquivo excel.\r\n \r\n );\r\n }\r\n\r\n yield put(ListaActions.getRelatorioRPASuccess(response.data, isSuccess));\r\n yield put(ListaActions.getRelatorioRPARenew());\r\n } catch (error) {\r\n yield put(ListaActions.getRelatorioRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getListaDetalhe(action) {\r\n const { idLista } = action.payload;\r\n try {\r\n const response = yield retry(2, 2000, listasAPI.get, `/${idLista}`);\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(ListaActions.getListaDetalheSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(ListaActions.getListaDetalheSuccess(error));\r\n }\r\n}\r\nexport function* getListaMassaInicial(action) {\r\n try {\r\n const { params } = action.payload;\r\n\r\n const objResponse = yield retry(1, 2000, listasAPI.get, `/massa-inicial`, {\r\n params,\r\n });\r\n\r\n const success = objResponse.status > 199 && objResponse.status < 300;\r\n\r\n if (success) {\r\n yield put(ListaActions.getListasMassaInicialSuccess(objResponse.data));\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.patchStatusRPAError(error));\r\n }\r\n}\r\n\r\nexport function* getArquivoMassaInicial(action) {\r\n const { idLista, idArquivo, nomeArquivoDownload } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/${idLista}/arquivo-massa-inicial`,\r\n { params: { idArquivo } }\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(\r\n ListaActions.getArquivoMassaInicialSuccess(\r\n response.data,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.getArquivoMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* getTermoResponsabilidadeMassaInicial(action) {\r\n const { idLista, nomeArquivoDownload } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n listasAPI.get,\r\n `/${idLista}/arquivo-termo-responsabilidade`\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(\r\n ListaActions.getTermoResponsabilidadeMassaInicialSuccess(\r\n response.data,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n yield put(ListaActions.getTermoResponsabilidadeMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* postArquivoMassaInicial(action) {\r\n const { body } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasMassaInicialAPI.post,\r\n `/massa-inicial`,\r\n body\r\n );\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n const { isValid } = response.data.validationResult;\r\n\r\n if (isSuccess) {\r\n if (isValid) {\r\n yield put(ListaActions.postArquivoMassaInicialSuccess(response.data));\r\n } else {\r\n const [error] = response.data.validationResult.errors;\r\n yield put(\r\n ListaActions.postArquivoMassaInicialError(error.errorMessage)\r\n );\r\n\r\n toast.error({error.errorMessage});\r\n }\r\n }\r\n } catch (error) {\r\n if (error.response.status === 500)\r\n toast.error(Erro ao importar massa incial);\r\n else toast.error({error.errorMessage});\r\n yield put(ListaActions.postArquivoMassaInicialError(error.errorMessage));\r\n }\r\n}\r\n\r\nexport function* patchValidacaoListaTransferencia(action) {\r\n const { listas } = action.payload;\r\n\r\n try {\r\n const response = yield all(\r\n listas.map((lista) =>\r\n retry(\r\n 2,\r\n 2000,\r\n listasAPI.patch,\r\n `${lista.idLista}/validar-transferencia`,\r\n { descricao: lista.descricao }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n if (isSuccess) {\r\n yield put(ListaActions.patchValidacaoListaTrasnferenciaSuccess([], true));\r\n toast.success(\r\n \r\n Sucesso ao alterar o status da lista!\r\n \r\n );\r\n history.push('/novo/lista');\r\n } else\r\n yield put(\r\n ListaActions.patchValidacaoListaTrasnferenciaError(\r\n 'Erro ao enviar para validação'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ListaActions.patchValidacaoListaTrasnferenciaError(error));\r\n }\r\n}\r\n\r\nexport function* patchAceiteCompartilhamento(action) {\r\n const { body, idLista } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasMassaInicialAPI.patch,\r\n `/${idLista}/aceite-compartilhamento-termo`,\r\n body\r\n );\r\n\r\n const success = response.status > 199 && response.status < 300;\r\n\r\n if (success) {\r\n yield put(ListaActions.patchAceiteCompartilhamentoMassaInicialSuccess());\r\n }\r\n } catch (error) {\r\n if (error.status && error.status === 400)\r\n toast.error({error.errors[0]});\r\n\r\n yield put(ListaActions.patchAceiteCompartilhamentoMassaInicialError(error));\r\n }\r\n}\r\n\r\nexport function* postArquivoImportacaoNestle(action) {\r\n const { params } = action.payload;\r\n const arquivoNestle = {\r\n id: params.newFiles[0].idFile,\r\n arquivo: params.newFiles[0].base64,\r\n nomeArquivo: params.newFiles[0].name,\r\n idHub: params.connection.connectionId || 0,\r\n };\r\n\r\n yield put(ListaActions.importarLoteUpdate(params.newFiles[0]));\r\n\r\n try {\r\n const response = yield retry(\r\n 1,\r\n 2000,\r\n listasAPI.post,\r\n `/arquivo-importacao-nestle`,\r\n arquivoNestle\r\n );\r\n\r\n const isSuccess = yield response.status === 204 || false;\r\n if (isSuccess) {\r\n yield put(\r\n ListaActions.importarLoteUpdateStatus(\r\n params.newFiles[0].idFile,\r\n false,\r\n true\r\n )\r\n );\r\n yield put(ListaActions.importarLoteSuccess(isSuccess, false));\r\n toast.success(\r\n \r\n Arquivo(s) carregado(s) com sucesso.\r\n \r\n );\r\n }\r\n } catch (error) {\r\n if (error.response.status === 400) {\r\n yield put(\r\n ListaActions.importarLoteLogError(\r\n params.newFiles[0].name,\r\n error.response.data && error.response.data.errors.Messages\r\n )\r\n );\r\n }\r\n\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {params.newFiles[0].name}.\r\n {error.response.status !== 400 && (\r\n <>\r\n
\r\n {error.response.data ? error.response.data.errors.Messages : ''}.\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\n// Action types\r\n\r\nexport const Types = {\r\n GET_MODALIDADES_REQUEST: '@modalidade/GET_MODALIDADES_REQUEST',\r\n GET_MODALIDADES_SUCCESS: '@modalidade/GET_MODALIDADES_SUCCESS',\r\n GET_MODALIDADES_ERROR: '@modalidade/GET_MODALIDADES_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n};\r\n\r\nexport default function modalidade(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_MODALIDADES_REQUEST: {\r\n draft.loading = true;\r\n break;\r\n }\r\n case Types.GET_MODALIDADES_SUCCESS: {\r\n draft.loading = false;\r\n draft.response = action.payload.response;\r\n draft.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_MODALIDADES_ERROR: {\r\n draft.loading = false;\r\n draft.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getModalidadesRequest: (params) => ({\r\n type: Types.GET_MODALIDADES_REQUEST,\r\n payload: { params },\r\n }),\r\n getModalidadesSuccess: (response, success) => ({\r\n type: Types.GET_MODALIDADES_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getModalidadesError: (error) => ({\r\n type: Types.GET_MODALIDADES_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\n\r\nimport { retry, put } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ModalidadeActions } from '../ducks/modalidade';\r\n\r\nimport { contratantesAPI } from '../../services/api';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nexport function* consultaModalidades(action) {\r\n const { codigoContratante, getInativos } = action.payload.params;\r\n if (codigoContratante)\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `${codigoContratante}/modalidades`,\r\n { params: { inativos: getInativos } }\r\n );\r\n\r\n const success = response.status === 200 || false;\r\n\r\n const modalidades = response.data;\r\n\r\n const dataModalidades = {\r\n ...action.payload,\r\n response: modalidades,\r\n success,\r\n };\r\n\r\n yield put(\r\n ModalidadeActions.getModalidadesSuccess(\r\n dataModalidades.response,\r\n dataModalidades.success\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ModalidadeActions.getModalidadesError(error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de modalidades.\r\n \r\n );\r\n }\r\n}\r\n","import { set, isEmpty, get, uniqueId } from 'lodash';\r\nimport { getOccurrence } from './array';\r\nimport { TipoCardRoot, TipoConsultaParametrizacaoEnum } from '../enums';\r\n\r\nconst GRUPO_NIVEL = 0;\r\nconst CONTRATANTE_NIVEL = 1;\r\nconst BASE_PATH = [0, 'subOptions'];\r\nconst CONTRATANTE_TREE = 0;\r\nconst MODALIDADE_TREE = 1;\r\nconst TERMO_TREE = 2;\r\n\r\nexport const checkAllNested = (options, check) => {\r\n options.check = check;\r\n options.subOptions.map((sub) => {\r\n sub.check = check;\r\n // getCountInHeader(sub, false);\r\n if (sub.subOptions.length > 0) checkAllNested(sub, check);\r\n });\r\n};\r\n\r\nexport const countAllNested = (options) => {\r\n options.count = getOccurrence(options.subOptions, (s) => s.check === true);\r\n options.subOptions.map((sub) => {\r\n if (sub.isHeader)\r\n sub.count = getOccurrence(sub.subOptions, (s) => s.check === false);\r\n if (sub.subOptions.length > 0) countAllNested(sub);\r\n });\r\n};\r\n\r\nexport const countAllParents = (options, path) => {\r\n const pathToAtual = [];\r\n path.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n const option = get(options, pathToAtual);\r\n if (option.isHeader)\r\n option.count = getOccurrence(\r\n option.subOptions,\r\n (s) => s.check === true\r\n );\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const checkAllParents = (options, check, pathName) => {\r\n const pathToAtual = [];\r\n pathName.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n const option = get(options, pathToAtual);\r\n option.check = check;\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const getCountInHeader = (options, check, pathName) => {\r\n const pathToAtual = [];\r\n // options.map((sub) => {\r\n // sub.check = check;\r\n // // getCountInHeader(sub, false);\r\n // if (sub.isHeader)\r\n // sub.count = getOccurrence(sub.subOptions, (o) => o.check === check);\r\n // if (sub.subOptions.length > 0) getCountInHeader(sub.subOptions, check);\r\n // });\r\n\r\n pathName.map((value) => {\r\n pathToAtual.push(value);\r\n if (value !== 'subOptions') {\r\n if (get(options, pathToAtual).isHeader)\r\n get(options, pathToAtual).count = getOccurrence(\r\n get(options, pathToAtual).subOptions,\r\n (o) => o.check === true\r\n );\r\n\r\n // getCountInHeader(get(options, pathToAtual), false);\r\n }\r\n });\r\n};\r\n\r\nexport const handleContagem = (card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[0])\r\n return handleContagemContratante(card);\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[1])\r\n return handleContagemComplemento(card);\r\n};\r\n\r\nconst handleContagemComplemento = (card) => {\r\n const contagem = {\r\n contratantes: 0,\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n const contratanteNode = card?.options[0]?.subOptions.map((a) => {\r\n if (a.check) contagem.contratantes += 1;\r\n const modalidadeNode = a?.subOptions[0]?.subOptions.map((sub) => {\r\n if (sub.check) contagem.modalidades += 1;\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (_sub.check) contagem.termos += 1;\r\n });\r\n });\r\n });\r\n\r\n return contagem;\r\n};\r\n\r\nconst handleContagemContratante = (card) => {\r\n const contagem = {\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n\r\n const modalidadeNode = card?.options[0]?.subOptions.map((sub) => {\r\n if (sub.check) contagem.modalidades += 1;\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (_sub.check) contagem.termos += 1;\r\n });\r\n });\r\n\r\n return contagem;\r\n};\r\n\r\nexport const getContagem = (type, contagem) => {\r\n const types = {\r\n Contratante: contagem?.contratantes,\r\n Modalidade: contagem?.modalidades,\r\n Termo: contagem?.termos,\r\n };\r\n return types[type];\r\n};\r\nexport const setContagem = (type, card, contagem) => {\r\n const types = {\r\n Contratante: () => (card.contagem.contratantes = contagem),\r\n Modalidade: () => (card.contagem.modalidades = contagem),\r\n Termo: () => (card.contagem.termos = contagem),\r\n };\r\n return types[type]();\r\n};\r\n\r\nexport const unCheckIfAllUnchecked = (option, path, count) => {\r\n if (count === 0) get(option, path.slice(0, path.length - 2)).check = false;\r\n};\r\n\r\nconst setPath = (\r\n nivel,\r\n tipoParametrizacao,\r\n Section,\r\n contratantePath,\r\n modalidadePath,\r\n termoPath\r\n) => {\r\n const pathNiveis = {\r\n Contratante: {\r\n Header: {\r\n 0: [0],\r\n 1: [...BASE_PATH],\r\n 2: [...BASE_PATH, ...(modalidadePath || [])],\r\n },\r\n Content: {\r\n 0: [...BASE_PATH],\r\n 1: [...BASE_PATH],\r\n 2: [...BASE_PATH, ...(modalidadePath || []), ...BASE_PATH],\r\n },\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n Header: {\r\n 0: [0],\r\n 1: [...BASE_PATH, ...(contratantePath || [])],\r\n 2: [\r\n ...BASE_PATH,\r\n ...(contratantePath || []),\r\n ...BASE_PATH,\r\n ...(modalidadePath || []),\r\n ],\r\n },\r\n Content: {\r\n 0: [...BASE_PATH],\r\n 1: [...BASE_PATH, ...(contratantePath || []), ...BASE_PATH],\r\n 2: [\r\n ...BASE_PATH,\r\n ...(contratantePath || []),\r\n ...BASE_PATH,\r\n ...(modalidadePath || []),\r\n ...BASE_PATH,\r\n ],\r\n },\r\n },\r\n };\r\n\r\n return pathNiveis[tipoParametrizacao][Section][nivel];\r\n};\r\n\r\nexport const emptyCard = (name) => {\r\n return {\r\n name,\r\n count: 0,\r\n id: name,\r\n previousPath: [],\r\n currentPath: [0],\r\n nextPath: BASE_PATH,\r\n subOptions: [],\r\n isHeader: true,\r\n check: false,\r\n removeCheck: true,\r\n nodeLoading: false,\r\n cardLoading: false,\r\n hasSubOptions: false,\r\n };\r\n};\r\n\r\nexport const setNivelHeader = (\r\n nivel,\r\n path,\r\n selectedCard,\r\n count,\r\n subOptions,\r\n checkAll\r\n) => {\r\n const niveis = {\r\n 0: [\r\n {\r\n name: `Contratante`,\r\n count,\r\n id: 'Contratante',\r\n previousPath: [],\r\n currentPath: [0],\r\n nextPath: BASE_PATH,\r\n subOptions: subOptions || [],\r\n isHeader: true,\r\n check: checkAll,\r\n loading: true,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n 1: [\r\n {\r\n name: 'Modalidade',\r\n count,\r\n id: 'Modalidade',\r\n previousPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || [])]\r\n : [],\r\n currentPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || []), 0]\r\n : [0],\r\n nextPath:\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ? [...(path || []), 0, 'subOptions']\r\n : BASE_PATH,\r\n subOptions: subOptions || [],\r\n isHeader: true,\r\n check: checkAll,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n 2: [\r\n {\r\n name: 'Termo',\r\n count,\r\n id: 'Termo',\r\n subOptions: subOptions || [],\r\n previousPath: [...(path || [])],\r\n currentPath: [...(path || []), 0],\r\n nextPath: [...(path || []), ...BASE_PATH],\r\n isHeader: true,\r\n check: checkAll,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n ],\r\n };\r\n\r\n return niveis[nivel] || [];\r\n};\r\n\r\nconst setNivelContent = (\r\n obj,\r\n objNivel,\r\n index,\r\n codigoContratante,\r\n path,\r\n isSuccess,\r\n subOptions\r\n) => {\r\n const objNiveis = {\r\n 0: {\r\n name: `${obj.codigoContratante} - ${obj.nomeContratante}`,\r\n id: obj.codigoContratante,\r\n previousPath: BASE_PATH,\r\n currentPath: BASE_PATH.concat([index]),\r\n nextPath: BASE_PATH.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoContratante: obj.codigoContratante,\r\n numeroInscricao: obj.numeroInscricao,\r\n nomeContratante: obj.nomeContratante,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n nextRequest: 'Modalidade',\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n 1: {\r\n name: `${obj.codigoModalidade}`,\r\n id: obj.codigoModalidade,\r\n previousPath: path,\r\n currentPath: path.concat([index]),\r\n nextPath: path.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoContratante,\r\n codigoModalidade: obj.codigoModalidade,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n nextRequest: 'Termo',\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n removeCheck: false,\r\n },\r\n 2: {\r\n name: `${obj.codigoTermo}`,\r\n id: obj.codigoTermo,\r\n previousPath: path,\r\n currentPath: path.concat([index]),\r\n nextPath: path.concat([index, 'subOptions']),\r\n isHeader: false,\r\n check: obj.check,\r\n codigoTermo: obj.codigoTermo,\r\n inativado: obj.inativado,\r\n novo: obj.novo,\r\n subOptions: subOptions || [],\r\n success: isSuccess,\r\n hasSubOptions: true,\r\n isLast: true,\r\n removeCheck: false,\r\n },\r\n };\r\n\r\n return objNiveis[objNivel];\r\n};\r\n\r\nexport const setComplemento = (selectedCard) => {\r\n let contratanteCheckAll = true;\r\n const contagem = {\r\n contratantes: 0,\r\n modalidades: 0,\r\n termos: 0,\r\n };\r\n const contratanteNodeArray = [];\r\n const contratanteNode = selectedCard?.options[0]?.subOptions.map((a) => {\r\n if (!a.check) contratanteCheckAll = false;\r\n let modalidadeCheckAll = true;\r\n const modalidadeNodeArray = [];\r\n const modalidadeNode = a?.subOptions[0]?.subOptions.map((sub) => {\r\n if (!sub.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n const termoNodeArray = [];\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (!_sub.check) termoCheckAll = false;\r\n if (_sub.check === true)\r\n termoNodeArray.push({\r\n codigoTermo: _sub.codigoTermo,\r\n });\r\n });\r\n\r\n if (!termoCheckAll) modalidadeCheckAll = false;\r\n contagem.termos += termoNodeArray.length;\r\n if (sub.check === true)\r\n modalidadeNodeArray.push({\r\n codigoModalidade: sub.codigoModalidade,\r\n checkAll: termoCheckAll,\r\n termoNode: termoNodeArray,\r\n });\r\n });\r\n\r\n if (!modalidadeCheckAll) contratanteCheckAll = false;\r\n contagem.modalidades += modalidadeNodeArray.length;\r\n if (a.check === true)\r\n contratanteNodeArray.push({\r\n codigoContratante: a.codigoContratante,\r\n numeroInscricao: a.numeroInscricao,\r\n nomeContratante: a.nomeContratante,\r\n checkAll: modalidadeCheckAll,\r\n modalidadeNode: modalidadeNodeArray,\r\n });\r\n });\r\n\r\n contagem.contratantes = contratanteNodeArray.length;\r\n const parametrizacaoRoot = {\r\n codigoGrupo: selectedCard.complemento?.codigoGrupo,\r\n nomeGrupo: selectedCard.complemento?.nomeGrupo,\r\n codigoComplemento: selectedCard.complemento?.codigoComplemento,\r\n checkAll: contratanteCheckAll,\r\n contratanteNode: contratanteNodeArray,\r\n };\r\n return { contagem, parametrizacaoRoot };\r\n};\r\n\r\nexport const setContratante = (selectedCard) => {\r\n let modalidadeCheckAll = true;\r\n const contagem = {};\r\n const modalidadeNodeArray = [];\r\n const modalidadeNode = selectedCard?.options[0]?.subOptions.map((sub) => {\r\n if (!sub.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n const termoNodeArray = [];\r\n const termoNode = sub?.subOptions[0]?.subOptions.map((_sub) => {\r\n if (!_sub.check) termoCheckAll = false;\r\n if (_sub.check === true)\r\n termoNodeArray.push({\r\n codigoTermo: _sub.codigoTermo,\r\n });\r\n });\r\n\r\n if (!termoCheckAll) modalidadeCheckAll = false;\r\n contagem.termos = termoNodeArray.length;\r\n if (sub.check === true)\r\n modalidadeNodeArray.push({\r\n codigoModalidade: sub.codigoModalidade,\r\n checkAll: termoCheckAll,\r\n termoNode: termoNodeArray,\r\n });\r\n });\r\n\r\n contagem.modalidades = modalidadeNodeArray.length;\r\n\r\n const parametrizacaoRoot = {\r\n codigoGrupo: 0,\r\n nomeGrupo: '',\r\n codigoComplemento: '',\r\n checkAll: modalidadeCheckAll,\r\n contratanteNode: [\r\n {\r\n codigoContratante: selectedCard.contratante?.codigoContratante,\r\n numeroInscricao: selectedCard.contratante?.numeroInscricao,\r\n nomeContratante: selectedCard.contratante?.nomeContratante,\r\n checkAll: modalidadeCheckAll,\r\n modalidadeNode: modalidadeNodeArray,\r\n },\r\n ],\r\n };\r\n\r\n return { contagem, parametrizacaoRoot };\r\n};\r\n\r\nexport const getParametrizacaoRoot = (selectedCard) => {\r\n if (\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return setComplemento(selectedCard);\r\n if (\r\n selectedCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[2]\r\n )\r\n return setContratante(selectedCard);\r\n};\r\n\r\nexport const setParametrizacaoNivel = (parametrizacaoNivel, parametrizacao) => {\r\n const parametrizacaoNiveis = {\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n nome: `${parametrizacao?.complemento?.codigoGrupo} - ${parametrizacao?.complemento?.codigoComplemento}`,\r\n id: parametrizacao?.complemento?.codigoComplemento,\r\n tipoParametrizacao: parametrizacaoNivel,\r\n cardHeader: 'Grupo de Contratante',\r\n contagem: {},\r\n contagemId: parametrizacao?.complemento?.codigoComplemento,\r\n parametrizacaoNivel: GRUPO_NIVEL,\r\n },\r\n Contratante: {\r\n nome: `${parametrizacao?.contratante?.codigoContratante} - ${parametrizacao?.contratante?.nomeContratante}`,\r\n id: parametrizacao?.contratante?.codigoContratante,\r\n tipoParametrizacao: parametrizacaoNivel,\r\n cardHeader: 'Contratante',\r\n contagem: {},\r\n contagemId: parametrizacao?.contratante?.numeroInscricao,\r\n parametrizacaoNivel: CONTRATANTE_NIVEL,\r\n },\r\n };\r\n\r\n return parametrizacaoNiveis[parametrizacaoNivel];\r\n};\r\n\r\nexport const setCard = (card) => {\r\n const cardTipos = {\r\n GrupoRoot: {\r\n complemento: {\r\n codigoGrupo: card.codigoGrupo,\r\n nomeGrupo: card.nomeGrupo,\r\n codigoComplemento: card.codigoComplemento,\r\n },\r\n idCard: uniqueId('card_'),\r\n isEditar: false,\r\n path: [],\r\n options: [],\r\n contagem: {\r\n contratantes: card.contratantes,\r\n modalidades: card.modalidades,\r\n termos: card.termos,\r\n },\r\n idParametrizacao: card.idParametrizacao,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameUIForNameAPI[card.tipoParametrizacao],\r\n nodeLoading: false,\r\n cardLoading: false,\r\n id: card.codigoComplemento,\r\n },\r\n ContratanteRoot: {\r\n contratante: {\r\n check: false,\r\n codigoContratante: card.codigoContratante,\r\n inativado: card.inativado,\r\n nomeContratante: card.nomeContratante,\r\n novo: card.novo,\r\n numeroInscricao: card.numeroInscricao,\r\n idParametrizacao: card.idParametrizacao,\r\n },\r\n idCard: uniqueId('card_'),\r\n isEditar: false,\r\n path: [],\r\n options: [],\r\n contagem: { modalidades: card.modalidades, termos: card.termos },\r\n idParametrizacao: card.idParametrizacao,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameUIForNameAPI[card.tipoParametrizacao],\r\n nodeLoading: false,\r\n cardLoading: false,\r\n id: card.codigoContratante,\r\n listaContratantes: [card.codigoContratante],\r\n },\r\n };\r\n\r\n return cardTipos[card.tipoParametrizacao];\r\n};\r\n\r\nexport const setTree = (\r\n obj,\r\n nivel,\r\n draft,\r\n checkAll,\r\n codigoContratante,\r\n path,\r\n isSuccess\r\n) => {\r\n const checkados = obj.some((o) => o.check === true);\r\n const newSubOptions = obj.map((resp, index) => {\r\n return setNivelContent(\r\n resp,\r\n nivel,\r\n index,\r\n codigoContratante,\r\n setNivelHeader(nivel, path, draft, obj.length, [], checkados)[0].nextPath,\r\n isSuccess\r\n );\r\n });\r\n const count = obj.filter((c) => c.check === true).length;\r\n const newHeader = setNivelHeader(\r\n nivel,\r\n path,\r\n draft,\r\n count,\r\n newSubOptions,\r\n checkados\r\n );\r\n\r\n return newHeader;\r\n};\r\n\r\nconst treeBuilderComplemento = (object) => {\r\n let contratanteCheckAll = true;\r\n contratanteCheckAll = object?.contratanteNode.some((o) => o.check === true);\r\n const contratanteNodes = object?.contratanteNode.map(\r\n (contratanteNode, contratanteIndex) => {\r\n // if (!contratanteNode.check) contratanteCheckAll = false;\r\n let modalidadeCheckAll = true;\r\n modalidadeCheckAll = contratanteNode?.modalidadeNode.some(\r\n (o) => o.check === true\r\n );\r\n const modalidadeNodes = contratanteNode?.modalidadeNode.map(\r\n (modalidadeNode, modalidadeIndex) => {\r\n // if (!modalidadeNode.check) modalidadeCheckAll = false;\r\n let termoCheckAll = true;\r\n termoCheckAll = modalidadeNode?.termoNode.some(\r\n (o) => o.check === true\r\n );\r\n const termoNodes = modalidadeNode?.termoNode.map(\r\n (termoNode, termoIndex) => {\r\n // if (!termoNode.check) termoCheckAll = false;\r\n return setNivelContent(\r\n termoNode,\r\n TERMO_TREE,\r\n termoIndex,\r\n 0,\r\n setPath(\r\n TERMO_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Content',\r\n [contratanteIndex, 'subOptions'],\r\n [modalidadeIndex, 'subOptions'],\r\n [termoIndex, 'subOptions']\r\n ),\r\n true\r\n );\r\n }\r\n );\r\n\r\n const termoCount = termoNodes.filter((c) => c.check === true).length;\r\n // RetornoHeader Topo Arvore Nivel Termo\r\n const termoHeader = setNivelHeader(\r\n TERMO_TREE,\r\n setPath(\r\n TERMO_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Header',\r\n [contratanteIndex, 'subOptions'],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n {\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1],\r\n },\r\n termoCount,\r\n termoNodes,\r\n termoCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Modalidade\r\n return setNivelContent(\r\n modalidadeNode,\r\n MODALIDADE_TREE,\r\n modalidadeIndex,\r\n 0,\r\n setPath(\r\n MODALIDADE_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Content',\r\n [contratanteIndex, 'subOptions']\r\n ),\r\n true,\r\n termoHeader\r\n );\r\n }\r\n );\r\n const modalidadeCount = modalidadeNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Modalidade\r\n const modalidadeHeader = setNivelHeader(\r\n MODALIDADE_TREE,\r\n setPath(\r\n MODALIDADE_TREE,\r\n TipoConsultaParametrizacaoEnum.returnName[1],\r\n 'Header',\r\n [contratanteIndex, 'subOptions']\r\n ),\r\n { tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1] },\r\n modalidadeCount,\r\n modalidadeNodes,\r\n modalidadeCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Contratante\r\n return setNivelContent(\r\n contratanteNode,\r\n CONTRATANTE_TREE,\r\n contratanteIndex,\r\n 0,\r\n BASE_PATH,\r\n true,\r\n modalidadeHeader\r\n );\r\n }\r\n );\r\n\r\n if (!(contratanteNodes.length > 0))\r\n return [emptyCard('Não foram encontradas contratantes.')];\r\n\r\n const contratanteCount = contratanteNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Contratante\r\n const options = setNivelHeader(\r\n CONTRATANTE_TREE,\r\n [0],\r\n {\r\n selectedCard: {\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnName[1],\r\n },\r\n },\r\n contratanteCount,\r\n contratanteNodes,\r\n contratanteCheckAll\r\n );\r\n\r\n return options;\r\n};\r\n\r\nconst treeBuilderContratante = (object) => {\r\n let modalidadeCheckAll = true;\r\n modalidadeCheckAll = object?.contratanteNode[0]?.modalidadeNode.some(\r\n (o) => o.check === true\r\n );\r\n const modalidadeNodes = object?.contratanteNode[0]?.modalidadeNode.map(\r\n (modalidadeNode, modalidadeIndex) => {\r\n let termoCheckAll = true;\r\n termoCheckAll = modalidadeNode?.termoNode.some((o) => o.check === true);\r\n const termoNodes = modalidadeNode?.termoNode.map(\r\n (termoNode, termoIndex) => {\r\n return setNivelContent(\r\n termoNode,\r\n TERMO_TREE,\r\n termoIndex,\r\n 0,\r\n setPath(\r\n TERMO_TREE,\r\n 'Contratante',\r\n 'Content',\r\n [0, 'subOptions'],\r\n [modalidadeIndex, 'subOptions'],\r\n [termoIndex, 'subOptions']\r\n ),\r\n true\r\n );\r\n }\r\n );\r\n const termoCount = termoNodes.filter((c) => c.check === true).length;\r\n // RetornoHeader Topo Arvore Nivel Termo\r\n const termoHeader = setNivelHeader(\r\n TERMO_TREE,\r\n setPath(\r\n TERMO_TREE,\r\n 'Contratante',\r\n 'Header',\r\n [0, 'subOptions'],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n { tipoParametrizacao: 'Contratante' },\r\n termoCount,\r\n termoNodes,\r\n termoCheckAll\r\n );\r\n\r\n // Insere dentro do Content de Modalidade\r\n return setNivelContent(\r\n modalidadeNode,\r\n MODALIDADE_TREE,\r\n modalidadeIndex,\r\n 0,\r\n setPath(\r\n MODALIDADE_TREE,\r\n 'Contratante',\r\n 'Content',\r\n [],\r\n [modalidadeIndex, 'subOptions']\r\n ),\r\n true,\r\n termoHeader\r\n );\r\n }\r\n );\r\n\r\n if (!(modalidadeNodes.length > 0))\r\n return [emptyCard('Não foram encontradas modalidades.')];\r\n\r\n const modalidadeCount = modalidadeNodes.filter((c) => c.check === true)\r\n .length;\r\n // RetornoHeader Topo Arvore Nivel Modalidade\r\n const options = setNivelHeader(\r\n MODALIDADE_TREE,\r\n setPath(MODALIDADE_TREE, 'Contratante', 'Header'),\r\n { tipoParametrizacao: 'Contratante' },\r\n modalidadeCount,\r\n modalidadeNodes,\r\n modalidadeCheckAll\r\n );\r\n\r\n return options;\r\n};\r\n\r\nexport const treeBuilder = (object) => {\r\n if (object.codigoGrupo !== 0) return treeBuilderComplemento(object);\r\n if (object.codigoGrupo === 0) return treeBuilderContratante(object);\r\n};\r\n\r\nexport const setCardContagem = (type, contagem) => {\r\n const types = {\r\n [TipoCardRoot.returnNameForName.Contratante]: {\r\n modalidades: contagem?.modalidades,\r\n termos: contagem?.termos,\r\n },\r\n [TipoCardRoot.returnNameForName['Grupo ou Complemento']]: {\r\n contratantes: contagem?.contratantes,\r\n modalidades: contagem?.modalidades,\r\n termos: contagem?.termos,\r\n },\r\n };\r\n\r\n return types[type];\r\n};\r\n","import produce from 'immer';\r\nimport { set, isEmpty, get } from 'lodash';\r\nimport {\r\n treeBuilder,\r\n checkAllNested,\r\n checkAllParents,\r\n unCheckIfAllUnchecked,\r\n setCard,\r\n setTree,\r\n emptyCard,\r\n handleContagem,\r\n countAllNested,\r\n countAllParents,\r\n setCardContagem,\r\n} from '../../utils/treeViewBuilder';\r\n\r\nimport { getOccurrence, toJsonFromBase64 } from '../../utils/array';\r\nimport { TipoConsultaParametrizacaoEnum } from '../../enums';\r\n\r\n// Action types\r\nexport const Types = {\r\n GET_GRUPO_COMPLEMENTOS_REQUEST:\r\n '@contratantes/GET_GRUPO_COMPLEMENTOS_REQUEST',\r\n GET_GRUPO_COMPLEMENTOS_SUCCESS:\r\n '@contratantes/GET_GRUPO_COMPLEMENTOS_SUCCESS',\r\n GET_GRUPO_COMPLEMENTOS_ERROR: '@contratantes/GET_GRUPO_COMPLEMENTOS_ERROR',\r\n GET_CONTRATANTES_REQUEST: '@contratantes/GET_CONTRATANTES_REQUEST',\r\n GET_CONTRATANTES_SUCCESS: '@contratantes/GET_CONTRATANTES_SUCCESS',\r\n GET_CONTRATANTES_ERROR: '@contratantes/GET_CONTRATANTES_ERROR',\r\n GET_GRUPO_CONTRATANTES_REQUEST:\r\n '@contratantes/GET_GRUPO_CONTRATANTES_REQUEST',\r\n GET_GRUPO_CONTRATANTES_SUCCESS:\r\n '@contratantes/GET_GRUPO_CONTRATANTES_SUCCESS',\r\n GET_GRUPO_CONTRATANTES_ERROR: '@contratantes/GET_GRUPO_CONTRATANTES_ERROR',\r\n GET_CONTRATANTE_MODALIDADES_REQUEST:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_REQUEST',\r\n GET_CONTRATANTE_MODALIDADES_SUCCESS:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_SUCCESS',\r\n GET_CONTRATANTE_MODALIDADES_ERROR:\r\n '@contratantes/GET_CONTRATANTE_MODALIDADES_ERROR',\r\n GET_MODALIDADE_TERMOS_REQUEST: '@contratantes/GET_MODALIDADE_TERMOS_REQUEST',\r\n GET_MODALIDADE_TERMOS_SUCCESS: '@contratantes/GET_MODALIDADE_TERMOS_SUCCESS',\r\n GET_MODALIDADE_TERMOS_ERROR: '@contratantes/GET_MODALIDADE_TERMOS_ERROR',\r\n GET_GRUPO_CONTAGEM_REQUEST: '@contratantes/GET_GRUPO_CONTAGEM_REQUEST',\r\n GET_GRUPO_CONTAGEM_SUCCESS: '@contratantes/GET_GRUPO_CONTAGEM_SUCCESS',\r\n GET_GRUPO_CONTAGEM_ERROR: '@contratantes/GET_GRUPO_CONTAGEM_ERROR',\r\n GET_CONTRATANTE_CONTAGEM_REQUEST:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_REQUEST',\r\n GET_CONTRATANTE_CONTAGEM_SUCCESS:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_SUCCESS',\r\n GET_CONTRATANTE_CONTAGEM_ERROR:\r\n '@contratantes/GET_CONTRATANTE_CONTAGEM_ERROR',\r\n PARAMETRIZACAO_TOOGGLE_CARD: '@contratantes/PARAMETRIZACAO_TOOGGLE_CARD',\r\n PARAMETRIZACAO_GET_OPTIONS: '@contratantes/PARAMETRIZACAO_GET_OPTIONS',\r\n PARAMETRIZACAO_SET: '@contratantes/PARAMETRIZACAO_SET',\r\n PARAMETRIZACAO_SET_CARDS: '@contratantes/PARAMETRIZACAO_SET_CARDS',\r\n PARAMETRIZACAO_SET_CARDS_BY_ID:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_BY_ID',\r\n PARAMETRIZACAO_DELETE_CARD: '@contratantes/PARAMETRIZACAO_DELETE_CARD',\r\n PARAMETRIZACAO_SET_PATH: '@contratantes/PARAMETRIZACAO_SET_PATH',\r\n PARAMETRIZACAO_SET_SELECTED_OPTION:\r\n '@contratantes/PARAMETRIZACAO_SET_SELECTED_OPTION',\r\n PARAMETRIZACAO_ROOT_RENEW: '@contratantes/PARAMETRIZACAO_ROOT_RENEW',\r\n PARAMETRIZACAO_SET_LOADING: '@contratantes/PARAMETRIZACAO_SET_LOADING',\r\n PARAMETRIZACAO_SET_LOADING_CARDS:\r\n '@contratantes/PARAMETRIZACAO_SET_LOADING_CARDS',\r\n PARAMETRIZACAO_SET_CARD_COMPLETO:\r\n '@contratantes/PARAMETRIZACAO_SET_CARD_COMPLETO',\r\n PARAMETRIZACAO_UPDATE_ID: '@contratantes/PARAMETRIZACAO_UPDATE_ID',\r\n PARAMETRIZACAO_SET_ID: '@contratantes/PARAMETRIZACAO_SET_ID',\r\n PARAMETRIZACAO_SET_CARDS_COMPLETO:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_COMPLETO',\r\n PARAMETRIZACAO_SET_CONTAGEM: '@contratantes/PARAMETRIZACAO_SET_CONTAGEM',\r\n PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD:\r\n '@contratantes/PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS',\r\n GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR:\r\n '@contratantes/GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS',\r\n GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR:\r\n '@contratantes/GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getGrupoComplementos: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n data: [],\r\n size: 0,\r\n },\r\n unsuccessResponse: null,\r\n error: null,\r\n },\r\n getGrupoContratantes: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratanteModalidades: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getModalidadeTermos: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getGrupoContagem: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n getContratanteContagem: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n parametrizacaoRoot: [],\r\n};\r\n\r\nexport default function contratante(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_GRUPO_COMPLEMENTOS_REQUEST: {\r\n draft.getGrupoComplementos.loading = true;\r\n draft.getGrupoComplementos.success = false;\r\n draft.getGrupoComplementos.error = null;\r\n draft.getGrupoComplementos.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_GRUPO_COMPLEMENTOS_SUCCESS: {\r\n draft.getGrupoComplementos.loading = false;\r\n draft.getGrupoComplementos.success = action.payload.isSuccess;\r\n draft.getGrupoComplementos.response.data =\r\n action.payload.grupoComplementos;\r\n draft.getGrupoComplementos.response.size =\r\n action.payload.grupoComplementos?.total;\r\n break;\r\n }\r\n case Types.GET_GRUPO_COMPLEMENTOS_ERROR: {\r\n draft.getGrupoComplementos.loading = false;\r\n draft.getGrupoComplementos.error = action.payload.error;\r\n draft.getGrupoComplementos.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_REQUEST: {\r\n draft.getContratantes.loading = true;\r\n draft.getContratantes.success = false;\r\n draft.getContratantes.error = null;\r\n draft.getContratantes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_SUCCESS: {\r\n draft.getContratantes.loading = false;\r\n draft.getContratantes.success = action.payload.isSuccess;\r\n draft.getContratantes.response.data = action.payload.contratantes;\r\n draft.getContratantes.response.size = action.payload.contratantes.total;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTES_ERROR: {\r\n draft.getContratantes.loading = false;\r\n draft.getContratantes.error = action.payload.error;\r\n draft.getContratantes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_REQUEST: {\r\n draft.getGrupoContratantes.loading = true;\r\n draft.getGrupoContratantes.success = false;\r\n draft.getGrupoContratantes.error = null;\r\n draft.getGrupoContratantes.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_SUCCESS: {\r\n draft.getGrupoContratantes.loading = false;\r\n draft.getGrupoContratantes.success = action.payload.isSuccess;\r\n draft.getGrupoContratantes.response = action.payload.grupoContratantes;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.grupoContratantes.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n\r\n if (action.payload.grupoContratantes.contratanteNode.length > 0) {\r\n const newTree = setTree(\r\n action.payload.grupoContratantes.contratanteNode,\r\n 0,\r\n cardAtual,\r\n action.payload.grupoContratantes.checkAll,\r\n 0,\r\n action.payload.grupoContratantes.path,\r\n action.payload.grupoContratantes.isSuccess\r\n );\r\n set(\r\n cardAtual.options,\r\n action.payload.grupoContratantes.path,\r\n ...newTree\r\n );\r\n } else {\r\n cardAtual.options.push(\r\n emptyCard('Não foram encontradas contratantes.')\r\n );\r\n }\r\n\r\n // if (\r\n // get(cardAtual.options, action.payload.grupoContratantes.path)\r\n // )\r\n // get(\r\n // cardAtual.options,\r\n // action.payload.grupoContratantes.path\r\n // ).hasSubOptions = false;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTRATANTES_ERROR: {\r\n draft.getGrupoContratantes.loading = false;\r\n draft.getGrupoContratantes.error = action.payload.error;\r\n draft.getGrupoContratantes.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_REQUEST: {\r\n draft.getContratanteModalidades.loading = true;\r\n draft.getContratanteModalidades.success = false;\r\n draft.getContratanteModalidades.error = null;\r\n draft.getContratanteModalidades.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_SUCCESS: {\r\n draft.getContratanteModalidades.loading = false;\r\n draft.getContratanteModalidades.success = action.payload.isSuccess;\r\n draft.getContratanteModalidades.response =\r\n action.payload.contratanteModalidades;\r\n\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.contratanteModalidades.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n if (action.payload.contratanteModalidades.modalidadeNode?.length > 0) {\r\n const newTree = setTree(\r\n action.payload.contratanteModalidades.modalidadeNode,\r\n 1,\r\n cardAtual,\r\n action.payload.contratanteModalidades.checkAll,\r\n action.payload.contratanteModalidades.codigoContratante,\r\n action.payload.contratanteModalidades.path,\r\n true\r\n );\r\n if (\r\n cardAtual.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n ) {\r\n set(\r\n cardAtual.options,\r\n action.payload.contratanteModalidades.path,\r\n newTree\r\n );\r\n } else {\r\n set(\r\n cardAtual.options,\r\n action.payload.contratanteModalidades.path,\r\n ...newTree\r\n );\r\n }\r\n } else {\r\n cardAtual.options.push(\r\n emptyCard('Não foram encontradas modalidades.')\r\n );\r\n }\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_MODALIDADES_ERROR: {\r\n draft.getContratanteModalidades.loading = false;\r\n draft.getContratanteModalidades.error = action.payload.error;\r\n draft.getContratanteModalidades.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_REQUEST: {\r\n draft.getModalidadeTermos.loading = true;\r\n draft.getModalidadeTermos.success = false;\r\n draft.getModalidadeTermos.error = null;\r\n draft.getModalidadeTermos.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_SUCCESS: {\r\n draft.getModalidadeTermos.loading = false;\r\n draft.getModalidadeTermos.success = action.payload.isSuccess;\r\n draft.getModalidadeTermos.response = action.payload.modalidadeTermos;\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.modalidadeTermos.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n if (action.payload.modalidadeTermos.termoNode.length > 0) {\r\n const newTree = setTree(\r\n action.payload.modalidadeTermos.termoNode,\r\n 2,\r\n cardAtual,\r\n action.payload.modalidadeTermos.checkAll,\r\n 0,\r\n action.payload.modalidadeTermos.path,\r\n true\r\n );\r\n set(cardAtual.options, action.payload.modalidadeTermos.path, newTree);\r\n set(\r\n cardAtual.options,\r\n [...action.payload.modalidadeTermos.path, 'success'],\r\n true\r\n );\r\n } else {\r\n get(\r\n cardAtual.options,\r\n action.payload.modalidadeTermos.currentPath\r\n ).hasSubOptions = false;\r\n }\r\n break;\r\n }\r\n case Types.GET_MODALIDADE_TERMOS_ERROR: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.modalidadeTermos.idCard\r\n );\r\n cardAtual.nodeLoading = false;\r\n draft.getModalidadeTermos.loading = false;\r\n draft.getModalidadeTermos.error = action.payload.error;\r\n draft.getModalidadeTermos.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_REQUEST: {\r\n draft.getGrupoContagem.loading = true;\r\n draft.getGrupoContagem.success = false;\r\n draft.getGrupoContagem.error = null;\r\n draft.getGrupoContagem.unsuccessResponse = null;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_SUCCESS: {\r\n draft.getGrupoContagem.loading = false;\r\n draft.getGrupoContagem.success = action.payload.isSuccess;\r\n draft.getGrupoContagem.response = action.payload.response;\r\n // draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n // if (card.idCard === action.payload.response.idCard)\r\n // card.contagem = {\r\n // contratantes: action.payload.response.contratante,\r\n // modalidades: action.payload.response.modalidade,\r\n // termos: action.payload.response.termo,\r\n // };\r\n // return card;\r\n // });\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.response.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.contagem = {\r\n contratantes: card.contagem.totalContratantes,\r\n modalidades: card.contagem.totalModalidades,\r\n termos: card.contagem.totalTermos,\r\n };\r\n }\r\n c.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_GRUPO_CONTAGEM_ERROR: {\r\n draft.getGrupoContagem.loading = false;\r\n draft.getGrupoContagem.error = action.payload.error;\r\n draft.getGrupoContagem.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n draft.getContratanteContagem.loading = true;\r\n draft.getContratanteContagem.success = false;\r\n draft.getContratanteContagem.error = null;\r\n draft.getContratanteContagem.unsuccessResponse = null;\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_SUCCESS: {\r\n draft.getContratanteContagem.loading = false;\r\n draft.getContratanteContagem.success = action.payload.isSuccess;\r\n draft.getContratanteContagem.response = action.payload.response;\r\n\r\n // draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n // if (card.idCard === action.payload.response.idCard)\r\n // card.contagem = {\r\n // modalidades: action.payload.response.modalidade,\r\n // termos: action.payload.response.termo,\r\n // };\r\n // return card;\r\n // });\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.response.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.contagem = {\r\n modalidades: card.contagem.totalModalidades,\r\n termos: card.contagem.totalTermos,\r\n };\r\n }\r\n c.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_CONTRATANTE_CONTAGEM_ERROR: {\r\n draft.getContratanteContagem.loading = false;\r\n draft.getContratanteContagem.error = action.payload.error;\r\n draft.getContratanteContagem.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_TOOGGLE_CARD: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cardIds.find(\r\n (c) =>\r\n c.idCard === p.idCard ||\r\n c.newIdParametrizacao === p.idParametrizacao\r\n );\r\n if (card) {\r\n p.isEditar = action.payload.isSaveAll ? false : !p.isEditar;\r\n p.contagem = handleContagem(p);\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET: {\r\n draft.parametrizacaoRoot = draft.parametrizacaoRoot.map((card) => {\r\n if (card?.idCard === action.payload.idCard) {\r\n card.options = action.payload.options;\r\n card.selectedOptions = action.payload.selectedOptions;\r\n card.idCard = action.payload.idCard;\r\n }\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS: {\r\n draft.parametrizacaoRoot = [\r\n ...draft.parametrizacaoRoot,\r\n ...action.payload.rowsChecked,\r\n ];\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_BY_ID: {\r\n action.payload.cards.map((a) => {\r\n draft.parametrizacaoRoot.push(setCard(a));\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_DELETE_CARD: {\r\n draft.parametrizacaoRoot = draft.parametrizacaoRoot.filter(\r\n (card) => card.idCard !== action.payload.idCard\r\n );\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_PATH: {\r\n draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n ).path = action.payload.pathName;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_SELECTED_OPTION: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n get(cardAtual.options, action.payload.currentPath).check =\r\n action.payload.check;\r\n\r\n if (action.payload.check)\r\n checkAllParents(\r\n cardAtual.options,\r\n action.payload.check,\r\n action.payload.currentPath\r\n );\r\n\r\n // if (\r\n // action.payload.isHeader ||\r\n // (!action.payload.isHeader && !action.payload.check)\r\n // )\r\n checkAllNested(\r\n get(cardAtual.options, action.payload.currentPath),\r\n action.payload.check\r\n );\r\n\r\n if (!action.payload.isHeader) {\r\n get(\r\n cardAtual.options,\r\n action.payload.previousPath.slice(\r\n 0,\r\n action.payload.previousPath.length - 1\r\n )\r\n ).count = getOccurrence(\r\n get(cardAtual.options, action.payload.previousPath),\r\n (o) => o.check === true\r\n );\r\n\r\n unCheckIfAllUnchecked(\r\n cardAtual.options,\r\n action.payload.currentPath,\r\n get(\r\n cardAtual.options,\r\n action.payload.currentPath.slice(\r\n 0,\r\n action.payload.currentPath.length - 2\r\n )\r\n ).count\r\n );\r\n }\r\n // getCountInHeader(\r\n // cardAtual.options,\r\n // action.payload.check,\r\n // action.payload.currentPath\r\n // );\r\n countAllNested(get(cardAtual.options, action.payload.currentPath));\r\n countAllParents(cardAtual.options, action.payload.currentPath);\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_ROOT_RENEW: {\r\n draft.parametrizacaoRoot = [];\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_LOADING: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n cardAtual.nodeLoading = action.payload.loading;\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_LOADING_CARDS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.cards.find((c) => p.idCard === c.idCard);\r\n\r\n if (card) p.cardLoading = action.payload.loading;\r\n });\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARD_COMPLETO: {\r\n const cardAtual = draft.parametrizacaoRoot.find(\r\n (card) => card.idCard === action.payload.idCard\r\n );\r\n if (cardAtual) {\r\n cardAtual.options = treeBuilder(action.payload.response);\r\n cardAtual.fullTree = true;\r\n }\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_COMPLETO: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.isParametrizacaoEspelho\r\n ? action.payload.newCards.find(\r\n (r) =>\r\n c?.id === r?.Card?.codigoComplemento ||\r\n c?.id === r?.Card?.codigoContratante\r\n )\r\n : action.payload.newCards.find(\r\n (r) => c.idParametrizacao === r.Card.idParametrizacao\r\n );\r\n if (card) {\r\n c.options = treeBuilder(card.Tree);\r\n c.fullTree = true;\r\n c.listaContratantes = card.Tree.contratanteNode.map(\r\n (c) => c.codigoContratante\r\n );\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) => c.idCard === r.idCard\r\n );\r\n if (card) {\r\n c.options = treeBuilder(card.Tree);\r\n c.fullTree = true;\r\n c.listaContratantes = card.Tree.contratanteNode.map(\r\n (c) => c.codigoContratante\r\n );\r\n c.contagem = card.contagem;\r\n }\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_UPDATE_ID: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) => c.idParametrizacao === r.oldIdParametrizacao\r\n );\r\n if (card) c.idParametrizacao = card.newIdParametrizacao;\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_ID: {\r\n draft.parametrizacaoRoot.forEach((c) => {\r\n const card = action.payload.newCards.find(\r\n (r) =>\r\n c.idParametrizacao === r.oldIdParametrizacao &&\r\n c.idCard === r.idCard\r\n );\r\n if (card) c.idParametrizacao = card.newIdParametrizacao;\r\n });\r\n\r\n break;\r\n }\r\n case Types.PARAMETRIZACAO_SET_CONTAGEM: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.contagemCards.find(\r\n (c) => c.idParametrizacao === p.idParametrizacao\r\n );\r\n\r\n if (card) p.contagem = setCardContagem(card.tipoParametrizacao, card);\r\n });\r\n\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = true;\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) {\r\n p.cardLoading = false;\r\n }\r\n });\r\n break;\r\n }\r\n case Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR: {\r\n draft.parametrizacaoRoot.forEach((p) => {\r\n const card = action.payload.params.find(\r\n (card) => p.idCard === card.idCard\r\n );\r\n if (card) p.cardLoading = false;\r\n });\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getGrupoComplementosRequest: (params) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getGrupoComplementosSuccess: (grupoComplementos, isSuccess) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_SUCCESS,\r\n payload: { grupoComplementos, isSuccess },\r\n }),\r\n getGrupoComplementosError: (unsuccessResponse, error) => ({\r\n type: Types.GET_GRUPO_COMPLEMENTOS_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratanteRequest: (params) => ({\r\n type: Types.GET_CONTRATANTES_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratanteSuccess: (contratantes, isSuccess) => ({\r\n type: Types.GET_CONTRATANTES_SUCCESS,\r\n payload: { contratantes, isSuccess },\r\n }),\r\n getContratanteError: (unsuccessResponse, error) => ({\r\n type: Types.GET_CONTRATANTES_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getGrupoContratantesRequest: (params) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_REQUEST,\r\n payload: { params },\r\n }),\r\n getGrupoContratantesSuccess: (grupoContratantes, isSuccess) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_SUCCESS,\r\n payload: { grupoContratantes, isSuccess },\r\n }),\r\n getGrupoContratantesError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_GRUPO_CONTRATANTES_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getContratanteModalidadesRequest: (params) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_REQUEST,\r\n payload: { params },\r\n }),\r\n getContratanteModalidadesSuccess: (contratanteModalidades, isSuccess) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_SUCCESS,\r\n payload: { contratanteModalidades, isSuccess },\r\n }),\r\n getContratanteModalidadesError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_CONTRATANTE_MODALIDADES_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getModalidadeTermosRequest: (params) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_REQUEST,\r\n payload: { params },\r\n }),\r\n getModalidadeTermosSuccess: (modalidadeTermos, isSuccess) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_SUCCESS,\r\n payload: { modalidadeTermos, isSuccess },\r\n }),\r\n getModalidadeTermosError: (unsuccessResponse, error, idCard) => ({\r\n type: Types.GET_MODALIDADE_TERMOS_ERROR,\r\n payload: { unsuccessResponse, error, idCard },\r\n }),\r\n getGrupoContagemRequest: (cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_REQUEST,\r\n payload: { cards },\r\n }),\r\n getGrupoContagemSuccess: (response, isSuccess, cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getGrupoContagemError: (unsuccessResponse, error, cards) => ({\r\n type: Types.GET_GRUPO_CONTAGEM_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n getContratanteContagemRequest: (cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_REQUEST,\r\n payload: { cards },\r\n }),\r\n getContratanteContagemSuccess: (response, isSuccess, cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_SUCCESS,\r\n payload: { response, isSuccess },\r\n }),\r\n getContratanteContagemError: (unsuccessResponse, error, cards) => ({\r\n type: Types.GET_CONTRATANTE_CONTAGEM_ERROR,\r\n payload: { unsuccessResponse, error },\r\n }),\r\n parametrizacaoToogleCard: (cardIds, isSaveAll = false) => ({\r\n type: Types.PARAMETRIZACAO_TOOGGLE_CARD,\r\n payload: { cardIds, isSaveAll },\r\n }),\r\n parametrizacaoSet: (options, selectedOptions, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET,\r\n payload: { options, selectedOptions, idCard },\r\n }),\r\n parametrizacaoSetCards: (rowsChecked) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS,\r\n payload: { rowsChecked },\r\n }),\r\n parametrizacaoSetCardsById: (cards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_BY_ID,\r\n payload: { cards },\r\n }),\r\n parametrizacaoDeleteCard: (idCard) => ({\r\n type: Types.PARAMETRIZACAO_DELETE_CARD,\r\n payload: { idCard },\r\n }),\r\n parametrizacaoSetPath: (pathName, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_PATH,\r\n payload: { pathName, idCard },\r\n }),\r\n parametrizacaoSetSelectedOption: (\r\n currentPath,\r\n idCard,\r\n check,\r\n isHeader,\r\n id,\r\n previousPath\r\n ) => ({\r\n type: Types.PARAMETRIZACAO_SET_SELECTED_OPTION,\r\n payload: { currentPath, idCard, check, isHeader, id, previousPath },\r\n }),\r\n parametrizacaoRootRenew: () => ({\r\n type: Types.PARAMETRIZACAO_ROOT_RENEW,\r\n }),\r\n parametrizacaoSetLoading: (loading, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_LOADING,\r\n payload: { loading, idCard },\r\n }),\r\n parametrizacaoSetLoadingCards: (loading, cards) => ({\r\n type: Types.PARAMETRIZACAO_SET_LOADING_CARDS,\r\n payload: { loading, cards },\r\n }),\r\n parametrizacaoSetCardCompleto: (response, idCard) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARD_COMPLETO,\r\n payload: { response, idCard },\r\n }),\r\n parametrizacaoUpdateId: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_UPDATE_ID,\r\n payload: { newCards },\r\n }),\r\n parametrizacaoSetId: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_ID,\r\n payload: { newCards },\r\n }),\r\n parametrizacaoSetCardsCompleto: (\r\n newCards,\r\n isParametrizacaoEspelho = false\r\n ) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_COMPLETO,\r\n payload: { newCards, isParametrizacaoEspelho },\r\n }),\r\n parametrizacaoSetContagem: (contagemCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CONTAGEM,\r\n payload: { contagemCards },\r\n }),\r\n parametrizacaoSetCardsCompletoNewCards: (newCards) => ({\r\n type: Types.PARAMETRIZACAO_SET_CARDS_COMPLETO_NEW_CARD,\r\n payload: { newCards },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoSuccess: (\r\n isSuccess,\r\n response,\r\n params\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_SUCCESS,\r\n payload: { isSuccess, response, params },\r\n }),\r\n getParametrizacaoGrupoComplementoCompletoError: (error, params) => ({\r\n type: Types.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_ERROR,\r\n payload: { error, params },\r\n }),\r\n getParametrizacaoContratanteCompletoRequest: (params) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST,\r\n payload: { params },\r\n }),\r\n getParametrizacaoContratanteCompletoSuccess: (\r\n isSuccess,\r\n response,\r\n params\r\n ) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_SUCCESS,\r\n payload: { isSuccess, response, params },\r\n }),\r\n getParametrizacaoContratanteCompletoError: (error, params) => ({\r\n type: Types.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_ERROR,\r\n payload: { error, params },\r\n }),\r\n};\r\n","import axios from 'axios';\r\n\r\nimport { setAuthorization } from './auth';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport const legacyURL = axios.create({\r\n baseURL: `${REACT_APP_MOVCAD_LEGACY}`,\r\n});\r\n\r\nlegacyURL.interceptors.request.use(async (config) => setAuthorization(config));\r\n","import React from 'react';\r\n\r\nimport qs from 'qs';\r\nimport { all, call, put, retry, select } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ContratanteActions } from '../ducks/contratante';\r\nimport { Creators as UsuarioActions } from '../ducks/usuario';\r\n\r\nimport {\r\n TipoCardRoot,\r\n TipoPerfilUsuarioEnum,\r\n TipoStatusEnum,\r\n} from '../../enums';\r\n\r\nimport { UsuariosAPI } from '../../services/api';\r\nimport {\r\n excludeData,\r\n getUserData,\r\n movcadUpt,\r\n persistData,\r\n} from '../../services/auth';\r\nimport { legacyURL } from '../../services/legacy';\r\n\r\nimport {\r\n responseHandler,\r\n responseHandlerGet,\r\n} from '../../utils/responseHandler';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\n\r\nimport { toJsonFromBase64 } from '../../utils/array';\r\n\r\nexport const getAuth = (state) => state.auth;\r\n\r\nexport function* getConsultaUsuarios(action) {\r\n try {\r\n const { TipoStatus } = action.payload;\r\n const { tipoStatus, totalPages, ...queryParams } = action.payload.params;\r\n\r\n const response = yield all(\r\n Object.values(TipoStatus).map(function* (status) {\r\n const queryString = {\r\n ...queryParams,\r\n ...(status !== TipoStatusEnum.returnNameForTab.Todas && {\r\n tipoStatus: status,\r\n }),\r\n };\r\n\r\n const objResp = yield retry(5, 2000, UsuariosAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n objResp.data.status = status;\r\n\r\n return objResp;\r\n })\r\n );\r\n\r\n const { isSuccess } = responseHandler(\r\n response,\r\n action.payload,\r\n 'data',\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n const usuarios = response.map((resp) => resp.data);\r\n\r\n const dataUsuarios = {\r\n response: usuarios,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getConsultaUsuariosSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getConsultaUsuariosError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getConsultaUsuarioPorStatus(action) {\r\n const paramsPayload = action.payload.params;\r\n\r\n const { tipoStatus, totalPages, ...newParams } = action.payload.params;\r\n\r\n const queryString = {\r\n ...newParams,\r\n ...(paramsPayload.tipoStatus !== TipoStatusEnum.returnNameForTab.Todas && {\r\n tipoStatus: paramsPayload.tipoStatus,\r\n }),\r\n };\r\n\r\n try {\r\n const response = yield retry(5, 2000, UsuariosAPI.get, '', {\r\n params: queryString,\r\n });\r\n\r\n response.data.status = tipoStatus;\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n const dataUsuarios = {\r\n response: response.data,\r\n isSuccess,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getConsultaUsuariosPorStatusSuccess(\r\n dataUsuarios.response,\r\n dataUsuarios.isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getConsultaUsuarios',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getConsultaUsuariosError(unsuccessResponse));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de usuários.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* patchLiberarAcesso(action) {\r\n try {\r\n const { usuarios } = action.payload;\r\n\r\n const response = yield all(\r\n usuarios.map((usuario) =>\r\n retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `/${usuario.idUsuario}/liberar-acesso`\r\n )\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n usuarios,\r\n 'idUsuario',\r\n 'patchLiberarAcesso',\r\n 204\r\n );\r\n yield put(\r\n UsuarioActions.patchLiberarAcessoSuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n yield put(UsuarioActions.patchLiberarAcessoError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* getUsuarioById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/dados-gerais`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const usuarioById = {\r\n ...response.data,\r\n };\r\n\r\n yield put(UsuarioActions.getUsuarioByIdSuccess(usuarioById, isSuccess));\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getUsuarioById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getUsuarioByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchStatus(action) {\r\n try {\r\n const { usuarios, tipoStatus } = action.payload;\r\n\r\n const response = yield all(\r\n usuarios.map((usuario) =>\r\n retry(2, 2000, UsuariosAPI.patch, `${usuario.idUsuario}/status`, {\r\n tipoStatusUsuario: tipoStatus,\r\n })\r\n )\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandler(\r\n response,\r\n usuarios,\r\n 'idUsuario',\r\n 'patchStatus',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchStatusSuccess(unsuccessResponse, isSuccess));\r\n } catch (error) {\r\n yield put(UsuarioActions.patchStatusError(error));\r\n }\r\n}\r\n\r\nexport function* criarUsuario(action) {\r\n try {\r\n const { data } = action.payload;\r\n const newUsuario = {\r\n email: data.email,\r\n matricula: data.matricula,\r\n codigoContratante: data.codigoContratante,\r\n nome: data.nome,\r\n tipoPerfilUsuario: data.tipoPerfilUsuario,\r\n tipoStatusUsuario: data.tipoStatusUsuario,\r\n };\r\n\r\n // Cria novo usuário\r\n const response = yield retry(10, 2000, UsuariosAPI.post, ``, newUsuario);\r\n\r\n const isSuccess =\r\n response.status > 199 &&\r\n response.status < 299 &&\r\n response.data.validationResult.isValid;\r\n\r\n if (isSuccess) {\r\n const newUsuario = {\r\n ...response.data,\r\n };\r\n\r\n // Adiciona contato ao usuário cadastrado\r\n const hasContato = data.contato.every((c) => !!c.numero && !!c.ddd);\r\n\r\n if (hasContato) {\r\n const contatos = data.contato.filter((c) => !!c.numero && !!c.ddd);\r\n\r\n yield put(\r\n UsuarioActions.patchRegistrarContatoRequest(\r\n { contatos },\r\n response.data.idUsuario\r\n )\r\n );\r\n }\r\n\r\n // Adiciona a parametrizacao ao usuario cadastrado\r\n if (data?.cards?.length > 0) {\r\n const responseCards = yield all(\r\n data.cards.map((card) =>\r\n retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${response.data.idUsuario}/parametrizacao`,\r\n card\r\n )\r\n )\r\n );\r\n const success = responseCards.every(\r\n (a) => a.status > 199 && a.status < 299\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(response, success)\r\n );\r\n yield put(UsuarioActions.parametrizacaoNodeRenew());\r\n }\r\n\r\n // Libera o acesso ao usuario cadastrado\r\n if (\r\n data.tipoStatusUsuario !==\r\n TipoStatusEnum.returnNameForName.PendenteLiberacao\r\n ) {\r\n yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${response.data.idUsuario}/liberar-acesso`\r\n );\r\n }\r\n yield put(UsuarioActions.usuarioEspelhoRenew());\r\n yield put(UsuarioActions.criarUsuarioSuccess(newUsuario, isSuccess));\r\n } else {\r\n yield put(\r\n UsuarioActions.criarUsuarioError(\r\n response.data.validationResult.errors,\r\n response.data.validationResult.errors[0].errorMessage\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'criarUsuario',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.criarUsuarioError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchRegistrarContato(action) {\r\n try {\r\n const { contatos, idUsuario } = action.payload;\r\n\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `${idUsuario}/contato`,\r\n contatos\r\n );\r\n\r\n const { unsuccessResponse, isSuccess } = responseHandlerGet(\r\n response,\r\n contatos,\r\n 'patchRegistrarContato',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.patchRegistrarContatoSuccess(unsuccessResponse, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(UsuarioActions.patchRegistrarContatoError(error));\r\n }\r\n}\r\n\r\nexport function* getContatoById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/contato`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContatoById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contatoById = response.data;\r\n\r\n yield put(UsuarioActions.getContatoByIdSuccess(contatoById, isSuccess));\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContatoById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getContatoByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchSenha(action) {\r\n const auth = yield select(getAuth);\r\n persistData(auth.token);\r\n try {\r\n const { idUsuario, senha, novaSenha, confirmacaoSenha } = action.payload;\r\n\r\n const newPassword = {\r\n senha,\r\n novaSenha,\r\n confirmacaoSenha,\r\n };\r\n\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${idUsuario}/password`,\r\n newPassword\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n newPassword,\r\n 'patchSenha',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchSenhaSuccess(isSuccess));\r\n } catch (error) {\r\n excludeData();\r\n yield put(\r\n UsuarioActions.patchSenhaError(error.response?.data?.errors?.Messages)\r\n );\r\n }\r\n}\r\n\r\nexport function* getDadosAcessoById(action) {\r\n const { idUsuario } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/dados-acesso`\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getDadosAcessoById',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const usuarioById = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getDadosAcessoByIdSuccess(usuarioById, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getDadosAcessoById',\r\n 200\r\n );\r\n\r\n yield put(UsuarioActions.getDadosAcessoByIdError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchDadosGerais(action) {\r\n const { params, contatos } = action.payload;\r\n const requestBody = {\r\n nome: params.nome,\r\n matricula: params.matricula,\r\n tipoPerfilUsuario: params.tipoPerfil,\r\n ...(contatos.contatos && contatos.contatos.length > 0\r\n ? { contatos: contatos.contatos }\r\n : { contatos: [] }),\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${params.idUsuario}/dados-gerais`,\r\n requestBody\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n requestBody,\r\n 'patchDadosGerais',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchDadosGeraisSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'patchDadosGerais',\r\n 204\r\n );\r\n yield put(UsuarioActions.patchDadosGeraisError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* patchDadosAcesso(action) {\r\n const { params } = action.payload;\r\n\r\n const requestBody = {\r\n email: params.email,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `${params.idUsuario}/dados-acesso`,\r\n requestBody\r\n );\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n requestBody,\r\n 'patchDadosAcesso',\r\n 204\r\n );\r\n\r\n yield put(UsuarioActions.patchDadosAcessoSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(\r\n UsuarioActions.patchDadosAcessoError(\r\n [],\r\n error.response.data.errors.Messages\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getHistoricoMovimentacoes(action) {\r\n const { idUsuario, params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${idUsuario}/historico-alteracoes`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getHistoricoMovimentacoes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const historicoMovimentacao = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getHistoricoMovimentacoesSuccess(\r\n historicoMovimentacao,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getHistoricoMovimentacoes',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getHistoricoMovimentacoesError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* postParametrizacaoContratante(action) {\r\n try {\r\n const { contratantes } = action.payload;\r\n\r\n const response = yield retry(5, 2000, UsuariosAPI.post, ``, contratantes);\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'postParametrizacaoContratante',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoContratanteSuccess(response, true)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'postParametrizacaoContratante',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoContratanteError(\r\n unsuccessResponse,\r\n error\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoUsuario(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(2, 2000, UsuariosAPI.get, `/parametrizacao`, {\r\n params: queryString,\r\n });\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const parametrizacao = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoUsuarioSuccess(\r\n parametrizacao,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoUsuarioError(unsuccessResponse, error)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de contratantes\r\n parametrizadas.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratantesUsuario(action) {\r\n const idUsuario = action.payload.params;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/contratante-parametrizada`\r\n );\r\n\r\n const isSuccess = response.status > 199 || response.status < 299;\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n UsuarioActions.getContratantesUsuarioSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n yield put(UsuarioActions.getContratantesUsuarioError([], error));\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta de contratantes desse\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postParametrizacaoUsuario(action) {\r\n try {\r\n const { idUsuario, cards } = action.payload;\r\n\r\n const response = [];\r\n const newCards = [];\r\n yield* cards.map(function* (card, index) {\r\n const { idCard, ...rest } = card;\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n if (resp.data.idParametrizacao > 0)\r\n newCards.push({\r\n idCard,\r\n oldIdParametrizacao: cards[index].idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n response.push(resp);\r\n });\r\n\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n\r\n const newResponse = [];\r\n response.forEach((r, index) => {\r\n const resp = {\r\n data: r.data,\r\n idCard: cards[index].idCard,\r\n };\r\n\r\n newResponse.push(resp);\r\n });\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(\r\n newResponse,\r\n isSuccess,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoSetId(newCards));\r\n } else if (isSuccess && hasValidationErrors && !isInvalid) {\r\n const errors = [];\r\n\r\n response.map((a) =>\r\n a.data.validationResult.errors.length > 0\r\n ? errors.push(a.data.validationResult.errors[0]?.errorMessage)\r\n : null\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioSuccess(\r\n newResponse,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n } else {\r\n const responseErrors = {\r\n errors: response.map((a) => a.data.validationResult.errors),\r\n message: response.map(\r\n (a) => a.data.validationResult.errors[0]?.errorMessage\r\n ),\r\n };\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioError(\r\n responseErrors.errors,\r\n responseErrors.message\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'postParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postParametrizacaoUsuarioError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoCards(action) {\r\n const { params, cards } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${params.idUsuario}/parametrizacao-cards`\r\n );\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n const parametrizacaoCards = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetContagem([\r\n ...parametrizacaoCards.grupoComplementoCard,\r\n ...parametrizacaoCards.contratanteCard,\r\n ])\r\n );\r\n\r\n yield put(UsuarioActions.getParametrizacaoCardsSuccess(cards, true));\r\n yield put(ContratanteActions.parametrizacaoSetLoadingCards(false, cards));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoCards',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoCardsError(\r\n unsuccessResponse,\r\n error,\r\n cards\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoSetLoadingCards(false, cards));\r\n toast.error(\r\n \r\n Não foi possível obter as parametrizações do usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoNode(action) {\r\n const { idUsuario, params, node } = action.payload;\r\n\r\n const { path, idCard, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/parametrizacao-${node}-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getParametrizacaoNode',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const nodes = {\r\n ...response.data,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n ...(params.codigoContratante && {\r\n codigoContratante: params.codigoContratante,\r\n }),\r\n };\r\n\r\n yield put(UsuarioActions.getParametrizacaoNodeSuccess(nodes, isSuccess));\r\n\r\n if (node === 'contratante')\r\n yield put(\r\n ContratanteActions.getGrupoContratantesSuccess(nodes, isSuccess)\r\n );\r\n if (node === 'modalidade')\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesSuccess(nodes, isSuccess)\r\n );\r\n if (node === 'termo')\r\n yield put(\r\n ContratanteActions.getModalidadeTermosSuccess(nodes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getParametrizacaoNode',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.getParametrizacaoNodeError(unsuccessResponse, error)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para a consulta de {node}s desse\r\n usuário.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postAtualizarSessaoLegado(action) {\r\n try {\r\n const { token } = action.payload;\r\n\r\n const userData = JSON.stringify(getUserData());\r\n const requestObject = `{ token:${JSON.stringify(userData)}}`;\r\n\r\n const headersRequest = {\r\n 'Content-Type': 'application/json',\r\n };\r\n\r\n const response = yield retry(\r\n 10,\r\n 2000,\r\n legacyURL.post,\r\n `/Login.aspx/AtualizarSessao`,\r\n requestObject,\r\n { headers: headersRequest }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n token,\r\n 'postAtualizarSessaoLegado',\r\n 204\r\n );\r\n\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.response,\r\n 'postAtualizarSessaoLegado',\r\n 204\r\n );\r\n yield put(\r\n UsuarioActions.postAtualizarSessaoLegadoError(unsuccessResponse, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* putParametrizacaoUsuario(action) {\r\n try {\r\n const { idUsuario, cards } = action.payload;\r\n\r\n const response = [];\r\n yield* cards.map(function* (card, index) {\r\n const resp = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.put,\r\n `/${idUsuario}/parametrizacao`,\r\n card\r\n );\r\n\r\n response.push(resp);\r\n });\r\n\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n\r\n const newCards = response.map((c, index) => {\r\n return {\r\n oldIdParametrizacao: cards[index].idParametrizacao,\r\n newIdParametrizacao: c.data.idParametrizacao,\r\n };\r\n });\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioSuccess(\r\n newCards,\r\n isSuccess,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoUpdateId(newCards));\r\n } else if (isSuccess && hasValidationErrors && !isInvalid) {\r\n const errors = [];\r\n\r\n response.map((a) =>\r\n a.data.validationResult.errors.length > 0\r\n ? errors.push(a.data.validationResult.errors[0]?.errorMessage)\r\n : null\r\n );\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioSuccess(\r\n newCards,\r\n isSuccess,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoUpdateId(newCards));\r\n } else {\r\n const responseErrors = {\r\n errors: response.map((a) => a.data.validationResult.errors),\r\n message: response.map(\r\n (a) => a.data.validationResult.errors[0]?.errorMessage\r\n ),\r\n };\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioError(\r\n responseErrors.errors,\r\n responseErrors.message || 'Erro ao alterar a parametrização.'\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'putParametrizacaoUsuario',\r\n 200\r\n );\r\n\r\n yield put(\r\n UsuarioActions.putParametrizacaoUsuarioError(\r\n unsuccessResponse,\r\n 'Erro ao alterar a parametrização.'\r\n )\r\n );\r\n }\r\n}\r\nexport function* getParametrizacaoCardsCompleto(action) {\r\n try {\r\n const { idUsuario, idCard, ...rest } = action.payload;\r\n\r\n const paramsRequest = qs.stringify(rest, {\r\n addQueryPrefix: true,\r\n skipNulls: true,\r\n });\r\n\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: rest,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n // yield put(\r\n // UsuarioActions.getParametrizacaoCardsCompletoSuccess(\r\n // response.data,\r\n // isSuccess\r\n // )\r\n // );\r\n\r\n const treeContent = JSON.parse(\r\n toJsonFromBase64(response.data.parametrizacao)\r\n );\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardCompleto(treeContent, idCard)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(UsuarioActions.getParametrizacaoCardsCompletoError(error));\r\n }\r\n}\r\nexport function* patchParametrizacaoInativar(action) {\r\n try {\r\n const { idUsuario, idCard, ...rest } = action.payload;\r\n\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/parametrizacao-inativar`,\r\n {},\r\n {\r\n params: rest,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoDeleteCard(idCard));\r\n } else\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarError(\r\n 'Erro ao inativar parametrização.'\r\n )\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n yield put(UsuarioActions.patchParametrizacaoInativarError(error));\r\n }\r\n}\r\n\r\nexport function* patchParametrizacaoAdmInativar(action) {\r\n try {\r\n const { idUsuario } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/parametrizacao-adm-inativar`\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n refreshPage();\r\n } else\r\n yield put(\r\n UsuarioActions.patchParametrizacaoInativarError(\r\n 'Erro ao inativar parametrização.'\r\n )\r\n );\r\n } catch (error) {\r\n yield put(UsuarioActions.patchParametrizacaoInativarError(error));\r\n }\r\n}\r\n\r\nexport function* saveParametrizacaoCards(action) {\r\n const { idUsuario, postCards, putCards } = action.payload;\r\n\r\n const response = [];\r\n const putCardsIds = [];\r\n const postCardsIds = [];\r\n\r\n try {\r\n // #region Request para alterar os cards já parametrizados.\r\n yield* putCards.map(function* (card, index) {\r\n const { idCard, name, ...rest } = card;\r\n const resp = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.put,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n\r\n putCardsIds.push({\r\n oldIdParametrizacao: card.idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n\r\n response.push({ ...resp, name });\r\n });\r\n // #endregion\r\n\r\n // #region Request para adicionar novos cards parametrizados.\r\n yield* postCards.map(function* (card, index) {\r\n const { idCard, name, ...rest } = card;\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.post,\r\n `/${idUsuario}/parametrizacao`,\r\n rest\r\n );\r\n\r\n postCardsIds.push({\r\n idCard,\r\n oldIdParametrizacao: card.idParametrizacao,\r\n newIdParametrizacao: resp.data.idParametrizacao,\r\n });\r\n\r\n response.push({ ...resp, name });\r\n });\r\n // #endregion\r\n\r\n // #region Verifica se há erros de validação ao inserir as parametrizações\r\n const { isSuccess, isInvalid, hasValidationErrors, errors } =\r\n isValid(response);\r\n // #endregion\r\n\r\n // #region Atualiza os Id'sParametrização a partir do response\r\n if (postCards.length > 0)\r\n yield put(ContratanteActions.parametrizacaoSetId(postCardsIds));\r\n if (putCards.length > 0)\r\n yield put(ContratanteActions.parametrizacaoUpdateId(putCardsIds));\r\n // #endregion\r\n\r\n if (isSuccess && !isInvalid && !hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsSuccess(\r\n [...postCards, ...putCards],\r\n true,\r\n false,\r\n ''\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoToogleCard(\r\n [...postCardsIds, ...putCardsIds],\r\n true\r\n )\r\n );\r\n } else if (isSuccess && !isInvalid && hasValidationErrors) {\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsSuccess(\r\n [...postCards, ...putCards],\r\n true,\r\n hasValidationErrors,\r\n errors\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoToogleCard(\r\n [...postCardsIds, ...putCardsIds],\r\n true\r\n )\r\n );\r\n } else yield put(UsuarioActions.saveParametrizacaoCardsError(errors, true));\r\n } catch (error) {\r\n console.log(error);\r\n yield put(\r\n UsuarioActions.saveParametrizacaoCardsError(error, error?.message)\r\n );\r\n }\r\n}\r\n\r\nexport function* getAndBuildParametrizacaoCards(action) {\r\n const { params } = action.payload;\r\n const cardsResponse = {\r\n ContratanteRoot: [],\r\n GrupoRoot: [],\r\n };\r\n try {\r\n const cards = yield retry(\r\n 2,\r\n 2000,\r\n UsuariosAPI.get,\r\n `${params.idUsuario}/parametrizacao-cards`\r\n );\r\n\r\n cardsResponse.ContratanteRoot = cards.data.contratanteCard.map((c) => ({\r\n Card: c,\r\n Tree: [],\r\n }));\r\n cardsResponse.GrupoRoot = cards.data.grupoComplementoCard.map((c) => ({\r\n Card: c,\r\n Tree: [],\r\n }));\r\n\r\n const newCards = [\r\n ...cardsResponse.ContratanteRoot.map((c) => c.Card),\r\n ...cardsResponse.GrupoRoot.map((g) => g.Card),\r\n ];\r\n\r\n if (params?.isParametrizacaoEspelho) {\r\n // Limpando parametrização atual\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsById(\r\n newCards.map((card) => ({ ...card, idParametrizacao: 0 }))\r\n )\r\n );\r\n\r\n if (cardsResponse.ContratanteRoot.length > 0) {\r\n yield* cardsResponse.ContratanteRoot.map(function* (card) {\r\n const cardCompleto = yield call(\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n if (cardsResponse.GrupoRoot.length > 0) {\r\n yield* cardsResponse.GrupoRoot.map(function* (card) {\r\n const cardCompleto = yield call(\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n /*\r\n const contratanteRoot = [];\r\n const grupoRoot = [];\r\n\r\n newCards.forEach((card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnNameAPI[0]) {\r\n contratanteRoot.push({\r\n contratante: { ...card, idParametrizacao: 0 },\r\n });\r\n }\r\n if (card.tipoParametrizacao === TipoCardRoot.returnNameAPI[1]) {\r\n grupoRoot.push({ complemento: { ...card, idParametrizacao: 0 } });\r\n }\r\n });\r\n if (contratanteRoot.length > 0) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoRequest(\r\n contratanteRoot\r\n )\r\n );\r\n }\r\n\r\n if (grupoRoot.length > 0) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoRequest(\r\n grupoRoot\r\n )\r\n );\r\n }\r\n */\r\n } else {\r\n yield put(ContratanteActions.parametrizacaoSetCardsById(newCards));\r\n\r\n if (cardsResponse.ContratanteRoot.length > 0) {\r\n yield* cardsResponse.ContratanteRoot.map(function* (card) {\r\n const cardCompleto = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n\r\n if (cardsResponse.GrupoRoot.length > 0) {\r\n yield* cardsResponse.GrupoRoot.map(function* (card) {\r\n const cardCompleto = yield retry(\r\n 5,\r\n 2000,\r\n UsuariosAPI.get,\r\n `/${params.idUsuario}/parametrizacao-card-completo`,\r\n {\r\n params: { idParametrizacao: card.Card.idParametrizacao },\r\n }\r\n );\r\n card.Tree = JSON.parse(\r\n toJsonFromBase64(cardCompleto.data.parametrizacao)\r\n );\r\n });\r\n }\r\n }\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompleto(\r\n [...cardsResponse.ContratanteRoot, ...cardsResponse.GrupoRoot],\r\n params?.isParametrizacaoEspelho\r\n )\r\n );\r\n\r\n yield put(UsuarioActions.getAndBuildParametrizacaoCardsSuccess([], true));\r\n } catch (error) {\r\n yield put(\r\n UsuarioActions.getAndBuildParametrizacaoCardsError(error, error.message)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a conexão para consulta das parametrizações.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getUsuarioEspelho(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(UsuariosAPI.get, '', {\r\n params,\r\n });\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n if (isSuccess) yield put(UsuarioActions.success(response.data));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n Não foi possível listar os usuarios\r\n );\r\n }\r\n}\r\n\r\nexport function* patchAtualizarTipoPerfil(action) {\r\n try {\r\n const { idUsuario, newRoles } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.patch,\r\n `/${idUsuario}/atualizar-tipo-perfil`,\r\n {\r\n tiposPerfil: [...newRoles],\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(UsuarioActions.success({}));\r\n refreshPage();\r\n } else yield put(UsuarioActions.error({}));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n Erro ao alterar o perfil do usuario.\r\n );\r\n }\r\n}\r\n\r\nexport function* postClonarUsuarioEspelho(action) {\r\n try {\r\n const { idUsuario, idUsuarioEspelho } = action.payload;\r\n\r\n const response = yield call(\r\n UsuariosAPI.post,\r\n `/${idUsuario}/clonar-usuario-espelho`,\r\n {\r\n idUsuarioEspelho,\r\n }\r\n );\r\n\r\n const isSuccess = response.status > 199 && response.status < 299;\r\n\r\n if (isSuccess) {\r\n yield put(UsuarioActions.success({}));\r\n // Atualizar grid de cards de parametrização\r\n yield put(ContratanteActions.parametrizacaoRootRenew());\r\n yield put(\r\n UsuarioActions.getAndBuildParametrizacaoCardsRequest({ idUsuario })\r\n );\r\n refreshPage();\r\n } else yield put(UsuarioActions.error({}));\r\n } catch (error) {\r\n yield put(UsuarioActions.error(error));\r\n toast.error(\r\n \r\n Erro ao clonar a parametrização do usuario espelho.\r\n \r\n );\r\n }\r\n}\r\nconst isValid = (response) => {\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n const isInvalid = response.every((a) => !a.data.validationResult.isValid);\r\n const hasValidationErrors = response.some(\r\n (a) => !a.data.validationResult.isValid\r\n );\r\n if (hasValidationErrors) {\r\n const errors = [];\r\n\r\n response.map((a) => {\r\n if (a.data.validationResult.errors.length > 0) {\r\n errors.push({\r\n name: a.name,\r\n errorMessage: a.data.validationResult.errors[0]?.errorMessage,\r\n });\r\n }\r\n });\r\n\r\n return { isSuccess, isInvalid, hasValidationErrors, errors };\r\n }\r\n\r\n return { isSuccess, isInvalid, hasValidationErrors };\r\n};\r\n\r\nconst refreshPage = () => {\r\n movcadUpt();\r\n window.location.reload();\r\n};\r\n","import React from 'react';\r\n\r\nimport { retry, put, all } from 'redux-saga/effects';\r\nimport qs from 'qs';\r\n\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as ContratanteActions } from '../ducks/contratante';\r\n\r\nimport { contratantesAPI } from '../../services/api';\r\nimport {\r\n responseHandlerGet,\r\n responseHandler,\r\n} from '../../utils/responseHandler';\r\n\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\nimport { toJsonFromBase64 } from '../../utils/array';\r\n\r\nexport function* getGrupoComplementos(action) {\r\n const { params } = action.payload;\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `/parametrizacao-grupo-complemento`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getGrupoComplementos',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const grupoComplementos = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getGrupoComplementosSuccess(\r\n grupoComplementos,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoComplementos',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoComplementosError(unsuccessResponse, error)\r\n );\r\n\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de grupo complemento.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratantes(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `/parametrizacao-contratante`,\r\n { params: queryString }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContratantes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getContratanteSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratantes',\r\n 200\r\n );\r\n\r\n yield put(ContratanteActions.getContratanteError(unsuccessResponse, error));\r\n }\r\n}\r\n\r\nexport function* getGrupoContratantes(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `contratante-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getGrupoContratantes',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n id: params.codigoComplemento,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContratantesSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoContratantes',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContratantesError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getContratanteModalidades(action) {\r\n const { params } = action.payload;\r\n\r\n const { path, idCard, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `modalidade-node`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getContratanteModalidades',\r\n 200\r\n );\r\n if (isSuccess) {\r\n response.data.modalidadeNode.map((a) => {\r\n a.codigoContratante = params.codigoContratante;\r\n });\r\n const contratantes = {\r\n ...response.data,\r\n codigoContratante: params.codigoContratante,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesSuccess(\r\n contratantes,\r\n isSuccess\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratanteModalidades',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getContratanteModalidadesError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getModalidadeTermos(action) {\r\n const { params } = action.payload;\r\n\r\n const { idCard, path, ...rest } = params;\r\n\r\n const queryString = {\r\n ...rest,\r\n };\r\n\r\n try {\r\n const response = yield retry(2, 2000, contratantesAPI.get, `termo-node`, {\r\n params: queryString,\r\n });\r\n\r\n const { isSuccess } = responseHandlerGet(\r\n response,\r\n action.payload,\r\n 'getModalidadeTermos',\r\n 200\r\n );\r\n\r\n if (isSuccess) {\r\n const contratantes = {\r\n ...response.data,\r\n idCard: params.idCard,\r\n path: params.path,\r\n currentPath: params.currentPath,\r\n };\r\n\r\n yield put(\r\n ContratanteActions.getModalidadeTermosSuccess(contratantes, isSuccess)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getModalidadeTermos',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getModalidadeTermosError(\r\n unsuccessResponse,\r\n error,\r\n params.idCard\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport function* getGrupoContagem(action) {\r\n const { cards } = action.payload;\r\n\r\n const response = [];\r\n\r\n try {\r\n yield* cards.map(function* (card) {\r\n const queryString = {\r\n codigoGrupo: card.complemento?.codigoGrupo,\r\n codigoComplemento: card.complemento?.codigoComplemento,\r\n };\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `grupo-totalizador`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n response.push({\r\n contagem: resp.data,\r\n idCard: card.idCard,\r\n status: resp.status,\r\n });\r\n });\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 299\r\n );\r\n\r\n if (isSuccess) {\r\n yield put(\r\n ContratanteActions.getGrupoContagemSuccess(response, isSuccess, cards)\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getGrupoContagem',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getGrupoContagemError(unsuccessResponse, error, cards)\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de contagem de grupos.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getContratanteContagem(action) {\r\n const { cards } = action.payload;\r\n\r\n const response = [];\r\n\r\n try {\r\n yield* cards.map(function* (card) {\r\n const queryString = {\r\n codigoContratante: card.contratante?.codigoContratante,\r\n };\r\n\r\n const resp = yield retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `contratante-totalizador`,\r\n {\r\n params: queryString,\r\n }\r\n );\r\n\r\n response.push({\r\n contagem: resp.data,\r\n idCard: card.idCard,\r\n status: resp.status,\r\n });\r\n });\r\n\r\n const isSuccess = response.every(\r\n (resp) => resp.status > 199 && resp.status < 299\r\n );\r\n\r\n if (isSuccess) {\r\n yield put(\r\n ContratanteActions.getContratanteContagemSuccess(\r\n response,\r\n isSuccess,\r\n cards\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n const { unsuccessResponse } = responseHandlerGet(\r\n error,\r\n error.data,\r\n 'getContratanteContagem',\r\n 200\r\n );\r\n\r\n yield put(\r\n ContratanteActions.getContratanteContagemError(\r\n unsuccessResponse,\r\n error,\r\n cards\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de contagem de contratantes.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getParametrizacaoGrupoComplementoCompleto(action) {\r\n const { params } = action.payload;\r\n\r\n const queryParams = yield params.map((p) => {\r\n return {\r\n codigoGrupo: p.complemento.codigoGrupo,\r\n codigoComplemento: p.complemento.codigoComplemento,\r\n };\r\n });\r\n\r\n try {\r\n const response = yield all(\r\n queryParams.map((qp) =>\r\n retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `parametrizacao-grupo-complemento-completo`,\r\n { params: qp }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n\r\n if (isSuccess) {\r\n const newCards = response.map((resp, index) => {\r\n const treeObject = JSON.parse(\r\n toJsonFromBase64(resp.data.result.parametrizacao)\r\n );\r\n\r\n return {\r\n Tree: treeObject,\r\n idCard: params[index].idCard,\r\n contagem: {\r\n contratantes:\r\n treeObject.totalizadorParametrizacao.totalContratantes,\r\n modalidades: treeObject.totalizadorParametrizacao.totalModalidades,\r\n termos: treeObject.totalizadorParametrizacao.totalTermos,\r\n },\r\n };\r\n });\r\n\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoSuccess(\r\n isSuccess,\r\n response,\r\n params\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompletoNewCards(newCards)\r\n );\r\n } else {\r\n throw new Error(\r\n 'Não foi possível realizar a consulta de parametrizações.'\r\n );\r\n }\r\n } catch (error) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoError(\r\n error.message,\r\n params\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de parametrizações.\r\n \r\n );\r\n }\r\n}\r\nexport function* getParametrizacaoContratanteCompleto(action) {\r\n const { params } = action.payload;\r\n\r\n const queryParams = yield params.map((p) => {\r\n return {\r\n codigoContratante: p.contratante.codigoContratante,\r\n };\r\n });\r\n\r\n try {\r\n const response = yield all(\r\n queryParams.map((qp) =>\r\n retry(\r\n 2,\r\n 2000,\r\n contratantesAPI.get,\r\n `parametrizacao-contratante-completo`,\r\n {\r\n params: qp,\r\n }\r\n )\r\n )\r\n );\r\n const isSuccess = response.every((a) => a.status > 199 && a.status < 299);\r\n\r\n if (isSuccess) {\r\n const newCards = response.map((resp, index) => {\r\n const treeObject = JSON.parse(\r\n toJsonFromBase64(resp.data.result.parametrizacao)\r\n );\r\n\r\n return {\r\n Tree: treeObject,\r\n idCard: params[index].idCard,\r\n contagem: {\r\n modalidades: treeObject.totalizadorParametrizacao.totalModalidades,\r\n termos: treeObject.totalizadorParametrizacao.totalTermos,\r\n },\r\n };\r\n });\r\n\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoSuccess(\r\n isSuccess,\r\n response,\r\n params\r\n )\r\n );\r\n yield put(\r\n ContratanteActions.parametrizacaoSetCardsCompletoNewCards(newCards)\r\n );\r\n } else {\r\n throw new Error(\r\n 'Não foi possível realizar a consulta de parametrizações.'\r\n );\r\n }\r\n } catch (error) {\r\n yield put(\r\n ContratanteActions.getParametrizacaoContratanteCompletoError(\r\n error.message,\r\n params\r\n )\r\n );\r\n toast.error(\r\n \r\n Não foi possível realizar a consulta de parametrizações.\r\n \r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n GET_LISTA_ARQUIVOS_REQUEST: '@arquivoUpload/GET_LISTA_ARQUIVOS_REQUEST',\r\n GET_LISTA_ARQUIVOS_SUCCESS: '@arquivoUpload/GET_LISTA_ARQUIVOS_SUCCESS',\r\n GET_LISTA_ARQUIVOS_ERROR: '@arquivoUpload/GET_LISTA_ARQUIVOS_ERROR',\r\n GET_ARQUIVO_REQUEST: '@arquivoUpload/GET_ARQUIVO_REQUEST',\r\n GET_ARQUIVO_SUCCESS: '@arquivoUpload/GET_ARQUIVO_SUCCESS',\r\n GET_ARQUIVO_ERROR: '@arquivoUpload/GET_ARQUIVO_ERROR',\r\n GET_ATUALIZACAO_DE_RELATORIO_REQUEST:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_REQUEST',\r\n GET_ATUALIZACAO_DE_RELATORIO_SUCCESS:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_SUCCESS',\r\n GET_ATUALIZACAO_DE_RELATORIO_ERROR:\r\n '@arquivoUpload/GET_ATUALIZACAO_DE_RELATORIO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getListaArquivos: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n dados: [],\r\n total: 0,\r\n },\r\n error: null,\r\n },\r\n getArquivo: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n error: null,\r\n },\r\n};\r\n\r\nexport default function arquivoUpload(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_LISTA_ARQUIVOS_REQUEST: {\r\n draft.getListaArquivos.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTA_ARQUIVOS_SUCCESS: {\r\n draft.getListaArquivos.loading = false;\r\n draft.getListaArquivos.response = action.payload.response;\r\n draft.getListaArquivos.success = action.payload.success;\r\n draft.getListaArquivos.error = false;\r\n break;\r\n }\r\n case Types.GET_ATUALIZACAO_DE_RELATORIO_REQUEST: {\r\n draft.getListaArquivos.loading = false;\r\n break;\r\n }\r\n case Types.GET_ATUALIZACAO_DE_RELATORIO_SUCCESS: {\r\n draft.getListaArquivos.loading = false;\r\n const existingIndex = draft.getListaArquivos.response.dados.findIndex(\r\n (item) => item.taskId === action.payload.response.taskId\r\n );\r\n\r\n if (existingIndex !== -1) {\r\n // Se taskId existe, substituir os dados associados\r\n draft.getListaArquivos.response.dados[existingIndex] =\r\n action.payload.response;\r\n } else {\r\n return;\r\n }\r\n draft.getListaArquivos.success = action.payload.success;\r\n draft.getListaArquivos.error = false;\r\n break;\r\n }\r\n case Types.GET_LISTA_ARQUIVOS_ERROR: {\r\n draft.getListaArquivos.loading = false;\r\n draft.getListaArquivos.error = action.payload.error;\r\n draft.getListaArquivos.success = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_REQUEST: {\r\n draft.getArquivo.loading = true;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_SUCCESS: {\r\n draft.getArquivo.loading = false;\r\n draft.getArquivo.response = action.payload.response;\r\n draft.getArquivo.success = action.payload.success;\r\n draft.getArquivo.error = false;\r\n break;\r\n }\r\n case Types.GET_ARQUIVO_ERROR: {\r\n draft.getArquivo.loading = false;\r\n draft.getArquivo.error = action.payload.error;\r\n draft.getArquivo.success = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getAtualizacaoDeRelatorioRequest: (taskId) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_REQUEST,\r\n payload: { taskId },\r\n }),\r\n getAtualizacaoDeRelatorioSuccess: (response, success) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getAtualizacaoDeRelatorioError: (error) => ({\r\n type: Types.GET_ATUALIZACAO_DE_RELATORIO_ERROR,\r\n payload: { error },\r\n }),\r\n getListaArquivosRequest: (\r\n codigoContratante,\r\n paginaInicial,\r\n quantidadeMaximaPorPagina\r\n ) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_REQUEST,\r\n payload: { codigoContratante, paginaInicial, quantidadeMaximaPorPagina },\r\n }),\r\n getListaArquivosSuccess: (response, success) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListaArquivosError: (error) => ({\r\n type: Types.GET_LISTA_ARQUIVOS_ERROR,\r\n payload: { error },\r\n }),\r\n getArquivoRequest: (arquivoId) => ({\r\n type: Types.GET_ARQUIVO_REQUEST,\r\n payload: { arquivoId },\r\n }),\r\n getArquivoSuccess: (response, success) => ({\r\n type: Types.GET_ARQUIVO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getArquivoError: (error) => ({\r\n type: Types.GET_ARQUIVO_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as ArquivoUploadActions } from '../ducks/arquivoUpload';\r\n\r\nimport { ArquivoUploadAPI } from '../../services/api';\r\n\r\nexport function* getAtualizacaoDeRelatorio(action) {\r\n const { taskId } = action.payload;\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `/obter-atualizacao-de-relatorio-de-beneficiarios/${taskId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n ArquivoUploadActions.getAtualizacaoDeRelatorioSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getAtualizacaoDeRelatorioError(error));\r\n }\r\n}\r\nexport function* getListaArquivos(action) {\r\n const { codigoContratante, paginaInicial, quantidadeMaximaPorPagina } =\r\n action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `/obter-relatorios-de-beneficiarios/${codigoContratante}/${paginaInicial}/${quantidadeMaximaPorPagina}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n ArquivoUploadActions.getListaArquivosSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getListaArquivosError(error));\r\n }\r\n}\r\nexport function* getArquivo(action) {\r\n const { arquivoId } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n ArquivoUploadAPI.get,\r\n `obter-arquivo-de-relatorio-de-beneficiarios/${arquivoId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(ArquivoUploadActions.getArquivoSuccess(response.data, isSuccess));\r\n } catch (error) {\r\n yield put(ArquivoUploadActions.getArquivoError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n GET_PERMISSAO_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_REQUEST',\r\n GET_PERMISSAO_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_SUCCESS',\r\n GET_PERMISSAO_SEGUNDA_VIA_ERROR:\r\n '@requisicao/GET_PERMISSAO_SEGUNDA_VIA_ERROR',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS',\r\n POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR',\r\n POST_SOLICITAR_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_REQUEST',\r\n POST_SOLICITAR_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_SUCCESS',\r\n POST_SOLICITAR_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_SOLICITAR_SEGUNDA_VIA_ERROR',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS',\r\n POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR:\r\n '@requisicao/POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR',\r\n DELETE_SEGUNDA_VIA_REQUEST: '@requisicao/DELETE_SEGUNDA_VIA_REQUEST',\r\n DELETE_SEGUNDA_VIA_SUCCESS: '@requisicao/DELETE_SEGUNDA_VIA_SUCCESS',\r\n DELETE_SEGUNDA_VIA_ERROR: '@requisicao/DELETE_SEGUNDA_VIA_ERROR',\r\n DELETE_SEGUNDA_VIA_ANEXO_REQUEST:\r\n '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_REQUEST',\r\n DELETE_SEGUNDA_VIA_ANEXO_SUCCESS:\r\n '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_SUCCESS',\r\n DELETE_SEGUNDA_VIA_ANEXO_ERROR: '@requisicao/DELETE_SEGUNDA_VIA_ANEXO_ERROR',\r\n GET_SEGUNDA_VIA_ANEXO_REQUEST: '@requisicao/GET_SEGUNDA_VIA_ANEXO_REQUEST',\r\n GET_SEGUNDA_VIA_ANEXO_SUCCESS: '@requisicao/GET_SEGUNDA_VIA_ANEXO_SUCCESS',\r\n GET_SEGUNDA_VIA_ANEXO_ERROR: '@requisicao/GET_SEGUNDA_VIA_ANEXO_ERROR',\r\n PUT_SEGUNDA_VIA_UPDATE_REQUEST: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_REQUEST',\r\n PUT_SEGUNDA_VIA_UPDATE_SUCCESS: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_SUCCESS',\r\n PUT_SEGUNDA_VIA_UPDATE_ERROR: '@requisicao/PUT_SEGUNDA_VIA_UPDATE_ERROR',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS',\r\n POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR:\r\n '@requisicao/POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR',\r\n POST_SEGUNDA_VIA_PROCESSAR_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_REQUEST',\r\n POST_SEGUNDA_VIA_PROCESSAR_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_SUCCESS',\r\n POST_SEGUNDA_VIA_PROCESSAR_ERROR:\r\n '@requisicao/POST_SEGUNDA_VIA_PROCESSAR_ERROR',\r\n POST_SEGUNDA_VIA_CARTAO_REQUEST:\r\n '@requisicao/POST_SEGUNDA_VIA_CARTAO_REQUEST',\r\n POST_SEGUNDA_VIA_CARTAO_SUCCESS:\r\n '@requisicao/POST_SEGUNDA_VIA_CARTAO_SUCCESS',\r\n POST_SEGUNDA_VIA_CARTAO_ERROR: '@requisicao/POST_SEGUNDA_VIA_CARTAO_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getPermissaoSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postRelatorioSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getBeneficiarios: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n deleteSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getAnexoSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n putSegundaViaCartao: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n postProcessarSegundaVia: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function requisicao(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_REQUEST: {\r\n draft.getPermissaoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_SUCCESS: {\r\n draft.getPermissaoSegundaVia.loading = false;\r\n draft.getPermissaoSegundaVia.response = action.payload.response;\r\n draft.getPermissaoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_PERMISSAO_SEGUNDA_VIA_ERROR: {\r\n draft.getPermissaoSegundaVia.loading = false;\r\n draft.getPermissaoSegundaVia.isError = true;\r\n draft.getPermissaoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST: {\r\n draft.postRelatorioSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS: {\r\n draft.postRelatorioSegundaVia.loading = false;\r\n draft.postRelatorioSegundaVia.response = action.payload.response;\r\n draft.postRelatorioSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR: {\r\n draft.postRelatorioSegundaVia.loading = false;\r\n draft.postRelatorioSegundaVia.isError = true;\r\n draft.postRelatorioSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_REQUEST: {\r\n draft.postSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_SUCCESS: {\r\n draft.postSegundaViaCartao.loading = false;\r\n draft.postSegundaViaCartao.response = action.payload.response;\r\n draft.postSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SOLICITAR_SEGUNDA_VIA_ERROR: {\r\n draft.postSegundaViaCartao.loading = false;\r\n draft.postSegundaViaCartao.isError = true;\r\n draft.postSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST: {\r\n draft.getBeneficiarios.loading = true;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS: {\r\n draft.getBeneficiarios.loading = false;\r\n draft.getBeneficiarios.response = action.payload.response;\r\n draft.getBeneficiarios.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR: {\r\n draft.getBeneficiarios.loading = false;\r\n draft.getBeneficiarios.isError = true;\r\n draft.getBeneficiarios.error = action.payload.error;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_REQUEST: {\r\n draft.deleteSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_SUCCESS: {\r\n draft.deleteSegundaVia.loading = false;\r\n draft.deleteSegundaVia.response = action.payload.response;\r\n draft.deleteSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ERROR: {\r\n draft.deleteSegundaVia.loading = false;\r\n draft.deleteSegundaVia.isError = true;\r\n draft.deleteSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_REQUEST: {\r\n draft.getAnexoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_SUCCESS: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.response = action.payload.response;\r\n draft.getAnexoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.DELETE_SEGUNDA_VIA_ANEXO_ERROR: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.isError = true;\r\n draft.getAnexoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_REQUEST: {\r\n draft.getAnexoSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_SUCCESS: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.response = action.payload.response;\r\n draft.getAnexoSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_SEGUNDA_VIA_ANEXO_ERROR: {\r\n draft.getAnexoSegundaVia.loading = false;\r\n draft.getAnexoSegundaVia.isError = true;\r\n draft.getAnexoSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_REQUEST: {\r\n draft.putSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_SUCCESS: {\r\n draft.putSegundaViaCartao.loading = false;\r\n draft.putSegundaViaCartao.response = action.payload.response;\r\n draft.putSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.PUT_SEGUNDA_VIA_UPDATE_ERROR: {\r\n draft.putSegundaViaCartao.loading = false;\r\n draft.putSegundaViaCartao.isError = true;\r\n draft.putSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_REQUEST: {\r\n draft.postProcessarSegundaVia.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_SUCCESS: {\r\n draft.postProcessarSegundaVia.loading = false;\r\n draft.postProcessarSegundaVia.response = action.payload.response;\r\n draft.postProcessarSegundaVia.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_PROCESSAR_ERROR: {\r\n draft.postProcessarSegundaVia.loading = false;\r\n draft.postProcessarSegundaVia.isError = true;\r\n draft.postProcessarSegundaVia.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST: {\r\n draft.getSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.response = action.payload.response;\r\n draft.getSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.isError = true;\r\n draft.getSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_REQUEST: {\r\n draft.getSegundaViaCartao.loading = true;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_SUCCESS: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.response = action.payload.response;\r\n draft.getSegundaViaCartao.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_SEGUNDA_VIA_CARTAO_ERROR: {\r\n draft.getSegundaViaCartao.loading = false;\r\n draft.getSegundaViaCartao.isError = true;\r\n draft.getSegundaViaCartao.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getPermissaoSegundaViaRequest: (params) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n getPermissaoSegundaViaSuccess: (response, success) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getPermissaoSegundaViaError: (error) => ({\r\n type: Types.GET_PERMISSAO_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postSolicitarRelatorioSegundaViaRequest: (params) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSolicitarRelatorioSegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSolicitarRelatorioSegundaViaError: (error) => ({\r\n type: Types.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postSolicitarSegundaViaRequest: (params) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postSolicitarSegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSolicitarSegundaViaError: (error) => ({\r\n type: Types.POST_SOLICITAR_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n postBeneficiarioSegundaViaRequest: (params) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n postBeneficiarioegundaViaSuccess: (response, success) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postBeneficiarioSegundaViaError: (error) => ({\r\n type: Types.POST_BENEFICIARIOS_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n deleteSegundaViaRequest: (params) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_REQUEST,\r\n payload: { params },\r\n }),\r\n deleteSegundaViaSuccess: (response, success) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n deleteSegundaViaError: (error) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ERROR,\r\n payload: { error },\r\n }),\r\n deleteSegundaViaAnexoRequest: (params) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_REQUEST,\r\n payload: { params },\r\n }),\r\n deleteSegundaViaAnexoSuccess: (response, success) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n deleteSegundaViaAnexoError: (error) => ({\r\n type: Types.DELETE_SEGUNDA_VIA_ANEXO_ERROR,\r\n payload: { error },\r\n }),\r\n getSegundaViaAnexoRequest: (params) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_REQUEST,\r\n payload: { params },\r\n }),\r\n getSegundaViaAnexoSuccess: (response, success) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getSegundaViaAnexoError: (error) => ({\r\n type: Types.GET_SEGUNDA_VIA_ANEXO_ERROR,\r\n payload: { error },\r\n }),\r\n putSegundaViaUpdateRequest: (params) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_REQUEST,\r\n payload: { params },\r\n }),\r\n putSegundaViaUpdateSuccess: (response, success) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n putSegundaViaUpdateError: (error) => ({\r\n type: Types.PUT_SEGUNDA_VIA_UPDATE_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaProcessarRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaProcessarSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaProcessarError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_PROCESSAR_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaBuscarPorIdRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaBuscarPorIdSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaBuscarPorIdError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_BUSCAR_POR_ID_ERROR,\r\n payload: { error },\r\n }),\r\n postSegundaViaCartaoRequest: (params) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_REQUEST,\r\n payload: { params },\r\n }),\r\n postSegundaViaCartaoSuccess: (response, success) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postSegundaViaCartaoError: (error) => ({\r\n type: Types.POST_SEGUNDA_VIA_CARTAO_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as RequisicaoActions } from '../ducks/requisicao';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport { requisitionAPI } from '../../services/api';\r\n\r\nexport function* getPermissaoSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(requisitionAPI.get, `/allowed/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.getPermissaoSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.getPermissaoSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSolicitarRelatorioSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n const tipo = {\r\n Detalhado: '/relatorio-detalhado-excel',\r\n Resumido: '/relatorio-resumido-csv',\r\n };\r\n try {\r\n const response = yield call(\r\n requisitionAPI.post,\r\n tipo[params.tipoRelatorio],\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSolicitarRelatorioSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSolicitarSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/create`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSolicitarSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSolicitarSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* getBeneficiariosSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/beneficiaries`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postBeneficiarioegundaViaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postBeneficiarioegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* deleteSegundaVia(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(\r\n requisitionAPI.put,\r\n `/delete/${params.requisitionId}/${params.userId}`\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.deleteSegundaViaSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.deleteSegundaViaError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* getSegundaViaAnexo(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.get, `/attachment/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.getSegundaViaAnexoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.getSegundaViaAnexoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\n\r\nexport function* deleteSegundaViaAnexo(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.delete, `/attachment/${params}`);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.deleteSegundaViaAnexoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.deleteSegundaViaAnexoError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* putSegundaVia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(requisitionAPI.put, `/update`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.putSegundaViaUpdateSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.putSegundaViaUpdateError(error));\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postSegundaViaBuscarPorId(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(\r\n requisitionAPI.post,\r\n `/filter-after-update`,\r\n params\r\n );\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaBuscarPorIdSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaBuscarPorIdError(error));\r\n toast.error(\r\n {error.response.data.error_message}\r\n );\r\n }\r\n}\r\n\r\nexport function* postSegundaViaProcessar(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/process`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaProcessarSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaProcessarError(error));\r\n }\r\n}\r\n\r\nexport function* postSegundaViaCartao(action) {\r\n const { params } = action.payload;\r\n try {\r\n const response = yield call(requisitionAPI.post, `/filter`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n RequisicaoActions.postSegundaViaCartaoSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(RequisicaoActions.postSegundaViaCartaoError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n POST_DATA_BENEFICIARIES_NESTLE_REQUEST:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_REQUEST',\r\n POST_DATA_BENEFICIARIES_NESTLE_SUCCESS:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_SUCCESS',\r\n POST_DATA_BENEFICIARIES_NESTLE_ERROR:\r\n '@beneficiario/POST_DATA_BENEFICIARIES_NESTLE_ERROR',\r\n GET_DOCUMENTOS_STATUS_REQUEST: '@beneficiario/GET_DOCUMENTOS_STATUS_REQUEST',\r\n GET_DOCUMENTOS_STATUS_SUCCESS: '@beneficiario/GET_DOCUMENTOS_STATUS_SUCCESS',\r\n GET_DOCUMENTOS_STATUS_ERROR: '@beneficiario/GET_DOCUMENTOS_STATUS_ERROR',\r\n GET_DOCUMENTO_DETALHE_REQUEST: '@beneficiario/GET_DOCUMENTO_DETALHE_REQUEST',\r\n GET_DOCUMENTO_DETALHE_SUCCESS: '@beneficiario/GET_DOCUMENTO_DETALHE_SUCCESS',\r\n GET_DOCUMENTO_DETALHE_ERROR: '@beneficiario/GET_DOCUMENTO_DETALHE_ERROR',\r\n GET_DOCUMENTO_DETALHE_RENEW: '@beneficiario/GET_DOCUMENTO_DETALHE_RENEW',\r\n PATCH_DOCUMENTO_CONFERENCIA_REQUEST:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_REQUEST',\r\n PATCH_DOCUMENTO_CONFERENCIA_SUCCESS:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_SUCCESS',\r\n PATCH_DOCUMENTO_CONFERENCIA_ERROR:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_ERROR',\r\n PATCH_DOCUMENTO_CONFERENCIA_RENEW:\r\n '@beneficiario/PATCH_DOCUMENTO_CONFERENCIA_RENEW',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getDocumentosStatus: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getBeneficiariesNestle: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n getDocumentoDetalhe: {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n unsuccessResponse: [],\r\n error: null,\r\n isError: false,\r\n },\r\n patchDocumentoConferencia: {\r\n loading: false,\r\n success: false,\r\n response: [],\r\n unsuccessResponse: null,\r\n error: null,\r\n isError: false,\r\n },\r\n};\r\n\r\nexport default function beneficiario(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_REQUEST: {\r\n draft.getBeneficiariesNestle.loading = true;\r\n break;\r\n }\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_SUCCESS: {\r\n draft.getBeneficiariesNestle.loading = false;\r\n draft.getBeneficiariesNestle.response = action.payload.response;\r\n draft.getBeneficiariesNestle.success = action.payload.success;\r\n break;\r\n }\r\n case Types.POST_DATA_BENEFICIARIES_NESTLE_ERROR: {\r\n draft.getBeneficiariesNestle.loading = false;\r\n draft.getBeneficiariesNestle.isError = true;\r\n draft.getBeneficiariesNestle.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_REQUEST: {\r\n draft.getDocumentosStatus.loading = true;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_SUCCESS: {\r\n draft.getDocumentosStatus.loading = false;\r\n draft.getDocumentosStatus.response = action.payload.response;\r\n draft.getDocumentosStatus.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTOS_STATUS_ERROR: {\r\n draft.getDocumentosStatus.loading = false;\r\n draft.getDocumentosStatus.isError = true;\r\n draft.getDocumentosStatus.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_REQUEST: {\r\n draft.getDocumentoDetalhe.loading = true;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_SUCCESS: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.response = action.payload.response;\r\n draft.getDocumentoDetalhe.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_ERROR: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.isError = true;\r\n draft.getDocumentoDetalhe.error = action.payload.error;\r\n break;\r\n }\r\n case Types.GET_DOCUMENTO_DETALHE_RENEW: {\r\n draft.getDocumentoDetalhe.loading = false;\r\n draft.getDocumentoDetalhe.success = false;\r\n draft.getDocumentoDetalhe.response = {};\r\n draft.getDocumentoDetalhe.unsuccessResponse = [];\r\n draft.getDocumentoDetalhe.error = null;\r\n draft.getDocumentoDetalhe.isError = false;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_REQUEST: {\r\n draft.patchDocumentoConferencia.success = false;\r\n draft.patchDocumentoConferencia.unsuccessResponse = [];\r\n draft.patchDocumentoConferencia.loading = false;\r\n draft.patchDocumentoConferencia.isError = false;\r\n draft.patchDocumentoConferencia.error = [];\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_SUCCESS: {\r\n draft.patchDocumentoConferencia.success = action.payload.isSuccess;\r\n draft.patchDocumentoConferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_ERROR: {\r\n draft.patchDocumentoConferencia.error = action.payload.error;\r\n draft.patchDocumentoConferencia.isError = true;\r\n draft.patchDocumentoConferencia.unsuccessResponse =\r\n action.payload.unsuccessResponse;\r\n break;\r\n }\r\n case Types.PATCH_DOCUMENTO_CONFERENCIA_RENEW: {\r\n draft.patchDocumentoConferencia.success = false;\r\n draft.patchDocumentoConferencia.unsuccessResponse = [];\r\n draft.patchDocumentoConferencia.loading = false;\r\n draft.patchDocumentoConferencia.isError = false;\r\n draft.patchDocumentoConferencia.error = [];\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n postDataBeneficiariesNestleRequest: (params) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_REQUEST,\r\n payload: { params },\r\n }),\r\n postDataBeneficiariesNestleSuccess: (response, success) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n postDataBeneficiariesNestleError: (error) => ({\r\n type: Types.POST_DATA_BENEFICIARIES_NESTLE_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentosStatusRequest: (params) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_REQUEST,\r\n payload: { params },\r\n }),\r\n getDocumentosStatusSuccess: (response, success) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDocumentosStatusError: (error) => ({\r\n type: Types.GET_DOCUMENTOS_STATUS_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentoDetalheRequest: (params, idBeneficiario) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_REQUEST,\r\n payload: { params, idBeneficiario },\r\n }),\r\n getDocumentoDetalheSuccess: (response, success) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getDocumentoDetalheError: (error) => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_ERROR,\r\n payload: { error },\r\n }),\r\n getDocumentoDetalheRenew: () => ({\r\n type: Types.GET_DOCUMENTO_DETALHE_RENEW,\r\n payload: {},\r\n }),\r\n patchDocumentoConferenciaRequest: (params) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_REQUEST,\r\n payload: { params },\r\n }),\r\n patchDocumentoConferenciaSuccess: (unsuccessResponse, isSuccess) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_SUCCESS,\r\n payload: { unsuccessResponse, isSuccess },\r\n }),\r\n patchDocumentoConferenciaError: (error) => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_ERROR,\r\n payload: { error },\r\n }),\r\n patchDocumentoConferenciaRenew: () => ({\r\n type: Types.PATCH_DOCUMENTO_CONFERENCIA_RENEW,\r\n }),\r\n};\r\n","import { call, put, retry } from 'redux-saga/effects';\r\n\r\nimport { Creators as BeneficiarioActions } from '../ducks/beneficiario';\r\n\r\nimport { BeneficiariosAPI, listasAPI } from '../../services/api';\r\n\r\nexport function* postDataBeneficiriesNestle(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield call(listasAPI.post, `/data-nestle`, params);\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.postDataBeneficiariesNestleSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.postDataBeneficiariesNestleError(error));\r\n }\r\n}\r\n\r\nexport function* getDocumentosStatus(action) {\r\n const { params } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.get,\r\n `/documento-status`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.getDocumentosStatusSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.getDocumentosStatusError(error));\r\n }\r\n}\r\n\r\nexport function* getDocumentoDetalhe(action) {\r\n const { params, idBeneficiario } = action.payload;\r\n\r\n const queryString = {\r\n ...params,\r\n };\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.get,\r\n `/${idBeneficiario}/documento-detalhe`,\r\n { params: queryString }\r\n );\r\n\r\n const isSuccess = response.status === 200 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.getDocumentoDetalheSuccess(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.getDocumentoDetalheError(error));\r\n }\r\n}\r\n\r\nexport function* patchDocumentoConferencia(action) {\r\n const { params } = action.payload;\r\n\r\n try {\r\n const response = yield retry(\r\n 2,\r\n 2000,\r\n BeneficiariosAPI.patch,\r\n `/documento-conferencia`,\r\n {\r\n ...params,\r\n }\r\n );\r\n\r\n const isSuccess = response.status === 204 || false;\r\n\r\n yield put(\r\n BeneficiarioActions.patchDocumentoConferenciaSuccess(\r\n response.data,\r\n isSuccess\r\n )\r\n );\r\n } catch (error) {\r\n yield put(BeneficiarioActions.patchDocumentoConferenciaError(error));\r\n }\r\n}\r\n","import produce from 'immer';\r\n\r\nexport const Types = {\r\n PUT_TASK_REPROCESS_REQUEST: '@task/PUT_TASK_REPROCESS_REQUEST',\r\n PUT_TASK_REPROCESS_RESPONSE: '@task/PUT_TASK_REPROCESS_RESPONSE',\r\n GET_TASK_DETAILS_LAST_ERROR_REQUEST:\r\n '@task/GET_TASK_DETAILS_LAST_ERROR_REQUEST',\r\n GET_TASK_DETAILS_LAST_ERROR_RESPONSE:\r\n '@task/GET_TASK_DETAILS_LAST_ERROR_RESPONSE',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n putReprocessarTask: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getUltimoErroTask: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\nexport default function task(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.PUT_TASK_REPROCESS_REQUEST: {\r\n draft.putReprocessarTask.loading = true;\r\n break;\r\n }\r\n case Types.PUT_TASK_REPROCESS_RESPONSE: {\r\n draft.putReprocessarTask.loading = false;\r\n draft.putReprocessarTask.data = action.payload.response;\r\n draft.putReprocessarTask.success = action.payload.success;\r\n draft.putReprocessarTask.error = false;\r\n break;\r\n }\r\n\r\n case Types.GET_TASK_DETAILS_LAST_ERROR_REQUEST: {\r\n draft.getUltimoErroTask.loading = true;\r\n break;\r\n }\r\n case Types.GET_TASK_DETAILS_LAST_ERROR_RESPONSE: {\r\n draft.getUltimoErroTask.loading = false;\r\n draft.getUltimoErroTask.data = action.payload.response;\r\n draft.getUltimoErroTask.success = action.payload.success;\r\n draft.getUltimoErroTask.error = false;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n putReprocessarTaskRequest: (taskId) => ({\r\n type: Types.PUT_TASK_REPROCESS_REQUEST,\r\n payload: { taskId },\r\n }),\r\n putReprocessarTaskResponse: (response, success) => ({\r\n type: Types.PUT_TASK_REPROCESS_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n getUltimoErroTaskRequest: (taskId) => ({\r\n type: Types.GET_TASK_DETAILS_LAST_ERROR_REQUEST,\r\n payload: { taskId },\r\n }),\r\n getUltimoErroTaskResponse: (response, success) => ({\r\n type: Types.GET_TASK_DETAILS_LAST_ERROR_RESPONSE,\r\n payload: { response, success },\r\n }),\r\n};\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as TasksActions } from '../ducks/task';\r\n\r\nimport { TaskAPi } from '../../services/api';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\n\r\nexport function* putReprocessarTask(action) {\r\n const { taskId } = action.payload;\r\n\r\n try {\r\n const response = yield call(TaskAPi.put, `/reprocess/${taskId}`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(\r\n TasksActions.putReprocessarTaskResponse(response.data, isSuccess)\r\n );\r\n } catch (error) {\r\n console.log(error);\r\n /* yield put(TasksActions.getListaArquivosError(error)); */\r\n }\r\n}\r\nexport function* getUltimoErroTask(action) {\r\n const { taskId } = action.payload;\r\n\r\n try {\r\n const response = yield call(TaskAPi.get, `/details-last-error/${taskId}`);\r\n const isSuccess = response.status === 200 || false;\r\n yield put(TasksActions.getUltimoErroTaskResponse(response.data, isSuccess));\r\n } catch (error) {\r\n console.log(error);\r\n /* yield put(TasksActions.getListaArquivosError(error)); */\r\n }\r\n}\r\n\r\n/* {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n} */\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n getParametrosRequest: [],\r\n success: ['success', 'message', 'data'],\r\n getError: ['error'],\r\n patchParametroRequest: ['idParametrizacao', 'data'],\r\n renew: [],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n success: false,\r\n message: '',\r\n data: [],\r\n loading: false,\r\n error: null,\r\n};\r\n\r\nconst getParametrosRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n success: false,\r\n message: '',\r\n data: [],\r\n loading: false,\r\n error: null,\r\n});\r\n\r\nconst success = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n success: action.success,\r\n message: action.message,\r\n data: action.data || [],\r\n loading: false,\r\n error: null,\r\n});\r\n\r\nconst getError = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n success: false,\r\n loading: false,\r\n error: action.error,\r\n});\r\n\r\nconst patchParametroRequest = (state = INICIAL_STATE, action) => {\r\n return {\r\n ...state,\r\n loading: true,\r\n error: null,\r\n };\r\n};\r\n\r\nconst renew = (state = INICIAL_STATE) => ({\r\n ...state,\r\n ...INICIAL_STATE,\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.GET_ERROR]: getError,\r\n [Types.GET_PARAMETROS_REQUEST]: getParametrosRequest,\r\n [Types.PATCH_PARAMETRO_REQUEST]: patchParametroRequest,\r\n [Types.SUCCESS]: success,\r\n [Types.RENEW]: renew,\r\n});\r\n","const callTriggerModal = (\r\n message,\r\n callback = () => null,\r\n tipo = 'success',\r\n Footer = null\r\n) => {\r\n const provider = document.querySelector('#show-modal-provider');\r\n\r\n if (!provider)\r\n throw new Error(\r\n 'para que esta função seja chamada TriggerModalContextProvider deve ser usada no App.js'\r\n );\r\n\r\n const event = new CustomEvent('show-modal', {\r\n bubbles: false,\r\n detail: {\r\n options: { message, callback, tipo, Footer },\r\n },\r\n });\r\n\r\n provider.dispatchEvent(event);\r\n};\r\n\r\nconst success = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'success', Footer);\r\n\r\nconst error = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'error', Footer);\r\n\r\nconst warning = (message, callback = () => null, Footer = null) =>\r\n callTriggerModal(message, callback, 'warning', Footer);\r\n\r\nconst modal = { success, error, warning };\r\nexport default modal;\r\n","import React from 'react';\r\nimport { retry, put } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as ParametroActions } from '../ducks/parametro';\r\n\r\nimport { ParametroAPI } from '../../services/api';\r\nimport { WarningToast, SuccessToast } from '../../components/molecules/Toast';\r\nimport modal from '../../context/TriggerModalContext';\r\nimport history from '../../services/history';\r\n\r\nexport function* getParametrosRequest(action) {\r\n try {\r\n const response = yield retry(5, 2000, ParametroAPI.get, `/listParameters`);\r\n\r\n const { success, message, data } = response.data;\r\n yield put(ParametroActions.success(success, message, data));\r\n } catch (error) {\r\n yield put(ParametroActions.getError(error));\r\n }\r\n}\r\n\r\nexport function* patchParametrosRequest(action) {\r\n try {\r\n const { idParametrizacao, data } = action;\r\n const response = yield retry(\r\n 5,\r\n 2000,\r\n ParametroAPI.patch,\r\n `/updateParameter/${idParametrizacao}`,\r\n { ...data }\r\n );\r\n\r\n const { success, message } = response.data;\r\n yield put(ParametroActions.success(success, message));\r\n modal.success(response.data.message, () => {\r\n history.push('/novo/parametros');\r\n });\r\n } catch (error) {\r\n toast.error({error.message});\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n postRelatorioBeneficiarioRequest: ['params'],\r\n postRelatorioBeneficiarioResponse: ['success', 'data', 'error'],\r\n\r\n postRelatorioNestleRequest: ['sendEmail'],\r\n postRelatorioNestleResponse: ['success', 'data', 'error'],\r\n\r\n getUltimoRelatorioNestleRequest: [],\r\n getUltimoRelatorioNestleResponse: ['success', 'data', 'error'],\r\n\r\n downloadRelatorioNestleRequest: ['id'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n postRelatorioBeneficiarioRequest: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {\r\n taskId: null,\r\n isSuccess: false,\r\n },\r\n },\r\n postRelatorioNestleRequest: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n getUltimoRelatorioNestle: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n};\r\n\r\n// #region [POST] relatorios/relatorio-beneficiario-nestle\r\nconst postRelatorioBeneficiarioRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n postRelatorioBeneficiarioRequest: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postRelatorioBeneficiarioResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n postRelatorioBeneficiarioRequest: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n// #region [POST] relatorios/relatorio-beneficiario-nestle\r\nconst postRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n postRelatorioNestleRequest: {\r\n success: false,\r\n error: null,\r\n loading: true,\r\n data: {},\r\n },\r\n});\r\n\r\nconst postRelatorioNestleResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n postRelatorioNestleRequest: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] /api/v1/relatorios/ultimo-relatorio-beneficiario-nestle\r\nconst getUltimoRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n getUltimoRelatorioNestle: {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n },\r\n});\r\n\r\nconst getUltimoRelatorioNestleResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n getUltimoRelatorioNestle: {\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] /api/v1/relatorios/relatorio-beneficiario-nestle/{id}\r\nconst downloadRelatorioNestleRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.POST_RELATORIO_BENEFICIARIO_REQUEST]: postRelatorioBeneficiarioRequest,\r\n [Types.POST_RELATORIO_BENEFICIARIO_RESPONSE]:\r\n postRelatorioBeneficiarioResponse,\r\n\r\n [Types.POST_RELATORIO_NESTLE_REQUEST]: postRelatorioNestleRequest,\r\n [Types.POST_RELATORIO_NESTLE_RESPONSE]: postRelatorioNestleResponse,\r\n\r\n [Types.GET_ULTIMO_RELATORIO_NESTLE_REQUEST]: getUltimoRelatorioNestleRequest,\r\n [Types.GET_ULTIMO_RELATORIO_NESTLE_RESPONSE]:\r\n getUltimoRelatorioNestleResponse,\r\n\r\n [Types.DOWNLOAD_RELATORIO_NESTLE_REQUEST]: downloadRelatorioNestleRequest,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as RelatorioActions } from '../ducks/relatorio';\r\n\r\nimport { RelatoriosAPI, listasAPI } from '../../services/api';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\n\r\nconst { REACT_APP_BASEURL } = process.env;\r\n\r\nexport function* postRelatorioBeneficiario(action) {\r\n const { params } = action;\r\n try {\r\n const response = yield call(\r\n listasAPI.post,\r\n `/gerar-relatorio-beneficiarios-pela-api-de-integracao`,\r\n params\r\n );\r\n const { status } = response;\r\n if (status === 200) {\r\n yield put(\r\n RelatorioActions.postRelatorioBeneficiarioResponse(\r\n true,\r\n response.data,\r\n null\r\n )\r\n );\r\n }\r\n } catch (error) {\r\n toast.error({error.response.data});\r\n }\r\n}\r\nexport function* postRelatorioNestle(action) {\r\n const { sendEmail } = action;\r\n try {\r\n const response = yield call(\r\n RelatoriosAPI.post,\r\n `/relatorio-beneficiario-nestle`,\r\n { sendEmail }\r\n );\r\n const { status } = response;\r\n if (status === 204) {\r\n yield put(RelatorioActions.postRelatorioNestleResponse(true, {}, null));\r\n yield put(RelatorioActions.getUltimoRelatorioNestleRequest());\r\n return;\r\n }\r\n\r\n throw new Error('Não foi possivel requerir o relatório.');\r\n } catch (error) {\r\n if (error?.message || error?.response?.data?.errors?.Messages[0]) {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n }\r\n yield put(RelatorioActions.postRelatorioNestleResponse(false, null, error));\r\n }\r\n}\r\n\r\nexport function* getUltimoRelatorioNestle() {\r\n try {\r\n const response = yield call(\r\n RelatoriosAPI.get,\r\n `/ultimo-relatorio-beneficiario-nestle`\r\n );\r\n\r\n const { data, success } = response.data;\r\n if (success) {\r\n yield put(\r\n RelatorioActions.getUltimoRelatorioNestleResponse(success, data, null)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error('Não foi possivel listar o relatório.');\r\n } catch (error) {\r\n if (error?.message || error?.response?.data?.errors?.Messages[0]) {\r\n toast.success(\r\n \r\n {error?.response?.data?.errors?.Messages[0] || error?.message}\r\n \r\n );\r\n }\r\n yield put(\r\n RelatorioActions.getUltimoRelatorioNestleResponse(false, null, error)\r\n );\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n // #region [POST] check-list-documetos/documentos-importacao\r\n postDocumentosImportacaoRenew: [],\r\n postDocumentosImportacaoRequest: ['files', 'idLista'],\r\n postDocumentosImportacaoResponse: ['success', 'data', 'error'],\r\n postDocumentosImportacaoUpdateFile: [\r\n 'idFile',\r\n 'success',\r\n 'progress',\r\n 'message',\r\n ],\r\n // #endregion\r\n\r\n // #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\n getDocumentosBeneficiarioRequest: ['idLista'],\r\n getDocumentosBeneficiarioResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\n getDocumentoPreviewRequest: ['idLista', 'idDocumento'],\r\n getDocumentoPreviewResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\n postAtualizarDocumentoConferenciaRequest: [\r\n 'idLista',\r\n 'params',\r\n 'callbackSuccess',\r\n ],\r\n postAtualizarDocumentoConferenciaResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n\r\n // #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\n postFinalizarConferenciaDocumentosRequest: ['idLista', 'callbackSuccess'],\r\n postFinalizarConferenciaDocumentosResponse: ['success', 'data', 'error'],\r\n // #endregion\r\n});\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao\r\nconst documentosImportacao = {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n data: {},\r\n files: [],\r\n};\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\nconst documentosBeneficiarios = {\r\n loading: false,\r\n success: false,\r\n response: {\r\n lista: {},\r\n header: [],\r\n beneficiario: {},\r\n },\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\nconst documentoPreview = {\r\n loading: false,\r\n success: false,\r\n response: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\nconst documentoConferencia = {\r\n loading: false,\r\n success: false,\r\n data: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\nconst finalizarConferenciaDocumentos = {\r\n loading: false,\r\n success: false,\r\n data: {},\r\n error: null,\r\n};\r\n// #endregion\r\n\r\nconst INICIAL_STATE = {\r\n documentoPreview,\r\n documentoConferencia,\r\n documentosImportacao,\r\n documentosBeneficiarios,\r\n finalizarConferenciaDocumentos,\r\n};\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao\r\nconst postDocumentosImportacaoRenew = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentosImportacao,\r\n});\r\n\r\nconst postDocumentosImportacaoRequest = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...documentosImportacao,\r\n loading: true,\r\n files: [...action.files],\r\n },\r\n});\r\n\r\nconst postDocumentosImportacaoUpdateFile = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...state.documentosImportacao,\r\n files: state.documentosImportacao.files.map((file) =>\r\n file.idFile === action.idFile\r\n ? {\r\n ...file,\r\n error: !action.success,\r\n progress: action.progress,\r\n message: action.message,\r\n }\r\n : file\r\n ),\r\n },\r\n});\r\n\r\nconst postDocumentosImportacaoResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosImportacao: {\r\n ...state.documentosImportacao,\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n data: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/beneficiario-documento\r\nconst getDocumentosBeneficiarioRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentosBeneficiarios: {\r\n ...state.documentosBeneficiarios,\r\n loading: true,\r\n },\r\n});\r\nconst getDocumentosBeneficiarioResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentosBeneficiarios: {\r\n ...state.documentosBeneficiarios,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [GET] check-list-documetos/documentos-importacao/{id}/preview-documento/{idDocumento}\r\nconst getDocumentoPreviewRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentoPreview: {\r\n ...state.documentoPreview,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst getDocumentoPreviewResponse = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n documentoPreview: {\r\n ...state.documentoPreview,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/atualiza-documento-conferencia/{idDocumento}\r\nconst postAtualizarDocumentoConferenciaRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n documentoConferencia: {\r\n ...state.documentoConferencia,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst postAtualizarDocumentoConferenciaResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n documentoConferencia: {\r\n ...state.documentoConferencia,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\n// #region [POST] check-list-documetos/documentos-importacao/{id}/finaliza-conferencia\r\nconst postFinalizarConferenciaDocumentosRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n finalizarConferenciaDocumentos: {\r\n ...state.finalizarConferenciaDocumentos,\r\n loading: true,\r\n },\r\n});\r\n\r\nconst postFinalizarConferenciaDocumentosResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n finalizarConferenciaDocumentos: {\r\n ...state.finalizarConferenciaDocumentos,\r\n loading: false,\r\n success: action.success,\r\n error: action.error,\r\n response: action.data,\r\n },\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_RENEW]: postDocumentosImportacaoRenew,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_REQUEST]: postDocumentosImportacaoRequest,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_RESPONSE]: postDocumentosImportacaoResponse,\r\n [Types.POST_DOCUMENTOS_IMPORTACAO_UPDATE_FILE]: postDocumentosImportacaoUpdateFile,\r\n\r\n [Types.GET_DOCUMENTOS_BENEFICIARIO_REQUEST]: getDocumentosBeneficiarioRequest,\r\n [Types.GET_DOCUMENTOS_BENEFICIARIO_RESPONSE]: getDocumentosBeneficiarioResponse,\r\n\r\n [Types.GET_DOCUMENTO_PREVIEW_REQUEST]: getDocumentoPreviewRequest,\r\n [Types.GET_DOCUMENTO_PREVIEW_RESPONSE]: getDocumentoPreviewResponse,\r\n\r\n [Types.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST]: postAtualizarDocumentoConferenciaRequest,\r\n [Types.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_RESPONSE]: postAtualizarDocumentoConferenciaResponse,\r\n\r\n [Types.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST]: postFinalizarConferenciaDocumentosRequest,\r\n [Types.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_RESPONSE]: postFinalizarConferenciaDocumentosResponse,\r\n});\r\n","import React from 'react';\r\nimport { call, put } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { Creators as DocumentoActions } from '../ducks/documento';\r\n\r\nimport { CheckListDocumentosAPI } from '../../services/api';\r\n\r\nimport {\r\n WarningToast,\r\n ErrorToast,\r\n SuccessToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nexport function* postDocumentosImportacao(action) {\r\n const { files, idLista } = action;\r\n const isImportSuccess = [];\r\n\r\n try {\r\n yield* files.map(function* (file) {\r\n try {\r\n const fileFormat = {\r\n idLista,\r\n arquivo: file.base64,\r\n nomeArquivo: file.name,\r\n idHub: null,\r\n };\r\n\r\n const response = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao`,\r\n fileFormat\r\n );\r\n\r\n const { success, message } = response.data;\r\n\r\n isImportSuccess.push(success);\r\n\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoUpdateFile(\r\n file.idFile,\r\n success,\r\n 100,\r\n message\r\n )\r\n );\r\n\r\n if (!success) {\r\n throw new Error(message);\r\n }\r\n } catch (err) {\r\n if (err.message) {\r\n toast.error(\r\n \r\n Erro ao carregar o arquivo:\r\n
\r\n {file.name}.\r\n
\r\n {err.message}\r\n
\r\n );\r\n }\r\n }\r\n });\r\n\r\n const isSuccess = isImportSuccess.every((resp) => !!resp);\r\n const isPartialSuccess = isSuccess\r\n ? false\r\n : isImportSuccess.some((resp) => !!resp);\r\n const isError = isImportSuccess.every((resp) => !resp);\r\n\r\n if (isError) {\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(\r\n false,\r\n {},\r\n 'Documentos invalidos'\r\n )\r\n );\r\n return;\r\n }\r\n\r\n if (isSuccess)\r\n toast.success(\r\n \r\n Doumentos(s) carregado(s) com sucesso.\r\n \r\n );\r\n\r\n if (isPartialSuccess)\r\n toast.success(\r\n \r\n Doumentos(s) válido(s) carregado(s) com sucesso.\r\n \r\n );\r\n\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(true, {}, null)\r\n );\r\n } catch (error) {\r\n yield put(\r\n DocumentoActions.postDocumentosImportacaoResponse(false, null, error)\r\n );\r\n }\r\n}\r\n\r\nexport function* getDocumentosBeneficiario(action) {\r\n const { idLista } = action;\r\n\r\n try {\r\n const { status, data } = yield call(\r\n CheckListDocumentosAPI.get,\r\n `/documentos-importacao/${idLista}/beneficiario-documento`\r\n );\r\n\r\n const success = status === 200 || false;\r\n if (success) {\r\n yield put(\r\n DocumentoActions.getDocumentosBeneficiarioResponse(\r\n success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n return;\r\n }\r\n throw new Error('Não foi possivel acessar os detalhes de documentos.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n Não foi possivel acessar os detalhes de documentos.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* getDocumentoPreview(action) {\r\n const { idLista, idDocumento } = action;\r\n\r\n try {\r\n const { status, data } = yield call(\r\n CheckListDocumentosAPI.get,\r\n `/documentos-importacao/${idLista}/preview-documento/${idDocumento}`\r\n );\r\n\r\n const success = status === 200 || false;\r\n if (success) {\r\n yield put(\r\n DocumentoActions.getDocumentoPreviewResponse(success, data?.data, null)\r\n );\r\n return;\r\n }\r\n throw new Error('Não foi possivel acessar o preview do documento.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n Não foi possivel acessar o preview do documento.\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postAtualizarDocumentoConferencia(action) {\r\n const { idLista, params, callbackSuccess } = action;\r\n const { idArquivo: idDocumento } = params;\r\n\r\n try {\r\n const { data } = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao/${idLista}/atualiza-documento-conferencia/${idDocumento}`,\r\n { ...params }\r\n );\r\n\r\n if (data.success) {\r\n toast.success({data.message});\r\n yield put(\r\n DocumentoActions.postAtualizarDocumentoConferenciaResponse(\r\n data.success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n callbackSuccess();\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao aceitar/recusar o arquivo.');\r\n } catch (error) {\r\n toast.error(\r\n \r\n {error?.message || 'Erro ao aceitar/recusar o arquivo.'}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport function* postFinalizarConferenciaDocumentos(action) {\r\n const { idLista, callbackSuccess } = action;\r\n\r\n try {\r\n const { data } = yield call(\r\n CheckListDocumentosAPI.post,\r\n `/documentos-importacao/${idLista}/finaliza-conferencia`\r\n );\r\n\r\n if (data.success) {\r\n toast.success({data.message});\r\n yield put(\r\n DocumentoActions.postFinalizarConferenciaDocumentosResponse(\r\n data.success,\r\n data?.data,\r\n null\r\n )\r\n );\r\n callbackSuccess();\r\n return;\r\n }\r\n\r\n throw new Error(data.message || 'Erro ao aceitar/recusar o arquivo.');\r\n } catch (error) {\r\n yield put(\r\n DocumentoActions.postFinalizarConferenciaDocumentosResponse(\r\n false,\r\n {},\r\n error\r\n )\r\n );\r\n toast.error(\r\n \r\n {error?.message || 'Erro ao aceitar/recusar o arquivo.'}\r\n \r\n );\r\n }\r\n}\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n // #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\n putListaInativosAtualizarStatusRequest: ['idLista', 'idStatus'],\r\n putListaInativosAtualizarStatusResponse: ['success', 'error'],\r\n // #endregion\r\n});\r\n\r\n// #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\nconst putListaInativosAtualizarStatus = {\r\n success: false,\r\n error: null,\r\n loading: false,\r\n};\r\n// #endregion\r\n\r\nconst INICIAL_STATE = {\r\n putListaInativosAtualizarStatus,\r\n};\r\n\r\n// #region [PATCH] cadastro-inativos/lista-inativos/{id}/atualizar-status\r\nconst putListaInativosAtualizarStatusRequest = (state = INICIAL_STATE) => ({\r\n ...state,\r\n putListaInativosAtualizarStatus: {\r\n ...state.putListaInativosAtualizarStatus,\r\n\r\n success: false,\r\n error: null,\r\n loading: false,\r\n },\r\n});\r\n\r\nconst putListaInativosAtualizarStatusResponse = (\r\n state = INICIAL_STATE,\r\n action\r\n) => ({\r\n ...state,\r\n putListaInativosAtualizarStatus: {\r\n ...state.putListaInativosAtualizarStatus,\r\n\r\n success: action.success,\r\n error: action.error,\r\n loading: false,\r\n },\r\n});\r\n// #endregion\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST]: putListaInativosAtualizarStatusRequest,\r\n [Types.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_RESPONSE]: putListaInativosAtualizarStatusResponse,\r\n});\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { call, put } from 'redux-saga/effects';\r\n\r\nimport { Creators as listaInativosActions } from '../ducks/listaInativos';\r\n\r\nimport { ListaInativosAPI } from '../../services/api';\r\n\r\nimport {\r\n WarningToast,\r\n ErrorToast,\r\n SuccessToast,\r\n} from '../../components/molecules/Toast';\r\n\r\nexport function* putListaInativosAtualizarStatus(action) {\r\n const { idLista, idStatus } = action;\r\n\r\n try {\r\n const response = yield call(\r\n ListaInativosAPI.patch,\r\n `/lista-inativos/${idLista}/atualizar-status`,\r\n { idStatusLista: idStatus }\r\n );\r\n\r\n const { success, message } = response.data;\r\n\r\n if (success) {\r\n toast.success({message});\r\n yield put(\r\n listaInativosActions.putListaInativosAtualizarStatusResponse(true, null)\r\n );\r\n return;\r\n }\r\n\r\n throw new Error(message);\r\n } catch (error) {\r\n if (error?.message)\r\n toast.error({error?.message});\r\n yield put(\r\n listaInativosActions.putListaInativosAtualizarStatusResponse(false, error)\r\n );\r\n }\r\n}\r\n","import produce from 'immer';\r\nimport { StatusListaRPAEnum } from '../../enums';\r\nimport { setTabContentPorStatus } from '../../utils/setTabContentPorStatus';\r\n\r\nexport const Types = {\r\n GET_LISTAS_RPA_REQUEST: '@lista/GET_LISTAS_RPA_REQUEST',\r\n GET_LISTAS_RPA_SUCCESS: '@lista/GET_LISTAS_RPA_SUCCESS',\r\n GET_LISTAS_RPA_ERROR: '@lista/GET_LISTAS_ERROR',\r\n};\r\n\r\nconst INITIAL_STATE = {\r\n getListasRPA: {\r\n loading: false,\r\n success: false,\r\n response: {\r\n Todas: { data: [], size: 0 },\r\n Processar: { data: [], size: 0 },\r\n Reprocessar: { data: [], size: 0 },\r\n Liberar: { data: [], size: 0 },\r\n Alteracao: { data: [], size: 0 },\r\n PreVenda: { data: [], size: 0 },\r\n Importacao: { data: [], size: 0 },\r\n ComErros: { data: [], size: 0 },\r\n },\r\n unsuccessResponse: [],\r\n error: null,\r\n },\r\n};\r\n\r\nexport default function listasRPA(state = INITIAL_STATE, action) {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case Types.GET_LISTAS_RPA_REQUEST: {\r\n draft.getListasRPA.loading = true;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_SUCCESS: {\r\n draft.getListasRPA.loading = false;\r\n setTabContentPorStatus(\r\n action.payload.response,\r\n StatusListaRPAEnum.returnTabForName,\r\n draft.getListasRPA.response\r\n );\r\n\r\n draft.getListasRPA.success = action.payload.success;\r\n break;\r\n }\r\n case Types.GET_LISTAS_RPA_ERROR: {\r\n draft.getListasRPA.loading = false;\r\n draft.getListasRPA.error = action.payload.error;\r\n break;\r\n }\r\n default:\r\n }\r\n });\r\n}\r\n\r\nexport const Creators = {\r\n getListasRPARequest: (params, tipoStatus) => ({\r\n type: Types.GET_LISTAS_RPA_REQUEST,\r\n payload: { params, tipoStatus },\r\n }),\r\n getListasRPASuccess: (response, success) => ({\r\n type: Types.GET_LISTAS_RPA_SUCCESS,\r\n payload: { response, success },\r\n }),\r\n getListasRPAError: (error) => ({\r\n type: Types.GET_LISTAS_RPA_ERROR,\r\n payload: { error },\r\n }),\r\n};\r\n","import { createActions, createReducer } from 'reduxsauce';\r\n\r\nexport const { Types, Creators } = createActions({\r\n addParamsTermo: ['nome', 'responsavel'],\r\n});\r\n\r\nconst INICIAL_STATE = {\r\n nome: '',\r\n responsavel: '',\r\n};\r\n\r\nconst addParamsTermo = (state = INICIAL_STATE, action) => ({\r\n ...state,\r\n nome: action.nome,\r\n responsavel: action.responsavel,\r\n});\r\n\r\nexport default createReducer(INICIAL_STATE, {\r\n [Types.ADD_PARAMS_TERMO]: addParamsTermo,\r\n});\r\n","import { combineReducers } from 'redux';\r\n\r\nimport arquivoUpload from './arquivoUpload';\r\nimport auth from './auth';\r\nimport beneficiario from './beneficiario';\r\nimport contratante from './contratante';\r\nimport documento from './documento';\r\nimport lista from './lista';\r\nimport listaInativos from './listaInativos';\r\nimport listasRPA from './listasRPA';\r\nimport modalidade from './modalidade';\r\nimport parametro from './parametro';\r\nimport relatorio from './relatorio';\r\nimport requisicao from './requisicao';\r\nimport task from './task';\r\nimport termoResponsabilidade from './termoResponsabilidade';\r\nimport usuario from './usuario';\r\nimport webhookEventHeaderIntegration from './webhookEventHeaderIntegration';\r\nimport webhookEventIntegration from './webhookEventIntegration';\r\nimport webhookIntegration from './webhookIntegration';\r\n\r\nexport default combineReducers({\r\n auth,\r\n lista,\r\n modalidade,\r\n usuario,\r\n contratante,\r\n listasRPA,\r\n beneficiario,\r\n termoResponsabilidade,\r\n parametro,\r\n relatorio,\r\n documento,\r\n listaInativos,\r\n requisicao,\r\n arquivoUpload,\r\n task,\r\n webhookIntegration,\r\n webhookEventIntegration,\r\n webhookEventHeaderIntegration,\r\n});\r\n","import { createStore, compose, applyMiddleware } from 'redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport { persistStore } from 'redux-persist';\r\nimport socketMiddleware from '../middlewares/socketMiddleware';\r\n\r\nimport persistReducers from './persistReducers';\r\n\r\nimport sagas from './sagas';\r\nimport reducers from './ducks';\r\n\r\nconst middlewares = [];\r\n\r\nconst sagaMonitor =\r\n process.env.NODE_ENV === 'development'\r\n ? console.tron.createSagaMonitor()\r\n : null;\r\n\r\nconst sagaMiddleware = createSagaMiddleware({ sagaMonitor });\r\n\r\nmiddlewares.push(sagaMiddleware, socketMiddleware);\r\n\r\nconst dummy = (_) => _;\r\n\r\nconst store = createStore(\r\n persistReducers(reducers),\r\n compose(\r\n applyMiddleware(...middlewares),\r\n process.env.NODE_ENV === 'development'\r\n ? console.tron.createEnhancer()\r\n : dummy\r\n )\r\n);\r\nconst persistor = persistStore(store);\r\n\r\nsagaMiddleware.run(sagas);\r\n\r\nexport default { store, persistor };\r\n","import storage from 'redux-persist/lib/storage/session';\r\nimport { persistReducer } from 'redux-persist';\r\n\r\nexport default (reducers) => {\r\n const persistedReducer = persistReducer(\r\n {\r\n key: 'root',\r\n storage,\r\n whitelist: [],\r\n },\r\n reducers\r\n );\r\n\r\n return persistedReducer;\r\n};\r\n","import { all, takeEvery, takeLatest } from 'redux-saga/effects';\r\n\r\n// #region WebhookEventsHeaders Types e sagas\r\nimport { Types as WebhookEventsHeaderTypes } from '../ducks/webhookEventHeaderIntegration';\r\nimport {\r\n deleteWebhookEventHeader,\r\n getWebhookEventHeadersList,\r\n postWebhookEventHeader,\r\n putWebhookEventHeader,\r\n} from './webhookEventHeaderIntegration';\r\n// #endregion WebhookEventsHeaders Types e sagas\r\n// #region WebhookEvents Types e sagas\r\nimport { Types as WebhookEventsTypes } from '../ducks/webhookEventIntegration';\r\nimport {\r\n deleteWebhookEvent,\r\n getWebhookEventList,\r\n postWebhookEvent,\r\n putWebhookEvent,\r\n} from './webhookEventIntegration';\r\n// #endregion WebhookEvents Types e sagas\r\n\r\n// #region Webhook Types e sagas\r\nimport { Types as WebhookTypes } from '../ducks/webhookIntegration';\r\nimport {\r\n deleteWebhook,\r\n getWebhookConfiguration,\r\n getWebhookEventsList,\r\n postWebhook,\r\n putWebhook,\r\n} from './webhookIntegration';\r\n// #endregion Webhook Types e sagas\r\n// #region Auth Types e sagas\r\nimport { Types as AuthTypes } from '../ducks/auth';\r\nimport {\r\n getChangeToken,\r\n getRecuperarSenha,\r\n postLogin,\r\n postRecaptchaVerify,\r\n postRecuperarSenha,\r\n refreshInvalidToken,\r\n signIn,\r\n signOutLegado,\r\n} from './auth';\r\n// #endregion\r\n\r\n// #region Lista Types e sagas\r\nimport { Types as ListaTypes } from '../ducks/lista';\r\nimport {\r\n criarLista,\r\n deleteLista,\r\n deleteListaCsv,\r\n getArquivoMassaInicial,\r\n getDownloadArquivoOriginalLote,\r\n getListaBeneficiario,\r\n getListaDetalhe,\r\n getListaGrupoFamiliar,\r\n getListaInativas,\r\n getListaMassaInicial,\r\n getListaPorStatus,\r\n getListaPorStatusRPA,\r\n getListas,\r\n getListasRPA,\r\n getRelatorioRPA,\r\n getStatusListAdmin,\r\n getStatusListContratante,\r\n getStatusListNestle,\r\n getStatusListRpa,\r\n getTermoResponsabilidadeMassaInicial,\r\n importarLote,\r\n importarLoteCsv,\r\n patchAceiteCompartilhamento,\r\n patchListaEnvioRPA,\r\n patchListaStatus,\r\n patchStatusRPA,\r\n patchValidacaoListaTransferencia,\r\n postArquivoImportacao,\r\n postArquivoImportacaoNestle,\r\n postArquivoMassaInicial,\r\n postFamiliar,\r\n postListaEnvioRPA,\r\n postListaInativas,\r\n postListaTransferencia,\r\n postRelatorioDetalhadoNovo,\r\n postRelatorioResumidoNovo,\r\n postSalvarBeneficiarioInativos,\r\n postSearchList,\r\n postSearchListRpa,\r\n putListaInativas,\r\n putListas,\r\n validarLoteCsv,\r\n} from './lista';\r\n// #endregion\r\n\r\n// #region Modalidade Types e sagas\r\nimport { Types as ModalidadeTypes } from '../ducks/modalidade';\r\nimport { consultaModalidades } from './modalidade';\r\n// #endregion\r\n\r\n// #region Usuario Types e sagas\r\nimport { Types as UsuarioTypes } from '../ducks/usuario';\r\nimport {\r\n criarUsuario,\r\n getAndBuildParametrizacaoCards,\r\n getConsultaUsuarioPorStatus,\r\n getConsultaUsuarios,\r\n getContatoById,\r\n getContratantesUsuario,\r\n getDadosAcessoById,\r\n getHistoricoMovimentacoes,\r\n getParametrizacaoCards,\r\n getParametrizacaoCardsCompleto,\r\n getParametrizacaoNode,\r\n getParametrizacaoUsuario,\r\n getUsuarioById,\r\n getUsuarioEspelho,\r\n patchAtualizarTipoPerfil,\r\n patchDadosAcesso,\r\n patchDadosGerais,\r\n patchLiberarAcesso,\r\n patchParametrizacaoAdmInativar,\r\n patchParametrizacaoInativar,\r\n patchRegistrarContato,\r\n patchSenha,\r\n patchStatus,\r\n postAtualizarSessaoLegado,\r\n postClonarUsuarioEspelho,\r\n postParametrizacaoContratante,\r\n postParametrizacaoUsuario,\r\n putParametrizacaoUsuario,\r\n saveParametrizacaoCards,\r\n} from './usuario';\r\n// #endregion\r\n\r\n// #region Contratante Types e sagas\r\nimport { Types as ContratanteTypes } from '../ducks/contratante';\r\nimport {\r\n getContratanteContagem,\r\n getContratanteModalidades,\r\n getContratantes,\r\n getGrupoComplementos,\r\n getGrupoContagem,\r\n getGrupoContratantes,\r\n getModalidadeTermos,\r\n getParametrizacaoContratanteCompleto,\r\n getParametrizacaoGrupoComplementoCompleto,\r\n} from './contratante';\r\n// #endregion\r\n\r\n// #region ArquivoUpload Types e sagas\r\nimport { Types as ArquivoUpload } from '../ducks/arquivoUpload';\r\nimport {\r\n getArquivo,\r\n getAtualizacaoDeRelatorio,\r\n getListaArquivos,\r\n} from './arquivoUpload';\r\n// #endregion\r\n// #region Requisicao Types e sagas\r\nimport { Types as RequisicaoTypes } from '../ducks/requisicao';\r\nimport {\r\n deleteSegundaVia,\r\n deleteSegundaViaAnexo,\r\n getBeneficiariosSegundaVia,\r\n getPermissaoSegundaVia,\r\n getSegundaViaAnexo,\r\n postSegundaViaBuscarPorId,\r\n postSegundaViaCartao,\r\n postSegundaViaProcessar,\r\n postSolicitarRelatorioSegundaVia,\r\n postSolicitarSegundaVia,\r\n putSegundaVia,\r\n} from './requisicao';\r\n// #endregion\r\n\r\n// #region Beneficiario Types e sagas\r\nimport { Types as BeneficiarioTypes } from '../ducks/beneficiario';\r\nimport {\r\n getDocumentoDetalhe,\r\n getDocumentosStatus,\r\n patchDocumentoConferencia,\r\n postDataBeneficiriesNestle,\r\n} from './beneficiario';\r\n// #endregion\r\n// #region Tasks Types e sagas\r\nimport { Types as TasksTypes } from '../ducks/task';\r\nimport { getUltimoErroTask, putReprocessarTask } from './task';\r\n// #endregion\r\n\r\n// #region Parametro Types e sagas\r\nimport { Types as ParametroTypes } from '../ducks/parametro';\r\nimport { getParametrosRequest, patchParametrosRequest } from './parametro';\r\n// #endregion\r\n\r\n// #region Relatorios Types e sagas\r\nimport { Types as RelatorioTypes } from '../ducks/relatorio';\r\nimport {\r\n getUltimoRelatorioNestle,\r\n postRelatorioBeneficiario,\r\n postRelatorioNestle,\r\n} from './relatorio';\r\n// #endregion\r\n\r\n// #region Documentos Types e sagas\r\nimport { Types as DocumentoTypes } from '../ducks/documento';\r\nimport {\r\n getDocumentoPreview,\r\n getDocumentosBeneficiario,\r\n postAtualizarDocumentoConferencia,\r\n postDocumentosImportacao,\r\n postFinalizarConferenciaDocumentos,\r\n} from './documento';\r\n\r\nimport { Types as ListaInativosTypes } from '../ducks/listaInativos';\r\nimport { putListaInativosAtualizarStatus } from './listaInativos';\r\n// #endregion\r\n\r\nexport default function* rootSaga() {\r\n yield all([\r\n // #region webhookEventsHeaderIntegration\r\n takeLatest(\r\n WebhookEventsHeaderTypes.DELETE_WEBHOOK_EVENT_HEADER_REQUEST,\r\n deleteWebhookEventHeader\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.GET_WEBHOOK_EVENT_HEADERS_LIST_REQUEST,\r\n getWebhookEventHeadersList\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.POST_WEBHOOK_EVENT_HEADER_REQUEST,\r\n postWebhookEventHeader\r\n ),\r\n takeLatest(\r\n WebhookEventsHeaderTypes.PUT_WEBHOOK_EVENT_HEADER_REQUEST,\r\n putWebhookEventHeader\r\n ),\r\n // #endregion\r\n // #region webhookIntegration\r\n // #region webhookEventsIntegration\r\n takeLatest(\r\n WebhookEventsTypes.PUT_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n putWebhookEvent\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.DELETE_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n deleteWebhookEvent\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.GET_WEBHOOKEVENTSLISTINTEGRATION_REQUEST,\r\n getWebhookEventList\r\n ),\r\n takeLatest(\r\n WebhookEventsTypes.POST_WEBHOOKEVENTINTEGRATION_REQUEST,\r\n postWebhookEvent\r\n ),\r\n // #endregion\r\n // #region webhookIntegration\r\n takeLatest(\r\n WebhookTypes.GET_WEBHOOKINTEGRATION_LIST_EVENTS_REQUEST,\r\n getWebhookEventsList\r\n ),\r\n takeLatest(WebhookTypes.PUT_WEBHOOKINTEGRATION_REQUEST, putWebhook),\r\n takeLatest(WebhookTypes.DELETE_WEBHOOKINTEGRATION_REQUEST, deleteWebhook),\r\n takeLatest(\r\n WebhookTypes.GET_WEBHOOKINTEGRATION_CONFIGURATION_REQUEST,\r\n getWebhookConfiguration\r\n ),\r\n takeLatest(WebhookTypes.POST_WEBHOOKINTEGRATION_REQUEST, postWebhook),\r\n // #endregion\r\n // #region Auth\r\n takeLatest(AuthTypes.SIGN_IN_REQUEST, signIn),\r\n takeLatest(AuthTypes.REFRESH_INVALID_TOKEN_REQUEST, refreshInvalidToken),\r\n takeLatest(AuthTypes.GET_CHANGE_TOKEN_REQUEST, getChangeToken),\r\n takeLatest(AuthTypes.POST_LOGIN_REQUEST, postLogin),\r\n takeLatest(AuthTypes.POST_RECAPTCHA_VERIFY_REQUEST, postRecaptchaVerify),\r\n takeLatest(AuthTypes.POST_RECUPERAR_SENHA_REQUEST, postRecuperarSenha),\r\n takeLatest(AuthTypes.GET_RECUPERAR_SENHA_REQUEST, getRecuperarSenha),\r\n takeLatest(AuthTypes.SIGN_OUT_LEGADO_REQUEST, signOutLegado),\r\n // #endregion\r\n\r\n // #region Listas\r\n\r\n takeLatest(ListaTypes.GET_STATUS_LIST_NESTLE_REQUEST, getStatusListNestle),\r\n takeLatest(ListaTypes.DELETE_LISTA_CSV_REQUEST, deleteListaCsv),\r\n takeLatest(\r\n ListaTypes.GET_ARQUIVO_LOTE_ORIGINAL_REQUEST,\r\n getDownloadArquivoOriginalLote\r\n ),\r\n takeLatest(ListaTypes.POST_IMPORTAR_LOTE_CSV_REQUEST, importarLoteCsv),\r\n takeLatest(ListaTypes.POST_VALIDAR_LOTE_CSV_REQUEST, validarLoteCsv),\r\n takeLatest(\r\n ListaTypes.POST_RELATORIO_RESUMIDO_NOVO_REQUEST,\r\n postRelatorioResumidoNovo\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_RELATORIO_DETALHADO_NOVO_REQUEST,\r\n postRelatorioDetalhadoNovo\r\n ),\r\n takeLatest(ListaTypes.GET_STATUS_LIST_RPA_REQUEST, getStatusListRpa),\r\n takeLatest(ListaTypes.GET_STATUS_LIST_ADMIN_REQUEST, getStatusListAdmin),\r\n takeLatest(ListaTypes.POST_SEARCH_LIST_REQUEST, postSearchList),\r\n takeLatest(ListaTypes.POST_SEARCH_LIST_RPA_REQUEST, postSearchListRpa),\r\n takeLatest(\r\n ListaTypes.GET_STATUS_LIST_CONTRATANTE_REQUEST,\r\n getStatusListContratante\r\n ),\r\n takeLatest(ListaTypes.GET_LISTAS_REQUEST, getListas),\r\n takeLatest(ListaTypes.GET_LISTAS_POR_STATUS_REQUEST, getListaPorStatus),\r\n takeLatest(\r\n ListaTypes.POST_ARQUIVO_IMPORTACAO_REQUEST,\r\n postArquivoImportacao\r\n ),\r\n takeLatest(ListaTypes.IMPORTAR_LOTE_REQUEST, importarLote),\r\n takeLatest(ListaTypes.PUT_LISTAS_REQUEST, putListas),\r\n takeLatest(ListaTypes.PATCH_LISTA_STATUS_REQUEST, patchListaStatus),\r\n takeLatest(ListaTypes.DELETE_LISTA_REQUEST, deleteLista),\r\n takeLatest(ListaTypes.PATCH_LISTA_ENVIO_RPA_REQUEST, patchListaEnvioRPA),\r\n takeLatest(ListaTypes.GET_LISTAS_RPA_REQUEST, getListasRPA),\r\n takeLatest(\r\n ListaTypes.GET_LISTAS_RPA_POR_STATUS_REQUEST,\r\n getListaPorStatusRPA\r\n ),\r\n takeLatest(ListaTypes.PATCH_STATUS_RPA_REQUEST, patchStatusRPA),\r\n takeLatest(ListaTypes.GET_RELATORIO_RPA_REQUEST, getRelatorioRPA),\r\n takeLatest(ListaTypes.GET_LISTA_DETALHE_REQUEST, getListaDetalhe),\r\n takeLatest(\r\n ListaTypes.GET_LISTA_MASSA_INICIAL_REQUEST,\r\n getListaMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.GET_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n getArquivoMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.GET_TERMO_RESPONSABILIDADE_MASSA_INICIAL_REQUEST,\r\n getTermoResponsabilidadeMassaInicial\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_ARQUIVO_MASSA_INICIAL_REQUEST,\r\n postArquivoMassaInicial\r\n ),\r\n\r\n takeLatest(\r\n ListaTypes.PATCH_VALIDACAO_LISTA_TRASNFERENCIA_REQUEST,\r\n patchValidacaoListaTransferencia\r\n ),\r\n takeLatest(\r\n ListaTypes.PATCH_ACEITE_COMPARTILHAMENTO_MASSA_INICIAL_REQUEST,\r\n patchAceiteCompartilhamento\r\n ),\r\n takeLatest(\r\n ListaTypes.IMPORTAR_LOTE_NESTLE_REQUEST,\r\n postArquivoImportacaoNestle\r\n ),\r\n takeLatest(ListaTypes.POST_LISTA_INATIVAS_REQUEST, postListaInativas),\r\n takeLatest(ListaTypes.PUT_LISTA_INATIVAS_REQUEST, putListaInativas),\r\n takeLatest(ListaTypes.GET_LISTA_INATIVAS_REQUEST, getListaInativas),\r\n takeLatest(\r\n ListaTypes.GET_LISTA_BENEFICIARIOS_REQUEST,\r\n getListaBeneficiario\r\n ),\r\n takeLatest(\r\n ListaTypes.POST_SALVAR_BENEFICIARIO_INATIVOS_REQUEST,\r\n postSalvarBeneficiarioInativos\r\n ),\r\n takeLatest(ListaTypes.GET_GRUPO_FAMILIAR_REQUEST, getListaGrupoFamiliar),\r\n takeLatest(ListaTypes.POST_LISTA_FAMILIAR_REQUEST, postFamiliar),\r\n // #endregion\r\n\r\n // #region Modalidade\r\n takeLatest(ModalidadeTypes.GET_MODALIDADES_REQUEST, consultaModalidades),\r\n // #endregion\r\n\r\n // #region Usuario\r\n takeLatest(UsuarioTypes.GET_CONSULTA_USUARIOS_REQUEST, getConsultaUsuarios),\r\n takeLatest(\r\n UsuarioTypes.GET_CONSULTA_USUARIOS_POR_STATUS_REQUEST,\r\n getConsultaUsuarioPorStatus\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_LIBERAR_ACESSO_USUARIO_REQUEST,\r\n patchLiberarAcesso\r\n ),\r\n takeLatest(UsuarioTypes.GET_USUARIO_BY_ID_REQUEST, getUsuarioById),\r\n takeLatest(UsuarioTypes.PATCH_STATUS_USUARIO_REQUEST, patchStatus),\r\n takeLatest(UsuarioTypes.CRIAR_USUARIO_REQUEST, criarUsuario),\r\n takeLatest(\r\n UsuarioTypes.PATCH_REGISTRAR_CONTATO_USUARIO_REQUEST,\r\n patchRegistrarContato\r\n ),\r\n takeLatest(UsuarioTypes.GET_CONTATO_BY_ID_REQUEST, getContatoById),\r\n takeLatest(UsuarioTypes.PATCH_SENHA_USUARIO_REQUEST, patchSenha),\r\n takeLatest(UsuarioTypes.GET_DADOS_ACESSO_BY_ID_REQUEST, getDadosAcessoById),\r\n takeLatest(UsuarioTypes.PATCH_DADOS_GERAIS_REQUEST, patchDadosGerais),\r\n takeLatest(UsuarioTypes.PATCH_DADOS_ACESSO_REQUEST, patchDadosAcesso),\r\n takeLatest(\r\n UsuarioTypes.GET_HISTORICO_MOVIMENTACOES_REQUEST,\r\n getHistoricoMovimentacoes\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_PARAMETRIZACAO_CONTRATANTE_REQUEST,\r\n postParametrizacaoContratante\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_USUARIO_REQUEST,\r\n getParametrizacaoUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_CONTRATANTES_USUARIO_REQUEST,\r\n getContratantesUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_CARDS_REQUEST,\r\n getParametrizacaoCards\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_PARAMETRIZACAO_USUARIO_REQUEST,\r\n postParametrizacaoUsuario\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PUT_PARAMETRIZACAO_USUARIO_REQUEST,\r\n putParametrizacaoUsuario\r\n ),\r\n takeEvery(\r\n UsuarioTypes.GET_PARAMETRIZACAO_NODE_REQUEST,\r\n getParametrizacaoNode\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_ATUALIZAR_SESSAO_LEGADO_REQUEST,\r\n postAtualizarSessaoLegado\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_PARAMETRIZACAO_CARD_COMPLETO_REQUEST,\r\n getParametrizacaoCardsCompleto\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_PARAMETRIZACAO_INATIVAR_REQUEST,\r\n patchParametrizacaoInativar\r\n ),\r\n takeLatest(\r\n UsuarioTypes.PATCH_PARAMETRIZACAO_ADM_INATIVAR_REQUEST,\r\n patchParametrizacaoAdmInativar\r\n ),\r\n takeLatest(\r\n UsuarioTypes.SAVE_PARAMETRIZACAO_CARDS_REQUEST,\r\n saveParametrizacaoCards\r\n ),\r\n takeLatest(\r\n UsuarioTypes.GET_AND_BUILD_PARAMETRIZACAO_CARDS_REQUEST,\r\n getAndBuildParametrizacaoCards\r\n ),\r\n takeLatest(UsuarioTypes.GET_USUARIOS_ESPELHO_REQUEST, getUsuarioEspelho),\r\n takeLatest(\r\n UsuarioTypes.PATCH_ATUALIZAR_TIPO_PERFIL_REQUEST,\r\n patchAtualizarTipoPerfil\r\n ),\r\n takeLatest(\r\n UsuarioTypes.POST_CLONAR_USUARIO_ESPELHO_REQUEST,\r\n postClonarUsuarioEspelho\r\n ),\r\n // #endregion\r\n\r\n // #region Contratante\r\n takeLatest(\r\n ContratanteTypes.GET_GRUPO_COMPLEMENTOS_REQUEST,\r\n getGrupoComplementos\r\n ),\r\n takeLatest(ContratanteTypes.GET_CONTRATANTES_REQUEST, getContratantes),\r\n takeEvery(\r\n ContratanteTypes.GET_GRUPO_CONTRATANTES_REQUEST,\r\n getGrupoContratantes\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_CONTRATANTE_MODALIDADES_REQUEST,\r\n getContratanteModalidades\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_MODALIDADE_TERMOS_REQUEST,\r\n getModalidadeTermos\r\n ),\r\n takeEvery(ContratanteTypes.GET_GRUPO_CONTAGEM_REQUEST, getGrupoContagem),\r\n takeEvery(\r\n ContratanteTypes.GET_CONTRATANTE_CONTAGEM_REQUEST,\r\n getContratanteContagem\r\n ),\r\n\r\n // #region Requisicao\r\n takeLatest(\r\n RequisicaoTypes.GET_PERMISSAO_SEGUNDA_VIA_REQUEST,\r\n getPermissaoSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SOLICITAR_RELATORIO_SEGUNDA_VIA_REQUEST,\r\n postSolicitarRelatorioSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SOLICITAR_SEGUNDA_VIA_REQUEST,\r\n postSolicitarSegundaVia\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_BENEFICIARIOS_SEGUNDA_VIA_REQUEST,\r\n getBeneficiariosSegundaVia\r\n ),\r\n takeLatest(RequisicaoTypes.DELETE_SEGUNDA_VIA_REQUEST, deleteSegundaVia),\r\n takeLatest(\r\n RequisicaoTypes.DELETE_SEGUNDA_VIA_ANEXO_REQUEST,\r\n deleteSegundaViaAnexo\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.GET_SEGUNDA_VIA_ANEXO_REQUEST,\r\n getSegundaViaAnexo\r\n ),\r\n takeLatest(RequisicaoTypes.PUT_SEGUNDA_VIA_UPDATE_REQUEST, putSegundaVia),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_BUSCAR_POR_ID_REQUEST,\r\n postSegundaViaBuscarPorId\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_PROCESSAR_REQUEST,\r\n postSegundaViaProcessar\r\n ),\r\n takeLatest(\r\n RequisicaoTypes.POST_SEGUNDA_VIA_CARTAO_REQUEST,\r\n postSegundaViaCartao\r\n ),\r\n // #endregion\r\n\r\n // #region FileUpaload\r\n takeLatest(\r\n ArquivoUpload.GET_ATUALIZACAO_DE_RELATORIO_REQUEST,\r\n getAtualizacaoDeRelatorio\r\n ),\r\n takeLatest(ArquivoUpload.GET_ARQUIVO_REQUEST, getArquivo),\r\n takeLatest(ArquivoUpload.GET_LISTA_ARQUIVOS_REQUEST, getListaArquivos),\r\n\r\n // #endregion\r\n\r\n // #region Tasks\r\n\r\n takeLatest(\r\n TasksTypes.GET_TASK_DETAILS_LAST_ERROR_REQUEST,\r\n getUltimoErroTask\r\n ),\r\n takeLatest(TasksTypes.PUT_TASK_REPROCESS_REQUEST, putReprocessarTask),\r\n\r\n // #endregion\r\n\r\n // #region Beneficiario\r\n\r\n takeLatest(\r\n BeneficiarioTypes.POST_DATA_BENEFICIARIES_NESTLE_REQUEST,\r\n postDataBeneficiriesNestle\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.GET_DOCUMENTOS_STATUS_REQUEST,\r\n getDocumentosStatus\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.GET_DOCUMENTO_DETALHE_REQUEST,\r\n getDocumentoDetalhe\r\n ),\r\n takeLatest(\r\n BeneficiarioTypes.PATCH_DOCUMENTO_CONFERENCIA_REQUEST,\r\n patchDocumentoConferencia\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_PARAMETRIZACAO_GRUPO_COMPLEMENTO_COMPLETO_REQUEST,\r\n getParametrizacaoGrupoComplementoCompleto\r\n ),\r\n takeEvery(\r\n ContratanteTypes.GET_PARAMETRIZACAO_CONTRATANTE_COMPLETO_REQUEST,\r\n getParametrizacaoContratanteCompleto\r\n ),\r\n // #endregion\r\n\r\n // #region Parametrização\r\n takeLatest(ParametroTypes.GET_PARAMETROS_REQUEST, getParametrosRequest),\r\n takeLatest(ParametroTypes.PATCH_PARAMETRO_REQUEST, patchParametrosRequest),\r\n // #endregion\r\n\r\n // #region Relatorios\r\n takeLatest(\r\n RelatorioTypes.POST_RELATORIO_BENEFICIARIO_REQUEST,\r\n postRelatorioBeneficiario\r\n ),\r\n takeLatest(\r\n RelatorioTypes.POST_RELATORIO_NESTLE_REQUEST,\r\n postRelatorioNestle\r\n ),\r\n takeLatest(\r\n RelatorioTypes.GET_ULTIMO_RELATORIO_NESTLE_REQUEST,\r\n getUltimoRelatorioNestle\r\n ),\r\n // #endregion\r\n\r\n // #region Documentos\r\n takeLatest(\r\n DocumentoTypes.POST_DOCUMENTOS_IMPORTACAO_REQUEST,\r\n postDocumentosImportacao\r\n ),\r\n takeLatest(\r\n DocumentoTypes.GET_DOCUMENTOS_BENEFICIARIO_REQUEST,\r\n getDocumentosBeneficiario\r\n ),\r\n takeLatest(\r\n DocumentoTypes.GET_DOCUMENTO_PREVIEW_REQUEST,\r\n getDocumentoPreview\r\n ),\r\n takeLatest(\r\n DocumentoTypes.POST_ATUALIZAR_DOCUMENTO_CONFERENCIA_REQUEST,\r\n postAtualizarDocumentoConferencia\r\n ),\r\n takeLatest(\r\n DocumentoTypes.POST_FINALIZAR_CONFERENCIA_DOCUMENTOS_REQUEST,\r\n postFinalizarConferenciaDocumentos\r\n ),\r\n // #endregion\r\n\r\n // #region Lista Inativos\r\n takeLatest(\r\n ListaInativosTypes.PUT_LISTA_INATIVOS_ATUALIZAR_STATUS_REQUEST,\r\n putListaInativosAtualizarStatus\r\n ),\r\n // #endregion\r\n ]);\r\n}\r\n","export function prepareBase64File(extension, base64File) {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n CSV: `data:application/csv;base64,${base64File}`,\r\n TXT: `data:text/plain;base64,${base64File}`,\r\n XLSX: `data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;base64,${base64File}`,\r\n };\r\n\r\n if (extension) return types[extension.replaceAll('.', '').toUpperCase()];\r\n return null;\r\n}\r\n\r\nexport function downloadFile(base64, filename, extension) {\r\n const temp = prepareBase64File(extension, base64);\r\n\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n}\r\n","import * as signalR from '@microsoft/signalr';\r\n\r\nimport { useState } from 'react';\r\n\r\nconst { REACT_APP_SIGNALR, REACT_APP_BASEURL_LOCAL } = process.env;\r\n\r\nconst useSignalR = () => {\r\n const [connection, setConnection] = useState();\r\n\r\n const OpenConnection = async (socketConnection) => {\r\n await socketConnection\r\n .start()\r\n .then((resp) => console.log(resp, 'Sucesso!'))\r\n .catch((error) => console.log(error, 'Erro!'));\r\n };\r\n\r\n const BuildConnection = (hubName) => {\r\n const socketConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(`${REACT_APP_SIGNALR}/${hubName}`)\r\n .build();\r\n\r\n socketConnection.keepAliveIntervalInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n socketConnection.serverTimeoutInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n\r\n setConnection(socketConnection);\r\n return socketConnection;\r\n };\r\n\r\n const CloseConnection = async (socketConnection) => {\r\n await socketConnection\r\n .stop()\r\n .then(() => {})\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n };\r\n\r\n return [BuildConnection, OpenConnection, CloseConnection, connection];\r\n};\r\n\r\nexport default useSignalR;\r\n","import { any } from 'prop-types';\r\nimport React, { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusEnvioListaEnum,\r\n StatusExecucaoEnum,\r\n StatusListaAPIEnum,\r\n} from '../enums';\r\n\r\nimport history from '../services/history';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { WarningToast } from '../components/molecules/Toast';\r\n\r\nimport { Creators as ListaActions } from '../store/ducks/lista';\r\n\r\nimport modeloImportarLote from '../assets/modelos/LAYREPAS_007_CONTRATANTE.txt';\r\nimport modeloImportarLoteCsv from '../assets/modelos/PlanilhaModeloCsv.xlsx';\r\nimport modeloImportarLoteNestle from '../assets/modelos/PlanilhaModeloNestlé.xlsx';\r\nimport modeloImportarLoteTransferencia from '../assets/modelos/Transferencia/TransferenciaModeloPadrao.xlsx';\r\n\r\nimport useSignalR from './useSignalR';\r\n\r\nconst useMovimentacao = (usuario) => {\r\n const dispatch = useDispatch();\r\n const { postImportarLote, postImportarLoteCsv } = useSelector(\r\n (state) => state.lista\r\n );\r\n const [BuildConnection, OpenConnection, CloseConnection, connection] =\r\n useSignalR();\r\n // #region Métodos para Importacao antes do carregamento dos arquivos\r\n const setContentText = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de até 10 arquivos\r\n .txt \r\n de até 5mb cada.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de até 10 arquivos\r\n .csv \r\n de até 5mb cada.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: (\r\n <>\r\n Realize o envio de\r\n listas de movimentações em lote \r\n através do envio de 1 arquivo com extensão\r\n (xls, xlsx e xlsm) \r\n com até 10mb.\r\n \r\n ),\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: (\r\n <>\r\n Para a criação \r\n de uma nova lista de transferência é necessário o\r\n anexo do arquivo .xls ou .xlsx \r\n de até 2mb com os dados dos beneficiários.\r\n \r\n ),\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setModeloPadrao = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n nomeArquivo: 'modelo-padrão-layout07.txt',\r\n path: modeloImportarLote,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n nomeArquivo: 'modelo-padrão-csv.xlsx',\r\n path: modeloImportarLoteCsv,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: {\r\n nomeArquivo: 'planilha-modelo-padrão.xlsx',\r\n path: modeloImportarLoteNestle,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n nomeArquivo: 'modelo-padrão-transferencia.xlsx',\r\n path: modeloImportarLoteTransferencia,\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setValidacao = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n maxSizeFiles: 5242880,\r\n maxQuantityFiles: 10,\r\n validExtension: ['txt'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n maxSizeFiles: 10485760,\r\n maxQuantityFiles: 10,\r\n validExtension: ['csv'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: {\r\n maxSizeFiles: 10485760,\r\n maxQuantityFiles: 1,\r\n validExtension: ['xls', 'xlsx', 'xlsm'],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n maxSizeFiles: 2097152,\r\n maxQuantityFiles: 10,\r\n validExtension: ['xls', 'xlsx'],\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setDispatch = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]:\r\n ListaActions.importarLoteRequest,\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]:\r\n ListaActions.validarLoteCsvRequest,\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]:\r\n ListaActions.postArquivoImportacaoNestleRequest,\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n ListaActions.importarLoteRequest,\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const setParams = useCallback(\r\n (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[5],\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[5],\r\n idUsuarioLogado: usuario?.idUsuarioLogado,\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: {\r\n codigoContratante: usuario?.codigoContratante,\r\n TipoLista: MovimentacaoListaEnum.returnName[4],\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n },\r\n [usuario]\r\n );\r\n\r\n const handleFiles = useCallback(\r\n async (acao, newFiles, callback) => {\r\n if (newFiles && newFiles.length > 0) {\r\n const conn = await BuildConnection('ProgressStatusHub');\r\n await OpenConnection(conn);\r\n const params = {\r\n ...(!!setParams(acao) && setParams(acao)),\r\n newFiles,\r\n connection: conn,\r\n };\r\n dispatch(setDispatch(acao)(params));\r\n callback();\r\n }\r\n },\r\n [BuildConnection, setParams, OpenConnection, dispatch]\r\n );\r\n\r\n const setErrors = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: (errors) =>\r\n getErrors(errors, setValidacao(acao)),\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const getErrors = ({ fileErrors, hasMaxQuantity }, validation) => {\r\n if (validation?.maxQuantityFiles && hasMaxQuantity) {\r\n toast.error(\r\n \r\n Somente podem ser enviados {validation.maxQuantityFiles} arquivos por\r\n lote.\r\n \r\n );\r\n }\r\n\r\n if (fileErrors.length > 0) {\r\n fileErrors.forEach((error) => {\r\n if (validation?.maxSizeFiles && error.error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo {error.name} é maior que o tamanho\r\n permitido.\r\n \r\n );\r\n }\r\n if (\r\n validation?.validExtension &&\r\n validation?.validExtension.length > 0 &&\r\n error.error.hasValidExtension\r\n ) {\r\n toast.error(\r\n \r\n O arquivo {error.name} não possui extensão\r\n válida.\r\n \r\n );\r\n }\r\n });\r\n }\r\n };\r\n // #endregion\r\n\r\n // #region Métodos para Importacao durante/pós carregamento dos arquivos\r\n const setAfterLoading = (acao, callback, user) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n history.push('/novo/lista/importar-lote');\r\n },\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: () => {\r\n sendToCsv(postImportarLote.files, user);\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n callback();\r\n },\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: (_) => _,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: () => {\r\n dispatch(ListaActions.importarLoteUpdateFiles());\r\n history.push('/novo/lista/importar-lote');\r\n },\r\n };\r\n\r\n return acoes[acao];\r\n };\r\n\r\n const handleDeleteFiles = (newFiles) => {\r\n if (!Array.isArray(newFiles)) newFiles = [newFiles];\r\n\r\n dispatch(ListaActions.deleteListaRequest(newFiles));\r\n };\r\n // #endregion\r\n\r\n // #region Métodos para o Lobby de Listas (Listas detalhe)\r\n const setTipoEnvio = (tipo, acao, files) => {\r\n const tipos = {\r\n [StatusEnvioListaEnum.returnIdForName.Processamento]: {\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n sendToProcessamento,\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: sendToProcessamento,\r\n },\r\n [StatusEnvioListaEnum.returnIdForName.Validacao]: {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: sendToValidacao,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]:\r\n sendValidacaoTransferencia,\r\n },\r\n };\r\n\r\n return acao && tipos[tipo][acao](files);\r\n };\r\n\r\n const setDescricao = (files, data, callback) => {\r\n const newLista = [];\r\n files.map((file) => {\r\n const { descricao, ...newFile } = file;\r\n\r\n const newDescricao = data.descricao[file.idLista];\r\n\r\n if (newDescricao !== file.descricao) {\r\n newLista.push({\r\n ...newFile,\r\n idLista: file.idLista,\r\n descricao: newDescricao,\r\n });\r\n }\r\n });\r\n\r\n if (newLista.length > 0) {\r\n dispatch(ListaActions.putListasRequest(newLista));\r\n callback();\r\n }\r\n\r\n return newLista;\r\n };\r\n\r\n const sendToValidacao = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n statusLista: StatusListaAPIEnum.returnId.EmValidacao,\r\n statusExecucao: StatusExecucaoEnum.returnId.EmEsperaParaValidacao,\r\n idHub: null,\r\n };\r\n });\r\n // callback();\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.patchListaStatusRequest(newFiles));\r\n }\r\n };\r\n\r\n const sendToCsv = (files, user) => {\r\n /* const newFiles = files\r\n .filter((file) => file.error !== true)\r\n .map((file) => file.base64);\r\n\r\n const params = {\r\n codigoContratante: user?.codigoContratante,\r\n idUsuarioLogado: user?.idUsuarioLogado,\r\n newFiles,\r\n };\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.importarLoteCsvRequest(params));\r\n } */\r\n setTimeout(() => history.go(0), 1500);\r\n };\r\n\r\n const sendToProcessamento = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n statusLista: StatusListaAPIEnum.returnId.EmValidacao,\r\n statusExecucao: StatusExecucaoEnum.returnId.EmEsperaParaProcessamento,\r\n idHub: null,\r\n };\r\n });\r\n\r\n // callback();\r\n\r\n if (newFiles.length > 0)\r\n dispatch(ListaActions.patchListaStatusRequest(newFiles));\r\n };\r\n\r\n const sendValidacaoTransferencia = (files) => {\r\n const newFiles = files.map((file) => {\r\n return {\r\n idLista: file.idLista,\r\n descricao: file.descricao,\r\n };\r\n });\r\n // callback();\r\n if (newFiles.length > 0) {\r\n dispatch(ListaActions.patchValidacaoListaTrasnferenciaRequest(newFiles));\r\n }\r\n };\r\n\r\n // #endregion\r\n\r\n return {\r\n // File Import\r\n setContentText,\r\n setModeloPadrao,\r\n setValidacao,\r\n handleFiles,\r\n setErrors,\r\n\r\n // File Loading\r\n setAfterLoading,\r\n handleDeleteFiles,\r\n connection,\r\n\r\n // ListasDetalhe\r\n setDescricao,\r\n setTipoEnvio,\r\n };\r\n};\r\n\r\nexport default useMovimentacao;\r\n","import * as jwtDecode from 'jwt-decode';\r\nimport { TipoPerfilUsuarioEnum } from '../enums';\r\nimport { isEmail } from './validation';\r\n\r\nexport const isContratante = (role) => {\r\n const Contratante = {\r\n ContratanteAlteracao:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n ContratanteConsulta:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n };\r\n\r\n return Object.values(Contratante).includes(role);\r\n};\r\n\r\nexport const isAdmin = (role) => {\r\n const Administrador = {\r\n Adm: TipoPerfilUsuarioEnum.returnNameForName.Adm,\r\n };\r\n\r\n return Object.values(Administrador).includes(role);\r\n};\r\n\r\nexport const isContratanteNestle = (user) => {\r\n const { role } = user;\r\n const ContratanteNestle = {\r\n ContratanteAlteracao:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n ContratanteConsulta:\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n };\r\n const contratanteNestle =\r\n user.hasOwnProperty('GrupoContratante') &&\r\n /nestle/gi.test(user.GrupoContratante);\r\n\r\n return Object.values(ContratanteNestle).includes(role) && contratanteNestle;\r\n};\r\n\r\nconst isLegacyUser = (nameid) => {\r\n return !isEmail(nameid);\r\n};\r\n\r\nexport const isOldAdmin = (accessToken) => {\r\n const { role, nameid } = jwtDecode(accessToken);\r\n\r\n const ROLE_E_NAMEID_VALIDOS = role && nameid;\r\n return ROLE_E_NAMEID_VALIDOS && isAdmin(role) && isLegacyUser(nameid);\r\n};\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst fadeIn = keyframes`\r\n from {\r\n opacity: 0;\r\n }\r\n to {\r\n opacity: 1;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n visibility: 'visible';\r\n animation: ${fadeIn} 0.5s linear;\r\n transition: visibility 0.5s linear;\r\n\r\n height: ${({ height }) => (height ? `${height}` : `100%`)};\r\n\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width};\r\n `}\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FadeIn({ children, height, width, ...props }) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport default FadeIn;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 2px;\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 300px;`};\r\n`;\r\n\r\nexport const CardFilterContentContainer = styled.div`\r\n min-width: 300px;\r\n margin: 20px;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeaderContainer = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooterContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Container,\r\n CardFilterContentContainer,\r\n CardFilterHeaderContainer,\r\n CardFilterFooterContainer,\r\n} from './styles';\r\n\r\nfunction CardFilter({ children, minHeight }) {\r\n return {children};\r\n}\r\n\r\nconst CardFilterContent = ({ children, minHeight }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst CardFilterHeader = ({ children }) => {\r\n return {children};\r\n};\r\n\r\nconst CardFilterFooter = ({\r\n children,\r\n justifyContent,\r\n paddingLeft,\r\n paddingTop,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport { CardFilter, CardFilterContent, CardFilterHeader, CardFilterFooter };\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n .react-date-picker {\r\n background-color: white;\r\n\r\n &.react-date-picker--closed {\r\n &.react-date-picker--enabled {\r\n &.react-date-picker {\r\n height: 100%;\r\n }\r\n }\r\n }\r\n\r\n &.react-date-picker--open {\r\n &.react-date-picker--enabled {\r\n &.react-date-picker {\r\n height: 100%;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .react-calendar__navigation {\r\n background-color: ${theme.greenDefault};\r\n border-color: ${theme.greenDefault};\r\n border-radius: 0px 5px 0px 0px;\r\n padding: 2% 0% 0% 0%;\r\n\r\n display: grid !important;\r\n grid-template-columns: 5% 5% 55% 5% 5%;\r\n justify-content: center;\r\n\r\n button {\r\n background-color: ${theme.greenDefault};\r\n border: 1px solid ${theme.greenDefault};\r\n border-radius: 2px;\r\n color: #ffff;\r\n font-family: 'unimed_slabbold';\r\n font-size: 20px;\r\n }\r\n }\r\n\r\n .react-calendar__viewContainer {\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n\r\n .react-date-picker {\r\n display: inline-flex;\r\n position: relative;\r\n }\r\n .react-date-picker,\r\n .react-date-picker *,\r\n .react-date-picker *:before,\r\n .react-date-picker *:after {\r\n -moz-box-sizing: border-box;\r\n -webkit-box-sizing: border-box;\r\n box-sizing: border-box;\r\n }\r\n .react-date-picker--disabled {\r\n background-color: #f0f0f0;\r\n color: #6d6d6d;\r\n }\r\n .react-date-picker__wrapper {\r\n display: flex;\r\n border: thin solid gray;\r\n border-radius: 5px;\r\n }\r\n .react-date-picker__inputGroup {\r\n min-width: calc((4px * 3) + 0.54em * 8 + 0.217em * 2);\r\n flex-grow: 1;\r\n display: flex;\r\n padding: 9px 4px;\r\n align-items: baseline;\r\n box-sizing: content-box;\r\n\r\n input,\r\n span {\r\n color: #a1a1a1;\r\n }\r\n }\r\n .react-date-picker__inputGroup__divider {\r\n padding: 1px 0;\r\n white-space: pre;\r\n }\r\n .react-date-picker__inputGroup__input {\r\n min-width: 0.54em;\r\n\r\n height: 100%;\r\n position: relative;\r\n padding: 0 1px;\r\n border: 0;\r\n background: none;\r\n font: inherit;\r\n box-sizing: content-box;\r\n -moz-appearance: textfield;\r\n }\r\n .react-date-picker__inputGroup__input::-webkit-outer-spin-button,\r\n .react-date-picker__inputGroup__input::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n margin: 0;\r\n }\r\n .react-date-picker__inputGroup__input:invalid {\r\n background: rgba(255, 0, 0, 0.1);\r\n }\r\n .react-date-picker__inputGroup__input--hasLeadingZero {\r\n margin-left: -0.54em;\r\n padding-left: calc(1px + 0.54em);\r\n }\r\n .react-date-picker__button {\r\n border: 0;\r\n background: transparent;\r\n padding: 4px 6px;\r\n }\r\n .react-date-picker__button:enabled {\r\n cursor: pointer;\r\n }\r\n .react-date-picker__button:enabled:hover .react-date-picker__button__icon,\r\n .react-date-picker__button:enabled:focus .react-date-picker__button__icon {\r\n stroke: #bebebe;\r\n }\r\n .react-date-picker__button:disabled .react-date-picker__button__icon {\r\n stroke: #6d6d6d;\r\n }\r\n .react-date-picker__button svg {\r\n display: inherit;\r\n }\r\n .react-date-picker__calendar {\r\n width: 350px;\r\n max-width: 100vw;\r\n position: absolute;\r\n top: 100%;\r\n left: 0;\r\n z-index: 11;\r\n }\r\n .react-date-picker__calendar--closed {\r\n display: none;\r\n }\r\n .react-date-picker__calendar .react-calendar {\r\n border-width: thin;\r\n }\r\n\r\n .react-date-picker__calendar-button {\r\n &.react-date-picker__button {\r\n border-left: 1px solid #808080;\r\n }\r\n }\r\n\r\n .react-calendar__month-view__weekdays {\r\n font-family: 'unimed_slabbold';\r\n font-size: 13px;\r\n color: #5a5a5a;\r\n text-align: center;\r\n margin: 3% 1% 3% 1%;\r\n background-color: #ffff;\r\n\r\n .react-calendar__month-view__weekdays__weekday {\r\n abbr {\r\n cursor: auto;\r\n text-decoration: none;\r\n }\r\n }\r\n }\r\n\r\n .react-calendar__month-view {\r\n background-color: #ffff;\r\n }\r\n .react-calendar__month-view__days,\r\n .react-calendar__year-view__months,\r\n .react-calendar__decade-view__years {\r\n button {\r\n background-color: #ffff;\r\n border: 1px solid #ffff;\r\n font-family: Calibri;\r\n font-size: 20px;\r\n color: ${theme.colorGray};\r\n }\r\n\r\n button:disabled {\r\n background-color: ${theme.greyDisable} !important;\r\n color: ${theme.colorGray} !important;\r\n }\r\n\r\n button:hover,\r\n button:active,\r\n button:after {\r\n background-color: ${theme.greenDefault};\r\n color: #ffff;\r\n border-radius: 5px;\r\n }\r\n }\r\n\r\n svg[stroke] {\r\n stroke: gray;\r\n /* height: 20px;\r\n width: 20px; */\r\n }\r\n`;\r\n","import React, { useEffect, useRef } from 'react';\r\n\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport { AiOutlineCalendar } from 'react-icons/ai';\r\n\r\nimport CalendarDate from 'react-date-picker/dist/entry.nostyle';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction DatePicker({ name, minDate, onChange, value, required }) {\r\n const datepickerRef = useRef(null);\r\n const { fieldName, registerField, defaultValue, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: datepickerRef.current,\r\n path: 'props.value',\r\n defaultValue,\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n \r\n }\r\n dayPlaceholder=\"00\"\r\n monthPlaceholder=\"00\"\r\n yearPlaceholder=\"0000\"\r\n showLeadingZeros\r\n minDate={new Date(minDate)}\r\n locale=\"pt-BR\"\r\n required={required}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default DatePicker;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n\r\n opacity: 1;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : `margin: 5px`};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : `max-height: 200px;`};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ``};\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: ${marginBottom}px;\r\n `\r\n : ``};\r\n\r\n ${({ error }) =>\r\n error\r\n ? css`\r\n > p {\r\n color: ${theme.red};\r\n }\r\n > input {\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 1px solid ${theme.redLight};\r\n }\r\n > input:hover:enabled {\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 1px solid ${theme.redLight};\r\n }\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const ErrorMessage = styled.span`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\nimport { Container, ErrorMessage } from './styles';\r\n\r\nfunction LabelContainer({\r\n text,\r\n children,\r\n marginLeft,\r\n marginTop,\r\n marginBottom,\r\n marginRight,\r\n margin,\r\n display,\r\n displayText,\r\n handleClick = (a) => a,\r\n type,\r\n color,\r\n font,\r\n lineHeight,\r\n error = false,\r\n}) {\r\n return (\r\n {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n error={error}\r\n >\r\n \r\n {children}\r\n {error && {error}}\r\n
\r\n );\r\n}\r\n\r\nexport default LabelContainer;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n margin-top: 8px;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n CanAccess,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nimport { isNumber } from '../../../utils/validation';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\n\r\nfunction FilterExtends({\r\n isOpen,\r\n isGetModalidadesSuccess,\r\n modalidades,\r\n handleGetModalidadesByContratante,\r\n setSearchBoxValue,\r\n cleanFilterParams,\r\n showwFilterNomeArquivo = false,\r\n}) {\r\n const optionsTipo = [\r\n {\r\n onClickOption: () => handleSelectedTipo('Lote'),\r\n text: 'Lote',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('Manual'),\r\n text: 'Manual',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('Transferência'),\r\n text: 'Transferência',\r\n },\r\n ];\r\n\r\n const optionsMovimentacao = [\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Inclusão'),\r\n text: 'Inclusão',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Alteração'),\r\n text: 'Alteração',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Exclusão'),\r\n text: 'Exclusão',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Transferência'),\r\n text: 'Transferência',\r\n },\r\n {\r\n onClickOption: () => handleSelectedMovimentacao('Inativos'),\r\n text: 'Inativos',\r\n },\r\n ];\r\n\r\n const optionsVencidas = [\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Todas'),\r\n text: 'Todas',\r\n },\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Sim'),\r\n text: 'Sim',\r\n },\r\n {\r\n onClickOption: () => handleSelectedListasVencidas('Não'),\r\n text: 'Não',\r\n },\r\n ];\r\n\r\n const optionsRN412 = [\r\n {\r\n onClickOption: () => handleSelectedRN412('Todas'),\r\n text: 'Todas',\r\n },\r\n {\r\n onClickOption: () => handleSelectedRN412('Sim'),\r\n text: 'Sim',\r\n },\r\n {\r\n onClickOption: () => handleSelectedRN412('Não'),\r\n text: 'Não',\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerNomeBeneficiarioCartao = useField(\r\n 'nomeBeneficiarioCartao'\r\n ).registerField;\r\n const registerContratante = useField('codigoContratante').registerField;\r\n const registerArquivo = useField('nomeArquivoMovimentacao').registerField;\r\n const registerTipos = useField('tipo').registerField;\r\n const registerMovimentacao = useField('movimentacao').registerField;\r\n const registerModalidades = useField('modalidade').registerField;\r\n const registerTermos = useField('termo').registerField;\r\n const registerVencidas = useField('vencida').registerField;\r\n const registerRN412 = useField('rn412').registerField;\r\n\r\n const [selectedMovimentacao, setSelectedMovimentacao] = useState('');\r\n const [selectedTipo, setSelectedTipo] = useState('');\r\n const [selectedModalidade, setSelectedModalidade] = useState('');\r\n const [selectedTermo, setSelectedTermo] = useState('');\r\n const [inputContratante, setInputContratante] = useState('');\r\n const [inputNomeBeneficiarioCartao, setInputNomeBeneficiarioCartao] =\r\n useState('');\r\n const [inputNomeArquivoMovimentacao, setInputNomeArquivoMovimentacao] =\r\n useState('');\r\n const [selectedListasVencidas, setSelectedListasVencidas] = useState('');\r\n const [selectedRN412, setSelectedRN412] = useState('');\r\n const [disableImportarCriacao, setDisableImportarCriacao] = useState(false);\r\n const [disableImportarAtualizacao, setDisableImportarAtualizacao] =\r\n useState(false);\r\n const [dates, setDates] = useState({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n });\r\n\r\n function handleDataCriacaoDe(e) {\r\n if (e.target) return;\r\n const dataCriacaoAte = e > dates.dataCriacaoAte ? e : dates.dataCriacaoAte;\r\n setDates({\r\n dataCriacaoDe: e,\r\n dataCriacaoAte,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: dates.dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataCriacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: e,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: dates.dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataAtualizacaoDe(e) {\r\n if (e.target) return;\r\n const dataAtualizacaoAte =\r\n e > dates.dataAtualizacaoAte ? e : dates.dataAtualizacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataAtualizacaoDe: e,\r\n dataAtualizacaoAte,\r\n });\r\n }\r\n\r\n function handleDataAtualizacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataAtualizacaoDe: dates.dataAtualizacaoDe,\r\n dataAtualizacaoAte: e,\r\n });\r\n }\r\n\r\n function handleSelectedMovimentacao(text) {\r\n setSelectedMovimentacao(text);\r\n }\r\n\r\n function handleSelectedTipo(texto) {\r\n setSelectedTipo(texto);\r\n }\r\n\r\n function handleInputContratanteChange(e) {\r\n if (e.target.value === '' || isNumber(e.target.value))\r\n setInputContratante(e.target.value);\r\n\r\n if (e.target.value === '') {\r\n setSelectedModalidade('');\r\n setSelectedTermo('');\r\n }\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setSelectedTipo('');\r\n setSelectedMovimentacao('');\r\n setSelectedModalidade('');\r\n setSelectedTermo('');\r\n setDates({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n });\r\n setInputContratante('');\r\n setSearchBoxValue('');\r\n cleanFilterParams();\r\n setInputNomeBeneficiarioCartao('');\r\n setSelectedListasVencidas('');\r\n setSelectedRN412('');\r\n setInputNomeArquivoMovimentacao('');\r\n }\r\n\r\n function handleInputNomeBeneficiarioCartao(e) {\r\n setInputNomeBeneficiarioCartao(e.target.value);\r\n }\r\n\r\n function handleInputNomeArquivoMovimentacao({ target }) {\r\n setInputNomeArquivoMovimentacao(target.value);\r\n }\r\n\r\n function handleSelectedListasVencidas(text) {\r\n setSelectedListasVencidas(text);\r\n }\r\n function handleSelectedRN412(text) {\r\n setSelectedRN412(text);\r\n }\r\n\r\n useEffect(() => {\r\n function handleDisableImportar() {\r\n if (\r\n (dates.dataCriacaoDe && dates.dataCriacaoAte) ||\r\n (!dates.dataCriacaoDe && !dates.dataCriacaoAte)\r\n ) {\r\n setDisableImportarCriacao(false);\r\n } else {\r\n setDisableImportarCriacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataAtualizacaoDe && dates.dataAtualizacaoAte) ||\r\n (!dates.dataAtualizacaoDe && !dates.dataAtualizacaoAte)\r\n ) {\r\n setDisableImportarAtualizacao(false);\r\n } else {\r\n setDisableImportarAtualizacao(true);\r\n }\r\n }\r\n\r\n handleDisableImportar();\r\n }, [dates]);\r\n\r\n const shapeModalidades = useCallback((modalidadesParam) => {\r\n const modalidadesInativos = [36, 38];\r\n\r\n return modalidadesParam.map(({ codigoModalidade, termos }) =>\r\n modalidadesInativos.includes(codigoModalidade)\r\n ? {\r\n text: codigoModalidade.toString(),\r\n termos: [],\r\n }\r\n : {\r\n text: codigoModalidade.toString(),\r\n termos: termos.map((termo) => termo.codigoTermo.toString()),\r\n }\r\n );\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n {\r\n handleInputNomeBeneficiarioCartao(e);\r\n }}\r\n value={inputNomeBeneficiarioCartao}\r\n placeholder=\"Pesquise por nome do beneficiário ou cartão\"\r\n register={registerNomeBeneficiarioCartao}\r\n />\r\n \r\n {selectedTipo || 'Selecione o tipo'}\r\n \r\n \r\n {selectedMovimentacao || 'Selecione a movimentação'}\r\n \r\n \r\n {\r\n handleInputContratanteChange(e);\r\n }}\r\n onBlur={(e) =>\r\n handleGetModalidadesByContratante(e, inputContratante)\r\n }\r\n value={inputContratante}\r\n placeholder=\"Selecione a contratante\"\r\n register={registerContratante}\r\n />\r\n \r\n \r\n \r\n {selectedListasVencidas || 'Todas'}\r\n \r\n \r\n {selectedRN412 || 'Todas'}\r\n \r\n {(usuario.role === 'Adm' || isContratanteNestle(usuario)) &&\r\n showwFilterNomeArquivo && (\r\n {\r\n handleInputNomeArquivoMovimentacao(e);\r\n }}\r\n value={inputNomeArquivoMovimentacao}\r\n placeholder=\"Pesquise por nome arquivo de movimentação\"\r\n register={registerArquivo}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n

à

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n

à

\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {/* */}\r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default FilterExtends;\r\n","import { v4 as uuidv4 } from 'uuid';\r\nimport { getBase64 } from './array';\r\n\r\nexport async function shapeFile(file) {\r\n const base64 = await getBase64(file);\r\n return {\r\n file,\r\n name: file.name,\r\n readableSize: file.size,\r\n preview: URL.createObjectURL(file),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n url: null,\r\n base64,\r\n idFile: uuidv4(),\r\n };\r\n}\r\n\r\nexport function customValidations(\r\n filesInput,\r\n maxSizeFiles,\r\n maxQuantityFiles = 1,\r\n validExtension = ['csv'],\r\n invalidCallback = () => null\r\n) {\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n const filteredFiles = filesInput.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (maxSizeFiles && item.readableSize > maxSizeFiles)\r\n errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (filesInput.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n filesInput.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, item });\r\n });\r\n\r\n invalidCallback({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n\r\n return filteredFiles;\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding: 2% 20%;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal, ImportBox } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { shapeFile, customValidations } from '../../../utils/file';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nfunction ModalFileImport({\r\n contentText,\r\n modeloPadrao,\r\n contentModeloPadrao = null,\r\n isOpen,\r\n onClick,\r\n setListaFiles,\r\n importFiles,\r\n maxQuantityFiles,\r\n maxSizeFiles,\r\n validExtension,\r\n applyValidation,\r\n invalidCallback = () => {},\r\n}) {\r\n return (\r\n importar}\r\n footer={}\r\n justifyContentFooter=\"flex-end\"\r\n >\r\n \r\n \r\n {contentText}}\r\n templateDownloadText={\r\n \r\n }\r\n shapeFile={shapeFile}\r\n setListaFiles={setListaFiles}\r\n applyValidation={applyValidation}\r\n customValidations={(filesInput) =>\r\n customValidations(\r\n filesInput,\r\n maxSizeFiles,\r\n maxQuantityFiles,\r\n validExtension,\r\n invalidCallback\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\nconst ModalFooter = ({ onClick }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n importar\r\n \r\n \r\n );\r\n};\r\n\r\nconst TemplateDownloadText = ({ modeloPadrao, contentModeloPadrao }) =>\r\n contentModeloPadrao ? (\r\n {contentModeloPadrao}\r\n ) : (\r\n \r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n modelo padrão{' '}\r\n \r\n demonstrando como as informações devem ser preenchidas.\r\n \r\n );\r\n\r\nexport default ModalFileImport;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'Calibri';\r\n color: #5a5a5a;\r\n padding: 27px 0;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentFile = styled.div`\r\n margin: 10px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, FileUpload, Modal } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { Container, ContentFile, ContentText } from './styles';\r\n\r\nfunction ModalFileLoading({\r\n isOpen,\r\n finishedLoadingFiles,\r\n isSuccess,\r\n files,\r\n onClickCancel,\r\n loading,\r\n}) {\r\n return (\r\n onClickCancel(files)}\r\n disabled={loading}\r\n header={<>importar}\r\n footer={\r\n \r\n }\r\n justifyContentFooter=\"flex-end\"\r\n >\r\n \r\n \r\n \r\n \r\n Aguarde! Seus arquivos estão sendo carregados.\r\n \r\n {Object.values(files).map((file) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst MyContentFile = ({ file, onClickCancel }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ModalFooter = ({\r\n loading,\r\n onClickCancel,\r\n files,\r\n isSuccess,\r\n finishedLoadingFiles,\r\n}) => {\r\n return (\r\n <>\r\n onClickCancel(files)}\r\n >\r\n cancelar\r\n \r\n\r\n \r\n importar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFileLoading;\r\n","import React from 'react';\r\n\r\nimport ModalFileImport from '../ModalFileImport';\r\nimport ModalFileLoading from '../ModalFileLoading';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport useMovimentacao from '../../../hooks/useMovimentacao';\r\n\r\nconst ImportarListas = ({\r\n acaoAtual,\r\n invalidCallback,\r\n openFileImport,\r\n openFileLoading,\r\n onClickFileImport,\r\n onClickFileLoading,\r\n handleFiles,\r\n isSuccess,\r\n files,\r\n handleCancel,\r\n setAfterLoadingCallback,\r\n loading,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { setContentText, setModeloPadrao, setValidacao, setAfterLoading } =\r\n useMovimentacao();\r\n\r\n return (\r\n <>\r\n _}\r\n isOpen={openFileImport}\r\n onClick={onClickFileImport}\r\n setListaFiles={(newFiles) => {\r\n handleFiles(newFiles);\r\n }}\r\n maxQuantityFiles={setValidacao(acaoAtual)?.maxQuantityFiles}\r\n maxSizeFiles={setValidacao(acaoAtual)?.maxSizeFiles}\r\n validExtension={setValidacao(acaoAtual)?.validExtension}\r\n applyValidation\r\n invalidCallback={invalidCallback}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImportarListas;\r\n","var _g, _g2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgReplay = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12,5V1L7,6l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6H4c0,4.42,3.58,8,8,8s8-3.58,8-8S16.42,5,12,5z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgReplay, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/replay.1177dc70.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgUpload = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 24,\n width: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,18v2H8v-2H16z M11,7.99V16h2V7.99h3L12,4L8,7.99H11z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgUpload, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/upload.7297c706.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgCancel24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.87,\n fill: \"none\",\n d: \"M0 0h24v24H0V0z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgCancel24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/cancel-24px.25d58c48.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgDoubleArrow = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgDoubleArrow, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/doubleArrow.97a1814f.svg\";\nexport { ForwardRef as ReactComponent };","const { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nexport const legacyRoutes = {\r\n Home: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/Home.aspx`,\r\n name: 'Home',\r\n },\r\n ConsultaLista: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConsultaLista.aspx`,\r\n name: 'Lista',\r\n },\r\n Segundavia: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConsultaSolicitacao.aspx`,\r\n name: 'Lista',\r\n },\r\n ConsultaBeneficiarios: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/PesquisaBeneficiario.aspx`,\r\n name: 'Lista',\r\n },\r\n CadastrarLista: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx`,\r\n name: 'Lista',\r\n },\r\n CadastrarListaTitularUSP: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?isRedirectUsp=1`,\r\n name: 'Lista',\r\n },\r\n CadastrarListaDependenteUSP: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?isRedirectUsp=2`,\r\n name: 'Lista',\r\n },\r\n ConfiguracaoLogin: {\r\n url: `${REACT_APP_MOVCAD_LEGACY}/ConfiguracaoLogin`,\r\n name: 'Lista',\r\n },\r\n};\r\n","import styled from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ImageWrapper = styled.div``;\r\n\r\nexport const ContentTextWrapper = styled.div``;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal 600 17px 'unimed_slabsemibold';\r\n color: ${theme.grey};\r\n text-align: center;\r\n letter-spacing: 0px;\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: block;\r\n background-color: ${theme.grey210};\r\n height: 160px;\r\n width: 160px;\r\n text-align: -webkit-center;\r\n padding: 25px;\r\n margin: 12px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n opacity: 1;\r\n\r\n &:hover {\r\n background-color: ${lighten(0.68, theme.greenDefault)};\r\n div {\r\n cursor: pointer;\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n fill: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\nimport { Card } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled(Card).attrs((props) => ({\r\n background: props.background,\r\n}))`\r\n margin: 0px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 8px;\r\n padding: 0px;\r\n\r\n border-radius: ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n ${borderRadius}px;\r\n `\r\n : css`8px`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : 'height: 135px'}\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : 'width: 250px'}\r\n\r\n ${({ disabled }) =>\r\n !disabled\r\n ? css`\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ translucent }) =>\r\n translucent\r\n ? css`\r\n opacity: 0.5;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n color: red;\r\n margin-bottom: ${marginBottom}px;\r\n `\r\n : ''}\r\n\r\n${({ padding }) =>\r\n padding\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : ''}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : 'background-color: inherit'}\r\n\r\n\r\n img {\r\n height: 100%;\r\n width: 100%;\r\n object-fit: contain;\r\n margin: auto;\r\n }\r\n\r\n @media (max-width: 768px) {\r\n height: 72px;\r\n width: 156px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Image } from '@unimed-fesp/components';\r\nimport imgPlaceholder from '../../../assets/images/login/unimed-fesp.png';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ImageCard = ({\r\n imageUrl,\r\n name,\r\n disabled,\r\n translucent,\r\n marginBottom,\r\n onClick = (_) => _,\r\n width,\r\n height,\r\n borderRadius,\r\n children,\r\n ...props\r\n}) => (\r\n {\r\n e.stopPropagation();\r\n !disabled && onClick();\r\n }}\r\n width={width}\r\n height={height}\r\n borderRadius={borderRadius}\r\n >\r\n {imageUrl ? (\r\n {name}\r\n ) : (\r\n children\r\n )}\r\n \r\n);\r\n\r\nexport default ImageCard;\r\n","import React from 'react';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentTextWrapper,\r\n ImageWrapper,\r\n} from './styles';\r\nimport ImageCard from '../ImageCard';\r\n\r\nconst Card = ({ text, onClick, children }) => (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n {text}\r\n {/* */}\r\n \r\n \r\n \r\n);\r\n\r\nexport default Card;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const ContainerInativos = styled.div`\r\n &:hover {\r\n svg {\r\n fill: ${theme.grey210};\r\n stroke: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\n// #region Assets\r\nimport { ReactComponent as Upload } from '../../../assets/icons/upload.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\n\r\nimport Card from '../../molecules/Card';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText } from './styles';\r\n\r\nfunction ModalInclusaoUspLista({ isOpen, onClick, handleClick }) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const lista = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n Inclusão}\r\n >\r\n \r\n \r\n Selecione entre Titular ou Dependente\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalInclusaoUspLista;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { FiAlertTriangle } from 'react-icons/fi';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\n// #region Assets\r\nimport { ReactComponent as Replay } from '../../../assets/icons/replay.svg';\r\nimport { ReactComponent as Upload } from '../../../assets/icons/upload.svg';\r\nimport { ReactComponent as Cancel } from '../../../assets/icons/cancel-24px.svg';\r\nimport { ReactComponent as DoubleArrow } from '../../../assets/icons/doubleArrow.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { MovimentacaoListaEnum } from '../../../enums';\r\nimport history from '../../../services/history';\r\n\r\nimport Card from '../../molecules/Card';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { Container, ContentText, ContainerInativos } from './styles';\r\nimport ModalInclusaoUspLista from '../ModalInclusaoUspLista';\r\n\r\nfunction ModalAcaoLista({ isOpen, onClick, handleClick }) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const lista = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n const [isInclusaoUspOpen, setIsInclusaoUspOpen] = useState(false);\r\n\r\n function handleCreate() {\r\n dispatch(ListaActions.postListaInativasRequest(usuario));\r\n }\r\n\r\n function toggleModalInclusaoUspLista() {\r\n setIsInclusaoUspOpen(!isInclusaoUspOpen);\r\n }\r\n\r\n useEffect(() => {\r\n if (!lista?.loading && lista?.success && lista?.create) {\r\n history.push(`/novo/listainativo/${lista?.response?.idLista}`);\r\n }\r\n }, [lista]);\r\n\r\n return (\r\n nova lista manual de movimentação}\r\n >\r\n \r\n \r\n Que tipo de lista de movimentação você deseja incluir?\r\n \r\n \r\n {usuario.codigoContratante == \"76811\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleClick(MovimentacaoListaEnum.returnIdForName.Transferencia)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalAcaoLista;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","export default {\r\n delete:\r\n 'M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z',\r\n pencil:\r\n 'M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z',\r\n briefcase:\r\n 'M50,17.5H40v-5l-5-5H25l-5,5v5H10a5.015,5.015,0,0,0-5,5V35a4.96,4.96,0,0,0,2.5,4.325V47.5a4.983,4.983,0,0,0,5,5h35a4.983,4.983,0,0,0,5-5V39.3A5.033,5.033,0,0,0,55,35V22.5A5.015,5.015,0,0,0,50,17.5Zm-25-5H35v5H25Zm-15,10H50V35H37.5V27.5h-15V35H10Zm22.5,15h-5v-5h5Zm15,10h-35V40h10v2.5h15V40h10Z',\r\n deleteOutline:\r\n 'M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v10zM9 9h6c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H9c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm6.5-5l-.71-.71c-.18-.18-.44-.29-.7-.29H9.91c-.26 0-.52.11-.7.29L8.5 4H6c-.55 0-1 .45-1 1s.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1h-2.5z',\r\n cancelOutline:\r\n 'M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3.59-13L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41z',\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.svg`\r\n ${({ marginLeft }) =>\r\n marginLeft &&\r\n css`\r\n margin-left: ${marginLeft};\r\n `}\r\n ${({ cursor }) =>\r\n cursor &&\r\n css`\r\n cursor: ${cursor};\r\n `}\r\n\r\n${({ margin }) =>\r\n margin &&\r\n css`\r\n margin: ${margin};\r\n `}\r\n`;\r\n","import React from 'react';\r\n\r\nimport iconPath from '../../../assets/icons/iconsLib';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Icon = ({\r\n size,\r\n color,\r\n icon,\r\n style,\r\n marginLeft,\r\n onClick,\r\n cursor,\r\n margin,\r\n}) => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default Icon;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n\r\n ${({ animation, duration = '0.2s' }) =>\r\n (animation, duration)\r\n ? css`\r\n animation: ${duration} ${keyframes`${animation}`};\r\n `\r\n : ''}\r\n\r\n ${({ input }) =>\r\n input\r\n ? css`\r\n position: relative;\r\n\r\n span {\r\n position: absolute;\r\n bottom: -9px;\r\n left: 0px;\r\n font-size: 10px;\r\n color: ${theme.movRed90};\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ flex }) =>\r\n typeof flex === 'number'\r\n ? css`\r\n flex: ${flex};\r\n `\r\n : flex\r\n ? css`\r\n flex: 1;\r\n `\r\n : ''}\r\n\r\n ${({ column }) =>\r\n column\r\n ? css`\r\n flex-direction: column;\r\n `\r\n : ''};\r\n\r\n ${({ wrap }) =>\r\n wrap\r\n ? css`\r\n flex-wrap: wrap;\r\n `\r\n : ''};\r\n\r\n ${({ overflowHidden }) =>\r\n overflowHidden\r\n ? css`\r\n overflow: hidden;\r\n `\r\n : ''};\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: 25px;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 25px;\r\n `\r\n : ''};\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''};\r\n\r\n ${({ marginSides }) =>\r\n typeof marginSides === 'number'\r\n ? css`\r\n margin-left: ${marginSides}px;\r\n margin-right: ${marginSides}px;\r\n `\r\n : marginSides\r\n ? css`\r\n margin-left: 8px;\r\n margin-right: 8px;\r\n `\r\n : ''}\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 55px;\r\n `\r\n : ''}\r\n\r\n ${({ paddingSides }) =>\r\n typeof paddingSides === 'number'\r\n ? css`\r\n padding-left: ${paddingSides}px;\r\n padding-right: ${paddingSides}px;\r\n `\r\n : paddingSides\r\n ? css`\r\n padding-left: 55px;\r\n padding-right: 55px;\r\n `\r\n : ''}\r\n\r\n${({ paddingLeft }) =>\r\n typeof paddingSides === 'number'\r\n ? css`\r\n padding-left: ${paddingLeft}px;\r\n `\r\n : paddingLeft\r\n ? css`\r\n padding-left: 55px;\r\n `\r\n : ''}\r\n\r\n ${({ onClick }) =>\r\n onClick\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : ''}\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n\r\n ${({ fullWidth, halfWidth }) =>\r\n fullWidth\r\n ? css`\r\n width: 100%;\r\n `\r\n : halfWidth\r\n ? css`\r\n width: 50%;\r\n `\r\n : ''};\r\n\r\n ${({ percentage }) =>\r\n percentage\r\n ? css`\r\n width: ${percentage}%;\r\n `\r\n : ''};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n @media (max-width: 768px) {\r\n ${({ desktopOnly }) =>\r\n desktopOnly\r\n ? css`\r\n display: none;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 17px;\r\n `\r\n : ''};\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 0;\r\n `\r\n : ''}\r\n\r\n ${({ paddingSides }) =>\r\n paddingSides && typeof paddingSides !== 'number'\r\n ? css`\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n `\r\n : ''}\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst WrapperFlex = ({\r\n children,\r\n desktopOnly,\r\n flex,\r\n column,\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n alignStart,\r\n alignCenter,\r\n alignEnd,\r\n marginTop,\r\n marginBottom,\r\n marginSides,\r\n padding,\r\n paddingSides,\r\n paddingLeft,\r\n halfWidth,\r\n fullWidth,\r\n height,\r\n width,\r\n percentage,\r\n wrap,\r\n overflowHidden,\r\n onClick = null,\r\n input,\r\n animation,\r\n duration,\r\n marginLeft,\r\n ...props\r\n}) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nexport default WrapperFlex;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst rotate360 = keyframes`\r\n from {\r\n transform: rotate(0deg)\r\n }\r\n to {\r\n transform: rotate(360deg)\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n svg {\r\n animation: ${rotate360} 2s linear infinite;\r\n }\r\n`;","import React from 'react';\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport WrapperFlex from '../WrapperFlex';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nexport default function LoadingSpinner({ height, size, color }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Alerts,\r\n Button,\r\n CanAccess,\r\n Checkbox,\r\n Dropdown,\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil } from 'react-icons/im';\r\nimport { MdAdb, MdFileDownload, MdInfo } from 'react-icons/md';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent, HoverActions } from './styles';\r\n\r\nimport { StatusListaAPIEnum, TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport Icon from '../../atoms/Icon';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport {\r\n isAdmin,\r\n isContratante,\r\n isContratanteNestle,\r\n} from '../../../utils/userRole';\r\n\r\nimport history from '../../../services/history';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction TabTableLista({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n handleAcaoListas,\r\n handleAcaoListaById,\r\n handleChangePage,\r\n reportsItems,\r\n setReportItems,\r\n handleCheckBoxAllPagesReport,\r\n isCheckedAllPages,\r\n handleDropdownItemClick,\r\n setIsCheckedAllPages,\r\n downloadFileOriginLot,\r\n}) {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { statusLists, listas } = useSelector((state) => state.lista);\r\n const status = statusLists.response.actives;\r\n\r\n function isPendentStatusTable() {\r\n if (status.length === 1 && status[0].id === 10) {\r\n return 'Pendente';\r\n }\r\n return 'Todas';\r\n }\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n const tipoStatus = StatusListaAPIEnum.returnNameForTab[tabName];\r\n if (listas.loading) {\r\n return ;\r\n }\r\n\r\n if (!!listaStatus.data && listaStatus.data.length > 0) {\r\n return (\r\n \r\n handleChangePage(paramsPag, tipoStatus)\r\n }\r\n listasSize={listaStatus.totalCount}\r\n {...(tabName && { tabName })}\r\n usuario={usuario}\r\n reportsItems={reportsItems}\r\n setReportItems={setReportItems}\r\n handleCheckBoxAllPagesReport={handleCheckBoxAllPagesReport}\r\n isCheckedAllPages={isCheckedAllPages}\r\n handleDropdownItemClick={handleDropdownItemClick}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageSize = 10;\r\n draft.pageNumber = 1;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n setReportItems([]);\r\n setIsCheckedAllPages(false);\r\n }, [status]);\r\n\r\n return <>{handleRender(listas.response, isPendentStatusTable())};\r\n}\r\n\r\nconst TableListaHeader = ({\r\n tabName,\r\n usuario,\r\n checkAll,\r\n handleCheckAll,\r\n isCheckedAllPages,\r\n}) => {\r\n return (\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n ) : (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n )}\r\n\r\n \r\n Lista\r\n \r\n \r\n Contratante\r\n \r\n \r\n Movimentação\r\n \r\n \r\n Criação\r\n \r\n \r\n Envio\r\n \r\n \r\n Finalização\r\n \r\n \r\n Status\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n Status RPA\r\n \r\n ) : null}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n tabName,\r\n handleAcaoListas,\r\n listasSize,\r\n usuario,\r\n handleChangePage,\r\n reportsItems,\r\n setReportItems,\r\n handleCheckBoxAllPagesReport,\r\n isCheckedAllPages,\r\n handleDropdownItemClick,\r\n downloadFileOriginLot,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n const handleCheckAll = () => {\r\n if (isCheckedAllPages) {\r\n return;\r\n }\r\n const allItems = listas.slice(\r\n 0,\r\n Math.min(listas.length, pageData.pageSize * (0 + 1))\r\n );\r\n const filteredItems = allItems.filter(\r\n (item) =>\r\n !reportsItems.some(\r\n (selectedItem) => selectedItem.idLista === item.idLista\r\n )\r\n );\r\n setReportItems([...reportsItems, ...filteredItems]);\r\n setCheckAll(true);\r\n };\r\n\r\n const handleCheckAllChange = () => {\r\n if (checkAll) {\r\n handleUncheckAll();\r\n } else {\r\n handleCheckAll();\r\n }\r\n };\r\n\r\n const handleUncheckAll = () => {\r\n const startIndex = 0 * pageData.pageSize;\r\n const endIndex = startIndex + pageData.pageSize;\r\n const currentPageItems = listas.slice(startIndex, endIndex);\r\n\r\n const filteredItems = reportsItems.filter((selectedItem) => {\r\n return !currentPageItems.some(\r\n (item) => item.idLista === selectedItem.idLista\r\n );\r\n });\r\n\r\n setReportItems(filteredItems);\r\n setCheckAll(false);\r\n };\r\n\r\n const isAllPageItemsChecked = () => {\r\n const startIndex = 0 * pageData.pageSize;\r\n const endIndex = startIndex + pageData.pageSize;\r\n const currentPageItems = listas.slice(startIndex, endIndex);\r\n return currentPageItems.every((item) =>\r\n reportsItems.some((selectedItem) => selectedItem.idLista === item.idLista)\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n setCheckAll(isAllPageItemsChecked());\r\n }, [reportsItems]);\r\n\r\n const optionsButtonRPA = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório resumido'),\r\n text: 'Relatório resumido',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório detalhado'),\r\n text: 'Relatório detalhado',\r\n },\r\n ];\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = pageData.totalPages;\r\n\r\n return draft;\r\n });\r\n // setPaginationParams(newPaginationParams);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n {reportsItems.length > 0 &&\r\n tabName === 'Pendente' &&\r\n isAdmin(usuario.role) && (\r\n \r\n \r\n \r\n )}\r\n {reportsItems.length > 0 ? (\r\n \r\n \r\n \r\n \r\n Você selecionou {reportsItems.length} de {pageData.totalCount}{' '}\r\n itens para Relatórios.\r\n \r\n \r\n {\r\n setReportItems([]);\r\n }}\r\n >\r\n Limpar Seleção\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleCheckBoxAllPagesReport(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n \r\n \r\n Gerar relatório\r\n \r\n \r\n {pageData.totalCount > 10 && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n lista,\r\n checkAll,\r\n setListaRowsChecked,\r\n listaRowsChecked = [],\r\n handleConfirmAction,\r\n tabName,\r\n usuario,\r\n reportsItems,\r\n setReportItems,\r\n paginationParams,\r\n isCheckedAllPages,\r\n downloadFileOriginLot,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function redirectToDetalheLista(listaArg) {\r\n const TIPO_ACAO_INATIVOS = 'Inativos';\r\n\r\n if (listaArg && listaArg?.dcTipoAcao === TIPO_ACAO_INATIVOS) {\r\n history.push(`/novo/listainativo/${listaArg?.idLista}/detalhe`);\r\n } else {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${listaArg.idLista}`\r\n );\r\n }\r\n }\r\n\r\n const handleItemCheck = (item) => {\r\n if (isCheckedAllPages) {\r\n return;\r\n }\r\n const isCheckeed = reportsItems.some(\r\n (selectedItem) => selectedItem.idLista === item.idLista\r\n );\r\n if (isCheckeed) {\r\n setReportItems(\r\n reportsItems.filter(\r\n (selectedItem) => selectedItem.idLista !== item.idLista\r\n )\r\n );\r\n } else {\r\n setReportItems([...reportsItems, item]);\r\n }\r\n };\r\n const movimentacoes = lista.dcMovimentacoes\r\n ? lista.dcMovimentacoes.split('/').join(' / ')\r\n : lista.dcMovimentacoes;\r\n\r\n const listaIsFake = lista?.nmLista.endsWith('_TESTE') || false;\r\n return (\r\n \r\n \r\n selectedItem.idLista === lista.idLista\r\n ) || isCheckedAllPages\r\n }\r\n onClick={(e) => handleItemCheck(lista)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n redirectToDetalheLista(lista)}\r\n activeAction\r\n minWidth={100}\r\n maxWidth={100}\r\n >\r\n {lista.nmLista}\r\n \r\n \r\n {lista.cdContratante} - {lista.nmContratante}\r\n \r\n \r\n {movimentacoes}\r\n \r\n \r\n {lista.dtInclusao\r\n ? format(new Date(lista.dtInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null}\r\n \r\n \r\n {lista.dtEnvio\r\n ? format(new Date(lista.dtEnvio), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {lista.dtVencimento\r\n ? format(new Date(lista.dtVencimento), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {(hoverAction && tabName !== 'Pendente') ||\r\n (hoverAction && isContratante(usuario.role)) ? (\r\n redirectToDetalheLista(lista)}\r\n idLista={lista.idLista}\r\n listaStatus={\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n }\r\n handleConfirmAction={(idLista, status) =>\r\n handleConfirmAction(idLista, status, listaIsFake)\r\n }\r\n nomeLista={lista.nmLista}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n ) : (\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n )}\r\n \r\n {tabName === 'Pendente' && isAdmin(usuario.role) ? (\r\n \r\n {hoverAction &&\r\n lista.idStatusLista !== StatusListaAPIEnum.returnId.Registrada ? (\r\n redirectToDetalheLista(lista)}\r\n idLista={lista.idLista}\r\n listaStatus={\r\n StatusListaAPIEnum.returnNameFormatted[lista.idStatusLista]\r\n }\r\n listaStatusRPA={lista.btEnvioRpa}\r\n handleConfirmAction={(idLista, status) =>\r\n handleConfirmAction(idLista, status, listaIsFake)\r\n }\r\n tipoAcao={lista.dcTipoAcao}\r\n nomeLista={lista.nmLista}\r\n downloadFileOriginLot={downloadFileOriginLot}\r\n />\r\n ) : (\r\n <>{lista.btEnvioRpa ? lista.dcStatusRpa : '-'}\r\n )}\r\n \r\n ) : null}\r\n \r\n {lista.possuiSinalizacao && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllLista = ({\r\n listaRowsChecked,\r\n handleConfirmAction,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n reportsItems,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n Você selecionou {reportsItems.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n \r\n handleConfirmAction(\r\n reportsItems,\r\n StatusListaAPIEnum.returnNameFormatted[10].replace(/\\s+/g, ''),\r\n reportsItems.some((cheked) => cheked?.nmLista.endsWith('_TESTE'))\r\n )\r\n }\r\n >\r\n \r\n enviar p/ RPA\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableListaActions = ({\r\n redirectToDetalheLista,\r\n idLista,\r\n listaStatus,\r\n handleConfirmAction,\r\n listaStatusRPA,\r\n tipoAcao = null,\r\n nomeLista,\r\n downloadFileOriginLot,\r\n}) => {\r\n const TIPO_INATIVOS = 'Inativos';\r\n const { usuario } = useSelector((state) => state.auth);\r\n const dispatch = useDispatch();\r\n return (\r\n \r\n \r\n redirectToDetalheLista()}>\r\n \r\n \r\n \r\n\r\n {usuario.role === TipoPerfilUsuarioEnum.returnNameForName.Adm &&\r\n (nomeLista?.endsWith('L_TESTE') || nomeLista?.endsWith('L')) ? (\r\n \r\n downloadFileOriginLot(nomeLista)}>\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {listaStatus === 'Pendente de Processamento' &&\r\n tipoAcao &&\r\n tipoAcao !== TIPO_INATIVOS ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst ActionPorStatus = ({\r\n listaStatus,\r\n idLista,\r\n handleConfirmAction,\r\n listaStatusRPA,\r\n}) => {\r\n const status = listaStatus.replace(/\\s+/g, '');\r\n const IconPorStatus = {\r\n PendentedeProcessamento: {\r\n Text: !listaStatusRPA ? 'enviar para RPA' : 'cancelar envio para RPA',\r\n Icon: !listaStatusRPA ? (\r\n \r\n ) : (\r\n \r\n ),\r\n onClick: !listaStatusRPA\r\n ? () => handleConfirmAction(idLista, status)\r\n : () => handleConfirmAction(idLista, 'Cancelar'),\r\n },\r\n };\r\n\r\n function handleIconsPorStatus() {\r\n return IconPorStatus[status].Icon;\r\n }\r\n\r\n function handleToolTipTextPorStatus() {\r\n return IconPorStatus[status].Text;\r\n }\r\n\r\n return (\r\n \r\n \r\n {handleIconsPorStatus()}\r\n \r\n \r\n );\r\n};\r\nexport default TabTableLista;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n margin: 10px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyEnviarListaRpa = ({ qtdListas = 1, hasFake = false }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n if (hasFake)\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Lista _TESTE criada por um Admin parametrizado! '\r\n : 'Existem listas _TESTE criadas por um Admin parametrizado! '}\r\n \r\n {SINGULAR\r\n ? 'O Robô RPA não conseguirá utilizá-la'\r\n : 'O Robô RPA não conseguirá utilizá-las'}\r\n \r\n .\r\n
\r\n {SINGULAR\r\n ? 'Deseja enviar a lista para o RPA?'\r\n : 'Deseja enviar as listas para o RPA?'}\r\n
\r\n );\r\n\r\n return (\r\n \r\n Apenas listas com status Pendente de Processamento serão\r\n enviadas.\r\n
\r\n Listas de inativos não serão enviadas.\r\n
\r\n {SINGULAR\r\n ? 'Deseja enviar a lista para o RPA?'\r\n : 'Deseja enviar as listas para o RPA?'}\r\n
\r\n );\r\n};\r\n\r\nconst FooterEnviarListaRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyEnviarListaRpa, FooterEnviarListaRpa };\r\n","import styled from 'styled-components';\r\n\r\nexport const ButtonContainer = styled.label`\r\n cursor: pointer;\r\n margin: 0;\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\nimport LoadingSpinner from '../LoadingSpinning';\r\nimport { ButtonContainer } from './styles';\r\n\r\nexport default function StatusList() {\r\n const dispatch = useDispatch();\r\n const { statusLists, listas } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const params = {\r\n page_number: 0,\r\n page_size: 10,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code:\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n show_fake_list: IsAdm.toLowerCase() === 'true',\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n if (usuario.codigoContratante && !isContratanteNestle(usuario)) {\r\n dispatch(\r\n ListaActions.getStatusListContratanteRequest(\r\n usuario.codigoContratante,\r\n IsAdm.toLowerCase() === 'true'\r\n )\r\n );\r\n } else if (isContratanteNestle(usuario)) {\r\n dispatch(\r\n ListaActions.getStatusListNestleRequest(IsAdm.toLowerCase() === 'true')\r\n );\r\n } else {\r\n dispatch(ListaActions.getStatusListAdminRequest());\r\n }\r\n }, []);\r\n\r\n function handleActiveSearches(index) {\r\n const active = statusLists.response.actives[index];\r\n const todosActive = statusLists.response.actives.find(\r\n (status, i) => status.description === 'Todos'\r\n );\r\n const availableTodos = statusLists.response.availables.filter(\r\n (status, i) => status.description !== 'Todos'\r\n );\r\n\r\n if (active.description === 'Todos') {\r\n const response = {\r\n availables: [\r\n ...statusLists.response.actives,\r\n ...statusLists.response.availables,\r\n ],\r\n actives: [],\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (todosActive && availableTodos) {\r\n const restTodos = statusLists.response.actives.filter(\r\n (status, i) =>\r\n status.description !== 'Todos' &&\r\n status.description !== active.description\r\n );\r\n const response = {\r\n availables: [todosActive, active, ...statusLists.response.availables],\r\n actives: restTodos,\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newActiveSearches = statusLists.response.actives.filter(\r\n (_, i) => i !== index\r\n );\r\n const response = {\r\n availables: [...statusLists.response.availables, active],\r\n actives: newActiveSearches,\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleAvailableSearches(index) {\r\n const available = statusLists.response.availables[index];\r\n const restTodos = statusLists.response.availables.filter(\r\n (status, i) => status.id !== 0 && status.count !== 0\r\n );\r\n\r\n const nonZeroItems = statusLists.response.availables.filter(\r\n (item) => item.count !== 0\r\n );\r\n const zeroItems = statusLists.response.availables.filter(\r\n (item) => item.count === 0\r\n );\r\n\r\n if (restTodos.length === 1) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (available.id === 0) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives.map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newAvailableSearches = statusLists.response.availables.filter(\r\n (_, i) => i !== index\r\n );\r\n\r\n const response = {\r\n availables: newAvailableSearches,\r\n actives: [...statusLists.response.actives, available],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleClickAvailable(index) {\r\n dispatch(handleAvailableSearches(index));\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n function handleClickActive(index) {\r\n const active = statusLists.response.actives[index];\r\n if (active.description === 'Todos') {\r\n dispatch(\r\n ListaActions.postSearchListResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n if (statusLists.response.actives.length <= 1) {\r\n dispatch(\r\n ListaActions.postSearchListResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n dispatch(handleActiveSearches(index));\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n if (listas.loading || statusLists.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {statusLists.response.availables.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickAvailable(index)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={`${description} (${count})`}\r\n showBtnRemove={count > 0}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n {statusLists.response.actives.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickActive(index)}\r\n text={`${description} (${count})`}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Form } from '@rocketseat/unform';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n CanAccess,\r\n Dropdown,\r\n LogsFileErrorStorage,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { MdFileUpload, MdFilterList, MdSearch } from 'react-icons/md';\r\nimport { batch, useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport modal from '../../context/TriggerModalContext';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\nimport { downloadFile as fileDownload } from '../../utils/base64';\r\n\r\nimport useMovimentacao from '../../hooks/useMovimentacao';\r\n\r\nimport {\r\n isAdmin,\r\n isContratante,\r\n isContratanteNestle,\r\n} from '../../utils/userRole';\r\nimport { hasChar } from '../../utils/validation';\r\n\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusListaAPIEnum,\r\n TipoListaEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtendsLista from '../../components/organisms/FilterExtends';\r\nimport ImportarListas from '../../components/organisms/ImportarListas';\r\nimport ModalAcaoLista from '../../components/organisms/ModalAcaoLista';\r\nimport TabTableLista from '../../components/organisms/TabTableLista';\r\n\r\nimport { ModalEnviarListaRpa } from '../../components/molecules/PartsModalConsultaListas';\r\n\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport StatusList from '../../components/molecules/StatusList';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\n\r\nfunction ConsultaListas() {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n patchListaEnvioRPA,\r\n postImportarLote,\r\n deleteLista,\r\n statusLists,\r\n getRelatorioLista,\r\n getArquivoOriginalLote,\r\n } = useSelector((state) => state.lista);\r\n const getListasRedux = useSelector((state) => state.lista.getListas);\r\n const logError = postImportarLote.logError || [\r\n {\r\n hasError: false,\r\n base64: null,\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success, response } = useSelector((state) => state.modalidade);\r\n\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n\r\n // #region State para Modal para acao de lista\r\n const [openImportarLote, setOpenImportarLote] = useState(false);\r\n const [openFileLoading, setOpenFileLoading] = useState(false);\r\n const [isAcaoOpen, setIsAcaoOpen] = useState(false); // State para o Modal de ações de Lista\r\n const [acaoAtual, setAcaoAtual] = useState(0); // Define qual ação será executada no Modal File Import\r\n // #endregion\r\n const status = statusLists.response.actives\r\n .filter(({ id }) => id !== 0)\r\n .map(({ id }) => id);\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const oldFilterExtendsParams = {\r\n nomeLista: null,\r\n codigoContratante:\r\n usuario.role !== 'Adm' ? usuario.codigoContratante : null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n vencida: null,\r\n rn412: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n nomeArquivoMovimentacao: null,\r\n nomeGrupoContratante: isContratanteNestle(usuario)\r\n ? usuario.GrupoContratante\r\n : null,\r\n };\r\n const filterExtendsParams = {\r\n page_number: 0,\r\n page_size: 10,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: status,\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code:\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n show_fake_list: IsAdm.toLowerCase() === 'true',\r\n },\r\n };\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const optionsButtonDropdown = [\r\n {\r\n onClickOption: () =>\r\n getAcaoLista(MovimentacaoListaEnum.returnIdForName.Lote),\r\n text: 'ARQUIVO - TXT',\r\n },\r\n {\r\n onClickOption: () =>\r\n getAcaoLista(MovimentacaoListaEnum.returnIdForName['Lote-csv']),\r\n text: 'ARQUIVO - CSV',\r\n },\r\n ];\r\n // #region Hooks\r\n const { handleFiles, setErrors, handleDeleteFiles } =\r\n useMovimentacao(usuario);\r\n\r\n const [oldFilterParams, setOldFilterParams] = useState(\r\n oldFilterExtendsParams\r\n );\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [listaAction, setListaAction] = useState({\r\n listas: [],\r\n tipoAcao: '',\r\n });\r\n\r\n const [relatoriosLoading, setRelatoriosLoading] = useState({\r\n resumido: false,\r\n detalhado: false,\r\n });\r\n const [reportsItems, setReportItems] = useState([]);\r\n const [isCheckedAllPages, setIsCheckedAllPages] = useState(false);\r\n\r\n const reportExtendsParams = {\r\n is_administrator: usuario.role === 'Adm',\r\n is_detailed: true,\r\n list_ids: [],\r\n movement_list_filter: null,\r\n is_nestle_query: isContratanteNestle(usuario),\r\n };\r\n const paginationRequest = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paginationParams.pageNumber - 1;\r\n draft.pageSize = paginationParams.pageSize;\r\n });\r\n\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const [reportParams, setReportParams] = useState(reportExtendsParams);\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n const boolPorTexto = {\r\n Sim: true,\r\n Não: false,\r\n };\r\n\r\n const contractorOrAdm =\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? null\r\n : usuario.codigoContratante;\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n draft.movement_list_filter.list_name =\r\n inputValue === '' ? null : inputValue;\r\n draft.movement_list_filter.beneficiary_name_or_number_card =\r\n data.nomeBeneficiarioCartao ? data.nomeBeneficiarioCartao : null;\r\n\r\n draft.movement_list_filter.type_list =\r\n data.tipo === 'Selecione o tipo'\r\n ? null\r\n : TipoListaEnum.returnId[data.tipo];\r\n\r\n draft.movement_list_filter.type_action =\r\n data.movimentacao === 'Selecione a movimentação'\r\n ? null\r\n : MovimentacaoListaEnum.returnIdForNameFormatted[data.movimentacao];\r\n\r\n draft.movement_list_filter.contractor_code = data.codigoContratante\r\n ? data.codigoContratante\r\n : contractorOrAdm;\r\n\r\n draft.movement_list_filter.modality_code =\r\n data.modalidade === 'Selecione a modalidade' ? null : data.modalidade;\r\n\r\n draft.movement_list_filter.term_code =\r\n data.termo === 'Selecione o termo' ? null : data.termo;\r\n\r\n draft.movement_list_filter.expired =\r\n data.vencida === 'Todas' ? false : boolPorTexto[data.vencida];\r\n\r\n draft.movement_list_filter.r_n412 =\r\n data.rn412 === 'Todas' ? false : boolPorTexto[data.rn412];\r\n draft.movement_list_filter.file_name_movement =\r\n usuario.role === 'Adm' || isContratanteNestle(usuario)\r\n ? data.nomeArquivoMovimentacao\r\n : null;\r\n\r\n draft.movement_list_filter.start_created_date = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n\r\n draft.movement_list_filter.end_created_date = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n\r\n draft.movement_list_filter.start_update_date = data.dataAtualizacaoDe\r\n ? format(data.dataAtualizacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n\r\n draft.movement_list_filter.end_update_date = data.dataAtualizacaoAte\r\n ? format(data.dataAtualizacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n return params;\r\n }\r\n function handleCheckBoxAllPagesReport() {\r\n setReportItems([]);\r\n setIsCheckedAllPages(!isCheckedAllPages);\r\n }\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n setSearchBoxActive(true);\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleModalidadesTermos() {\r\n if (isContratante(usuario.role))\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: oldFilterParams.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n // 'enter' was pressed\r\n if (status.length >= 1) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n setPaginationParams(paginationTabParams);\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n const totalStatus = [13, 9, 16, 12, 11, 7, 2, 10, 14, 4, 5];\r\n\r\n if (e.target.value === '') {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = totalStatus;\r\n draft.movement_list_filter.list_name = null;\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n setSearchBoxActive(true);\r\n return dispatch(ListaActions.postSearchListRequest(newFilterParams));\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.list_name = e.target.value;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n setCancelFilterExtendsOpen(true);\r\n setSearchBoxActive(true);\r\n setFilterParams(newFilterParams);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n if (e.keyCode === 13) {\r\n if (status.length < 1) {\r\n const params = {\r\n ...paginationRequest,\r\n ...filterParams,\r\n };\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } = getListasRedux.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(paramsPag, tipoStatus) {\r\n const newPaginationParams = produce(paramsPag, (draft) => {\r\n draft.pageNumber = paramsPag.pageNumber - 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n\r\n if (status.length < 1) {\r\n const params = {\r\n ...filterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n function handleGetModalidadesByContratante(e, codigoContratante) {\r\n e.stopPropagation();\r\n if (e.keyCode === 13) e.preventDefault();\r\n\r\n if (\r\n codigoContratante &&\r\n oldFilterParams.codigoContratante !== codigoContratante\r\n ) {\r\n const newFilterParams = produce(oldFilterParams, (draft) => {\r\n draft.codigoContratante = codigoContratante;\r\n });\r\n\r\n setOldFilterParams(newFilterParams);\r\n if (isAdmin(usuario.role))\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: newFilterParams.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }\r\n\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n\r\n function handleConfirmAction(listas, tipoAcao, hasFake) {\r\n setListaAction({\r\n listas,\r\n tipoAcao,\r\n });\r\n\r\n const qtdListas = Array.isArray(listas) ? listas.length : 1;\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n\r\n function setAcaoLista(listas, tipoAcao) {\r\n return Array.isArray(listas)\r\n ? handleAcaoListas(listas, tipoAcao)\r\n : handleAcaoListaById(listas, tipoAcao);\r\n }\r\n\r\n function handleAcaoListas(listas, tipoAcao) {\r\n const TIPO_INATIVOS = 'Inativos';\r\n\r\n const listasPermitidas = listas.filter(\r\n (lista) =>\r\n lista.idStatusLista === 10 && lista.dcTipoAcao !== TIPO_INATIVOS\r\n );\r\n\r\n if (listasPermitidas.length > 0) {\r\n const params = listasPermitidas.map((l) => {\r\n return { idLista: l.idLista };\r\n });\r\n\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n }\r\n\r\n function handleAcaoListaById(listas, tipoAcao) {\r\n const params = [\r\n {\r\n idLista: listas,\r\n },\r\n ];\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n dispatch(actionLista);\r\n }\r\n\r\n function setListaActionToDispatch(action, params) {\r\n const actions = {\r\n PendentedeProcessamento: ListaActions.patchListaEnvioRPARequest(\r\n params,\r\n true\r\n ),\r\n Cancelar: ListaActions.patchListaEnvioRPARequest(params, false),\r\n };\r\n return actions[action];\r\n }\r\n\r\n function getListas() {\r\n const params = {\r\n ...paginationParams,\r\n nomeGrupoContratante: isContratanteNestle(usuario)\r\n ? usuario.GrupoContratante\r\n : null,\r\n };\r\n\r\n dispatch(\r\n ListaActions.getListasRequest(params, StatusListaAPIEnum.returnNameForTab)\r\n );\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchListaEnvioRPA.success) {\r\n dispatch(ListaActions.patchListaEnvioRPARenew());\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n dispatch(ListaActions.postSearchListRequest(params));\r\n }\r\n\r\n // #region Funções para Acao de Lista\r\n function toggleModalAcaoLista() {\r\n setIsAcaoOpen(!isAcaoOpen);\r\n }\r\n\r\n const toogleModalFileLoading = useCallback(() => {\r\n setOpenFileLoading(!openFileLoading);\r\n }, [openFileLoading]);\r\n\r\n function toogleModalImportar() {\r\n setOpenImportarLote(!openImportarLote);\r\n }\r\n\r\n const handleModalCancelAction = useCallback(\r\n (newFile) => {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message:\r\n 'Ao cancelar a importação de listas você perderá os dados não salvos. Deseja continuar?',\r\n textHeader: 'cancelar',\r\n onClickOk: () => {\r\n if (MovimentacaoListaEnum.returnIdForName['Lote-csv'] === acaoAtual) {\r\n handleDeleteFiles(newFile);\r\n dispatch(ListaActions.deleteListaCsv(postImportarLote.files));\r\n } else {\r\n handleDeleteFiles(newFile);\r\n if (newFile.length === postImportarLote.files.length) {\r\n dispatch(ListaActions.importarLoteLogErrorRenew());\r\n }\r\n }\r\n },\r\n });\r\n },\r\n [handleDeleteFiles, openModalCancelAction.warning]\r\n );\r\n\r\n const getAcaoLista = (acao) => {\r\n const acoes = {\r\n [MovimentacaoListaEnum.returnIdForName.Lote]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName['Lote-csv']]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName.Nestle]: toogleModalImportar,\r\n [MovimentacaoListaEnum.returnIdForName.Inclusao]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Alteração]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Exclusão]: toggleModalAcaoLista,\r\n [MovimentacaoListaEnum.returnIdForName.Transferencia]: () => {\r\n toggleModalAcaoLista();\r\n toogleModalImportar();\r\n },\r\n };\r\n setAcaoAtual(acao);\r\n return acoes[acao]();\r\n };\r\n\r\n // #region relatórios download\r\n\r\n function handleDropdownItemClick(item) {\r\n let tipoRelatorio;\r\n\r\n if (reportsItems.length === 0 && !isCheckedAllPages) {\r\n return toast.error(\r\n \r\n Nenhuma lista selecionada para geração do relatório\r\n \r\n );\r\n }\r\n if (item.includes('resumido')) {\r\n const filter = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = produce(reportParams, (draft) => {\r\n draft.list_ids = isCheckedAllPages\r\n ? []\r\n : reportsItems.map((l) => l.idLista);\r\n draft.is_detailed = false;\r\n draft.movement_list_filter = isCheckedAllPages\r\n ? filter.movement_list_filter\r\n : null;\r\n });\r\n\r\n dispatch(\r\n ListaActions.postRelatorioResumidoNovoRequest(params, 'resumido')\r\n );\r\n setIsCheckedAllPages(false);\r\n tipoRelatorio = 'resumido';\r\n } else if (item.includes('detalhado')) {\r\n const filter = produce(filterParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = produce(reportParams, (draft) => {\r\n draft.list_ids = isCheckedAllPages\r\n ? []\r\n : reportsItems.map((l) => l.idLista);\r\n draft.is_detailed = true;\r\n draft.movement_list_filter = isCheckedAllPages\r\n ? filter.movement_list_filter\r\n : null;\r\n });\r\n\r\n dispatch(\r\n ListaActions.postRelatorioDetalhadoNovoRequest(params, 'detalhado')\r\n );\r\n setIsCheckedAllPages(false);\r\n tipoRelatorio = 'detalhado';\r\n }\r\n\r\n const newLoading = produce(relatoriosLoading, (draft) => {\r\n draft[tipoRelatorio] = true;\r\n });\r\n\r\n setRelatoriosLoading(newLoading);\r\n }\r\n\r\n function downloadFileOriginLot(fileName) {\r\n dispatch(ListaActions.getDownloadArquivoLoteOriginal(fileName));\r\n }\r\n\r\n function downloadFile(base64, filename) {\r\n const temp = `data:application/vnd.ms-excel;base64,${encodeURIComponent(\r\n base64\r\n )}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n // #endregion\r\n useEffect(() => {\r\n if (!getArquivoOriginalLote.loading && getArquivoOriginalLote.success) {\r\n if (getArquivoOriginalLote.response.fileContents !== '') {\r\n const extension = {\r\n 'text/plain': 'txt',\r\n 'text/csv': 'csv',\r\n };\r\n\r\n fileDownload(\r\n getArquivoOriginalLote.response.fileContents,\r\n getArquivoOriginalLote.response.fileDownloadName,\r\n extension[getArquivoOriginalLote.response.contentType]\r\n );\r\n }\r\n }\r\n }, [getArquivoOriginalLote.loading, getArquivoOriginalLote.response]);\r\n\r\n useEffect(() => {\r\n if (!getRelatorioLista.loading && getRelatorioLista.success) {\r\n if (getRelatorioLista.response.fileContents !== '') {\r\n downloadFile(\r\n getRelatorioLista.response.fileContents,\r\n getRelatorioLista.response.fileDownloadName\r\n );\r\n }\r\n }\r\n\r\n if (!getRelatorioLista.loading) {\r\n setRelatoriosLoading({ resumido: false, detalhado: false });\r\n }\r\n }, [getRelatorioLista.loading, getRelatorioLista.response]);\r\n\r\n useEffect(() => {\r\n handleModalidadesTermos();\r\n batch(() => {\r\n dispatch(ListaActions.importarLoteRenew());\r\n dispatch(ListaActions.deleteListaRenew());\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (deleteLista.success) {\r\n if (postImportarLote.files.length > 0) {\r\n handleModalCancelAction();\r\n toogleModalFileLoading();\r\n } else {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }\r\n }\r\n dispatch(ListaActions.deleteListaRenew());\r\n }, [deleteLista.success]);\r\n\r\n useEffect(() => {\r\n if (patchListaEnvioRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message:\r\n listaAction.tipoAcao === 'Cancelar'\r\n ? 'Cancelamento de envio foi efetuado.'\r\n : 'Envio para o RPA com sucesso.',\r\n });\r\n }\r\n }, [patchListaEnvioRPA.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {!isContratanteNestle(usuario) ? (\r\n \r\n Importar Lote\r\n \r\n ) : (\r\n \r\n getAcaoLista(\r\n !isContratanteNestle(usuario)\r\n ? MovimentacaoListaEnum.returnIdForName.Lote\r\n : MovimentacaoListaEnum.returnIdForName.Nestle\r\n )\r\n }\r\n >\r\n \r\n importar lote\r\n \r\n )}\r\n\r\n {!isContratanteNestle(usuario) && (\r\n \r\n \r\n nova lista\r\n \r\n )}\r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n ]}\r\n />\r\n \r\n \r\n\r\n {status.length < 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {status.length < 1 && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n handleFiles(acaoAtual, newFiles, () => {\r\n toogleModalImportar();\r\n toogleModalFileLoading();\r\n })\r\n }\r\n isSuccess={\r\n postImportarLote.success || postImportarLote.isPartialSuccess\r\n }\r\n handleCancel={(file) => {\r\n toogleModalFileLoading();\r\n handleModalCancelAction(file);\r\n }}\r\n setAfterLoadingCallback={\r\n isContratanteNestle(usuario)\r\n ? () => {\r\n toogleModalFileLoading();\r\n getListas();\r\n }\r\n : (_) => _\r\n }\r\n loading={postImportarLote.loading}\r\n />\r\n \r\n \r\n \r\n \r\n }\r\n isOpen={getRelatorioLista.loading}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }}\r\n isOpen={openModalCancelAction.warning}\r\n footer={\r\n {\r\n handleModalCancelAction();\r\n setOpenFileLoading(false);\r\n }}\r\n onClickOk={openModalCancelAction.onClickOk}\r\n isLoading={deleteLista.loading}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, isLoading, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ConsultaListas;\r\n","import { useState } from 'react';\r\nimport produce from 'immer';\r\n\r\nconst useModal = (initialState, message, callback) => {\r\n const modalParams = {\r\n isOpen: initialState,\r\n message,\r\n onClick: callback,\r\n };\r\n\r\n const [modal, setModal] = useState(modalParams);\r\n\r\n const toogleModal = (callback) => {\r\n const newModalParams = produce(modal, (draft) => {\r\n draft.isOpen = !draft.isOpen;\r\n\r\n return draft;\r\n });\r\n\r\n setModal(newModalParams);\r\n callback();\r\n };\r\n\r\n const setParams = (initialState, message, callback) => {\r\n const newModalParams = produce(modal, (draft) => {\r\n draft.isOpen = initialState;\r\n draft.message = message;\r\n draft.onClick = callback;\r\n\r\n return draft;\r\n });\r\n\r\n setModal(newModalParams);\r\n };\r\n\r\n return { modal, toogleModal, setParams };\r\n};\r\n\r\nexport default useModal;\r\n","import React, { useState, useEffect } from 'react';\r\nimport produce from 'immer';\r\n\r\nconst useQueue = (queueLength) => {\r\n const [queue, setQueue] = useState(queueLength);\r\n const [hasFinish, setHasFinish] = useState(false);\r\n\r\n const add = (item) => {\r\n const newQueue = produce(queue, (draft) => {\r\n if (!draft.find((q) => q.id === item.id)) draft.push(item);\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n const update = (item) => {\r\n const newQueue = produce(queue, (draft) => {\r\n const updateQueue = draft.find((q) => q.id === item.id);\r\n\r\n updateQueue.trigger = item.trigger;\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n\r\n const reset = () => {\r\n setQueue([]);\r\n };\r\n const remove = (id) => {\r\n const newQueue = produce(queue, (draft) => {\r\n draft = draft.filter((q) => q.id !== id);\r\n\r\n return draft;\r\n });\r\n\r\n setQueue(newQueue);\r\n };\r\n\r\n useEffect(() => {\r\n if (queue.length > 0 && queue.every((q) => !!q.trigger)) {\r\n setHasFinish(true);\r\n reset();\r\n }\r\n }, [queue]);\r\n\r\n return [add, remove, hasFinish, setHasFinish, update, reset];\r\n};\r\n\r\nexport default useQueue;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat\r\n padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Container } from './styles';\r\n\r\nconst Input = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleClick = (a) => a,\r\n onBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n className,\r\n}) => (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n onBlur(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n className={className}\r\n />\r\n);\r\n\r\nexport default Input;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { Input } from '@rocketseat/unform';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled(Input)`\r\npadding: 10px;\r\n\r\n${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 682px;`};\r\n }\r\n }\r\n\r\n${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 82px;`};\r\n }\r\n }\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.borderGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.bgWhite} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n borderradius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.dropdownColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n${({ letterSpacing }) =>\r\n letterSpacing\r\n ? css`\r\n letter-spacing: ${letterSpacing};\r\n `\r\n : `letter-spacing: 0.52px`};\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst TextArea = ({\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n letterSpacing,\r\n width,\r\n height,\r\n name,\r\n value,\r\n handleChange = (a) => a,\r\n}) => (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n letterSpacing={letterSpacing}\r\n width={width}\r\n height={height}\r\n name={name}\r\n value={value}\r\n multiline\r\n />\r\n);\r\n\r\nexport default TextArea;\r\n","import styled, { css } from 'styled-components'\r\n\r\nimport theme from '../../../styles/theme'\r\n\r\nexport const Container = styled.button`\r\ncolor: ${theme.grayDefault};\r\nborder: none;\r\nbackground: none;\r\n\r\nsvg {\r\n cursor: pointer;\r\n}\r\n`","import React from 'react';\r\n\r\nimport { BsTrash } from 'react-icons/bs';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ButtonRemove = ({ onClick }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ButtonRemove;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n padding-left: 10px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n color: #808080;\r\n\r\n div {\r\n justify-content: flex-end;\r\n }\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid #c1bbbb`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n cursor: not-allowed;\r\n `\r\n : null};\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1\r\n ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const HiddenInput = styled.input`\r\n display: none;\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n width: 31px;\r\n border-left: 1px solid #c1bbbb;\r\n border-top: 1px solid #c1bbbb;\r\n height: 29px;\r\n align-items: center;\r\n text-align: center;\r\n padding-top: 3px;\r\n background-color: #fff;\r\n border-radius: 0px 5px 5px 0px;\r\n border-bottom: 1px solid #c1bbbb;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n align-items: center;\r\n`;\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport { uniqueId } from 'lodash';\r\n\r\nimport { MdFileUpload } from 'react-icons/md';\r\nimport { toast } from 'react-toastify';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport { getBase64 } from '../../../utils/array';\r\n\r\nimport { WarningToast } from '../Toast';\r\n\r\nimport { Container, IconContainer, HiddenInput } from './styles';\r\n\r\nfunction UploadBox({\r\n file,\r\n maxQuantityFiles,\r\n maxSizeFiles,\r\n validExtension,\r\n applyValidation,\r\n invalidCallback = () => {},\r\n setFiles,\r\n loading,\r\n}) {\r\n const [data, setData] = useState([]);\r\n const [uploadError, setUploadError] = useState(false);\r\n\r\n const fileInputRef = useRef(null);\r\n\r\n function openFileDialog() {\r\n fileInputRef.current.click();\r\n }\r\n\r\n function onFilesAdded(e) {\r\n setUploadError(false);\r\n setData([]);\r\n\r\n const { files } = e.target;\r\n handleFiles(files);\r\n }\r\n\r\n async function handleFiles(fileArray) {\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n let newFiles = await Promise.all(\r\n Object.values(fileArray).map(async (newFile) => {\r\n const base64 = await getBase64(newFile);\r\n return {\r\n newFile,\r\n name: newFile.name,\r\n readableSize: newFile.size,\r\n preview: URL.createObjectURL(newFile),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n base64,\r\n idFile: uuidv4(),\r\n idLista: file.idLista,\r\n TipoMovimentacao: null,\r\n codigoContratante: null,\r\n descricao: '',\r\n };\r\n })\r\n );\r\n\r\n if (applyValidation) {\r\n newFiles = newFiles.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (item.readableSize > maxSizeFiles) errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (newFiles.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n newFiles.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, name: item.name });\r\n });\r\n\r\n invalidCallback({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n }\r\n if (newFiles.length > 0) setFiles(newFiles);\r\n }\r\n\r\n function dragOver(e) {\r\n e.preventDefault();\r\n }\r\n function dragEnter(e) {\r\n e.preventDefault();\r\n }\r\n function dragLeave(e) {\r\n e.preventDefault();\r\n }\r\n function fileDrop(e) {\r\n e.preventDefault();\r\n const { files } = e.dataTransfer;\r\n\r\n if (files.length) {\r\n handleFiles(files);\r\n }\r\n }\r\n\r\n return (\r\n \r\n

{file.name}

\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UploadBox;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { BsCheckCircle } from 'react-icons/bs';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const UploadFileLoading = styled(AiOutlineLoading3Quarters)`\r\n ${({ isLoading }) =>\r\n isLoading\r\n ? css`\r\n animation: ${rotate} 1s infinite;\r\n color: ${theme.greenDefault};\r\n margin-left: 15px;\r\n `\r\n : css`\r\n display: none;\r\n `};\r\n`;\r\n\r\nexport const UploadFileWarning = styled(RiErrorWarningLine)`\r\n color: ${theme.yellowDefault};\r\n margin-left: 15px;\r\n`;\r\n\r\nexport const UploadFileSuccess = styled(BsCheckCircle)`\r\n color: ${theme.greenDefault};\r\n margin-left: 15px;\r\n`;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n WrapperFlex,\r\n Collapse,\r\n CollapseHeader,\r\n CollapseContent,\r\n} from '@unimed-fesp/components';\r\n\r\n// import {\r\n// Collapse,\r\n// CollapseHeader,\r\n// CollapseContent,\r\n// } from '../../molecules/Collapse';\r\n// TO-DO trocar por componente da lib\r\nimport Input from '../../atoms/Input';\r\n// TO-DO trocar pelo TextArea da lib\r\nimport TextArea from '../../atoms/TextArea';\r\n// TO-DO trocar por button da lib\r\nimport ButtonRemove from '../../atoms/ButtonRemove';\r\n\r\nimport UploadBox from '../../molecules/UploadBox';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport useMovimentacao from '../../../hooks/useMovimentacao';\r\n\r\nimport { MovimentacaoListaEnum } from '../../../enums';\r\n\r\nimport { UploadFileLoading } from './styles';\r\n\r\nfunction CollapseListaDetalhe({\r\n file,\r\n loading,\r\n uploadSuccess,\r\n onClickHandleCancelList,\r\n acao,\r\n handleFiles,\r\n}) {\r\n const MAX_QUANT_FILES = 1;\r\n const { setValidacao, setErrors } = useMovimentacao();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n return (\r\n \r\n \r\n \r\n {file.name}\r\n onClickHandleCancelList(file)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {acao !== MovimentacaoListaEnum.returnIdForName.Transferencia ? (\r\n \r\n \r\n {}} text=\"Arquivo\" />\r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CollapseListaDetalhe;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentWarning = styled.div`\r\n font: 100 14px 'work_sans' !important;\r\n margin: 0 66px 23px 66px;\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso, ContentWarning } from './styles';\r\n\r\nfunction ModalSuccess({ isOpen, onClick, text, alert }) {\r\n let height = '345';\r\n let isModalWithWarning = false;\r\n if (alert) {\r\n isModalWithWarning = true;\r\n height = '436';\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {text}\r\n {alert}\r\n \r\n ok\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalSuccess;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch, batch } from 'react-redux';\r\nimport { Form } from '@rocketseat/unform';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { FaThumbsUp } from 'react-icons/fa';\r\nimport { IoMdCheckboxOutline } from 'react-icons/io';\r\nimport { set } from 'lodash';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n TipoListaEnum,\r\n StatusEnvioListaEnum,\r\n MovimentacaoListaEnum,\r\n} from '../../enums';\r\n\r\nimport useMovimentacao from '../../hooks/useMovimentacao';\r\nimport useModal from '../../hooks/useModal';\r\nimport useQueue from '../../hooks/useQueue';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport theme from '../../styles/theme';\r\nimport CollapseListaDetalhe from '../../components/organisms/CollapseListaDetalhe';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction DetalheListas() {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n loading,\r\n putListas,\r\n isPostArquivoImportacaoSuccess,\r\n postImportarLote,\r\n postArquivoImportacao,\r\n patchListaStatus,\r\n patchValidacaoListaTransferencia,\r\n } = useSelector((state) => state.lista);\r\n\r\n const REQ_PUT_ID = 1;\r\n const REQ_PATCH_ID = 2;\r\n\r\n const { setDescricao, setTipoEnvio, handleDeleteFiles } = useMovimentacao();\r\n const success = useModal(false, '', (_) => _);\r\n const error = useModal(false, '', (_) => _);\r\n const [\r\n addSuccess,\r\n removeSuccess,\r\n finishSuccess,\r\n setFinishSuccess,\r\n updateSuccess,\r\n resetSuccess,\r\n ] = useQueue([]);\r\n\r\n // const [\r\n // addError,\r\n // removeError,\r\n // finishError,\r\n // setFinishError,\r\n // updateError,\r\n // ] = useQueue([]);\r\n\r\n const [initialData, setInitialData] = useState();\r\n const [isOnlySave, setIsOnlySave] = useState(false);\r\n\r\n const handleInitialData = useCallback(() => {\r\n const initialDataObj = {\r\n descricao: [],\r\n };\r\n postImportarLote.files.map((files) => {\r\n set(initialDataObj.descricao, files.idLista, files.descricao);\r\n });\r\n\r\n setInitialData(initialDataObj);\r\n }, [postImportarLote.files]);\r\n\r\n function handleSubmit(data) {\r\n setDescricao(postImportarLote.files, data, () => {\r\n // addSuccess({ id: REQ_PUT_ID, trigger: putListas.success });\r\n // addError({ id: REQ_PUT_ID, trigger: putListas.isError });\r\n });\r\n }\r\n\r\n const isLoading = () => {\r\n return (\r\n putListas.loading ||\r\n postArquivoImportacao.loading ||\r\n patchListaStatus.loading\r\n );\r\n };\r\n\r\n const handleFiles = (file) => {\r\n dispatch(ListaActions.postArquivoImportacaoRequest(file));\r\n };\r\n // // #region UseEffect para lidar com sucesso\r\n // useEffect(() => {\r\n // if (putListas.success) {\r\n // updateSuccess({ id: REQ_PUT_ID, trigger: putListas.success });\r\n // // removeError(REQ_PUT_ID);\r\n // }\r\n // }, [putListas.success]);\r\n // useEffect(() => {\r\n // if (patchListaStatus.success) {\r\n // updateSuccess({ id: REQ_PATCH_ID, trigger: patchListaStatus.success });\r\n // // removeError(REQ_PATCH_ID);\r\n // }\r\n // }, [patchListaStatus.success]);\r\n // // #endregion\r\n\r\n // // #region UseEffect para lidar com error\r\n // useEffect(() => {\r\n // if (putListas.isError) {\r\n // // updateError({ id: REQ_PUT_ID, trigger: putListas.isError });\r\n // removeSuccess(REQ_PUT_ID);\r\n // setIsOnlySave(false);\r\n // // resetSuccess();\r\n // }\r\n // }, [putListas.isError]);\r\n // useEffect(() => {\r\n // if (patchListaStatus.isError) {\r\n // // updateError({ id: REQ_PATCH_ID, trigger: patchListaStatus.isError });\r\n // removeSuccess(REQ_PATCH_ID);\r\n // // resetSuccess();\r\n // }\r\n // }, [patchListaStatus.isError]);\r\n // // #endregion\r\n\r\n // useEffect(() => {\r\n // if (finishSuccess) {\r\n // success.setParams(true, 'Informações salvas com sucesso!');\r\n // setFinishSuccess(false);\r\n // }\r\n // }, [finishSuccess, dispatch]);\r\n // useEffect(() => {\r\n // if (finishError) {\r\n // error.setParams(true, 'Erro ao salvar informações!');\r\n // setFinishError(false);\r\n // }\r\n // }, [finishError, dispatch]);\r\n\r\n const renewActions = () => {\r\n batch(() => {\r\n dispatch(ListaActions.deleteListaRenew());\r\n dispatch(ListaActions.putListasRenew());\r\n dispatch(ListaActions.patchListaStatusRenew());\r\n });\r\n history.push('/novo/lista');\r\n };\r\n\r\n useEffect(() => {\r\n if (postImportarLote.files.length > 0) {\r\n handleInitialData();\r\n } else {\r\n renewActions();\r\n }\r\n }, [postImportarLote.files, handleInitialData]);\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: 'importar lote',\r\n onNavigate: () => history.push('/novo/lista/importar-lote'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n {postImportarLote.files.map((file) => (\r\n \r\n ))}\r\n \r\n \r\n {TipoListaEnum.returnName[postImportarLote.tipoMovimentacao] !==\r\n TipoListaEnum.returnName.Transferencia ? (\r\n {\r\n setIsOnlySave(true);\r\n }}\r\n >\r\n salvar\r\n \r\n ) : null}\r\n \r\n {TipoListaEnum.returnName[postImportarLote.tipoMovimentacao] !==\r\n TipoListaEnum.returnName.Transferencia ? (\r\n {\r\n setTipoEnvio(\r\n StatusEnvioListaEnum.returnIdForName.Processamento,\r\n MovimentacaoListaEnum.returnIdForName[\r\n postImportarLote.tipoMovimentacao\r\n ],\r\n postImportarLote.files\r\n // () => {\r\n // addSuccess({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.success,\r\n // });\r\n // addError({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.isError,\r\n // });\r\n // }\r\n );\r\n }}\r\n >\r\n \r\n processar\r\n \r\n ) : null}\r\n {\r\n setTipoEnvio(\r\n StatusEnvioListaEnum.returnIdForName.Validacao,\r\n MovimentacaoListaEnum.returnIdForName[\r\n postImportarLote.tipoMovimentacao\r\n ],\r\n postImportarLote.files\r\n // () => {\r\n // addSuccess({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.success,\r\n // });\r\n // addError({\r\n // id: REQ_PATCH_ID,\r\n // trigger: patchListaStatus.isError,\r\n // });\r\n // }\r\n );\r\n }}\r\n >\r\n \r\n validar\r\n \r\n \r\n \r\n
\r\n \r\n success.toogleModal(\r\n !isOnlySave ? () => renewActions() : () => setIsOnlySave(false)\r\n )\r\n }\r\n isOpen={success.modal.isOpen}\r\n />\r\n {/* error.toogleModal(() => setIsOnlySave(false))}\r\n isOpen={error.modal.isOpen}\r\n /> */}\r\n
\r\n );\r\n}\r\n\r\nexport default DetalheListas;\r\n","import styled, { css } from 'styled-components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\nimport themes from '../../../styles/theme';\r\n\r\nexport const ButtonContainer = styled(Button).attrs((props) => ({\r\n type: props.type,\r\n}))`\r\n background-color: ${themes.grey100};\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid ${themes.grey100};\r\n opacity: 1;\r\n width: 130px;\r\n height: 70px;\r\n font-size: 14px;\r\n font-weight: 600;\r\n font-family: 'unimed_slabregular';\r\n text-align: center;\r\n color: #a1a1a1;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n justify-content: center;\r\n padding: 0 20px;\r\n\r\n &:hover {\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n }\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n ;\r\n `}\r\n\r\n ${({ active }) =>\r\n active &&\r\n css`\r\n background: #ffff 0% 0% no-repeat padding-box;\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n `}\r\n\r\n ${({ defaultActive, active }) =>\r\n defaultActive && !active\r\n ? css`\r\n background: #ffff 0% 0% no-repeat padding-box;\r\n border-radius: 5px 5px 0px 0px;\r\n border: 1px solid #ffff;\r\n color: ${(props) => props.color};\r\n background-color: ${themes.bgWhite};\r\n `\r\n : null}\r\n\r\n\r\n ${({ widthAuto }) =>\r\n widthAuto\r\n ? css`\r\n width: auto;\r\n `\r\n : css`\r\n width: 130px; ;\r\n `}\r\n`;\r\n\r\nexport const ActionWrapper = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: left;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css``\r\n : css`\r\n display: none;\r\n `}\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : css`\r\n max-height: 540px;\r\n `}\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : css`\r\n min-height: 540px;\r\n `}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n height: 540px;\r\n `}\r\n`;\r\n\r\nexport const ContentContainer = styled.div`\r\n display: inline-block;\r\n width: 65rem;\r\n`;\r\n","import { createContext } from 'react';\r\n\r\nconst ActionContext = createContext();\r\n\r\nexport default ActionContext;\r\n","import React, {\r\n cloneElement,\r\n isValidElement,\r\n useState,\r\n useContext,\r\n useMemo,\r\n useEffect,\r\n} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContentContainer,\r\n ButtonContainer,\r\n ActionWrapper,\r\n ContentWrapper,\r\n} from './styles';\r\n\r\nimport ActionContext from '../../../context/TabContext';\r\n\r\nconst TabButton = ({\r\n name,\r\n text,\r\n color,\r\n active,\r\n children,\r\n onClick,\r\n widthAuto,\r\n display,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst TabActionWrapper = ({ children }) => {\r\n const { nameButton } = useContext(ActionContext);\r\n\r\n function isArray(obj) {\r\n return !!obj && obj.length > 0 ? obj : Array(obj);\r\n }\r\n\r\n function setActive(child) {\r\n if (!nameButton) return child;\r\n if (child.props.name === nameButton) {\r\n return cloneElement(child, {\r\n active: true,\r\n });\r\n }\r\n return cloneElement(child, {\r\n active: false,\r\n });\r\n }\r\n\r\n function handleActiveEvent() {\r\n return isArray(children).map((child) => {\r\n if (isValidElement(child)) {\r\n return setActive(child);\r\n }\r\n });\r\n }\r\n\r\n return {handleActiveEvent()};\r\n};\r\n\r\nconst TabContentWrapper = ({\r\n children,\r\n contentFor,\r\n active,\r\n onClick,\r\n height,\r\n maxHeight,\r\n}) => {\r\n const { nameButton } = useContext(ActionContext);\r\n const [display, setDisplay] = useState(false);\r\n\r\n function displayTabContent() {\r\n if (nameButton === contentFor) return setDisplay(true);\r\n return setDisplay(false);\r\n }\r\n\r\n useEffect(() => {\r\n active && !nameButton ? setDisplay(true) : displayTabContent();\r\n }, [nameButton, display, active]);\r\n\r\n return display ? (\r\n \r\n {children}\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst TabContainer = ({ children }) => {\r\n const [nameButton, setName] = useState('');\r\n\r\n function handleActive(e) {\r\n const name =\r\n e.target.name !== undefined ? e.target.name : e.target.parentElement.name;\r\n if (name) {\r\n setName(name);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport { TabButton, TabActionWrapper, TabContentWrapper, TabContainer };\r\n// name, text, color, active\r\n\r\nTabButton.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n text: PropTypes.string.isRequired,\r\n color: PropTypes.string,\r\n active: PropTypes.bool,\r\n};\r\n\r\nTabButton.defaultProps = {\r\n color: theme.grayDefault,\r\n active: false,\r\n};\r\n\r\nTabActionWrapper.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\nTabContentWrapper.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n contentFor: PropTypes.string.isRequired,\r\n};\r\nTabContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n align-self: center;\r\n text-align: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Message = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { VscError } from 'react-icons/vsc';\r\nimport {\r\n ModalContent,\r\n ModalHeader,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n} from '../../molecules/Modal';\r\n\r\nimport { Container, ContentText, Message } from './styles';\r\n\r\nfunction ModalError({ isOpen, onClick, text }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {text} \r\n \r\n ok\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalError;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n text-align: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: normal normal normal 16px/20px Calibri;\r\n color: #60656c;\r\n margin-top: 25px;\r\n margin-bottom: 31px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 16px Calibri;\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 16px Calibri;\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n margin-top: 0px !important;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 121px;\r\n height: 40px;\r\n display block;\r\n`;\r\n","import { Button, Modal } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n ModalHeader,\r\n} from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalCancelAction({\r\n isOpen,\r\n onClick,\r\n onClickOk,\r\n text,\r\n textHeader,\r\n isLoading,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst Footer = ({ onClick, isLoading, onClickOk }) => (\r\n \r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n);\r\n\r\nexport default ModalCancelAction;\r\n","import { createContext } from 'react';\r\n\r\nconst DropDownContext = createContext();\r\n\r\nexport default DropDownContext;\r\n","import { useEffect } from 'react';\r\n\r\nconst useOutsideClick = (ref, callback) => {\r\n const handleClick = (e) => {\r\n if (ref.current && !ref.current.contains(e.target)) {\r\n callback();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClick);\r\n\r\n return () => {\r\n document.removeEventListener('click', handleClick);\r\n };\r\n });\r\n};\r\n\r\nexport default useOutsideClick;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.ul`\r\n overflow: auto;\r\n list-style: none;\r\n\r\n ${({ invisibleScroll }) =>\r\n invisibleScroll\r\n ? css`\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n `\r\n : ``};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : ``};\r\n\r\n ${({ maxHeight }) =>\r\n maxHeight\r\n ? css`\r\n max-height: ${maxHeight};\r\n `\r\n : `max-height: 200px;`};\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border} solid ${theme.greenDefault};\r\n `\r\n : `border: 2px solid ${theme.greenDefault}`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.dropdownColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ letterSpacing }) =>\r\n letterSpacing\r\n ? css`\r\n letter-spacing: ${letterSpacing};\r\n `\r\n : `letter-spacing: 0.52px`};\r\n`;\r\n\r\nexport const SelectOption = styled.li`\r\n list-style-position: inside;\r\n overflow-wrap: break-word;\r\n text-overflow: ellipsis;\r\n padding: 10px;\r\n cursor: pointer;\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : ``};\r\n\r\n &:hover,\r\n &:focus {\r\n color: ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n font-weight: bold;\r\n }\r\n\r\n &:active {\r\n border: 1px solid ${theme.greenDefault};\r\n background-color: ${theme.greenDefault};\r\n color: ${theme.white};\r\n border-radius: 0px;\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n`;\r\n\r\nexport const DropdownHeader = styled.div`\r\n &:active:not([disabled='disabled']) {\r\n ${({ cancelActive }) =>\r\n cancelActive\r\n ? css`\r\n border: 2px solid ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n color: ${theme.greenDefault}; ;\r\n `\r\n : ``};\r\n }\r\n\r\n background: ${theme.whiteBackground} 0% 0% no-repeat padding-box;\r\n color: #a1a1a1;\r\n\r\n font-size: 15px;\r\n font-family: 'Calibri';\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n text-align: left;\r\n\r\n min-height: 2.875rem;\r\n padding: 6px;\r\n align-content: baseline;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n /* svg {\r\n margin-left: 10px;\r\n } */\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ``};\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : css`\r\n border: 1px solid ${theme.grayDefault};\r\n `};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : css`\r\n color: ${theme.grey};\r\n `};\r\n\r\n ${({ disable }) =>\r\n !disable\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : css`\r\n &:active:not([disabled='disabled']) {\r\n background: ${theme.greyDisable} 0% 0% no-repeat padding-box;\r\n border: 1px solid ${theme.grayDefault};\r\n color: ${theme.grayDefault};\r\n }\r\n cursor: not-allowed;\r\n `};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 2.875rem;`};\r\n\r\n ${({ whiteSpace }) =>\r\n whiteSpace\r\n ? css`\r\n white-space: ${whiteSpace};\r\n `\r\n : ``};\r\n\r\n ${({ active }) =>\r\n active\r\n ? css`\r\n border: 2px solid ${theme.greenDefault};\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n`;\r\n\r\nexport const OptionContainer = styled.div`\r\n min-height: 1.875rem;\r\n padding: 0;\r\n margin: 0;\r\n font-size: 1.3rem;\r\n font-weight: 500;\r\n position: absolute;\r\n z-index: 10;\r\n margin-top: 3px;\r\n\r\n &:first-child {\r\n padding-top: 0.8em;\r\n }\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 1.875rem`};\r\n\r\n ${({ minWidth }) =>\r\n minWidth\r\n ? css`\r\n min-width: ${minWidth};\r\n `\r\n : ''}\r\n`;\r\nexport const DropDownWrapper = styled.div`\r\n min-height: 2.875rem;\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin};\r\n `\r\n : ``};\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 13.75rem;`};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n min-height: ${height};\r\n height: ${height};\r\n `\r\n : `height: 1.875rem;`};\r\n\r\n ${({ backgroundColor }) =>\r\n backgroundColor\r\n ? css`\r\n background-color: ${backgroundColor};\r\n `\r\n : `background-color: ${theme.white}`};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ``};\r\n\r\n ${({ disable }) =>\r\n !disable\r\n ? css``\r\n : css`\r\n cursor: not-allowed;\r\n background: ${theme.greyDisable} 0% 0% no-repeat padding-box;\r\n `};\r\n`;\r\n","import React, { useState, useContext, useRef, useEffect } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { MdKeyboardArrowDown } from 'react-icons/md';\r\nimport DropDownContext from '../../../context/DropDownContext';\r\n\r\nimport useOutsideClick from '../../../utils/useOutsideClick';\r\n\r\nimport {\r\n Container,\r\n DropDownWrapper,\r\n SelectOption,\r\n OptionContainer,\r\n DropdownHeader,\r\n} from './styles';\r\n\r\nconst Dropdown = ({\r\n text,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n letterSpacing,\r\n children,\r\n onClick,\r\n maxHeight,\r\n width,\r\n invisibleScroll,\r\n}) => {\r\n const { isOpen } = useContext(DropDownContext);\r\n return isOpen ? (\r\n \r\n {children}\r\n \r\n ) : null;\r\n};\r\n\r\nconst Option = ({ name, children, onClick, text, borderRadius, color }) => {\r\n return (\r\n \r\n {' '}\r\n {children} {text}{' '}\r\n \r\n );\r\n};\r\n\r\nconst DropDownListContainer = ({\r\n children,\r\n width,\r\n borderRadius,\r\n display,\r\n minWidth,\r\n}) => {\r\n const { isOpen } = useContext(DropDownContext);\r\n return (\r\n \r\n {children}{' '}\r\n \r\n );\r\n};\r\nconst DropDownHeader = ({\r\n children,\r\n name,\r\n width,\r\n borderRadius,\r\n disable,\r\n color,\r\n whiteSpace,\r\n minHeight,\r\n height,\r\n cancelActive,\r\n className,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField } = useField(name);\r\n const { isOpen } = useContext(DropDownContext);\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'textContent',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\nconst DropDownContainer = ({\r\n children,\r\n disable,\r\n backgroundColor,\r\n width,\r\n borderRadius,\r\n display,\r\n marginRight,\r\n marginLeft,\r\n marginTop,\r\n border,\r\n margin,\r\n className,\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const ref = useRef();\r\n\r\n const toggling = (e) => {\r\n if (!disable) {\r\n if (e.target) setIsOpen(!isOpen);\r\n }\r\n };\r\n useOutsideClick(ref, () => setIsOpen(false));\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\nexport {\r\n Dropdown,\r\n Option,\r\n DropDownListContainer,\r\n DropDownHeader,\r\n DropDownContainer,\r\n};\r\n// text,background,border,borderRadius,opacity,color,font,textAlign,letterSpacing,children,onClick,\r\nDropdown.propTypes = {\r\n text: PropTypes.string,\r\n background: PropTypes.string,\r\n border: PropTypes.bool,\r\n borderRadius: PropTypes.bool,\r\n opacity: PropTypes.bool,\r\n color: PropTypes.bool,\r\n font: PropTypes.bool,\r\n textAlign: PropTypes.bool,\r\n letterSpacing: PropTypes.bool,\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func,\r\n};\r\n\r\nDropdown.defaultProps = {\r\n text: '',\r\n background: null,\r\n border: null,\r\n borderRadius: null,\r\n opacity: null,\r\n color: null,\r\n font: null,\r\n textAlign: null,\r\n letterSpacing: null,\r\n onClick: (a) => a,\r\n};\r\n\r\nOption.propTypes = {\r\n children: PropTypes.node,\r\n};\r\n\r\nOption.defaultProps = {\r\n children: null,\r\n};\r\n\r\nDropDownListContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nDropDownHeader.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\nDropDownContainer.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n","import React from 'react';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Dropdown,\r\n DropDownContainer,\r\n DropDownHeader,\r\n DropDownListContainer,\r\n Option,\r\n} from '../../molecules/Dropdown';\r\n\r\nconst DropDown = ({\r\n disable,\r\n name,\r\n headerText,\r\n maxHeight,\r\n options,\r\n onClick = (_) => _,\r\n overrideClick = false,\r\n params,\r\n setParams,\r\n className,\r\n width,\r\n height,\r\n minHeight,\r\n}) => {\r\n const handleClick = (e) => {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name || e.target.getAttribute('name')] =\r\n e.target.dataset.text;\r\n\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n };\r\n\r\n return (\r\n \r\n \r\n {headerText}\r\n \r\n \r\n \r\n {Object.values(options).map((option, index) => (\r\n {\r\n onClick(e);\r\n }\r\n : (e) => handleClick(e)\r\n }\r\n text={option}\r\n />\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DropDown;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n// TO-DO trocar por componente da lib\r\nimport Input from '../../atoms/Input';\r\n\r\nimport DropDown from '../DropDown';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight}px;\r\n `\r\n : ''}\r\n`;\r\nexport const SearchIconContainer = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 40px;\r\n width: 49px;\r\n border: 1px solid ${theme.grayDefault};\r\n border-bottom-right-radius: 5px;\r\n border-top-right-radius: 5px;\r\n\r\n cursor: pointer;\r\n`;\r\n\r\nexport const InputSearch = styled(Input).attrs((props) => ({\r\n value: props.value,\r\n handleChange: props.onChange,\r\n onBlur: props.onBlur,\r\n handleInputKeyDown: props.handleInputKeyDown,\r\n}))`\r\n border-bottom-left-radius: 0;\r\n border-top-left-radius: 0;\r\n border-bottom-right-radius: 0;\r\n border-top-right-radius: 0;\r\n`;\r\nexport const DropDownSearch = styled(DropDown).attrs((props) => ({\r\n height: props.height,\r\n minHeight: props.height,\r\n width: props.width,\r\n name: props.name,\r\n onClick: props.onClick,\r\n}))`\r\n div {\r\n border-bottom-right-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n height: ${(props) => props.height && `${props.height}px`};\r\n min-height: ${(props) => props.height && `${props.height}px`};\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n`;\r\n","import React, { useState } from 'react';\r\nimport produce from 'immer';\r\nimport { MdSearch } from 'react-icons/md';\r\n\r\nimport {\r\n Container,\r\n InputSearch,\r\n DropDownSearch,\r\n SearchIconContainer,\r\n} from './styles';\r\n\r\nfunction DropDownSearchBox({\r\n dropdownName,\r\n inputName,\r\n params,\r\n setParams,\r\n options,\r\n inputWidth,\r\n width,\r\n placeholder,\r\n marginRight,\r\n handleInputKeyDown = (_) => _,\r\n onClick = (_) => _,\r\n}) {\r\n function handleChange(e) {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n }\r\n\r\n const handleClick = (e) => {\r\n const newParams = produce(params, (draft) => {\r\n draft[e.target.name || e.target.getAttribute('name')] =\r\n e.target.dataset.text;\r\n draft[inputName] = '';\r\n return draft;\r\n });\r\n\r\n setParams(newParams);\r\n };\r\n\r\n return (\r\n \r\n \r\n {\r\n if (e.keyCode === 13) e.preventDefault();\r\n handleInputKeyDown(e);\r\n }}\r\n onChange={(e) => {\r\n handleChange(e);\r\n }}\r\n placeholder={placeholder}\r\n width={inputWidth}\r\n height=\"40\"\r\n />\r\n onClick(e)}>\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DropDownSearchBox;\r\n","import React, { Component } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\nimport css from 'dom-css';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst trackStyle = {\r\n position: 'absolute',\r\n transition: 'opacity 200ms ease 0s',\r\n right: 2,\r\n bottom: 2,\r\n zIndex: 1,\r\n // borderRadius: 3\r\n // backgroundColor: theme.yellowTranslucid\r\n};\r\n\r\nconst CustomScrollBars = (props) => {\r\n const thumbStyle = () => ({\r\n cursor: 'pointer',\r\n borderRadius: 3,\r\n backgroundColor: theme.grey,\r\n overflowX: 'auto',\r\n overflowY: 'hidden',\r\n height: props.height,\r\n });\r\n\r\n const handleUpdate = (values) => {\r\n const { scrollTop, scrollHeight, clientHeight } = values;\r\n\r\n const bottomScrollTop = scrollHeight - clientHeight;\r\n };\r\n\r\n return (\r\n props.getRef && props.getRef(e)}\r\n onUpdate={handleUpdate}\r\n renderTrackHorizontal={({ style, ...props }) => (\r\n \r\n )}\r\n renderTrackVertical={({ style, ...props }) => (\r\n \r\n )}\r\n renderThumbHorizontal={({ style, ...props }) => (\r\n \r\n )}\r\n renderThumbVertical={({ style, ...props }) => (\r\n \r\n )}\r\n renderView={({ style, ...props }) => (\r\n
\r\n )}\r\n {...props}\r\n >\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport default CustomScrollBars;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 600 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: ${theme.colorGray};\r\n background-color: ${theme.bgWhite};\r\n width: 100%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n`;\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n color: ${theme.colorGray};\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 90px;\r\n background-color: ${theme.grey100};\r\n margin-bottom: 16px;\r\n`;\r\nexport const EmptyRow = styled.div`\r\n margin: 10px 0px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 40px;\r\n\r\n background-color: ${theme.grey100};\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n background: linear-gradient(-90deg, #e5e5e5 0%, #f8f8f8 50%, #f8f8f8 100%);\r\n background-size: 350% 400%;\r\n animation: pulse 1.2s ease-in-out infinite;\r\n\r\n height: ${({ height }) => height || `100%`};\r\n width: ${({ width }) => width || `100%`};\r\n\r\n ${({ marginSides }) =>\r\n marginSides &&\r\n css`\r\n margin-left: ${marginSides}px;\r\n margin-right: ${marginSides}px;\r\n `};\r\n ${({ marginUpDown }) =>\r\n marginUpDown &&\r\n css`\r\n margin-top: ${marginUpDown}px;\r\n margin-bottom: ${marginUpDown}px;\r\n `};\r\n ${({ marginBottom }) =>\r\n marginBottom &&\r\n css`\r\n margin-bottom: ${marginBottom}px;\r\n `};\r\n\r\n @keyframes pulse {\r\n 0% {\r\n background-position: 0% 0%;\r\n }\r\n 100% {\r\n background-position: -135% 0%;\r\n }\r\n }\r\n`;\r\n\r\nexport const LoadingContent = styled.div``;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction Skeleton({ marginUpDown, marginSides, width, height, marginBottom }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Skeleton;\r\n","import React from 'react';\r\n\r\nimport { ContainerEmptyContent, EmptyRow, EmptyContentText } from './styles';\r\n\r\nimport Skeleton from '../../atoms/Skeleton';\r\n\r\nfunction EmptyContent({\r\n children,\r\n text = 'Nenhum registro localizado',\r\n display,\r\n marginTop,\r\n isLoading,\r\n}) {\r\n return !isLoading ? (\r\n \r\n {children ? (\r\n {children}\r\n ) : (\r\n {text}\r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default EmptyContent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { isEmpty, uniqueId } from 'lodash';\r\n\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Table,\r\n Checkbox,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n TableHeader,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { TipoConsultaParametrizacaoEnum } from '../../../enums';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nfunction TableContratantes({\r\n grupoComplementosParams,\r\n contratanteParams,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n initialParams,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) {\r\n useEffect(() => {\r\n if (!isEmpty(grupoComplementosParams.response.data)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = grupoComplementosParams.response.data.pageNumber;\r\n draft.pageSize = grupoComplementosParams.response.data.pageSize;\r\n draft.totalPages = Math.ceil(\r\n grupoComplementosParams.response.size /\r\n grupoComplementosParams.response.data.pageSize\r\n );\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n // setNewPageAtual(pageData.pageNumber);\r\n // setPageSize(pageData.pageSize);\r\n }\r\n }, [grupoComplementosParams]);\r\n\r\n if (\r\n initialParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return (\r\n <>\r\n {grupoComplementosParams.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n return (\r\n <>\r\n {contratanteParams.loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nconst TableComplementoHeader = ({\r\n isCheckedAllComplemento,\r\n setIsCheckedAllComplemento,\r\n}) => {\r\n return (\r\n \r\n \r\n setIsCheckedAllComplemento(!isCheckedAllComplemento)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Código\r\n \r\n \r\n Nome\r\n \r\n \r\n Complemento\r\n \r\n \r\n Qtd. Contratantes\r\n \r\n \r\n Qtd. Modalidades\r\n \r\n \r\n Qtd. Termos\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableComplemento = ({\r\n grupoComplementosParams,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) => {\r\n const [isCheckedAllComplemento, setIsCheckedAllComplemento] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(pageData)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [grupoComplementosParams]);\r\n\r\n return (\r\n \r\n \r\n }\r\n >\r\n {grupoComplementosParams &&\r\n grupoComplementosParams[0]?.codigoComplemento !== '' ? (\r\n grupoComplementosParams.map((complemento, index) => (\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {grupoComplementosParams && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContentComplemento = ({\r\n complemento,\r\n checkAll,\r\n setRowsChecked,\r\n index,\r\n rowsChecked,\r\n}) => {\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [complementoState, setComplementoState] = useState({\r\n complemento,\r\n checked: !isChecked,\r\n });\r\n\r\n function handleCheckedComplemento(e, check, codigoComplemento) {\r\n const newComplemento = produce(complementoState, (draft) => {\r\n if (draft.complemento.codigoComplemento === codigoComplemento) {\r\n draft.listaContratantes = draft.complemento.listaContratantes;\r\n draft.checked = !check;\r\n draft.tipoParametrizacao = TipoConsultaParametrizacaoEnum.returnName[1];\r\n draft.id = codigoComplemento;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n }\r\n\r\n return draft;\r\n });\r\n\r\n const newComplementoRowChecked = produce(rowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return u.checked === true;\r\n });\r\n\r\n if (newComplemento.checked) newDraft.push(newComplemento);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setComplementoState(newComplemento);\r\n setRowsChecked(newComplementoRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newComplemento = produce(complementoState, (draft) => {\r\n draft.checked = checkAll;\r\n draft.tipoParametrizacao = TipoConsultaParametrizacaoEnum.returnName[1];\r\n draft.listaContratantes = draft.complemento.listaContratantes;\r\n draft.id = draft.complemento.codigoComplemento;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n\r\n return draft;\r\n });\r\n\r\n setComplementoState(newComplemento);\r\n if (checkAll) {\r\n if (\r\n !rowsChecked\r\n .map(\r\n (complementoRowChecked) =>\r\n complementoRowChecked.complemento.codigoComplemento\r\n )\r\n .includes(newComplemento.complemento.codigoComplemento)\r\n )\r\n setRowsChecked((oldArray) => [...oldArray, newComplemento]);\r\n } else setRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n handleCheckedComplemento(\r\n e,\r\n complementoState.checked,\r\n complemento.codigoComplemento\r\n )\r\n }\r\n isClickable\r\n >\r\n \r\n \r\n handleCheckedComplemento(\r\n e,\r\n complementoState.checked,\r\n complemento.codigoComplemento\r\n )\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n {complemento.codigoGrupo ? complemento.codigoGrupo : '-'}\r\n \r\n \r\n {complemento.nomeGrupo ? complemento.nomeGrupo : '-'}\r\n \r\n \r\n {complemento.codigoComplemento ? complemento.codigoComplemento : '-'}\r\n \r\n \r\n {complemento.contratantes}\r\n \r\n \r\n {complemento.modalidades}\r\n \r\n \r\n {complemento.termos}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContratanteHeader = ({\r\n isCheckedAllContratante,\r\n setIsCheckedAllContratante,\r\n}) => {\r\n return (\r\n \r\n \r\n setIsCheckedAllContratante(!isCheckedAllContratante)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Código\r\n \r\n \r\n Nome\r\n \r\n \r\n Inscrição\r\n \r\n \r\n Qtd. Modalidades\r\n \r\n \r\n Qtd. Termos\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContratante = ({\r\n contratanteParams,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n rowsChecked,\r\n setRowsChecked,\r\n handleChangePage,\r\n}) => {\r\n const [isCheckedAllContratante, setIsCheckedAllContratante] = useState(false);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(pageData)) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [contratanteParams]);\r\n\r\n return (\r\n \r\n \r\n }\r\n >\r\n {contratanteParams && contratanteParams[0]?.nomeContratante !== '' ? (\r\n contratanteParams.map((contratante, index) => (\r\n \r\n ))\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {contratanteParams && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContentContratante = ({\r\n contratante,\r\n checkAll,\r\n index,\r\n rowsChecked,\r\n setRowsChecked,\r\n}) => {\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [contratanteState, setContratanteState] = useState({\r\n contratante,\r\n checked: !isChecked,\r\n });\r\n\r\n function handleCheckedContratante(e, check, codigoContratante) {\r\n const newContratante = produce(contratanteState, (draft) => {\r\n if (draft.contratante.codigoContratante === codigoContratante) {\r\n draft.checked = !check;\r\n draft.listaContratantes = [draft.contratante.codigoContratante];\r\n draft.tipoParametrizacao = 'Contratante';\r\n draft.id = codigoContratante;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n }\r\n\r\n return draft;\r\n });\r\n\r\n const newContratanteRowChecked = produce(rowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return (\r\n u.contratante.codigoContratante !==\r\n newContratante.contratante.codigoContratante && u.checked === true\r\n );\r\n });\r\n\r\n if (newContratante.checked) newDraft.push(newContratante);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setContratanteState(newContratante);\r\n setRowsChecked(newContratanteRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newContratante = produce(contratanteState, (draft) => {\r\n draft.checked = checkAll;\r\n draft.tipoParametrizacao = 'Contratante';\r\n draft.listaContratantes = [draft.contratante.codigoContratante];\r\n draft.id = draft.contratante.codigoContratante;\r\n draft.idCard = uniqueId('card_');\r\n draft.isEditar = false;\r\n draft.selectedOptions = {};\r\n draft.path = [];\r\n draft.options = [];\r\n draft.contagem = {};\r\n draft.idParametrizacao = 0;\r\n draft.nodeLoading = false;\r\n draft.cardLoading = false;\r\n\r\n return draft;\r\n });\r\n setContratanteState(newContratante);\r\n if (checkAll) {\r\n if (\r\n !rowsChecked\r\n .map(\r\n (contratanteRowChecked) =>\r\n contratanteRowChecked.contratante.codigoContratante\r\n )\r\n .includes(newContratante.contratante.codigoContratante)\r\n )\r\n setRowsChecked((oldArray) => [...oldArray, newContratante]);\r\n } else setRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n handleCheckedContratante(\r\n e,\r\n contratanteState.checked,\r\n contratante.codigoContratante\r\n )\r\n }\r\n isClickable\r\n >\r\n \r\n \r\n handleCheckedContratante(\r\n e,\r\n contratanteState.checked,\r\n contratante.codigoContratante\r\n )\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n {contratante.codigoContratante ? contratante.codigoContratante : '-'}\r\n \r\n \r\n {contratante.nomeContratante ? contratante.nomeContratante : '-'}\r\n \r\n \r\n {contratante.numeroInscricao ? contratante.numeroInscricao : '-'}\r\n \r\n \r\n {contratante.modalidades}\r\n \r\n \r\n {contratante.termos}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableContratantes;\r\n","import React from 'react';\r\n\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableUsuarioHeader = () => {\r\n return (\r\n \r\n \r\n \r\n Nome\r\n \r\n \r\n Email\r\n \r\n \r\n Tipo Perfil\r\n \r\n \r\n Status\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableUsuarioHeader;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Checkbox, TableRow, TableCell } from '@unimed-fesp/components';\r\n\r\nimport TipoStatusEnum from '../../../enums/TipoStatusEnum';\r\nimport TipoPerfilUsuarioEnum from '../../../enums/TipoPerfilUsuarioEnum';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableBody = ({ selectedUser, handleCheckUser }) => {\r\n const { responseUsuarioEspelho: response } = useSelector(\r\n (state) => state.usuario\r\n );\r\n\r\n return (\r\n <>\r\n {!(response && response.data && response.data.length > 0) ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n {response.data.map((user) => (\r\n handleCheckUser(user)}>\r\n \r\n handleCheckUser(user)}\r\n checked={user.idUsuario === selectedUser?.idUsuario}\r\n />\r\n \r\n \r\n {user.nome ? user.nome : '-'}\r\n \r\n \r\n {user.email ? user.email : '-'}\r\n \r\n \r\n {user.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n user.tipoPerfil\r\n ]\r\n : '-'}\r\n \r\n \r\n {user.tipoStatus\r\n ? TipoStatusEnum.returnNameFormattedForName[user.tipoStatus]\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default TableBody;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport TableUsuarioHeader from './TableUsuarioHeader';\r\nimport TableUsuarioEspelhoBody from './TableUsuarioEspelhoBody';\r\n\r\nconst TableUsariosEspelho = ({\r\n selectedUser,\r\n handleCheckUser,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) => {\r\n const {\r\n loading,\r\n success,\r\n responseUsuarioEspelho: { total },\r\n } = useSelector((state) => state.usuario);\r\n\r\n if (loading) return ;\r\n\r\n return (\r\n \r\n }\r\n foot={\r\n success && (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableUsariosEspelho;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n Modal,\r\n WrapperFlex,\r\n Text,\r\n ScrollBar,\r\n} from '@unimed-fesp/components';\r\n\r\nimport DropDownSearchBox from '../DropDownSearchBox';\r\nimport TableContratantes from '../TableContratantes';\r\nimport TableUsariosEspelho from '../TableUsariosEspelho';\r\n\r\nimport { TipoConsultaParametrizacaoEnum } from '../../../enums';\r\n\r\nfunction ModalConsultaContratantes({\r\n isOpen,\r\n onClick,\r\n params,\r\n setParams,\r\n grupoComplementosParams,\r\n contratanteParams,\r\n rowsChecked,\r\n setRowsChecked,\r\n paginationParams,\r\n setPaginationParams,\r\n handleSearchTable,\r\n setTipoBusca,\r\n handleAdicionarModal,\r\n handleCheckUser,\r\n selectedUser,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n function handleChangePage(paramsPgs) {\r\n dispatch(setTipoBusca(params.tipoParametrizacao, paramsPgs));\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n dispatch(setTipoBusca(params.tipoParametrizacao));\r\n }\r\n }\r\n\r\n return (\r\n onClick(e)}\r\n width={916}\r\n height={544}\r\n top={43}\r\n justifyContentFooter=\"flex-end\"\r\n header={<>consultar}\r\n footer={\r\n handleAdicionarModal()}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n handleSearchTable(e, true)}\r\n />\r\n \r\n \r\n \r\n \r\n {params.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[3] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, handleAdicionarModal }) => {\r\n return (\r\n <>\r\n onClick(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onClick(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalConsultaContratantes;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n width: 832px;\r\n min-height: 140px;\r\n height: auto;\r\n background: ${theme.grey100} 0% 0% no-repeat padding-box;\r\n border: 1px solid ${theme.grey300};\r\n border-radius: 8px;\r\n opacity: 1;\r\n padding-bottom: 5px;\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''}\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const IconWrapper = styled.div`\r\n height: 40px;\r\n width: 40px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''}\r\n &:hover {\r\n background: ${theme.greenDefault} 0% 0% no-repeat padding-box;\r\n svg {\r\n color: ${theme.bgWhite} !important;\r\n\r\n path {\r\n fill: ${theme.bgWhite} !important;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const WrapperFlex = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n transition: transform 1s;\r\n`;\r\n\r\nexport const HeaderIconsContainer = styled.div`\r\n display: flex;\r\n`;\r\n\r\nexport const CardContratantesContentContainer = styled.div`\r\n margin-left: 16px;\r\n transition: transform 1s;\r\n`;\r\n\r\nexport const CardContratantesHeaderContainer = styled.div`\r\n transition: transform 1s;\r\n display: block;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 10px 0px 10px 0px;\r\n letter-spacing: 0.32px;\r\n font: 15px unimed_slabsemibold;\r\n color: ${theme.grey410};\r\n border-bottom: solid;\r\n border-width: thin;\r\n border-color: ${theme.grey210};\r\n margin: 0px 16px 0px 16px;\r\n`;\r\n","/* eslint-disable no-nested-ternary */\r\nimport React from 'react';\r\nimport { FiCheck } from 'react-icons/fi';\r\n\r\nimport { WrapperFlex, Tooltip, Text } from '@unimed-fesp/components';\r\n\r\nimport Icon from '../../atoms/Icon';\r\nimport {\r\n Container,\r\n CardContratantesContentContainer,\r\n CardContratantesHeaderContainer,\r\n HeaderIconsContainer,\r\n IconWrapper,\r\n IconContainer,\r\n} from './styles';\r\nimport LoadingSpinning from '../LoadingSpinning';\r\n\r\nimport { isContratante } from '../../../utils/userRole';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction CardContratantes({\r\n children,\r\n contratanteHeader,\r\n cardType,\r\n marginLeft,\r\n marginTop,\r\n display,\r\n width,\r\n onClickEditar,\r\n onClickSalvar,\r\n onClickExcluir,\r\n isEditar,\r\n usuarioDadosGerais,\r\n idUsuario,\r\n idParametrizacao,\r\n loading,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {contratanteHeader}\r\n \r\n {!isEditar ? (\r\n \r\n \r\n \r\n \r\n \r\n ) : loading ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CardContratantes;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.button`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n border: none;\r\n background: ${theme.transparent};\r\n transition: all 0.3s ease;\r\n cursor: pointer;\r\n\r\n height: ${({ Size }) => (Size ? `${Size}px` : `36px`)};\r\n width: ${({ Size }) => (Size ? `${Size}px` : `36px`)};\r\n\r\n ${({ menu }) =>\r\n menu &&\r\n css`\r\n transform: rotate(360deg);\r\n `}\r\n\r\n ${({ isCollapsed }) =>\r\n isCollapsed &&\r\n css`\r\n transform: rotate(180deg);\r\n `}\r\n\r\n img {\r\n height: 10px;\r\n width: 12px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { BsPlusSquare, BsDashSquare } from 'react-icons/bs';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst ButtonCollapse = ({\r\n isCollapsed,\r\n onClick = (a) => a,\r\n menu,\r\n From,\r\n To,\r\n Size,\r\n}) => {\r\n if (isCollapsed) {\r\n return (\r\n \r\n {From ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {To ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ButtonCollapse;\r\n","import { createContext } from 'react';\r\n\r\nconst CollapseContext = createContext();\r\n\r\nexport default CollapseContext;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 2px;\r\n margin: 1rem;\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: ${theme.white};\r\n width: 100%;\r\n`;\r\n\r\nexport const CardHeaderContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n color: ${theme.grayDefault};\r\n\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n justify-content: ${({ justifyContent }) => justifyContent || `start`};\r\n align-items: ${({ alignItems }) => alignItems || `baseline`};\r\n`;\r\nexport const CardContentWrapperContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n min-height: 300px;\r\n min-width: 300px;\r\n max-height: 300px;\r\n overflow: auto;\r\n`;\r\n\r\nexport const CardFooterContainer = styled.div`\r\n display: flex;\r\n padding: 20px;\r\n justify-content: center;\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport {\r\n Container,\r\n CardFooterContainer,\r\n CardContentWrapperContainer,\r\n} from '../../atoms/Card/styles';\r\n\r\nexport const ContainerCollapse = styled(Container)`\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n background-color: #f8f8f8;\r\n margin: 10px 0px;\r\n\r\n ${({ isCollapsed }) =>\r\n isCollapsed\r\n ? css`\r\n height: auto;\r\n `\r\n : css`\r\n height: auto;\r\n `}\r\n`;\r\nexport const CollapseHeaderContainer = styled.div`\r\n width: 100%;\r\n border-bottom: 1px solid #0000001a;\r\n padding-bottom: 20px;\r\n margin: 0px 30px;\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : css`\r\n justify-content: center;\r\n `}\r\n\r\n ${({ alignItems }) =>\r\n alignItems\r\n ? css`\r\n align-items: ${alignItems};\r\n `\r\n : css`\r\n align-items: center;\r\n `}\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: flex;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n\r\n button {\r\n margin: 0 30px;\r\n }\r\n`;\r\nexport const CollapseFooterContainer = styled(CardFooterContainer)`\r\n -webkit-transition: all 0.9s ease-in;\r\n -moz-transition: all 0.9s ease-in;\r\n -o-transition: all 0.9s ease-in;\r\n transition: all 0.9s ease-in;\r\n`;\r\nexport const CollapseContentContainer = styled(CardContentWrapperContainer)`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin-left: 20px;\r\n overflow: unset;\r\n\r\n min-height: auto;\r\n min-width: auto;\r\n max-height: unset;\r\n\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : css`\r\n justify-content: center;\r\n `}\r\n\r\n ${({ alignItems }) =>\r\n alignItems\r\n ? css`\r\n align-items: ${alignItems};\r\n `\r\n : css`\r\n align-items: center;\r\n `}\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: flex;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n\r\n -webkit-transition: all 0.9s ease-in;\r\n -moz-transition: all 0.9s ease-in;\r\n -o-transition: all 0.9s ease-in;\r\n transition: all 0.9s ease-in;\r\n`;\r\n","import React, { useState, useContext } from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { MdKeyboardArrowDown, MdKeyboardArrowUp } from 'react-icons/md';\r\n\r\nimport ButtonCollapse from '../../atoms/ButtonCollapse';\r\nimport LoadingSpinning from '../LoadingSpinning';\r\n\r\nimport CollapseContext from '../../../context/CollapseContext';\r\n\r\nimport {\r\n ContainerCollapse,\r\n CollapseContentContainer,\r\n CollapseFooterContainer,\r\n CollapseHeaderContainer,\r\n} from './styles';\r\n\r\nfunction CollapseItem({ children, className }) {\r\n const [open, setOpen] = useState(false);\r\n\r\n function handleCollapse() {\r\n setOpen(!open);\r\n }\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction CollapseHeaderItem({\r\n children,\r\n className,\r\n handleClick = (_) => _,\r\n handlePath = (_) => _,\r\n isDisabled = false,\r\n loading = false,\r\n isCollapsed = false,\r\n}) {\r\n const { open, handleCollapse } = useContext(CollapseContext);\r\n return (\r\n \r\n \r\n {children}\r\n {loading ? (\r\n \r\n ) : !isDisabled ? (\r\n {\r\n e.stopPropagation();\r\n handlePath();\r\n handleClick();\r\n handleCollapse();\r\n }}\r\n />\r\n ) : null}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction CollapseFooterItem({ children }) {\r\n const { open } = useContext(CollapseContext);\r\n return open ? (\r\n {children}\r\n ) : null;\r\n}\r\n\r\nfunction CollapseContentItem({ children, alignItems, justifyContent }) {\r\n const { open } = useContext(CollapseContext);\r\n return open ? (\r\n \r\n {children}\r\n \r\n ) : null;\r\n}\r\nexport {\r\n CollapseItem,\r\n CollapseHeaderItem,\r\n CollapseFooterItem,\r\n CollapseContentItem,\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const OptionContainer = styled.ul`\r\n margin-top: 10px;\r\n margin-right: 30px;\r\n transform: translate(13px);\r\n width: calc(100% - 13px);\r\n\r\n /* ${(props) =>\r\n props.isFirst &&\r\n css`\r\n transform: translateX(-90px) !important;\r\n `} */\r\n`;\r\nexport const CheckboxWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n /* transform: translate(60px); */\r\n\r\n div {\r\n margin-right: 10px;\r\n }\r\n`;\r\nexport const Container = styled.div`\r\n width: 100%;\r\n border: 1px solid #d7d7d7;\r\n background-color: #f8f8f8;\r\n border-radius: 10px;\r\n`;\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\n\r\nimport { Checkbox, Tooltip, Text } from '@unimed-fesp/components';\r\nimport { Creators as ContratanteActions } from '../../../store/ducks/contratante';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n CollapseItem,\r\n CollapseHeaderItem,\r\n CollapseContentItem,\r\n} from '../../molecules/CollapseItem';\r\n\r\nimport { OptionContainer, CheckboxWrapper } from './styles';\r\n\r\nfunction CollapseNestedList({ selectedCard, contagem, options, idUsuario }) {\r\n const dispatch = useDispatch();\r\n\r\n return (\r\n \r\n dispatch(\r\n ContratanteActions.parametrizacaoSetSelectedOption(\r\n optionId,\r\n selectedCard.idCard\r\n )\r\n )\r\n }\r\n selectedOptions={selectedCard.selectedOptions}\r\n isFirst\r\n selectedCard={selectedCard}\r\n idUsuario={idUsuario}\r\n contagem={contagem}\r\n />\r\n );\r\n}\r\n\r\nconst OptionsList = ({\r\n options,\r\n selectedOptions,\r\n onChange,\r\n isFirst,\r\n selectedCard,\r\n idUsuario,\r\n contagem,\r\n}) => {\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n const BASE_PATH = [0, 'subOptions'];\r\n const dispatch = useDispatch();\r\n const handleCheckboxClicked = (option) => {\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetSelectedOption(\r\n option.currentPath,\r\n selectedCard.idCard,\r\n !option.check,\r\n option.isHeader,\r\n option.id,\r\n option.previousPath\r\n )\r\n );\r\n };\r\n\r\n const setTipoNodeRequest = (option, parametrizacao, idCard) => {\r\n const tipoNodes = {\r\n Contratante: ContratanteActions.getGrupoContratantesRequest({\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n idCard,\r\n path: BASE_PATH,\r\n currentPath: option.currentPath,\r\n }),\r\n Modalidade: ContratanteActions.getContratanteModalidadesRequest({\r\n codigoContratante: option.codigoContratante,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n }),\r\n Termo: ContratanteActions.getModalidadeTermosRequest({\r\n codigoContratante: option.codigoContratante,\r\n codigoModalidade: option.codigoModalidade,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n }),\r\n };\r\n\r\n return tipoNodes[option.nextRequest];\r\n };\r\n const setTipoNodeRequestById = (option, parametrizacao, idCard, idUser) => {\r\n const tipoNodes = {\r\n Contratante: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n idCard,\r\n path: BASE_PATH,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'contratante'\r\n ),\r\n Modalidade: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoContratante: option.codigoContratante,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'modalidade'\r\n ),\r\n Termo: UsuarioActions.getParametrizacaoNodeRequest(\r\n idUser,\r\n {\r\n codigoContratante: option.codigoContratante,\r\n codigoModalidade: option.codigoModalidade,\r\n idCard,\r\n path: option.nextPath,\r\n currentPath: option.currentPath,\r\n idParametrizacao: parametrizacao.idParametrizacao,\r\n },\r\n 'termo'\r\n ),\r\n };\r\n\r\n return tipoNodes[option.nextRequest];\r\n };\r\n\r\n function handlePath(pathName, idCard) {\r\n dispatch(ContratanteActions.parametrizacaoSetPath(pathName, idCard));\r\n }\r\n function handleHeaderRequest(option, idUser) {\r\n if (selectedCard.idParametrizacao === 0)\r\n dispatch(setTipoNodeRequest(option, selectedCard, selectedCard.idCard));\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetLoading(true, selectedCard.idCard)\r\n );\r\n }\r\n return (\r\n <>\r\n {options.map(\r\n (option) =>\r\n option && (\r\n \r\n \r\n handleHeaderRequest(option, idUsuario)\r\n : (_) => _\r\n }\r\n handlePath={() =>\r\n handlePath(option.nextPath, selectedCard.idCard)\r\n }\r\n isDisabled={!option.hasSubOptions || option?.isLast}\r\n >\r\n {\r\n handleCheckboxClicked(option);\r\n }}\r\n />\r\n \r\n \r\n {option.subOptions.length > 0 ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst CheckboxContainer = ({\r\n selected,\r\n label,\r\n onClick,\r\n count,\r\n isHeader,\r\n novo,\r\n inativado,\r\n removeCheck = false,\r\n}) => {\r\n return (\r\n \r\n {inativado && (\r\n <>\r\n onClick(!selected)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {novo && (\r\n <>\r\n onClick(!selected)} />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {!novo && !inativado && (\r\n <>\r\n {!removeCheck ? (\r\n onClick(!selected)} />\r\n ) : null}\r\n \r\n \r\n )}\r\n\r\n {isHeader && !removeCheck && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default CollapseNestedList;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const ParametrosContainer = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n align-items: end;\r\n width: 100%;\r\n`;\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ModalidadesSelecionadasContainer = styled.div`\r\n margin-top: 10px;\r\n margin-bottom: 10px;\r\n display: flex;\r\n`;\r\n\r\nexport const TermosSelecionadosContainer = styled.div`\r\n margin-top: 13px;\r\n display: flex;\r\n\r\n &:last-child {\r\n margin-bottom: 5px;\r\n }\r\n`;\r\n\r\nexport const AlertList = styled.ul`\r\n list-style: none;\r\n margin: 0;\r\n\r\n li {\r\n margin: 0;\r\n font-size: 12px;\r\n font-weight: 500;\r\n margin-top: 4px;\r\n margin-bottom: 4px;\r\n\r\n b {\r\n font-size: 12px;\r\n }\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport Skeleton from '../../atoms/Skeleton';\r\n// #endregion\r\n\r\nimport { ModalidadesSelecionadasContainer } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst CounterContainer = ({ response, loading }) => {\r\n return !loading ? (\r\n Object.keys(response).map((resp) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CounterContainer;\r\n","import React from 'react';\r\n\r\n// #region import componentes\r\nimport Skeleton from '../../atoms/Skeleton';\r\nimport CardContratantes from '../../molecules/CardContratantes';\r\nimport CollapseNestedList from '../CollapseNestedList';\r\nimport CounterContainer from './CounterContainer';\r\n// #endregion\r\n\r\nimport { setParametrizacaoNivel } from '../../../utils/treeViewBuilder';\r\n\r\nconst ParametrizacaoCards = ({\r\n selectedCard,\r\n handleOnClickEditar,\r\n handleOnClickSalvar,\r\n idUsuario,\r\n handleToogleCard,\r\n handleModalCancelAction,\r\n}) => {\r\n return (\r\n \r\n ) : (\r\n setParametrizacaoNivel(selectedCard.tipoParametrizacao, selectedCard)\r\n .nome\r\n )\r\n }\r\n cardType={\r\n selectedCard.cardLoading ? (\r\n \r\n ) : (\r\n selectedCard.tipoParametrizacao\r\n )\r\n }\r\n display=\"\"\r\n width=\"100%\"\r\n onClickEditar={() => handleOnClickEditar(selectedCard.idCard)}\r\n onClickExcluir={() =>\r\n handleModalCancelAction(\r\n selectedCard.idCard,\r\n selectedCard.idParametrizacao\r\n )\r\n }\r\n onClickSalvar={\r\n idUsuario > 0\r\n ? () => handleOnClickSalvar(selectedCard)\r\n : () => handleToogleCard(selectedCard.idCard)\r\n }\r\n isEditar={selectedCard.isEditar}\r\n idUsuario={idUsuario}\r\n idParametrizacao={selectedCard.idParametrizacao}\r\n loading={selectedCard.nodeLoading}\r\n >\r\n {!selectedCard.isEditar ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ParametrizacaoCards;\r\n","import React from 'react';\r\n\r\n// #region import componentes molecules\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n// #endregion\r\n\r\nimport { ButtonLink, EmptyContentText } from './styles';\r\n\r\nconst EmptyContentContainer = ({ display, marginTop, onClick, loading }) => {\r\n return (\r\n \r\n \r\n Nenhuma contratante cadastrada\r\n \r\n Para adicionar, clique no botão{' '}\r\n \r\n + parâmetros\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyContentContainer;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n margin: 10px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst MessageInvalidCard = ({ inValidCards, getName }) => {\r\n if (inValidCards.length < 1)\r\n throw new Error('A propriedade \"inValidCards\" deve ter pelo menos um item');\r\n\r\n const novasParametrizacoes = Array.from(\r\n new Set(inValidCards.map((c) => getName(c.tipoParametrizacao, c)))\r\n );\r\n\r\n const parametrizacoesVinculadas = Array.from(\r\n new Set(\r\n inValidCards.map((c) => getName(c.vinculo.tipoParametrizacao, c.vinculo))\r\n )\r\n );\r\n\r\n const qtdInvalidCards = novasParametrizacoes.length;\r\n const SINGULAR = qtdInvalidCards === 1;\r\n\r\n return (\r\n \r\n {SINGULAR ? 'A parametrização: ' : 'As parametrizações: '}\r\n {novasParametrizacoes.map((nameParametrizacao, index) => (\r\n \r\n {SINGULAR || index + 1 === qtdInvalidCards\r\n ? nameParametrizacao\r\n : `${nameParametrizacao}${\r\n index + 2 === qtdInvalidCards ? ' e ' : ', '\r\n }`}\r\n \r\n ))}\r\n {SINGULAR\r\n ? `, não foi adicionada pois já está parametrizada. Para realizar a nova\r\n parametrização é necessário remover a parametrização `\r\n : `, não foram adicionadas pois já estão parametrizadas. Para realizar as\r\n novas parametrizações é necessário remover a parametrização `}\r\n {parametrizacoesVinculadas.map((nomeVinculo, index) => (\r\n \r\n {parametrizacoesVinculadas.length === 1 ||\r\n index + 1 === parametrizacoesVinculadas.length\r\n ? nomeVinculo\r\n : `${nomeVinculo}${\r\n index + 2 === parametrizacoesVinculadas.length ? ' e ' : ', '\r\n }`}\r\n \r\n ))}{' '}\r\n com a qual possui vínculo.\r\n \r\n );\r\n};\r\n\r\nexport default MessageInvalidCard;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyCopyUsuarioEspelho = ({ userName = '' }) => {\r\n return (\r\n \r\n Deseja realmente copiar a parametrização do usuário\r\n {` ${userName}`}?\r\n
A parametrização atual e o perfil serão alterados.\r\n
\r\n );\r\n};\r\n\r\nconst FooterCopyUsuarioEspelho = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyCopyUsuarioEspelho, FooterCopyUsuarioEspelho };\r\n","import React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyMesclarNestle = () => {\r\n return (\r\n \r\n Não é permitido realizar parametrização mesclando os grupos contratante\r\n Nestlé com outras contratantes!\r\n \r\n );\r\n};\r\n\r\nexport default { BodyMesclarNestle };\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport TipoPerfilUsuarioEnum from '../../../enums/TipoPerfilUsuarioEnum';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodySelectedTipoPerfil = () => {\r\n return (\r\n \r\n Qual tipo de permissão de contratante deseja parametrizar?\r\n \r\n );\r\n};\r\n\r\nconst FooterSelectedTipoPerfil = ({ handleSelectedTipoPerfil }) => {\r\n return (\r\n \r\n \r\n handleSelectedTipoPerfil(\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta\r\n )\r\n }\r\n justifyCenter\r\n >\r\n consulta\r\n \r\n \r\n handleSelectedTipoPerfil(\r\n TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao\r\n )\r\n }\r\n justifyCenter\r\n >\r\n alteração\r\n \r\n \r\n );\r\n};\r\n\r\nexport default {\r\n BodySelectedTipoPerfil,\r\n FooterSelectedTipoPerfil,\r\n};\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyRemoveAllParametrizacao = () => {\r\n return (\r\n \r\n Ao remover o perfil, também será removida a parametrização atual.\r\n
\r\n Deseja realmente remover?\r\n
\r\n );\r\n};\r\n\r\nconst FooterRemoveAllParametrizacao = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyRemoveAllParametrizacao, FooterRemoveAllParametrizacao };\r\n","import React, { useCallback, useEffect, useState, useMemo } from 'react';\r\nimport { useDispatch, useSelector, batch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\n\r\nimport {\r\n TipoCardRoot,\r\n TipoPerfilUsuarioEnum,\r\n TipoConsultaParametrizacaoEnum,\r\n} from '../enums';\r\n\r\nimport { getParametrizacaoRoot } from '../utils/treeViewBuilder';\r\nimport { getDifferenceBetween } from '../utils/array';\r\nimport { isNumber } from '../utils/validation';\r\n\r\nimport modal from '../context/TriggerModalContext';\r\n\r\nimport { Creators as UsuarioActions } from '../store/ducks/usuario';\r\nimport { Creators as ContratanteActions } from '../store/ducks/contratante';\r\n\r\n// #region Componentes\r\nimport MessageInvalidCard from '../components/molecules/MessageInvalidCard';\r\nimport {\r\n ModalCopyEspelho,\r\n ModalMesclarNestle,\r\n ModalSelectedTipoPerfil,\r\n ModalRemoveAllParametrizacao,\r\n} from '../components/molecules/PartsModalParametrizacao';\r\n// #endregion\r\n\r\nconst useParametrizacao = (idUsuario = null, role = null) => {\r\n const dispatch = useDispatch();\r\n const {\r\n getContratantes,\r\n parametrizacaoRoot,\r\n getGrupoComplementos,\r\n } = useSelector((state) => state.contratante);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { patchParametrizacaoInativar, saveParametrizacaoCards } = useSelector(\r\n (state) => state.usuario\r\n );\r\n\r\n const paginationModalParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n };\r\n\r\n // #region estados (states)\r\n const [selectedUser, setSelectedUsuarioEspelho] = useState(null);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationModalParams\r\n );\r\n const [rowsChecked, setRowsChecked] = useState([]);\r\n const [tableFilterparams, setTableFilterParams] = useState({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[1],\r\n buscaParametrizacao: 6,\r\n });\r\n const [parametrizacaoFilterParams, setParametrizacaoFilterParams] = useState({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[0],\r\n buscaParametrizacao: '',\r\n });\r\n\r\n const [selectedTipoPerfil, setSelectedTipoPerfil] = useState('');\r\n // #endregion\r\n\r\n // #region functions privadas\r\n const hasGrupoNestle = useMemo(() => {\r\n return parametrizacaoRoot?.some(\r\n (parametro) =>\r\n parametro?.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1] &&\r\n parametro.id === 'NESTLE'\r\n );\r\n }, [parametrizacaoRoot]);\r\n\r\n const getName = useCallback((type, selectedCard) => {\r\n const types = {\r\n 'Grupo ou Complemento': `${selectedCard?.complemento?.codigoComplemento}`,\r\n Contratante: `${selectedCard?.contratante?.nomeContratante}`,\r\n };\r\n\r\n return types[type];\r\n }, []);\r\n\r\n const setParamsBusca = useCallback(\r\n (tipoBusca, newPageParams) => {\r\n const { buscaParametrizacao } = tableFilterparams;\r\n\r\n const tipoParamsBusca = {\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n codigoGrupo: isNumber(buscaParametrizacao)\r\n ? buscaParametrizacao\r\n : null,\r\n codigoComplemento: isNumber(buscaParametrizacao)\r\n ? null\r\n : buscaParametrizacao,\r\n ...(newPageParams || paginationParams),\r\n },\r\n Contratante: {\r\n nomeContratante: isNumber(buscaParametrizacao)\r\n ? null\r\n : buscaParametrizacao,\r\n codigoContratante: isNumber(buscaParametrizacao)\r\n ? buscaParametrizacao\r\n : null,\r\n ...(newPageParams || paginationParams),\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[3]]: {\r\n nome: !/@/gim.test(buscaParametrizacao) ? buscaParametrizacao : null,\r\n email: /@/gim.test(buscaParametrizacao) ? buscaParametrizacao : null,\r\n ...(newPageParams || paginationParams),\r\n has_parametrizacao: true,\r\n },\r\n };\r\n\r\n return tipoParamsBusca[tipoBusca];\r\n },\r\n [paginationParams, tableFilterparams]\r\n );\r\n\r\n const getValidsCard = useCallback(() => {\r\n const POSSUI_PARAMETRIZACAO = parametrizacaoRoot.length > 0;\r\n\r\n // #region Filtrando novos cards\r\n let cards = rowsChecked.filter(({ id, complemento }) => {\r\n const IS_CARD_GRUPO = typeof id === 'string';\r\n\r\n if (IS_CARD_GRUPO)\r\n return !parametrizacaoRoot.some(\r\n ({ complemento: complemento2 }) =>\r\n complemento2?.codigoGrupo === complemento?.codigoGrupo\r\n );\r\n\r\n return !parametrizacaoRoot.some(({ id: id2 }) => id2 === id);\r\n });\r\n // #endregion\r\n\r\n const inValidCards = [];\r\n if (POSSUI_PARAMETRIZACAO)\r\n cards.forEach((novo) => {\r\n parametrizacaoRoot.forEach((parametrizado) => {\r\n parametrizado.listaContratantes.forEach((p) => {\r\n if (novo.listaContratantes.includes(p)) {\r\n const invalid = {\r\n ...novo,\r\n vinculo: parametrizado,\r\n };\r\n inValidCards.push(invalid);\r\n }\r\n });\r\n });\r\n });\r\n\r\n cards = getDifferenceBetween(cards, 'id', inValidCards, 'id');\r\n\r\n if (inValidCards.length > 0) {\r\n modal.warning(\r\n \r\n );\r\n }\r\n\r\n // #region Mesclar Nestle com outras contratantes\r\n const POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE =\r\n hasGrupoNestle &&\r\n POSSUI_PARAMETRIZACAO &&\r\n cards.some((card) => card?.id !== 'NESTLE');\r\n const POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE =\r\n !hasGrupoNestle &&\r\n POSSUI_PARAMETRIZACAO &&\r\n cards.some((card) => card?.id === 'NESTLE');\r\n\r\n if (\r\n POSSUI_GRUPO_NESTLE_E_ESTA_ADICIONANDO_OUTRA_CONTRATANTE ||\r\n POSSUI_OUTRA_CONTRATANTE_E_ESTA_ADICIONANDO_GRUPO_NESTLE\r\n ) {\r\n modal.warning();\r\n return [];\r\n }\r\n // #endregion\r\n\r\n return cards;\r\n }, [getName, hasGrupoNestle, parametrizacaoRoot, rowsChecked]);\r\n\r\n const getAndBuildParametrizacaoCardsUsuarioEspelho = useCallback(() => {\r\n const params = {\r\n idUsuario: selectedUser?.idUsuario,\r\n isParametrizacaoEspelho: true,\r\n };\r\n\r\n dispatch(UsuarioActions.usuarioEspelhoSet(selectedUser));\r\n dispatch(UsuarioActions.getAndBuildParametrizacaoCardsRequest(params));\r\n }, [dispatch, selectedUser]);\r\n\r\n const cloneUsuarioEspelho = useCallback(() => {\r\n dispatch(\r\n UsuarioActions.postClonarUsuarioEspelhoRequest(\r\n idUsuario,\r\n selectedUser.idUsuario\r\n )\r\n );\r\n }, [dispatch, idUsuario, selectedUser]);\r\n\r\n const handleAddUsuarioEspelho = useCallback(() => {\r\n const handleClickSimModal = (closeModal) => {\r\n if (idUsuario === 0) {\r\n getAndBuildParametrizacaoCardsUsuarioEspelho();\r\n } else {\r\n cloneUsuarioEspelho();\r\n }\r\n setSelectedUsuarioEspelho(null);\r\n closeModal();\r\n };\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n handleClickSimModal(closeModal);\r\n }}\r\n />\r\n )\r\n );\r\n }, [\r\n idUsuario,\r\n selectedUser,\r\n cloneUsuarioEspelho,\r\n getAndBuildParametrizacaoCardsUsuarioEspelho,\r\n ]);\r\n\r\n const dispatchPatchPerfil = useCallback(\r\n (newPerfils) => {\r\n dispatch(\r\n UsuarioActions.patchAtualizarTipoPerfilRequest(idUsuario, [\r\n ...newPerfils,\r\n ])\r\n );\r\n },\r\n [dispatch, idUsuario]\r\n );\r\n\r\n const showModalSelectedTipoPerfil = useCallback(\r\n (callbackDispathSaveParametrizacao) => {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setSelectedTipoPerfil(tipoPerfil);\r\n callbackDispathSaveParametrizacao();\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n },\r\n []\r\n );\r\n\r\n const returnPostAndPutCards = useCallback(() => {\r\n const postCards = [];\r\n const putCards = [];\r\n\r\n if (parametrizacaoRoot.length > 0) {\r\n parametrizacaoRoot.forEach((card) => {\r\n const parametros = getParametrizacaoRoot(card);\r\n const parametrizacaoRootCard = parametros.parametrizacaoRoot;\r\n\r\n if (card.idParametrizacao === 0) {\r\n postCards.push({\r\n name: getName(card.tipoParametrizacao, card),\r\n idParametrizacao: 0,\r\n idCard: card.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootCard,\r\n });\r\n } else {\r\n putCards.push({\r\n name: getName(card.tipoParametrizacao, card),\r\n idParametrizacao: card.idParametrizacao,\r\n idCard: card.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootCard,\r\n });\r\n }\r\n });\r\n }\r\n\r\n return { postCards, putCards };\r\n }, [getName, parametrizacaoRoot, usuario]);\r\n // #endregion\r\n\r\n // #region functions publicas\r\n const handleRemoveAllCards = useCallback(() => {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n dispatch(\r\n UsuarioActions.patchParametrizacaoAdmInativarRequest(idUsuario)\r\n );\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }, [dispatch, idUsuario]);\r\n\r\n const handleRemoveCard = useCallback(\r\n (idCard, idParametrizacao) => {\r\n const ULTIMO_CARD = parametrizacaoRoot.length === 1;\r\n const IS_ADM = role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n if (idParametrizacao > 0) {\r\n dispatch(\r\n UsuarioActions.patchParametrizacaoInativarRequest(\r\n idUsuario,\r\n idCard,\r\n idParametrizacao\r\n )\r\n );\r\n if (ULTIMO_CARD && IS_ADM) {\r\n // Removendo perfil de contratante quando remover todas as parametrizações do adm\r\n dispatchPatchPerfil([TipoPerfilUsuarioEnum.returnNameForName.Adm]);\r\n }\r\n } else {\r\n dispatch(ContratanteActions.parametrizacaoDeleteCard(idCard));\r\n }\r\n },\r\n [role, dispatch, idUsuario, dispatchPatchPerfil, parametrizacaoRoot.length]\r\n );\r\n\r\n const hasAlteracao = useMemo(() => {\r\n const { postCards } = returnPostAndPutCards();\r\n return postCards.length > 0;\r\n }, [returnPostAndPutCards]);\r\n\r\n const handleAdicionarModal = useCallback(() => {\r\n // #region Parametrização de usuario espelho\r\n const ESTA_NA_ABA_USUARIO_ESPELHO =\r\n tableFilterparams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[3];\r\n\r\n if (selectedUser && selectedUser.idUsuario && ESTA_NA_ABA_USUARIO_ESPELHO) {\r\n handleAddUsuarioEspelho();\r\n return;\r\n }\r\n // #endregion\r\n\r\n // #region Parametrização normal (contratante/grupo)\r\n const contratanteRoot = [];\r\n const grupoRoot = [];\r\n\r\n const cards = getValidsCard();\r\n\r\n if (!isEmpty(cards)) {\r\n const newCards = cards.map((card) => {\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[0]) {\r\n contratanteRoot.push(card);\r\n }\r\n if (card.tipoParametrizacao === TipoCardRoot.returnName[1]) {\r\n grupoRoot.push(card);\r\n }\r\n\r\n const newCard = { ...card };\r\n\r\n return newCard;\r\n });\r\n\r\n batch(() => {\r\n dispatch(ContratanteActions.parametrizacaoSetCards(newCards));\r\n if (contratanteRoot.length > 0)\r\n dispatch(\r\n ContratanteActions.getParametrizacaoContratanteCompletoRequest(\r\n contratanteRoot\r\n )\r\n );\r\n if (grupoRoot.length > 0) {\r\n dispatch(\r\n ContratanteActions.getParametrizacaoGrupoComplementoCompletoRequest(\r\n grupoRoot\r\n )\r\n );\r\n }\r\n });\r\n }\r\n // #endregion\r\n }, [\r\n dispatch,\r\n selectedUser,\r\n getValidsCard,\r\n tableFilterparams,\r\n handleAddUsuarioEspelho,\r\n ]);\r\n\r\n const cleanFilterParams = useCallback(() => {\r\n setTableFilterParams({\r\n tipoParametrizacao: TipoConsultaParametrizacaoEnum.returnNameFormatted[1],\r\n buscaParametrizacao: '',\r\n });\r\n setRowsChecked([]);\r\n }, []);\r\n\r\n const setTipoBusca = useCallback(\r\n (tipoBusca, newPageParams) => {\r\n const paramsDispatch = setParamsBusca(tipoBusca, newPageParams);\r\n\r\n const tiposBusca = {\r\n [TipoConsultaParametrizacaoEnum\r\n .returnName[1]]: ContratanteActions.getGrupoComplementosRequest(\r\n paramsDispatch\r\n ),\r\n Contratante: ContratanteActions.getContratanteRequest(paramsDispatch),\r\n [TipoConsultaParametrizacaoEnum\r\n .returnName[3]]: UsuarioActions.getUsuarioEspelhoRequest(\r\n paramsDispatch\r\n ),\r\n };\r\n\r\n return tiposBusca[tipoBusca];\r\n },\r\n [setParamsBusca]\r\n );\r\n\r\n const salvarParametrizacao = useCallback(() => {\r\n const { postCards, putCards } = returnPostAndPutCards();\r\n\r\n if (hasAlteracao) {\r\n const callbackDispathSaveParametrizacao = () => {\r\n dispatch(\r\n UsuarioActions.saveParametrizacaoCardsRequest(\r\n idUsuario,\r\n postCards,\r\n putCards,\r\n true\r\n )\r\n );\r\n };\r\n\r\n if (role === TipoPerfilUsuarioEnum.returnNameForName.Adm) {\r\n showModalSelectedTipoPerfil(callbackDispathSaveParametrizacao);\r\n return;\r\n }\r\n\r\n callbackDispathSaveParametrizacao();\r\n }\r\n }, [\r\n role,\r\n dispatch,\r\n idUsuario,\r\n hasAlteracao,\r\n returnPostAndPutCards,\r\n showModalSelectedTipoPerfil,\r\n ]);\r\n\r\n const handleCheckUser = useCallback(\r\n (newUser) => {\r\n setSelectedUsuarioEspelho((oldUser) =>\r\n oldUser?.idUsuario === newUser?.idUsuario ? null : newUser\r\n );\r\n },\r\n [setSelectedUsuarioEspelho]\r\n );\r\n\r\n const handleOnClickSalvarCard = useCallback(\r\n (selectedCard) => {\r\n const postCard = [];\r\n const putCard = [];\r\n if (selectedCard.idParametrizacao === 0) {\r\n const {\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n } = getParametrizacaoRoot(selectedCard);\r\n\r\n postCard.push({\r\n name: getName(selectedCard.tipoParametrizacao, selectedCard),\r\n idParametrizacao: 0,\r\n idCard: selectedCard.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[selectedCard.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n });\r\n } else {\r\n const {\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n } = getParametrizacaoRoot(selectedCard);\r\n putCard.push({\r\n name: getName(selectedCard),\r\n idParametrizacao: selectedCard.idParametrizacao,\r\n idCard: selectedCard.idCard,\r\n idUsuarioInclusao: usuario.idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[selectedCard.tipoParametrizacao],\r\n parametrizacaoRoot: parametrizacaoRootProp,\r\n });\r\n }\r\n\r\n const callbackDispathSaveParametrizacao = () => {\r\n batch(() => {\r\n dispatch(\r\n UsuarioActions.saveParametrizacaoCardsRequest(\r\n idUsuario,\r\n postCard,\r\n putCard,\r\n false\r\n )\r\n );\r\n dispatch(\r\n ContratanteActions.parametrizacaoToogleCard([\r\n { idCard: selectedCard.idCard },\r\n ])\r\n );\r\n });\r\n };\r\n\r\n if (role === TipoPerfilUsuarioEnum.returnNameForName.Adm) {\r\n showModalSelectedTipoPerfil(callbackDispathSaveParametrizacao);\r\n return;\r\n }\r\n\r\n callbackDispathSaveParametrizacao();\r\n },\r\n [dispatch, getName, idUsuario, role, showModalSelectedTipoPerfil, usuario]\r\n );\r\n // #endregion\r\n\r\n // #region ciclo de vida\r\n useEffect(() => {\r\n const USUARIO_PARAMETRIZACAO_E_USUARIO_LOGADO =\r\n idUsuario === usuario?.idUsuarioLogado;\r\n\r\n if (\r\n USUARIO_PARAMETRIZACAO_E_USUARIO_LOGADO &&\r\n patchParametrizacaoInativar?.success\r\n ) {\r\n // Caso a parametrização seja do usuario logado, deve-se atualizar o drop de contratantes\r\n dispatch(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }\r\n }, [\r\n dispatch,\r\n idUsuario,\r\n usuario.idUsuarioLogado,\r\n patchParametrizacaoInativar,\r\n ]);\r\n\r\n useEffect(() => {\r\n const IS_ADM = role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n if (IS_ADM && saveParametrizacaoCards?.success && selectedTipoPerfil) {\r\n dispatchPatchPerfil([\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm,\r\n selectedTipoPerfil,\r\n ]);\r\n setSelectedTipoPerfil('');\r\n }\r\n }, [\r\n role,\r\n selectedTipoPerfil,\r\n dispatchPatchPerfil,\r\n saveParametrizacaoCards?.success,\r\n ]);\r\n // #endregion\r\n\r\n return {\r\n selectedUser,\r\n handleCheckUser,\r\n parametrizacaoRoot,\r\n handleAdicionarModal,\r\n handleOnClickSalvarCard,\r\n\r\n handleRemoveAllCards,\r\n handleRemoveCard,\r\n rowsChecked,\r\n hasAlteracao,\r\n setTipoBusca,\r\n setRowsChecked,\r\n getContratantes,\r\n paginationParams,\r\n cleanFilterParams,\r\n tableFilterparams,\r\n setPaginationParams,\r\n getGrupoComplementos,\r\n setTableFilterParams,\r\n salvarParametrizacao,\r\n paginationModalParams,\r\n parametrizacaoFilterParams,\r\n setParametrizacaoFilterParams,\r\n };\r\n};\r\n\r\nexport default useParametrizacao;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { isEmpty } from 'lodash';\r\nimport { BsPlus } from 'react-icons/bs';\r\n\r\nimport { Text, Alerts, Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport ModalError from '../ModalError';\r\nimport ModalSuccess from '../ModalSuccess';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport DropDownSearchBox from '../DropDownSearchBox';\r\nimport CustomScrollBars from '../../molecules/CustomScrollBars';\r\nimport ModalConsultaContratantes from '../ModalConsultaContratantes';\r\n\r\nimport ParametrizacaoCards from './ParametrizacaoCards';\r\nimport EmptyContentContainer from './EmptyContentContainer';\r\n// #endregion\r\n\r\nimport { AlertList } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { setParametrizacaoNivel } from '../../../utils/treeViewBuilder';\r\nimport { TipoConsultaParametrizacaoEnum, TipoCardRoot } from '../../../enums';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\nimport { Creators as ContratanteActions } from '../../../store/ducks/contratante';\r\n\r\nimport useParametrizacao from '../../../hooks/useParametrizazao';\r\n\r\nconst ParametrizacaoContratantes = ({\r\n idUsuario,\r\n dropDownWidth,\r\n roleUsuario = null,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n handleAdicionarModal,\r\n parametrizacaoRoot,\r\n selectedUser,\r\n handleCheckUser,\r\n handleOnClickSalvarCard,\r\n\r\n handleRemoveCard,\r\n paginationModalParams,\r\n rowsChecked,\r\n setTipoBusca,\r\n setRowsChecked,\r\n getContratantes,\r\n cleanFilterParams,\r\n tableFilterparams,\r\n getGrupoComplementos,\r\n setTableFilterParams,\r\n paginationParams,\r\n setPaginationParams,\r\n parametrizacaoFilterParams,\r\n setParametrizacaoFilterParams,\r\n } = useParametrizacao(idUsuario, roleUsuario);\r\n\r\n const {\r\n saveParametrizacaoCards,\r\n getAndBuildParametrizacaoCards,\r\n } = useSelector((state) => state.usuario);\r\n\r\n const [blockUseEffect, setBlockUseEffect] = useState(false);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [isSuccess, setIsSuccess] = useState({\r\n success: false,\r\n message: '',\r\n alert: false,\r\n });\r\n const [isError, setIsError] = useState({ error: false, message: '' });\r\n const [isWarning, setIsWarning] = useState({\r\n warning: false,\r\n message: '',\r\n action: (_) => _,\r\n });\r\n\r\n const handleModalSuccess = () => {\r\n setBlockUseEffect(false);\r\n setIsSuccess({ success: false, message: '' });\r\n dispatch(UsuarioActions.parametrizacaoNodeRenew());\r\n };\r\n\r\n const handleModalError = () => {\r\n setIsError({ error: false, message: '' });\r\n dispatch(UsuarioActions.parametrizacaoNodeRenew());\r\n };\r\n\r\n const handleModalCancelAction = (idCard, idParametrizacao) => {\r\n setIsWarning({\r\n warning: !isWarning.warning,\r\n message: 'Deseja realmente excluir esta parametrização?',\r\n action: () => {\r\n handleRemoveCard(idCard, idParametrizacao);\r\n setIsWarning({\r\n warning: false,\r\n message: '',\r\n action: (_) => _,\r\n });\r\n },\r\n });\r\n };\r\n\r\n const handleToogleModal = (e) => {\r\n if (e.keyCode !== 13) {\r\n cleanFilterParams();\r\n setIsOpen(!isOpen);\r\n }\r\n };\r\n\r\n function handleOnClickEditar(idCard) {\r\n const card = parametrizacaoRoot.find(\r\n (cardItem) => cardItem.idCard === idCard\r\n );\r\n if (isEmpty(card.options) && card.idParametrizacao === 0) {\r\n if (\r\n card.tipoParametrizacao === TipoConsultaParametrizacaoEnum.returnName[1]\r\n ) {\r\n dispatch(\r\n ContratanteActions.getGrupoContratantesRequest({\r\n codigoGrupo: card?.complemento?.codigoGrupo,\r\n codigoComplemento: card?.complemento?.codigoComplemento,\r\n idCard,\r\n path: [0],\r\n })\r\n );\r\n } else {\r\n dispatch(\r\n ContratanteActions.getContratanteModalidadesRequest({\r\n codigoContratante: card.contratante?.codigoContratante,\r\n idCard,\r\n path: [0],\r\n })\r\n );\r\n }\r\n }\r\n\r\n if (card.idParametrizacao !== 0 && !card?.fullTree) {\r\n dispatch(\r\n UsuarioActions.getParametrizacaoCardsCompletoRequest(\r\n idUsuario,\r\n idCard,\r\n card.idParametrizacao\r\n )\r\n );\r\n }\r\n\r\n handleToogleCard(idCard);\r\n }\r\n\r\n function handleToogleCard(idCard) {\r\n dispatch(ContratanteActions.parametrizacaoToogleCard([{ idCard }]));\r\n }\r\n\r\n function handleSearchTable(e, isOnClick = false) {\r\n if (e.keyCode === 13 || isOnClick) {\r\n setPaginationParams(paginationModalParams);\r\n handleCheckUser(null);\r\n dispatch(\r\n setTipoBusca(\r\n tableFilterparams.tipoParametrizacao,\r\n paginationModalParams\r\n )\r\n );\r\n }\r\n }\r\n\r\n const setTipoContagemRequest = (tipoNode, parametrizacao) => {\r\n const tipoNodes = {\r\n Contratante: {\r\n contratante: {\r\n codigoContratante: parametrizacao?.contratante?.codigoContratante,\r\n },\r\n idCard: parametrizacao.idCard,\r\n },\r\n [TipoConsultaParametrizacaoEnum.returnName[1]]: {\r\n complemento: {\r\n codigoGrupo: parametrizacao?.complemento?.codigoGrupo,\r\n codigoComplemento: parametrizacao?.complemento?.codigoComplemento,\r\n },\r\n idCard: parametrizacao.idCard,\r\n },\r\n };\r\n\r\n return tipoNodes[tipoNode];\r\n };\r\n\r\n const handleFilterParametrizacaoRoot = (selCard) => {\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[0]\r\n )\r\n return (\r\n setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) ||\r\n !!selCard.options[0]?.subOptions?.find((c) =>\r\n c.name.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n )\r\n )\r\n );\r\n\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1]\r\n )\r\n return (\r\n selCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[1] &&\r\n (setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) ||\r\n !!selCard.options[0]?.subOptions?.find((c) =>\r\n c.name.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n )\r\n ))\r\n );\r\n\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[2]\r\n )\r\n return (\r\n setParametrizacaoNivel(\r\n selCard.tipoParametrizacao,\r\n selCard\r\n ).nome.includes(\r\n parametrizacaoFilterParams.buscaParametrizacao.toUpperCase()\r\n ) &&\r\n selCard.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[2]\r\n );\r\n return false;\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(ContratanteActions.parametrizacaoRootRenew());\r\n if (idUsuario) {\r\n const params = { idUsuario };\r\n\r\n dispatch(UsuarioActions.getAndBuildParametrizacaoCardsRequest(params));\r\n }\r\n }, [dispatch, idUsuario]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0) {\r\n if (\r\n saveParametrizacaoCards.success &&\r\n !saveParametrizacaoCards.hasValidationErrors &&\r\n roleUsuario?.toLocaleUpperCase() !== 'ADM'\r\n ) {\r\n setIsSuccess({\r\n success: true,\r\n message: { title: 'Parametrização salva com sucesso!', subtitle: '' },\r\n alert: false,\r\n });\r\n } else if (\r\n saveParametrizacaoCards.success &&\r\n saveParametrizacaoCards.hasValidationErrors\r\n ) {\r\n setIsSuccess({\r\n success: true,\r\n message: {\r\n title: 'Parametrização salva com sucesso!',\r\n subtitle: saveParametrizacaoCards.error,\r\n },\r\n alert: true,\r\n });\r\n }\r\n }\r\n }, [\r\n idUsuario,\r\n roleUsuario,\r\n saveParametrizacaoCards.error,\r\n saveParametrizacaoCards.hasValidationErrors,\r\n saveParametrizacaoCards.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0 && saveParametrizacaoCards.isError) {\r\n setIsError({\r\n error: true,\r\n message:\r\n saveParametrizacaoCards.error[0] || 'Erro ao salvar a parametrização',\r\n });\r\n }\r\n }, [\r\n idUsuario,\r\n saveParametrizacaoCards.error,\r\n saveParametrizacaoCards.isError,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (idUsuario > 0 && saveParametrizacaoCards.success && !blockUseEffect) {\r\n const grupoContagem = [];\r\n const contratanteContagem = [];\r\n const cardParametrizado = [];\r\n saveParametrizacaoCards.response.forEach((p) => {\r\n const newCard = parametrizacaoRoot.find((c) => c.idCard === p.idCard);\r\n if (newCard) cardParametrizado.push(newCard);\r\n });\r\n\r\n cardParametrizado.forEach((card) => {\r\n if (TipoCardRoot.returnName[0] === card.tipoParametrizacao)\r\n contratanteContagem.push(\r\n setTipoContagemRequest(card.tipoParametrizacao, card)\r\n );\r\n if (TipoCardRoot.returnName[1] === card.tipoParametrizacao)\r\n grupoContagem.push(\r\n setTipoContagemRequest(card.tipoParametrizacao, card)\r\n );\r\n });\r\n dispatch(\r\n UsuarioActions.getParametrizacaoCardsRequest({ idUsuario }, [\r\n ...grupoContagem,\r\n ...contratanteContagem,\r\n ])\r\n );\r\n\r\n dispatch(\r\n ContratanteActions.parametrizacaoSetLoadingCards(true, [\r\n ...grupoContagem,\r\n ...contratanteContagem,\r\n ])\r\n );\r\n setBlockUseEffect(true);\r\n }\r\n }, [\r\n dispatch,\r\n idUsuario,\r\n blockUseEffect,\r\n parametrizacaoRoot,\r\n saveParametrizacaoCards.response,\r\n saveParametrizacaoCards.success,\r\n ]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n resultados de consulta\r\n \r\n \r\n {\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnNameFormatted[0]\r\n )\r\n return 'Digite o código do grupo, complemento ou nome da contratante';\r\n if (\r\n parametrizacaoFilterParams.tipoParametrizacao ===\r\n TipoConsultaParametrizacaoEnum.returnName[1]\r\n )\r\n return 'Digite o código do grupo ou complemento';\r\n return 'Digite o código ou nome de contratante';\r\n })()}\r\n marginRight=\"30\"\r\n />\r\n handleToogleModal(e)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n parâmetros\r\n \r\n \r\n {isEmpty(parametrizacaoRoot) ? (\r\n handleToogleModal(e)}\r\n loading={getAndBuildParametrizacaoCards.loading}\r\n />\r\n ) : (\r\n Object.values(parametrizacaoRoot)\r\n .filter((selCard) => handleFilterParametrizacaoRoot(selCard))\r\n .map((selectedCard) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Atenção!\r\n Erro ao salvar parametrização: \r\n \r\n \r\n {isSuccess.message.subtitle.map((sub) => (\r\n
  • \r\n {sub.name} - {sub.errorMessage}\r\n
  • \r\n ))}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ) : (\r\n false\r\n )\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ParametrizacaoContratantes;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalBodyContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n\r\n display: flex;\r\n\r\n background: ${theme.white};\r\n\r\n padding: 1px 20px 0px 20px;\r\n flex: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalBodyContainer } from '../../molecules/ModalConsultaStructure/styles';\r\n\r\nfunction ModalEventosWebhook({\r\n isOpen,\r\n onCloseModal,\r\n titleModal,\r\n HeaderModal,\r\n BodyModal,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalEventosWebhook;\r\n","import React from 'react';\r\n\r\nimport { TableHeader, TableRow } from '@unimed-fesp/components';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React from 'react';\r\n\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhook = ({ headers, body }) => {\r\n return (\r\n \r\n }>\r\n {body}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhook;\r\n","import { Button } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\n","import {\r\n Checkbox,\r\n TableCell,\r\n TableRow,\r\n Text,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React from 'react';\r\n\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { MdDelete, MdListAlt } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport { ButtonActions, HoverActions } from './styles';\r\n\r\nconst TableCadastroWebHookBody = ({\r\n deletarWebhook,\r\n toggleWebhook,\r\n openModalEventos,\r\n}) => {\r\n const { getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const dados = getWebhookConfiguration.data;\r\n\r\n if (dados && dados.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n {dados.contractorCode}\r\n \r\n {dados.createdAt\r\n ? format(new Date(dados.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {dados.createdUser}\r\n {dados.updatedAt && (\r\n \r\n {dados.updatedAt\r\n ? format(new Date(dados.updatedAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n )}\r\n {dados.updatedBy && (\r\n {dados.updatedUser}\r\n )}\r\n {IsAdm.toLowerCase() === 'true' && (\r\n \r\n \r\n \r\n \r\n toggleWebhook({\r\n entity_id: dados.id,\r\n isActive: !dados.isActive,\r\n })\r\n }\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n deletarWebhook(dados.id)}\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookBody;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport {\r\n Button,\r\n Dropdown,\r\n Modal,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { TipoEventoWebhookEnum } from '../../../enums';\r\nimport { Creators as WebhookEventIntegrationActions } from '../../../store/ducks/webhookEventIntegration';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nfunction ModalCadastarWebhookEvent({\r\n isOpen,\r\n onClick,\r\n isEditar,\r\n setIsEditarModal,\r\n}) {\r\n const dispatch = useDispatch();\r\n const { getWebhookListEvents, getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const eventsCode = getWebhookListEvents.data;\r\n\r\n const [selectEventCode, setSelectEventCode] = useState(1);\r\n const [url, setUrl] = useState();\r\n\r\n const handleInputUrl = (event) => {\r\n setUrl(event.target.value);\r\n };\r\n\r\n const optionsEventCode = eventsCode.map((eventCode) => {\r\n return {\r\n onClickOption: () => {\r\n setSelectEventCode(eventCode.value);\r\n },\r\n text: eventCode.description,\r\n };\r\n });\r\n\r\n const cadastrarEvento = () => {\r\n if (!url || !selectEventCode) {\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n }\r\n\r\n const params = {\r\n url,\r\n webhookId: getWebhookConfiguration.data.id,\r\n eventCode: selectEventCode,\r\n };\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.postWebhookEventIntegrationRequest(params)\r\n );\r\n\r\n onClick();\r\n limparInputs();\r\n };\r\n\r\n const limparInputs = () => {\r\n setSelectEventCode(1);\r\n setUrl('');\r\n setIsEditarModal(false);\r\n };\r\n\r\n const editarEvento = () => {\r\n const params = {\r\n url,\r\n webhookId: getWebhookConfiguration.data.id,\r\n eventCode: selectEventCode,\r\n entityId: isEditar.id,\r\n };\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.putWebhookEventIntegrationRequest(params)\r\n );\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(\r\n getWebhookConfiguration.data.id\r\n )\r\n );\r\n onClick();\r\n limparInputs();\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditar) {\r\n setSelectEventCode(\r\n TipoEventoWebhookEnum.returnIdForName[isEditar.eventCode]\r\n );\r\n setUrl(isEditar.url);\r\n }\r\n }, [isEditar]);\r\n\r\n return (\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n height={345}\r\n width={600}\r\n header={isEditar ? 'Editar Evento' : 'Cadastro de Eventos'}\r\n footer={\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n cadastrarEvento={cadastrarEvento}\r\n editarEvento={editarEvento}\r\n />\r\n }\r\n >\r\n \r\n {\r\n handleInputUrl(e);\r\n }}\r\n />\r\n \r\n {TipoEventoWebhookEnum.returnDescriptionPorId[selectEventCode] ||\r\n (isEditar &&\r\n TipoEventoWebhookEnum.returnDescricao[isEditar.eventCode])}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ isEditar, onClick, cadastrarEvento, editarEvento }) => {\r\n return (\r\n <>\r\n \r\n Cancelar\r\n \r\n \r\n Salvar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCadastarWebhookEvent;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalBodyContainer } from '../../molecules/ModalConsultaStructure/styles';\r\n\r\nfunction ModalWebhookEventosHeaders({\r\n isOpen,\r\n onCloseModal,\r\n titleModal,\r\n HeaderModal,\r\n BodyModal,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalWebhookEventosHeaders;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, Modal, TextField, WrapperFlex } from '@unimed-fesp/components';\r\nimport { useDispatch } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { Creators as WebhookEventHeaderIntegrationActions } from '../../../store/ducks/webhookEventHeaderIntegration';\r\nimport { ErrorToast } from '../../molecules/Toast';\r\n\r\nfunction ModalCadastarWebhookEventHeader({\r\n isOpen,\r\n onClick,\r\n isEditar,\r\n webhookEventId,\r\n setIsEditarModal,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const [inputNome, setInputNome] = useState('');\r\n const [inputValor, setInputValor] = useState('');\r\n\r\n const handleInputValor = (event) => {\r\n setInputValor(event.target.value);\r\n };\r\n const handleInputNome = (event) => {\r\n setInputNome(event.target.value);\r\n };\r\n\r\n const validarCamposHeaders = (nome, valor) => {\r\n const regexNome = /^[A-Za-z\\-]+$/;\r\n const regexValor = /^[^\\u00C0-\\u017Fç]+$/;\r\n\r\n const nomeValido = regexNome.test(nome);\r\n const valorValido = regexValor.test(valor);\r\n return nomeValido && valorValido;\r\n };\r\n\r\n const limparInputs = () => {\r\n setInputValor('');\r\n setInputNome('');\r\n };\r\n\r\n const cadastrarHeader = () => {\r\n if (!inputValor || !inputNome)\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n\r\n if (!validarCamposHeaders(inputNome, inputValor))\r\n return toast.error(\r\n \r\n O cabeçalho HTTP fornecido é inválido. Certifique-se de que o nome e\r\n valor do cabeçalho está em conformidade com as especificações HTTP e\r\n que o valor é válido.\r\n \r\n );\r\n\r\n const params = {\r\n name: inputNome,\r\n webhookEventId,\r\n value: inputValor,\r\n };\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.postWebhookEventHeaderRequest(params)\r\n );\r\n limparInputs();\r\n onClick();\r\n };\r\n\r\n const editarHeader = () => {\r\n if (!inputValor || !inputNome)\r\n return toast.error(\r\n Os campos são obrigatórios.\r\n );\r\n\r\n if (!validarCamposHeaders(inputNome, inputValor))\r\n return toast.error(\r\n \r\n O cabeçalho HTTP fornecido é inválido. Certifique-se de que o nome e\r\n valor do cabeçalho está em conformidade com as especificações HTTP e\r\n que o valor é válido.\r\n \r\n );\r\n\r\n const params = {\r\n name: inputNome,\r\n webhookEventId,\r\n value: inputValor,\r\n entityId: isEditar.id,\r\n };\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.putWebhookEventHeaderRequest(params)\r\n );\r\n\r\n onClick();\r\n setIsEditarModal(false);\r\n limparInputs();\r\n };\r\n\r\n useEffect(() => {\r\n if (isEditar) {\r\n setInputValor(isEditar.value);\r\n setInputNome(isEditar.name);\r\n }\r\n }, [isEditar]);\r\n\r\n return (\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n height={345}\r\n width={600}\r\n header={isEditar ? 'Editar Header' : 'Cadastro de Header'}\r\n footer={\r\n {\r\n onClick();\r\n limparInputs();\r\n }}\r\n cadastrarHeader={cadastrarHeader}\r\n editarHeader={editarHeader}\r\n />\r\n }\r\n >\r\n \r\n {\r\n handleInputNome(e);\r\n }}\r\n />\r\n {\r\n handleInputValor(e);\r\n }}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ isEditar, onClick, cadastrarHeader, editarHeader }) => {\r\n return (\r\n <>\r\n \r\n Cancelar\r\n \r\n \r\n Salvar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCadastarWebhookEventHeader;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n","import {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React, { useState } from 'react';\r\n\r\nimport { MdDelete, MdEdit, MdRemoveRedEye } from 'react-icons/md';\r\nimport { IoMdEyeOff } from 'react-icons/io';\r\nimport theme from '../../../styles/theme';\r\nimport { ButtonActions, HoverActions } from './styles';\r\n\r\nconst TableCadastroWebHookEventHeaderBodyRow = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarHeader,\r\n setOpenModalDeletarHeader,\r\n header,\r\n}) => {\r\n const [mostrarValor, setMostarValor] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n {header.name}\r\n \r\n {mostrarValor ? header.value : '*******'}\r\n \r\n \r\n {header.createdAt\r\n ? format(new Date(header.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {header.createdUser}\r\n \r\n \r\n \r\n \r\n {\r\n setMostarValor(!mostrarValor);\r\n }}\r\n background={theme.greenDefault}\r\n >\r\n {mostrarValor ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setIsEditarModal(header);\r\n setOpenModalCadastrarHeader(true);\r\n }}\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalDeletarHeader({\r\n isOpen: true,\r\n eventId: header.id,\r\n })\r\n }\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookEventHeaderBodyRow;\r\n","import { TableCell, TableRow } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport TableCadastroWebHookEventHeaderBodyRow from './TableCadastroWebHookEventHeaderBodyRow';\r\n\r\nconst TableCadastroWebHookEventHeaderBody = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarHeader,\r\n setOpenModalDeletarHeader,\r\n}) => {\r\n const { getWebhookEventHeaderList } = useSelector(\r\n (state) => state.webhookEventHeaderIntegration\r\n );\r\n\r\n const headers = getWebhookEventHeaderList.data;\r\n\r\n if (headers && headers.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getWebhookEventHeaderList.loading) {\r\n return ;\r\n }\r\n\r\n return headers.map((header) => (\r\n \r\n ));\r\n};\r\n\r\nexport default TableCadastroWebHookEventHeaderBody;\r\n","import React from 'react';\r\n\r\nimport { TableRow } from '@unimed-fesp/components';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, ScrollBar, Table, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookEventHeaderIntegrationActions } from '../../../store/ducks/webhookEventHeaderIntegration';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport ModalCadastarWebhookEventHeader from '../ModalCadastarWebhookEventHeader';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport TableCadastroWebHookEventHeaderBody from './TableCadastroWebHookEventHeaderBody';\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhookEventsHeader = ({ webhookEventId }) => {\r\n const dispatch = useDispatch();\r\n\r\n const [isEditarModal, setIsEditarModal] = useState(false);\r\n\r\n const [openModalCadastrarEvento, setOpenModalCadastrarEvento] =\r\n useState(false);\r\n\r\n const [openModalDeletarEvento, setOpenModalDeletarEvento] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n\r\n const {\r\n postWebhookEventHeader,\r\n putWebhookEventHeader,\r\n deleteWebhookEventHeader,\r\n getWebhookEventHeaderList,\r\n } = useSelector((state) => state.webhookEventHeaderIntegration);\r\n const headers = [\r\n {\r\n id: 2,\r\n title: 'Nome',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 3,\r\n title: 'Valor',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 4,\r\n title: 'Data de criação',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 5,\r\n title: 'Criado por',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n ];\r\n\r\n const deletarWebhookEventHeader = (webhookEventHeaderId) => {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.deleteWebhookEventHeaderRequest(\r\n webhookEventHeaderId\r\n )\r\n );\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n (!postWebhookEventHeader.loading && postWebhookEventHeader.success) ||\r\n (!putWebhookEventHeader.loading && putWebhookEventHeader.success) ||\r\n (!deleteWebhookEventHeader.loading && deleteWebhookEventHeader.success)\r\n ) {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.getWebhookEventHeadersListRequest(\r\n webhookEventId\r\n )\r\n );\r\n\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.postWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.putWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.deleteWebhookEventHeaderResponse(\r\n {},\r\n false\r\n )\r\n );\r\n }\r\n }, [\r\n postWebhookEventHeader.success,\r\n putWebhookEventHeader.success,\r\n deleteWebhookEventHeader.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n WebhookEventHeaderIntegrationActions.getWebhookEventHeadersListRequest(\r\n webhookEventId\r\n )\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n setOpenModalCadastrarEvento(true)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n Novo Header\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n setOpenModalCadastrarEvento(false)}\r\n webhookEventId={webhookEventId}\r\n setIsEditarModal={setIsEditarModal}\r\n />\r\n \r\n deletarWebhookEventHeader(openModalDeletarEvento.eventId)\r\n }\r\n onClick={() =>\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n text=\"O Header será excluído.\"\r\n textHeader=\"Excluir Header\"\r\n loading={getWebhookEventHeaderList.loading}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhookEventsHeader;\r\n","import {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React from 'react';\r\n\r\nimport { MdDelete, MdEdit, MdListAlt } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { TipoEventoWebhookEnum } from '../../../enums';\r\nimport theme from '../../../styles/theme';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { ButtonActions, HoverActions } from '../TableCadastroWebhook/styles';\r\n\r\nconst TableCadastroWebHookEventBody = ({\r\n setIsEditarModal,\r\n setOpenModalCadastrarEvento,\r\n setOpenModalDeletarEvento,\r\n openModalHeaders,\r\n}) => {\r\n const { getWebhookEventList } = useSelector(\r\n (state) => state.webhookEventIntegration\r\n );\r\n\r\n const events = getWebhookEventList.data;\r\n\r\n if (events && events.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (getWebhookEventList.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n {events?.map((event) => (\r\n \r\n {event.url}\r\n \r\n {TipoEventoWebhookEnum.returnDescricao[event.eventCode]}\r\n \r\n \r\n {event.createdAt\r\n ? format(new Date(event.createdAt), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n {event.createdUser}\r\n \r\n \r\n \r\n \r\n {\r\n setIsEditarModal(event);\r\n setOpenModalCadastrarEvento(true);\r\n }}\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n openModalHeaders({\r\n isOpen: true,\r\n eventId: event.id,\r\n })\r\n }\r\n background={theme.greenDefault}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenModalDeletarEvento({\r\n isOpen: true,\r\n eventId: event.id,\r\n })\r\n }\r\n background={theme.red}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebHookEventBody;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n z-index: 1;\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { TableRow } from '@unimed-fesp/components';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHistoricoHeader = ({ headers }) => {\r\n return (\r\n \r\n {headers.map((header) => (\r\n \r\n {header.title}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, ScrollBar, Table, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookEventIntegrationActions } from '../../../store/ducks/webhookEventIntegration';\r\nimport { Creators as WebhookIntegrationActions } from '../../../store/ducks/webhookIntegration';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport ModalCadastarWebhookEvent from '../ModalCadastarWebhookEvent';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport ModalWebhookEventosHeaders from '../ModalWebhookEventosHeaders';\r\nimport TableCadastroWebhookEventsHeader from '../TableCadastroWebhookEventsHeader';\r\nimport TableCadastroWebHookEventBody from './TableCadastroWebHookEventBody';\r\nimport TableCadastroWebHookHeader from './TableCadastroWebHookHeader';\r\n\r\nconst TableCadastroWebhookEvents = ({ webhookId }) => {\r\n const dispatch = useDispatch();\r\n\r\n const [isEditarModal, setIsEditarModal] = useState(false);\r\n const [openModalCadastrarEvento, setOpenModalCadastrarEvento] =\r\n useState(false);\r\n const [openModalEventoHeader, setOpenModalEventoHeader] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n const [openModalDeletarEvento, setOpenModalDeletarEvento] = useState({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n\r\n const {\r\n getWebhookEventList,\r\n putWebhookEventIntegration,\r\n postWebhookEvent,\r\n deleteWebhookEventIntegration,\r\n } = useSelector((state) => state.webhookEventIntegration);\r\n const headers = [\r\n {\r\n id: 2,\r\n title: 'URL',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 3,\r\n title: 'Evento',\r\n maxWidth: '200',\r\n minWidth: '200',\r\n },\r\n {\r\n id: 4,\r\n title: 'Data Criação',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 5,\r\n title: 'Criado por',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n },\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n ];\r\n\r\n const deletarWebhookEvent = (webhookEventId) => {\r\n dispatch(\r\n WebhookEventIntegrationActions.deleteWebhookEventIntegrationRequest(\r\n webhookEventId\r\n )\r\n );\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (\r\n (!postWebhookEvent.loading && postWebhookEvent.success) ||\r\n (!putWebhookEventIntegration.loading &&\r\n putWebhookEventIntegration.success) ||\r\n (!deleteWebhookEventIntegration.loading &&\r\n deleteWebhookEventIntegration.success)\r\n ) {\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(webhookId)\r\n );\r\n\r\n dispatch(\r\n WebhookEventIntegrationActions.postWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventIntegrationActions.putWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n dispatch(\r\n WebhookEventIntegrationActions.deleteWebhookEventIntegrationResponse(\r\n {},\r\n false\r\n )\r\n );\r\n }\r\n }, [\r\n postWebhookEvent.success,\r\n putWebhookEventIntegration.success,\r\n deleteWebhookEventIntegration.success,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (openModalCadastrarEvento) {\r\n dispatch(WebhookIntegrationActions.getWebhookListEventsRequest());\r\n }\r\n }, [openModalCadastrarEvento]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n WebhookEventIntegrationActions.getWebhookEventsListRequest(webhookId)\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n setOpenModalCadastrarEvento(true)}\r\n data-testid=\"btn-add-contratante\"\r\n >\r\n \r\n Novo Evento\r\n \r\n \r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n setOpenModalCadastrarEvento(false)}\r\n setIsEditarModal={setIsEditarModal}\r\n />\r\n deletarWebhookEvent(openModalDeletarEvento.eventId)}\r\n onClick={() =>\r\n setOpenModalDeletarEvento({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n text=\"O Evento será excluído.\"\r\n textHeader=\"Excluir Evento\"\r\n loading={getWebhookEventList.loading}\r\n />\r\n \r\n setOpenModalEventoHeader({\r\n isOpen: false,\r\n eventId: '',\r\n })\r\n }\r\n titleModal=\"Headers eventos\"\r\n BodyModal={\r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TableCadastroWebhookEvents;\r\n","import React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport * as jwtDecode from 'jwt-decode';\r\nimport { BsPlus } from 'react-icons/bs';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as WebhookIntegrationActions } from '../../../store/ducks/webhookIntegration';\r\nimport theme from '../../../styles/theme';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport ModalCancelAction from '../ModalCancelAction';\r\nimport ModalEventosWebhook from '../ModalEventosWebhook';\r\nimport TableCadastroWebhook from '../TableCadastroWebhook';\r\nimport TableCadastroWebHookBody from '../TableCadastroWebhook/TableCadastroWebHookBody';\r\nimport TableCadastroWebhookEvents from '../TableCadastroWebhookEvents';\r\n\r\nconst CadastroWebhook = () => {\r\n const dispatch = useDispatch();\r\n const { getWebhookConfiguration } = useSelector(\r\n (state) => state.webhookIntegration\r\n );\r\n\r\n const [openModalDeletarConfiguracao, setOpenModalDeletarConfiguracao] =\r\n useState(false);\r\n\r\n const [openModalEventos, setOpenModalEventos] = useState(false);\r\n\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n const dados = getWebhookConfiguration.data;\r\n\r\n const headers = [\r\n {\r\n id: 1,\r\n title: 'Código da Contratante',\r\n maxWidth: '100',\r\n minWidth: '50',\r\n },\r\n {\r\n id: 2,\r\n title: 'Data de criação',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n {\r\n id: 3,\r\n title: 'Criado por',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n },\r\n dados?.updatedAt\r\n ? {\r\n id: 4,\r\n title: 'Data de atualização',\r\n maxWidth: '120',\r\n minWidth: '120',\r\n }\r\n : null,\r\n dados?.updatedBy\r\n ? {\r\n id: 5,\r\n title: 'Atualizado por',\r\n maxWidth: '150',\r\n minWidth: '150',\r\n }\r\n : null,\r\n IsAdm.toLowerCase() === 'true'\r\n ? {\r\n id: 6,\r\n title: 'Ativo',\r\n maxWidth: '50',\r\n minWidth: '50',\r\n }\r\n : null,\r\n {\r\n id: 7,\r\n title: '',\r\n maxWidth: '100',\r\n minWidth: '100',\r\n },\r\n ].filter(Boolean);\r\n\r\n useEffect(() => {\r\n dispatch(WebhookIntegrationActions.getWebhookConfigurationRequest());\r\n }, []);\r\n\r\n const deletarWebhook = (idWebhook) => {\r\n dispatch(\r\n WebhookIntegrationActions.deleteWebhookIntegrationRequest(idWebhook)\r\n );\r\n setOpenModalDeletarConfiguracao(false);\r\n };\r\n\r\n const toggleWebhook = (params) =>\r\n dispatch(WebhookIntegrationActions.putWebhookIntegrationRequest(params));\r\n\r\n const adicionarNovaConfiguracao = () =>\r\n dispatch(WebhookIntegrationActions.postWebhookIntegrationRequest());\r\n\r\n if (getWebhookConfiguration.loading) {\r\n return ;\r\n }\r\n return (\r\n \r\n \r\n\r\n {dados ? (\r\n \r\n setOpenModalDeletarConfiguracao(true)}\r\n toggleWebhook={toggleWebhook}\r\n openModalEventos={() => setOpenModalEventos(true)}\r\n />\r\n }\r\n />\r\n {IsAdm.toLowerCase() === 'false' && !dados.isActive && (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n \r\n adicionarNovaConfiguracao()}\r\n >\r\n \r\n Nova configuração\r\n \r\n \r\n \r\n )}\r\n deletarWebhook(dados.id)}\r\n onClick={() => setOpenModalDeletarConfiguracao(false)}\r\n text=\"Ao excluir a configuração, todos os cabeçalhos e valores serão permanentemente removidos.\"\r\n textHeader=\"Excluir configuração\"\r\n loading={getWebhookConfiguration.loading}\r\n />\r\n setOpenModalEventos(false)}\r\n titleModal=\"Eventos Webhook\"\r\n BodyModal={}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CadastroWebhook;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n\r\n${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import produce from 'immer';\r\nimport React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport { Container } from './styles';\r\n\r\nconst InputForm = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n marginLeft,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n />\r\n );\r\n};\r\n\r\nexport default InputForm;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n ${({ errorUsuario }) =>\r\n errorUsuario\r\n ? css`\r\n background-color: ${theme.white} !important;\r\n border: 1px solid ${theme.redLight} !important;\r\n `\r\n : ''}\r\n\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.grey}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.div`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n`;\r\n\r\nexport const IconValidation = styled.span`\r\n cursor: pointer;\r\n margin: 16px 16px;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n margin-bottom: 0;\r\n width: 100%;\r\n position: absolute;\r\n\r\n svg {\r\n ${({ showIconError }) =>\r\n showIconError\r\n ? css`\r\n fill: ${theme.redLight};\r\n `\r\n : css`\r\n fill: ${theme.greenDefault};\r\n `}\r\n }\r\n`;\r\n","/* eslint-disable no-nested-ternary */\r\nimport produce from 'immer';\r\nimport React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { Container, ErrorMessage, IconValidation } from './styles';\r\n\r\nconst InputFormLogin = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n errorUsuario,\r\n showOnBlur,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n errorUsuario={errorUsuario}\r\n />\r\n {error ? (\r\n <>\r\n \r\n \r\n \r\n {error}\r\n \r\n ) : showOnBlur ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default InputFormLogin;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n margin-top: 9px;\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n }\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 1px solid ${theme.greenDefault};\r\n }\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n background-color: ${theme.white} !important;\r\n border: 1px solid ${theme.redLight} !important;\r\n `\r\n : ''}\r\n\r\n\r\n ${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.grey}`};\r\n }\r\n }\r\n\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const IconEye = styled.span`\r\n cursor: pointer;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n ${({ isLogin }) =>\r\n isLogin\r\n ? css`\r\n margin: 20px -37px;\r\n `\r\n : css`\r\n margin: 9px -37px;\r\n `}\r\n margin-bottom: 0;\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 100%;\r\n `}\r\n\r\n position: absolute;\r\n\r\n svg {\r\n fill: ${theme.grey};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n ;\r\n `}\r\n }\r\n`;\r\n\r\nexport const ErrorMessage = styled.div`\r\n color: ${theme.redLight};\r\n font: 13px Calibri Regular;\r\n padding-top: 8px;\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight}px;\r\n `\r\n : css`\r\n padding-right: 465px;\r\n `}\r\n`;\r\n\r\nexport const IconValidation = styled.span`\r\n margin: 16px 16px;\r\n visibility: hidden;\r\n cursor: pointer;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n\r\n margin-bottom: 0;\r\n position: absolute;\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 100%;\r\n `}\r\n\r\n svg {\r\n ${({ showIconError }) =>\r\n showIconError\r\n ? css`\r\n fill: ${theme.redLight};\r\n visibility: visible;\r\n `\r\n : css`\r\n fill: ${theme.greenDefault};\r\n `}\r\n }\r\n`;\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisibility24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6c3.79 0 7.17 2.13 8.82 5.5C19.17 14.87 15.79 17 12 17s-7.17-2.13-8.82-5.5C4.83 8.13 8.21 6 12 6m0-2C7 4 2.73 7.11 1 11.5 2.73 15.89 7 19 12 19s9.27-3.11 11-7.5C21.27 7.11 17 4 12 4zm0 5c1.38 0 2.5 1.12 2.5 2.5S13.38 14 12 14s-2.5-1.12-2.5-2.5S10.62 9 12 9m0-2c-2.48 0-4.5 2.02-4.5 4.5S9.52 16 12 16s4.5-2.02 4.5-4.5S14.48 7 12 7z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisibility24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visibility-24px.a7ef89e8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisibilityOff24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisibilityOff24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visibility_off-24px.5c8bb2d7.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { IconEye, Container, ErrorMessage, IconValidation } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ReactComponent as Eye } from '../../../assets/icons/visibility-24px.svg';\r\nimport { ReactComponent as EyeOff } from '../../../assets/icons/visibility_off-24px.svg';\r\n\r\nimport LabelContainer from '../LabelContainer';\r\n\r\nexport default function InputPassword({\r\n name,\r\n value,\r\n placeholder,\r\n onClick,\r\n labelName,\r\n disabled,\r\n marginTop,\r\n marginLeft,\r\n marginBottom,\r\n width,\r\n height,\r\n isLogin,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n type,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n margin,\r\n errorSenha,\r\n display,\r\n paddingRight,\r\n eyeWidth,\r\n ...rest\r\n}) {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n\r\n const [values, setValues] = useState({\r\n password: '',\r\n showPassword: false,\r\n });\r\n\r\n const handleClickShowPassword = () => {\r\n setValues({ ...values, showPassword: !values.showPassword });\r\n };\r\n\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n \r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={values.showPassword ? 'text' : 'password'}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n errorSenha={errorSenha}\r\n />\r\n \r\n {values.showPassword ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {error ? (\r\n <>\r\n \r\n \r\n \r\n {error}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div``;\r\n\r\nexport const ChangePasswordContainer = styled.div`\r\n padding: 12px 0 0 5px;\r\n width: 130px;\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { ImPencil } from 'react-icons/im';\r\nimport produce from 'immer';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport InputPassword from '../../molecules/InputPassword';\r\n\r\nimport { Container, ChangePasswordContainer } from './styles';\r\n\r\nfunction SenhaBox({\r\n params,\r\n setParams,\r\n errorSenha,\r\n errorNovaSenha,\r\n errorConfirmacaoSenha,\r\n paddingRight,\r\n eyeWidth,\r\n}) {\r\n const [newPassword, setNewPassword] = useState(false);\r\n const handleChangePassword = () => {\r\n setNewPassword(!newPassword);\r\n };\r\n function handleInput(e) {\r\n const { name, value } = e.target;\r\n\r\n const newParams = produce(params, (draft) => {\r\n draft[name] = value;\r\n });\r\n\r\n setParams(newParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n handleInput(e)}\r\n marginTop=\"9\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"senha\"\r\n labelName=\"Senha\"\r\n value={params.senha}\r\n isLogin\r\n errorSenha={errorSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n {newPassword ? (\r\n <>\r\n handleInput(e)}\r\n placeholder=\"Insira a nova senha\"\r\n name=\"novaSenha\"\r\n value={params.novaSenha}\r\n isLogin\r\n width=\"400\"\r\n height=\"40\"\r\n errorSenha={errorNovaSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n handleInput(e)}\r\n placeholder=\"Insira a confirmação da nova senha\"\r\n name=\"confirmacaoSenha\"\r\n value={params.confirmacaoSenha}\r\n isLogin\r\n width=\"400\"\r\n height=\"40\"\r\n errorSenha={errorConfirmacaoSenha}\r\n paddingRight={paddingRight}\r\n eyeWidth={eyeWidth}\r\n />\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default SenhaBox;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Text, CanAccess, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\n// #region Importação Componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport InputForm from '../../atoms/InputForm';\r\nimport InputFormLogin from '../../atoms/InputFormLogin';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport SenhaBox from '../SenhaBox';\r\n// #endregion\r\n\r\nconst DadosAcesso = ({\r\n usuarioParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n errorSenha,\r\n errorNovaSenha,\r\n errorConfirmacaoSenha,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n function handleInput(e, status) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleInput(e, 'nome')}\r\n disabled\r\n marginTop=\"9\"\r\n width=\"633\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n />\r\n \r\n \r\n \r\n handleInput(e, 'email')}\r\n disabled\r\n marginTop=\"9\"\r\n width=\"458\"\r\n height=\"40\"\r\n placeholder=\"Informe o e-mail do usuário\"\r\n name=\"email\"\r\n value={dadosAcessoParams.email}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { IoIosCheckmarkCircleOutline } from 'react-icons/io';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Hr = styled.hr`\r\n border-color: #f2f2f2;\r\n opacity: 0.1;\r\n width: 100%;\r\n`;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n ${({ type }) =>\r\n type === 'PendenteLiberacao'\r\n ? css`\r\n color: ${theme.yellowDefault};\r\n `\r\n : type === 'Ativo'\r\n ? css`\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const UnlockWarning = styled(RiErrorWarningLine)`\r\n color: ${theme.yellowDefault};\r\n width: 25px;\r\n height: 25px;\r\n`;\r\n\r\nexport const CheckWarning = styled(IoIosCheckmarkCircleOutline)`\r\n color: ${theme.greenDefault};\r\n width: 25px;\r\n height: 25px;\r\n`;\r\n\r\nexport const ReSendContainer = styled.div`\r\n margin: 30px 0 0 5px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n`;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Text,\r\n Badge,\r\n Dropdown,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Hr } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { isAdmin } from '../../../utils/userRole';\r\nimport useParametrizazao from '../../../hooks/useParametrizazao';\r\n\r\n// #region Importação Componentes\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport InputFormLogin from '../../atoms/InputFormLogin';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n// #endregion\r\n\r\nconst DadosGerais = ({\r\n usuarioParams,\r\n setUsuarioParams,\r\n usuarioDadosGerais,\r\n contatoParams,\r\n setContatoParams,\r\n disableNameInput,\r\n useField,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerPerfil = useField('perfil').registerField;\r\n\r\n const { handleRemoveAllCards } = useParametrizazao(\r\n usuarioDadosGerais?.idUsuario\r\n );\r\n\r\n function handleSelectedPerfil(e) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.permissao !== e.target.dataset.text)\r\n draft.permissao = e.target.dataset.text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"623\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n disabled={disableNameInput}\r\n />\r\n \r\n {isAdmin(usuario?.role) && (\r\n <>\r\n \r\n {\r\n TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n usuarioDadosGerais.tipoPerfil\r\n ]\r\n }\r\n \r\n \r\n {usuarioDadosGerais?.roles?.map((role) => {\r\n const IS_ADM =\r\n role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n return (\r\n !IS_ADM && handleRemoveAllCards()}\r\n />\r\n );\r\n })}\r\n \r\n \r\n )}\r\n
    \r\n \r\n \r\n setContatoParams({\r\n contatos,\r\n })\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nexport default EmptyContent;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { isContratante, isOldAdmin } from '../../../utils/userRole';\r\n\r\n// #region Importação Componentes\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\nimport {\r\n TabActionWrapper,\r\n TabButton,\r\n TabContainer,\r\n TabContentWrapper,\r\n} from '../../molecules/Tab';\r\nimport ParametrizacaoContratantes from '../ParametrizacaoContratantes';\r\nimport CadastroWebhook from './CadastroWebhook';\r\nimport DadosAcesso from './DadosAcesso';\r\nimport DadosGerais from './DadosGerais';\r\nimport EmptyContent from './EmptyContent';\r\n// #endregion\r\n\r\nfunction TabsFormConfiguracoes({\r\n usuarioParams,\r\n setUsuarioParams,\r\n contatoParams,\r\n setContatoParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosGerais,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n handleActiveTab,\r\n disableNameInput,\r\n useField,\r\n}) {\r\n const {\r\n accessToken,\r\n usuario: { idUsuarioLogado, role },\r\n } = useSelector((state) => state.auth);\r\n\r\n const errorSenha = useField('senha').error;\r\n const errorNovaSenha = useField('novaSenha').error;\r\n const errorConfirmacaoSenha = useField('confirmacaoSenha').error;\r\n\r\n function handleRenderTable(tabName = null) {\r\n if (usuarioDadosGerais.loading) {\r\n return ;\r\n }\r\n if (usuarioDadosGerais.response) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n handleActiveTab('dadosGerais')}\r\n />\r\n handleActiveTab('dadosAcesso')}\r\n />\r\n {!isOldAdmin(accessToken) && !isContratante(role) && (\r\n handleActiveTab('parametros')}\r\n />\r\n )}\r\n handleActiveTab('cadastroWebhook')}\r\n />\r\n \r\n \r\n {handleRenderTable()}\r\n \r\n \r\n \r\n \r\n {!isOldAdmin(accessToken) && !isContratante(role) && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TabsFormConfiguracoes;\r\n","export const senhaPattern = {\r\n pattern:\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n message:\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos',\r\n};\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useEffect, useState, useRef, useCallback } from 'react';\r\nimport { useDispatch, useSelector, batch } from 'react-redux';\r\nimport { Form } from '@unform/web';\r\nimport { useField } from '@unform/core';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport { isEqual } from 'lodash';\r\nimport * as Yup from 'yup';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n isValidMesmoTelefone,\r\n isValidMesmoCelular,\r\n validationPattern,\r\n} from '../../utils/validation';\r\nimport { isContratante } from '../../utils/userRole';\r\n\r\nimport {\r\n TipoTelefoneEnum,\r\n PermissaoContratanteEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport TabsFormConfiguracoes from '../../components/organisms/TabsFormConfiguracoes';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\nimport ModalError from '../../components/organisms/ModalError';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\nimport { senhaPattern } from '../../utils/patterns';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nimport useParametrizacao from '../../hooks/useParametrizazao';\r\n\r\nfunction Configuracoes() {\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const { idUsuarioLogado, role } = useSelector((state) => state.auth.usuario);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const {\r\n getUsuarioById,\r\n getContatoById,\r\n getDadosAcessoById,\r\n patchDadosGerais,\r\n patchDadosAcesso,\r\n patchSenha,\r\n } = useSelector((state) => state.usuario);\r\n const { salvarParametrizacao, hasAlteracao } = useParametrizacao(\r\n idUsuarioLogado,\r\n role\r\n );\r\n\r\n const passwordSchema = Yup.object().shape({\r\n senha: Yup.string().trim().required('Necessário preencher a senha atual.'),\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n validationPattern.password.regexValidate,\r\n 'A nova senha não atende as especificações.'\r\n )\r\n .matches(\r\n validationPattern.password.symbolValidate,\r\n 'É necessário ao menos um símbolo para a nova senha.'\r\n )\r\n .trim()\r\n .matches(senhaPattern.pattern, senhaPattern.message)\r\n .notOneOf([Yup.ref('senha')], 'A nova senha deve ser diferente da atual')\r\n .required('Necessário preencher a nova senha.'),\r\n confirmacaoSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n validationPattern.password.regexValidate,\r\n 'A confirmação de senha não atende as especificações.'\r\n )\r\n .matches(\r\n validationPattern.password.symbolValidate,\r\n 'É necessário ao menos um símbolo para a nova senha.'\r\n )\r\n .matches(senhaPattern.pattern, senhaPattern.message)\r\n .oneOf(\r\n [Yup.ref('novaSenha')],\r\n 'A confirmação de senha deve ser igual a nova senha'\r\n )\r\n .notOneOf(\r\n [Yup.ref('senha')],\r\n 'A confirmação de senha deve ser diferente da atual'\r\n )\r\n .required('Necessário preencher a confirmação senha.'),\r\n });\r\n\r\n const editarUsuarioParam = {\r\n idUsuario: parseInt(idUsuarioLogado, 10),\r\n nome: getUsuarioById.response.nome || '',\r\n matricula: getUsuarioById.response.matricula || '',\r\n tipoPerfil: getUsuarioById.response.tipoPerfil || '',\r\n permissao:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n getUsuarioById.response.tipoPerfil\r\n ] || '',\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const editarDadosAcessoParams = {\r\n nome: getDadosAcessoById.response.nome || '',\r\n email: getDadosAcessoById.response.email || '',\r\n senha: '',\r\n novaSenha: '',\r\n confirmacaoSenha: '',\r\n };\r\n\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [passwordParams, setPasswordParams] = useState();\r\n const [originalContatoParams, setOriginalContatoParams] = useState(\r\n editarContatosParams\r\n );\r\n const [dadosAcessoParams, setDadosAcessoParams] = useState(\r\n editarDadosAcessoParams\r\n );\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [modalError, setModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [activeTab, setActiveTab] = useState('dadosGerais');\r\n const [disableNameInput, setDisableNameInput] = useState(true);\r\n function IsStateChangeFromOriginal(prevState, newState) {\r\n return !isEqual(prevState, newState);\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.role === 'Adm') {\r\n setDisableNameInput(false);\r\n }\r\n batch(() => {\r\n dispatch(UsuarioActions.getUsuarioByIdRequest(idUsuarioLogado));\r\n dispatch(UsuarioActions.getContatoByIdRequest(idUsuarioLogado));\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuarioLogado));\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (getUsuarioById.response) setUsuarioParams(editarUsuarioParam);\r\n }, [getUsuarioById.response]);\r\n\r\n useEffect(() => {\r\n if (getContatoById.response.length > 0) {\r\n const contatos = [];\r\n getContatoById.response.map((contato) => {\r\n contatos.push({\r\n tipo: contato.tipoContato,\r\n numero: contato.nrDdd.toString().concat(contato.nrNumero),\r\n });\r\n });\r\n\r\n setOriginalContatoParams({ contatos });\r\n setContatoParams({ contatos });\r\n } else {\r\n setContatoParams(editarContatosParams);\r\n }\r\n }, [getContatoById.response]);\r\n\r\n useEffect(() => {\r\n if (getDadosAcessoById.response)\r\n setDadosAcessoParams(editarDadosAcessoParams);\r\n }, [getDadosAcessoById.response]);\r\n\r\n function IsSubmitDadosGerais() {\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n !IsStateChangeFromOriginal(originalContatoParams, contatoParams)\r\n ) {\r\n return IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams);\r\n }\r\n if (\r\n !IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n }\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) ||\r\n (IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n }\r\n\r\n function IsSubmitDadosAcesso() {\r\n return IsStateChangeFromOriginal(\r\n editarDadosAcessoParams,\r\n dadosAcessoParams\r\n );\r\n }\r\n\r\n const setButtonDisabledForTab = useCallback(\r\n (tabActive) => {\r\n const tabs = {\r\n dadosGerais: IsSubmitDadosGerais(),\r\n dadosAcesso: IsSubmitDadosAcesso(),\r\n parametros: hasAlteracao,\r\n };\r\n\r\n return tabs[tabActive];\r\n },\r\n [IsSubmitDadosAcesso, IsSubmitDadosGerais, hasAlteracao]\r\n );\r\n\r\n useEffect(() => {\r\n if (setButtonDisabledForTab(activeTab)) setIsButtonDisabled(false);\r\n else setIsButtonDisabled(true);\r\n }, [\r\n activeTab,\r\n usuarioParams,\r\n contatoParams,\r\n dadosAcessoParams,\r\n setButtonDisabledForTab,\r\n ]);\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function preparaDadosGerais(data) {\r\n const formUsuarioParams = {\r\n idUsuario: parseInt(idUsuarioLogado, 10),\r\n nome: data.nome,\r\n matricula: data.matricula ? data.matricula : '',\r\n tipoPerfil: TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil],\r\n permissao: data.permissao ? data.permissao : '',\r\n };\r\n\r\n const formContatoParams = {\r\n contatos: [],\r\n };\r\n\r\n if (data.contato?.length > 0)\r\n data.contato.map((c) => {\r\n formContatoParams.contatos.push({\r\n numero: c.numero,\r\n tipo: c.tipo,\r\n });\r\n });\r\n\r\n return { formUsuarioParams, formContatoParams };\r\n }\r\n\r\n function bindPermissaoToPerfil(data) {\r\n return TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil] !==\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm\r\n ? PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.permissao\r\n ]\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n }\r\n\r\n function dadosGeraisSubmit(data) {\r\n const { formUsuarioParams } = preparaDadosGerais(data);\r\n const formContatoParams = { contatos: [] };\r\n if (\r\n IsStateChangeFromOriginal(formUsuarioParams, editarUsuarioParam) ||\r\n (IsStateChangeFromOriginal(contatoParams, editarContatosParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n ) {\r\n formContatoParams.contatos = contatoParams.contatos.map((c) => {\r\n return {\r\n ddd: c.numero.substring(0, 2),\r\n numero: c.numero.substring(2),\r\n tipo: c.tipo,\r\n };\r\n });\r\n\r\n formUsuarioParams.tipoPerfil = bindPermissaoToPerfil(data);\r\n\r\n const { role } = usuario;\r\n if (isContratante(role)) {\r\n dispatch(\r\n UsuarioActions.patchRegistrarContatoRequest(\r\n formContatoParams,\r\n formUsuarioParams.idUsuario\r\n )\r\n );\r\n } else {\r\n dispatch(\r\n UsuarioActions.patchDadosGeraisRequest(\r\n formUsuarioParams,\r\n formContatoParams\r\n )\r\n );\r\n }\r\n }\r\n\r\n // if (\r\n // IsStateChangeFromOriginal(\r\n // formContatoParams,\r\n // editarContatosParams\r\n // ) &&\r\n // formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n // formContatoParams.contatos.every((c) =>\r\n // isValidContato(c.numero, c.tipo)\r\n // )\r\n // ) {\r\n // formContatoParams.contatos.map((c) => {\r\n // c.ddd = c.numero.substring(0, 2);\r\n // c.numero = c.numero.substring(2);\r\n // });\r\n\r\n // dispatch(\r\n // UsuarioActions.patchRegistrarContatoRequest(\r\n // formContatoParams,\r\n // idUsuarioLogado\r\n // )\r\n // );\r\n // }\r\n }\r\n\r\n async function dadosAcessoSubmit(data) {\r\n try {\r\n // if (isAdmin(usuario.role) && data.email !== '') {\r\n // await schema.validate(data, {\r\n // abortEarly: false,\r\n // });\r\n\r\n // const params = {\r\n // email: data.email,\r\n // idUsuario: idUsuarioLogado,\r\n // };\r\n // console.log(params);\r\n // // dispatch(UsuarioActions.patchDadosAcessoRequest(params));\r\n // }\r\n\r\n await passwordSchema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n setPasswordParams({ senha: data.novaSenha });\r\n dispatch(\r\n UsuarioActions.patchSenhaRequest(\r\n idUsuarioLogado,\r\n data.senha,\r\n data.novaSenha,\r\n data.confirmacaoSenha\r\n )\r\n );\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n function handleSubmit(data) {\r\n switch (activeTab) {\r\n case 'dadosGerais':\r\n dadosGeraisSubmit(data);\r\n break;\r\n case 'dadosAcesso':\r\n dadosAcessoSubmit(data);\r\n break;\r\n case 'parametros':\r\n salvarParametrizacao();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById(idUsuario, tipoAcao) {\r\n const params = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n const actionUsuario = setUsuarioActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n if (patchDadosGerais.success)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n if (patchSenha.success) dispatch(UsuarioActions.patchSenhaRenew());\r\n if (patchDadosAcesso.success)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n }\r\n\r\n function handleModalError() {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n\r\n if (patchDadosGerais.isError)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n if (patchSenha.isError) dispatch(UsuarioActions.patchSenhaRenew());\r\n if (patchDadosAcesso.isError)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n }\r\n\r\n function redirectTo() {\r\n history.push('/novo/lista');\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n setActiveTab(tab);\r\n }\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n }, [patchDadosGerais.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados gerais realizada.',\r\n });\r\n }, [patchDadosGerais.success]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.isError) {\r\n const OLD_USER_MESSAGE =\r\n 'Usuário no padrão antigo, entre em contato com o setor de Cadastro para criar um novo usuário.';\r\n\r\n const message =\r\n patchSenha.error[0] === OLD_USER_MESSAGE\r\n ? OLD_USER_MESSAGE\r\n : 'erro ao alterar a senha.';\r\n\r\n setModalError({\r\n error: !modalError.error,\r\n message,\r\n });\r\n }\r\n }, [patchSenha.isError]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de senha realizada.',\r\n });\r\n\r\n const renewSessionParams = {\r\n userId: usuario.login,\r\n password: passwordParams.senha,\r\n // userType: usuario.role,\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(renewSessionParams));\r\n }\r\n }, [patchSenha.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.isError) {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao alterar os dados de acesso.',\r\n });\r\n }\r\n }, [patchDadosAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados de acesso realizada.',\r\n });\r\n }, [patchDadosAcesso.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/configuracoes'),\r\n },\r\n ]}\r\n />\r\n
    \r\n \r\n \r\n \r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Configuracoes;\r\n","import styled, { css, keyframes } from 'styled-components';\r\nimport {\r\n MdError,\r\n MdCheckCircle,\r\n MdCancel,\r\n MdHelp,\r\n MdNotInterested,\r\n} from 'react-icons/md';\r\n\r\nimport themes from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const TableContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n width: 100%;\r\n\r\n max-height: ${({ maxHeight }) => maxHeight || '540px'};\r\n min-height: ${({ minHeight }) => minHeight || '280px'};\r\n\r\n height: ${({ height }) => height || '100%'};\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n overflow-x: scroll;\r\n\r\n ::-webkit-scrollbar {\r\n border-radius: 3px;\r\n height: 6px;\r\n width: 800px;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n border-radius: 4px;\r\n }\r\n\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background: ${themes.grey};\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 500 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: ${themes.titleGray};\r\n opacity: 1;\r\n align-items: center;\r\n justify-content: center;\r\n display: flex;\r\n margin-top: 80px;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const IconWarning = styled(MdError)`\r\n height: 22.52px;\r\n width: 22.52px;\r\n fill: ${themes.yellowDefault};\r\n margin-right: 7px;\r\n`;\r\n\r\nexport const IconAccepted = styled(MdCheckCircle)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n fill: ${themes.greenDefault};\r\n margin-right: 8px;\r\n`;\r\nexport const IconError = styled(MdCancel)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n fill: ${themes.red};\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const IconOptional = styled(MdHelp)`\r\n height: 22.3px;\r\n width: 22.3px;\r\n fill: ${themes.blueDefault};\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const IconNotSend = styled(MdNotInterested)`\r\n height: 22.24px;\r\n width: 22.24px;\r\n margin-right: 8px;\r\n`;\r\n\r\nexport const Text = styled.span`\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''}\r\n\r\n ${({ cursorPointer }) =>\r\n cursorPointer\r\n ? css`\r\n cursor: pointer;\r\n `\r\n : css`\r\n cursor: not-allowed;\r\n `}\r\n`;\r\n\r\nexport const WrapperContentTable = styled.div`\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width} !important;\r\n `\r\n : ''}\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-start;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { TableContentWrapper, ContainerEmptyContent } from './styles';\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nexport default EmptyContent;\r\n","import React from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { TableRow, WrapperFlex, TableHeader } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst TableDocumentosHeader = ({ header }) => {\r\n return (\r\n \r\n \r\n Beneficiário\r\n \r\n {header.map((doc) => (\r\n \r\n \r\n {doc.tipoDocumento}\r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableDocumentosHeader;\r\n","import React from 'react';\r\n\r\nimport {\r\n Text,\r\n IconError,\r\n IconWarning,\r\n IconNotSend,\r\n IconAccepted,\r\n IconOptional,\r\n WrapperContentTable,\r\n} from './styles';\r\n\r\nconst ConteudoPorStatus = ({\r\n idLista,\r\n idArquivo,\r\n statusDocumento,\r\n handleModalDetalheDocumento,\r\n beneficiario,\r\n tipoDocumento,\r\n}) => {\r\n const ContentStatus = {\r\n EmValidacao: {\r\n Icon: ,\r\n Text: (\r\n \r\n Pendente de validação\r\n \r\n ),\r\n },\r\n Aceito: {\r\n Icon: ,\r\n Text: (\r\n \r\n Aceito\r\n \r\n ),\r\n },\r\n Recusado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Recusado\r\n \r\n ),\r\n },\r\n NaoEnviado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Não Enviado\r\n \r\n ),\r\n },\r\n EnvioOpcional: {\r\n Icon: ,\r\n Text: (\r\n \r\n Envio Opcional\r\n \r\n ),\r\n },\r\n 'Envio Obrigatório': {\r\n Icon: ,\r\n Text: (\r\n \r\n Não Enviado\r\n \r\n ),\r\n },\r\n 'Envio Opcional': {\r\n Icon: ,\r\n Text: (\r\n \r\n Envio Opcional\r\n \r\n ),\r\n },\r\n Aprovado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Aceito\r\n \r\n ),\r\n },\r\n Reprovado: {\r\n Icon: ,\r\n Text: (\r\n \r\n Recusado\r\n \r\n ),\r\n },\r\n };\r\n\r\n function handleIconPorStatus() {\r\n return ContentStatus[statusDocumento].Icon;\r\n }\r\n function handleTextPorStatus() {\r\n return ContentStatus[statusDocumento].Text;\r\n }\r\n\r\n return (\r\n \r\n handleModalDetalheDocumento(\r\n idArquivo,\r\n idLista,\r\n beneficiario.id,\r\n beneficiario?.idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n )\r\n }\r\n >\r\n {handleIconPorStatus()}\r\n {handleTextPorStatus()}\r\n \r\n );\r\n};\r\n\r\nexport default ConteudoPorStatus;\r\n","import React from 'react';\r\nimport { TableCell } from '@unimed-fesp/components';\r\n\r\nimport ConteudoPorStatus from './ConteudoPorStatus';\r\n\r\nconst TableContent = ({\r\n idLista,\r\n headers,\r\n handleModalDetalheDocumento,\r\n beneficiario,\r\n}) => {\r\n return (\r\n <>\r\n {headers.map((header) => {\r\n const actualDocument = beneficiario?.documentos.find(\r\n (documento) => documento.tipoDocumento === header.tipoDocumento\r\n );\r\n if (actualDocument) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return -;\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableContent;\r\n","import React, { useEffect } from 'react';\r\nimport ReactTooltip from 'react-tooltip';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { TableContentWrapper, ContentWrapper } from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableDocumentosHeader from './TableDocumentosHeader';\r\nimport TableContent from './TableContent';\r\n\r\nconst DocumentosBeneficiarios = ({\r\n idLista,\r\n headers,\r\n filteredBeneficiarios,\r\n handleModalDetalheDocumento,\r\n\r\n pageData,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n hasPagination,\r\n}) => {\r\n useEffect(() => {\r\n if (hasPagination) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = pageData.total;\r\n\r\n return draft;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n }, [hasPagination, pageData, paginationParams, setPaginationParams]);\r\n\r\n return (\r\n \r\n \r\n \r\n }>\r\n {filteredBeneficiarios.map((beneficiario) => (\r\n \r\n {beneficiario?.nome}\r\n \r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {hasPagination && pageData.size > 10 && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default DocumentosBeneficiarios;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport { stringify } from 'qs';\r\nimport { TableContentWrapper } from './styles';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport EmptyContent from './EmptyContent';\r\nimport DocumentosBeneficiarios from './DocumentosBeneficiarios';\r\n\r\nfunction TableDocumentos({\r\n idLista,\r\n headers,\r\n beneficiarios,\r\n loading,\r\n handleModalDetalheDocumento,\r\n\r\n pageData,\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n hasPagination = true,\r\n}) {\r\n if (loading) {\r\n return (\r\n \r\n ;\r\n \r\n );\r\n }\r\n\r\n if (!headers || headers.length <= 0) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default TableDocumentos;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ContentWrapper = styled.div`\r\n width: 100%;\r\n display: flex;\r\n justify-content: space-around;\r\n align-items: center;\r\n`;\r\nexport const FileWrapper = styled.div`\r\n width: 896px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n margin: 10px;\r\n padding: 20px;\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const FileHeader = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n width: 100%;\r\n margin: 20px 0 20px 0;\r\n`;\r\nexport const FileContent = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nexport const FileContentWrapper = styled.div`\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : ''}\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const BadgesContainer = styled.div`\r\n display: flex;\r\n font-size: 12px;\r\n color: #ffff;\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n text-align: left;\r\n align-items: center;\r\n align-content: baseline;\r\n justify-content: space-between;\r\n padding: 5px;\r\n min-height: 30px;\r\n max-width: 200px;\r\n svg {\r\n cursor: pointer;\r\n }\r\n\r\n ${({ margin }) =>\r\n margin &&\r\n css`\r\n margin: ${margin}px;\r\n `};\r\n\r\n ${({ cursorPointer }) =>\r\n cursorPointer &&\r\n css`\r\n cursor: pointer;\r\n `};\r\n`;\r\n\r\nexport const BadgesHeaderContainer = styled.span`\r\n font-family: 'unimed_slabbold';\r\n padding-right: 4%;\r\n text-align: center;\r\n`;\r\n\r\nexport const BadgesContentContainer = styled.span`\r\n float: right;\r\n font-size: 13px;\r\n max-width: 80px;\r\n word-break: break-word;\r\n\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { AiOutlineClose } from 'react-icons/ai';\r\n\r\nimport {\r\n BadgesContainer,\r\n BadgesHeaderContainer,\r\n BadgesContentContainer,\r\n} from './styles';\r\n\r\nfunction Badges({ children, margin, remove, onClick, cursorPointer }) {\r\n return (\r\n \r\n {children}\r\n {remove && }\r\n \r\n );\r\n}\r\n\r\nfunction BadgesHeader({ children }) {\r\n return {children};\r\n}\r\n\r\nfunction BadgesContent({ children }) {\r\n return {children};\r\n}\r\n\r\nexport { Badges, BadgesHeader, BadgesContent };\r\n","export function downloadFile(base64, filename) {\r\n // const temp = `${encodeURIComponent(base64)}`;\r\n const download = document.createElement('a');\r\n download.href = base64;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n}\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgReplyAll24Px = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 8V5l-7 7 7 7v-3l-4-4 4-4zm6 1V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgReplyAll24Px, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/reply_all-24px.f864c1a5.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { MdCancel } from 'react-icons/md';\r\nimport { IoIosCheckmarkCircle } from 'react-icons/io';\r\n\r\nimport { ReactComponent as ReplyAll } from '../../../assets/icons/reply_all-24px.svg';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { isContratante } from '../../../utils/userRole';\r\n\r\nconst ModalFooter = ({\r\n idStatusLista,\r\n onAceitar,\r\n onRecusar,\r\n onCancelar,\r\n reenviarDocumento,\r\n esconderBtnReenviar,\r\n}) => {\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n {isContratante(usuario.role) && !esconderBtnReenviar && (\r\n reenviarDocumento()}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n \r\n reenviar documento\r\n \r\n )}\r\n {!isContratante(usuario.role) && idStatusLista === 16 && (\r\n <>\r\n \r\n \r\n recusar\r\n \r\n \r\n \r\n aceitar\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport {\r\n Text,\r\n Modal,\r\n Button,\r\n WrapperFlex,\r\n FilePreview,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdFileDownload } from 'react-icons/md';\r\n\r\nimport {\r\n ContentWrapper,\r\n FileWrapper,\r\n FileHeader,\r\n FileContent,\r\n FileContentWrapper,\r\n} from './styles';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport CustomScrollbars from '../../molecules/CustomScrollBars';\r\n\r\nimport { Badges } from '../../atoms/Badges';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { downloadFile } from '../../../utils/base64Picture';\r\n\r\nimport { TipoDocumentoEnum } from '../../../enums';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nfunction ModalDetalheDocumento({\r\n isOpen,\r\n onAceitar,\r\n onRecusar,\r\n onCloseModal,\r\n documentoPreview,\r\n reenviarDocumento,\r\n\r\n tipoDocumento,\r\n statusDocumento,\r\n idStatusLista,\r\n\r\n esconderBtnReenviar = false,\r\n}) {\r\n const prepareBase64File = useCallback((extension, base64File) => {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n };\r\n\r\n if (extension) {\r\n if (extension.includes('.'))\r\n return types[extension.split('.')[1]?.toUpperCase()];\r\n\r\n if (Object.keys(types).includes(extension?.toUpperCase()))\r\n return types[extension?.toUpperCase()];\r\n }\r\n return null;\r\n }, []);\r\n\r\n return (\r\n \r\n {TipoDocumentoEnum.returnNameFormattedPorSigla[tipoDocumento]}:{' '}\r\n {documentoPreview.response?.nome}\r\n \r\n }\r\n footer={\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {statusDocumento === 'Recusado' ||\r\n (statusDocumento === 'Reprovado' && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {documentoPreview.response?.arquivoConferencia && (\r\n \r\n \r\n \r\n downloadFile(\r\n prepareBase64File(\r\n documentoPreview.response?.documentoExtensao,\r\n documentoPreview.response?.arquivoConferencia\r\n ),\r\n `${documentoPreview.response?.arquivoConferenciaNome}`\r\n )\r\n }\r\n >\r\n Download\r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n downloadFile(\r\n prepareBase64File(\r\n documentoPreview.response?.documentoExtensao,\r\n documentoPreview.response?.documento\r\n ),\r\n `${documentoPreview.response?.cpf}_${tipoDocumento}`\r\n )\r\n }\r\n font=\"16px unimed_slabregular\"\r\n background=\"rgba(242,242,242,1)\"\r\n >\r\n \r\n download\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalDetalheDocumento;\r\n","import React, { useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport produce from 'immer';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport {\r\n Modal,\r\n Button,\r\n TextArea,\r\n InputFile,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\nimport { WarningToast } from '../../molecules/Toast';\r\n\r\nimport { Badges } from '../../atoms/Badges';\r\n\r\nimport { getBase64 } from '../../../utils/array';\r\n\r\nfunction ModalMotivoRecusa({\r\n isOpen,\r\n onClick,\r\n onClickEnviar,\r\n idArquivo,\r\n hasObrigatoriedadeFile,\r\n}) {\r\n const motivoRecusaParams = {\r\n motivoRecusa: null,\r\n };\r\n\r\n const [files, setFiles] = useState([]);\r\n const [motivoRecusa, setMotivoRecusa] = useState(motivoRecusaParams);\r\n\r\n function handlerInputError(errors) {\r\n if (errors.fileErrors.length > 0) {\r\n if (errors.fileErrors[0].error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo ultrapassou o limite máximo de 5mb\r\n \r\n );\r\n } else if (errors.fileErrors[0].error.hasNoContent) {\r\n toast.error(O arquivo não possui conteúdo);\r\n } else if (errors.fileErrors[0].error.hasValidExtension) {\r\n toast.error(\r\n \r\n O arquivo enviado não possui uma extensão válida\r\n \r\n );\r\n } else if (errors.hasMaxQuantity) {\r\n toast.error(\r\n Deve-se enviar apenas 1 arquivo\r\n );\r\n }\r\n }\r\n }\r\n\r\n function removeFile(idFile) {\r\n const newFiles = produce(files, (draft) => {\r\n draft = draft.filter((file) => file.idFile !== idFile);\r\n\r\n return draft;\r\n });\r\n setFiles(newFiles);\r\n }\r\n\r\n function handleInputChange(e, status) {\r\n const newMotivoRecusaParams = produce(motivoRecusaParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n setMotivoRecusa(newMotivoRecusaParams);\r\n }\r\n\r\n async function handleFile(file) {\r\n const base64 = await getBase64(file);\r\n return {\r\n file,\r\n name: file.name,\r\n readableSize: file.size,\r\n preview: URL.createObjectURL(file),\r\n progress: 0,\r\n uploaded: false,\r\n error: false,\r\n url: null,\r\n base64,\r\n idFile: uuidv4(),\r\n };\r\n }\r\n\r\n function handleValidations(filesInput) {\r\n const maxSizeFiles = 5242880;\r\n const maxQuantityFiles = 1;\r\n\r\n const validExtension = [\r\n 'txt',\r\n 'doc',\r\n 'docx',\r\n 'xls',\r\n 'xlsx',\r\n 'jpg',\r\n 'jpeg',\r\n 'png',\r\n 'tiff',\r\n 'pdf',\r\n ];\r\n const errors = {\r\n hasMaxSize: false,\r\n hasMaxQuantity: false,\r\n hasValidExtension: false,\r\n };\r\n\r\n const fileErrors = [];\r\n const filteredFiles = filesInput.filter((item) => {\r\n errors.hasMaxSize = false;\r\n errors.hasValidExtension = false;\r\n if (item.readableSize > maxSizeFiles) errors.hasMaxSize = true;\r\n\r\n if (!validExtension.includes(item.name.split('.').pop().toLowerCase()))\r\n errors.hasValidExtension = true;\r\n\r\n if (filesInput.length > maxQuantityFiles) errors.hasMaxQuantity = true;\r\n if (\r\n !(item.readableSize > maxSizeFiles) &&\r\n validExtension.includes(item.name.split('.').pop().toLowerCase()) &&\r\n filesInput.length <= maxQuantityFiles\r\n ) {\r\n return item;\r\n }\r\n const { hasMaxQuantity, ...rest } = errors;\r\n fileErrors.push({ error: rest, item });\r\n });\r\n\r\n handlerInputError({ fileErrors, hasMaxQuantity: errors.hasMaxQuantity });\r\n\r\n return filteredFiles;\r\n }\r\n\r\n return (\r\n motivo de recusa de documentos}\r\n footer={\r\n {\r\n const params = {\r\n idArquivo,\r\n statusConferencia: 'Recusado',\r\n mensagemConferencia: motivoRecusa.motivoRecusa,\r\n arquivoConferencia: files[0]?.base64,\r\n extensaoArquivoConferencia: files[0]?.name.split('.')[1],\r\n };\r\n\r\n onClickEnviar(params);\r\n setFiles([]);\r\n setMotivoRecusa(motivoRecusaParams);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n {\r\n handleInputChange(e, 'motivoRecusa');\r\n }}\r\n name=\"motivoRecusa\"\r\n width={860}\r\n height={170}\r\n value={motivoRecusa.motivoRecusa}\r\n />\r\n \r\n \r\n {files.map((file) => (\r\n removeFile(file.idFile)}>\r\n {file.name}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({\r\n onClick,\r\n isDisabledBtnEnviar,\r\n handleRecusarArquivo,\r\n}) => {\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n handleRecusarArquivo()}\r\n >\r\n enviar\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalMotivoRecusa;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport produce from 'immer';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { MdSearch, MdFilterList, MdArrowBack } from 'react-icons/md';\r\n\r\nimport {\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport TableDocumentos from '../../components/organisms/TableDocumentos';\r\nimport ModalDetalheDocumento from '../../components/organisms/ModalDetalheDocumento';\r\nimport ModalMotivoRecusa from '../../components/organisms/ModalMotivoRecusa';\r\nimport ModalSuccess from '../../components/organisms/ModalSuccess';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport { Creators as BeneficiarioActions } from '../../store/ducks/beneficiario';\r\n\r\nimport theme from '../../styles/theme';\r\nimport history from '../../services/history';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction DetalheDocumentos({ match }) {\r\n const {\r\n patchDocumentoConferencia,\r\n getDocumentosStatus,\r\n getDocumentoDetalhe,\r\n } = useSelector((state) => state.beneficiario);\r\n\r\n const dispatch = useDispatch();\r\n const { idLista } = match.params;\r\n\r\n const paginationPageParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n };\r\n\r\n const filterPageParams = {\r\n idLista,\r\n nomeBeneficiario: null,\r\n };\r\n\r\n const [openModalDetalheDocumento, setOpenModalDetalheDocumento] = useState({\r\n isOpen: false,\r\n paramsRequest: null,\r\n idBeneficiario: null,\r\n tipoDocumento: null,\r\n statusDocumento: null,\r\n });\r\n const [openModalMotivoRecusa, setOpenModalMotivoRecusa] = useState({\r\n isOpen: false,\r\n idArquivo: null,\r\n });\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationPageParams\r\n );\r\n const [filterParams, setFilterParams] = useState(filterPageParams);\r\n const [inputValue, setInputValue] = useState('');\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.nomeBeneficiario = inputValue;\r\n });\r\n\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = 10;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n setPaginationParams(newPaginationParams);\r\n return params;\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...filterParams,\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n }\r\n\r\n function handleSelectedPageSize(e) {\r\n const newPageSize = produce(paginationParams, (draft) => {\r\n draft.pageSize = e.target.dataset.text;\r\n draft.pageNumber = 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageSize,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageSize);\r\n }\r\n\r\n function handlePageChange(e) {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n draft.pageNumber = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n if (\r\n newPageAtual.totalPages >= newPageAtual.pageNumber &&\r\n newPageAtual.pageNumber !== '0'\r\n )\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleNextPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.totalPages !== draft.pageNumber) draft.pageNumber += 1;\r\n\r\n return draft;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n if (paginationParams.totalPages !== paginationParams.pageNumber)\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handlePreviousPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.pageNumber > 1) draft.pageNumber -= 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n\r\n if (paginationParams.pageNumber !== 1)\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleChangePage(paramsPag) {\r\n const params = {\r\n ...filterParams,\r\n ...paramsPag,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleModalDetalheDocumento(\r\n idArquivo,\r\n idListaAtual,\r\n idBeneficiario,\r\n idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n ) {\r\n dispatch(BeneficiarioActions.getDocumentoDetalheRenew());\r\n\r\n const paramsRequest = {\r\n idLista: idListaAtual,\r\n idMovimentacao,\r\n idArquivo,\r\n };\r\n\r\n setOpenModalDetalheDocumento({\r\n isOpen: !openModalDetalheDocumento.isOpen,\r\n paramsRequest,\r\n idBeneficiario,\r\n tipoDocumento,\r\n statusDocumento,\r\n });\r\n }\r\n\r\n function handleOpenModalDetalheDocumento() {\r\n setOpenModalDetalheDocumento({\r\n isOpen: !openModalDetalheDocumento.isOpen,\r\n });\r\n }\r\n\r\n function handleModalMotivoRecusa() {\r\n handleOpenModalDetalheDocumento();\r\n\r\n setOpenModalMotivoRecusa({\r\n isOpen: !openModalMotivoRecusa.isOpen,\r\n idArquivo: openModalDetalheDocumento?.paramsRequest?.idArquivo,\r\n });\r\n }\r\n\r\n function handleOpenModalMotivoRecusa() {\r\n setOpenModalMotivoRecusa({\r\n isOpen: !openModalMotivoRecusa.isOpen,\r\n });\r\n }\r\n\r\n function redirectToDetalheLista() {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${idLista}`\r\n );\r\n }\r\n\r\n function handleAceitarDocumento() {\r\n const params = {\r\n idArquivo: openModalDetalheDocumento?.paramsRequest?.idArquivo,\r\n statusConferencia: 'Aceito',\r\n };\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRequest(params));\r\n }\r\n\r\n function handleAceitarRecusarDoc(params) {\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRequest(params));\r\n }\r\n\r\n function getDocumentos() {\r\n const params = {\r\n idLista,\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchDocumentoConferencia.success) {\r\n dispatch(BeneficiarioActions.patchDocumentoConferenciaRenew());\r\n }\r\n\r\n getDocumentos();\r\n }\r\n\r\n const filterBeneficiarios = useCallback((beneficiarios) => {\r\n if (!beneficiarios || beneficiarios.length <= 0) return [];\r\n\r\n const beneficiariosFiltrados = beneficiarios\r\n .map((beneficiario) => beneficiario.beneficiario)\r\n .filter((beneficiario) => {\r\n return beneficiario.documentos.length > 0;\r\n });\r\n\r\n return beneficiariosFiltrados;\r\n }, []);\r\n\r\n useEffect(() => {\r\n const params = {\r\n idLista,\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(BeneficiarioActions.getDocumentosStatusRequest(params));\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (patchDocumentoConferencia.success) {\r\n setOpenModalDetalheDocumento({\r\n isOpen: false,\r\n });\r\n setOpenModalMotivoRecusa({\r\n isOpen: false,\r\n });\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: openModalDetalheDocumento.isOpen\r\n ? 'Documento aceito com sucesso.'\r\n : 'Documento recusado com sucesso.',\r\n });\r\n }\r\n }, [patchDocumentoConferencia.success]);\r\n\r\n useEffect(() => {\r\n if (openModalDetalheDocumento.paramsRequest)\r\n dispatch(\r\n BeneficiarioActions.getDocumentoDetalheRequest(\r\n openModalDetalheDocumento.paramsRequest,\r\n openModalDetalheDocumento.idBeneficiario\r\n )\r\n );\r\n }, [\r\n dispatch,\r\n openModalDetalheDocumento.idBeneficiario,\r\n openModalDetalheDocumento.paramsRequest,\r\n ]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {' '}\r\n \r\n redirectToDetalheLista(idLista)}\r\n >\r\n \r\n voltar para lista\r\n \r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: 'detalhe documentos',\r\n onNavigate: () =>\r\n history.push(`/novo/lista/${idLista}/detalhe-documentos`),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default DetalheDocumentos;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport { useDispatch } from 'react-redux';\r\nimport ModalFileImport from '../ModalFileImport';\r\nimport ModalFileLoading from '../ModalFileLoading';\r\nimport { WarningToast } from '../../molecules/Toast';\r\n\r\nimport { Creators as DocumentoActions } from '../../../store/ducks/documento';\r\n\r\nimport orientacoesDocumentos from '../../../assets/modelos/orientacoes_documentos.txt';\r\n\r\nconst ImportarDocumentos = ({\r\n isOpen,\r\n idLista,\r\n onCloseModal,\r\n documentosImportacao,\r\n}) => {\r\n const dispatch = useDispatch();\r\n\r\n const [files, setFiles] = useState([]);\r\n\r\n const maxSizeFiles = 5242880;\r\n const maxQuantityFiles = 100000000000000000;\r\n const validExtension = ['jpg', 'jpeg', 'pdf', 'png', 'tiff'];\r\n\r\n const getErrors = ({ fileErrors, hasMaxQuantity }) => {\r\n if (hasMaxQuantity) {\r\n toast.error(\r\n \r\n Somente podem ser enviados {maxQuantityFiles} arquivos por lote.\r\n \r\n );\r\n }\r\n\r\n if (fileErrors.length > 0) {\r\n fileErrors.forEach((error) => {\r\n if (error.error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo {error.name} é maior que o tamanho\r\n permitido.\r\n \r\n );\r\n }\r\n if (error.error.hasValidExtension) {\r\n toast.error(\r\n \r\n O arquivo {error.name} não possui extensão\r\n válida.\r\n \r\n );\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (files && files.length > 0) {\r\n dispatch(\r\n DocumentoActions.postDocumentosImportacaoRequest(files, idLista)\r\n );\r\n }\r\n }, [dispatch, files, idLista]);\r\n\r\n return (\r\n <>\r\n \r\n Realize o envio dos\r\n documentos dos beneficiarios \r\n através de arquivos com extensão\r\n (jpg, jpeg, pdf, png e tiff).\r\n \r\n }\r\n contentModeloPadrao={\r\n <>\r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n documento com as orientações{' '}\r\n \r\n demonstrando como os arquivos devem ser enviados.\r\n \r\n }\r\n setListaFiles={(newFiles) => setFiles(newFiles)}\r\n applyValidation\r\n maxQuantityFiles={maxQuantityFiles}\r\n maxSizeFiles={maxSizeFiles}\r\n validExtension={validExtension}\r\n invalidCallback={(errors) => getErrors(errors)}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImportarDocumentos;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { MdFileUpload, MdArrowBack } from 'react-icons/md';\r\n\r\nimport {\r\n Title,\r\n Button,\r\n Breadcrumbs,\r\n WrapperFlex,\r\n LogsFileErrorStorage,\r\n} from '@unimed-fesp/components';\r\n\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport TableDocumentos from '../../components/organisms/TableDocumentos';\r\nimport ModalMotivoRecusa from '../../components/organisms/ModalMotivoRecusa';\r\nimport ImportarDocumentos from '../../components/organisms/ImportarDocumentos';\r\nimport ModalDetalheDocumento from '../../components/organisms/ModalDetalheDocumento';\r\n// #endregion\r\n\r\nimport { toBase64 } from '../../utils/array';\r\nimport { isAdmin } from '../../utils/userRole';\r\nimport StatusListaAPIEnum from '../../enums/StatusListaAPIEnum';\r\n\r\nimport { Creators as DocumentoActions } from '../../store/ducks/documento';\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nfunction DetalheDocumentosInativos({ match }) {\r\n const dispatch = useDispatch();\r\n const { idLista } = match.params;\r\n const {\r\n documentoPreview,\r\n documentosImportacao,\r\n documentosBeneficiarios,\r\n } = useSelector((state) => state.documento);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const [isOpenModalImportDocs, setIsOpenModalImportDocs] = useState(false);\r\n const [isOpenModalPreviewDoc, setIsOpenModalPreviewDoc] = useState(false);\r\n const [isOpenModalMotivoRecusa, setIsOpenModalMotivoRecusa] = useState(false);\r\n\r\n const [tipoDocumentoSelected, setTipoDocumentoSelected] = useState('');\r\n const [statusDocumentoSelected, setStatusDocumentoSelected] = useState('');\r\n const [idDocumentoSelected, setIdDocumentoSelected] = useState(0);\r\n\r\n const handleAceitarRecusarDoc = useCallback(\r\n (params) => {\r\n dispatch(\r\n DocumentoActions.postAtualizarDocumentoConferenciaRequest(\r\n idLista,\r\n params,\r\n () =>\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista))\r\n )\r\n );\r\n setIsOpenModalMotivoRecusa(false);\r\n setIsOpenModalPreviewDoc(false);\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const handleAceiteRecusaAdm = useCallback(\r\n (aceito) => {\r\n if (aceito) {\r\n handleAceitarRecusarDoc({\r\n idArquivo: idDocumentoSelected,\r\n statusConferencia: 'Aceito',\r\n });\r\n } else {\r\n setIsOpenModalPreviewDoc(false);\r\n setIsOpenModalMotivoRecusa(true);\r\n }\r\n },\r\n [handleAceitarRecusarDoc, idDocumentoSelected]\r\n );\r\n\r\n const handleModalDetalheDocumento = useCallback(\r\n (\r\n idDocumento,\r\n _idLista,\r\n _id,\r\n _idMovimentacao,\r\n tipoDocumento,\r\n statusDocumento\r\n ) => {\r\n dispatch(\r\n DocumentoActions.getDocumentoPreviewRequest(idLista, idDocumento)\r\n );\r\n setIsOpenModalPreviewDoc(true);\r\n setIdDocumentoSelected(idDocumento);\r\n setTipoDocumentoSelected(tipoDocumento);\r\n setStatusDocumentoSelected(statusDocumento);\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const onCloseModalPreviewDoc = useCallback(() => {\r\n setIsOpenModalPreviewDoc((oldValue) => !oldValue);\r\n }, []);\r\n\r\n const redirectToDetalheLista = useCallback((id) => {\r\n history.push(`/novo/listainativo/${id}/detalhe`);\r\n }, []);\r\n\r\n const onCancelarImport = useCallback(() => {\r\n setIsOpenModalImportDocs(false);\r\n dispatch(DocumentoActions.postDocumentosImportacaoRenew());\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n const logError = [\r\n ...documentosImportacao.files\r\n .filter((file) => file.error)\r\n .map((file) => ({\r\n hasError: true,\r\n fileName: file.name,\r\n base64: toBase64(file.message),\r\n })),\r\n ];\r\n\r\n useEffect(() => {\r\n dispatch(DocumentoActions.getDocumentosBeneficiarioRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n const IS_ADM = isAdmin(usuario.role) || false;\r\n const AGUARDANDO_DOCUMENTOS =\r\n documentosBeneficiarios.response.lista?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.AguardandoDocumentos;\r\n const ERRO_DE_PROCESSAMENTO =\r\n documentosBeneficiarios.response.lista?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n redirectToDetalheLista(idLista)}\r\n >\r\n \r\n voltar\r\n \r\n\r\n {(AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO) && !IS_ADM && (\r\n setIsOpenModalImportDocs(true)}\r\n >\r\n \r\n importar docs\r\n \r\n )}\r\n \r\n \r\n history.push('/novo/lista') },\r\n {\r\n path: documentosBeneficiarios?.response?.lista?.nmLista || '',\r\n onNavigate: () => redirectToDetalheLista(idLista),\r\n },\r\n {\r\n path: 'documentos',\r\n onNavigate: () =>\r\n history.push(`/novo/lista/${idLista}/documentos`),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAceiteRecusaAdm(false)}\r\n onAceitar={() => handleAceiteRecusaAdm(true)}\r\n idStatusLista={documentosBeneficiarios.response.lista?.idStatusLista}\r\n onCloseModal={onCloseModalPreviewDoc}\r\n reenviarDocumento={() => {\r\n onCloseModalPreviewDoc();\r\n setIsOpenModalImportDocs(true);\r\n }}\r\n esconderBtnReenviar={\r\n !((AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO) && !IS_ADM)\r\n }\r\n />\r\n {\r\n setIsOpenModalMotivoRecusa(false);\r\n setIsOpenModalPreviewDoc(true);\r\n }}\r\n onClickEnviar={handleAceitarRecusarDoc}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport default DetalheDocumentosInativos;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n margin-top: 8px;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React from 'react';\r\n\r\nimport { Button, TextField, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nfunction FilterExtendsMassaInicial({\r\n isOpen,\r\n handleLimparFiltros,\r\n filters,\r\n setFilters,\r\n}) {\r\n const registerCnpj = useField('cnpj').registerField;\r\n const registerResponsavel = useField('nomeResponsavel').registerField;\r\n const registerEmail = useField('email').registerField;\r\n\r\n function handleChange({ target }) {\r\n const { name, value } = target;\r\n setFilters((oldFilters) => ({ ...oldFilters, [name]: value }));\r\n }\r\n function handleData(value, name) {\r\n if (value.target) return;\r\n setFilters((oldFilters) => ({\r\n ...oldFilters,\r\n [name]: value,\r\n }));\r\n }\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n {\r\n handleChange(e);\r\n }}\r\n masked=\"cnpj\"\r\n register={registerCnpj}\r\n />\r\n {\r\n handleChange(e);\r\n }}\r\n register={registerResponsavel}\r\n />\r\n {\r\n handleChange(e);\r\n }}\r\n register={registerEmail}\r\n />\r\n \r\n \r\n handleData(e, 'dataRegistroDe')}\r\n value={filters.dataRegistroDe}\r\n />\r\n

    à

    \r\n handleData(e, 'dataRegistroAte')}\r\n value={filters.dataRegistroAte}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FilterExtendsMassaInicial;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n path {\r\n fill: #fff !important;\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport const DownloadMassaInicial = styled.button`\r\n border: none;\r\n background: none;\r\n`;\r\n\r\nexport const ContainerTabContent = styled.div`\r\n overflow-x: scroll;\r\n\r\n ::-webkit-scrollbar {\r\n border-radius: 3px;\r\n height: 6px;\r\n width: 800px;\r\n }\r\n\r\n ::-webkit-scrollbar-track {\r\n border-radius: 4px;\r\n }\r\n\r\n ::-webkit-scrollbar-thumb {\r\n border-radius: 4px;\r\n background: ${theme.grey};\r\n }\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport format from 'date-fns/format';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport {\r\n Tab,\r\n Table,\r\n TableRow,\r\n TableCell,\r\n TabContent,\r\n Pagination,\r\n TableHeader,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdFileDownload } from 'react-icons/md';\r\nimport { FaFileDownload } from 'react-icons/fa';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n HoverActions,\r\n DownloadMassaInicial,\r\n ContainerTabContent,\r\n} from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst headers = [\r\n {\r\n name: 'Envio',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Empresa',\r\n minWidth: 300,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'CNPJ',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Responsável',\r\n minWidth: 200,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'E-mail',\r\n minWidth: 250,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Telefone',\r\n minWidth: 150,\r\n maxWidth: 120,\r\n },\r\n {\r\n name: 'Ações',\r\n minWidth: 100,\r\n maxWidth: 120,\r\n },\r\n];\r\n\r\nfunction TabTableListasMassaInicial({\r\n setPaginationParams,\r\n paginationParams,\r\n handleDropdownItem,\r\n handleDownloadFile,\r\n handleGetListaMassaInicial,\r\n}) {\r\n const { getListaMassaInicial } = useSelector((state) => state.lista);\r\n\r\n const tabs = [\r\n {\r\n children: (\r\n <>\r\n {getListaMassaInicial.response.Todas.size}todas\r\n \r\n ),\r\n color: '#00995D',\r\n name: 'todas',\r\n },\r\n ];\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n handleGetListaMassaInicial();\r\n }\r\n }\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n if (getListaMassaInicial.loading) {\r\n return ;\r\n }\r\n if (listaStatus.data && listaStatus.data.length > 0) {\r\n const { data, ...pagination } = getListaMassaInicial.response[tabName];\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRender(getListaMassaInicial.response.Todas, 'Todas')}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n listNameHeaders,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleDownloadFile,\r\n tabName,\r\n handleDropdownItem,\r\n}) => {\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n }>\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n
    \r\n {paginationParams.size > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({ lista, handleDownloadFile }) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function formatarCNPJ(cnpj) {\r\n const part1 = cnpj.substr(0, 2);\r\n const part2 = cnpj.substr(2, 3);\r\n const part3 = cnpj.substr(5, 3);\r\n const part4 = cnpj.substr(8, 4);\r\n const part5 = cnpj.substr(12, 2);\r\n\r\n return `${part1}.${part2}.${part3}/${part4}-${part5}`;\r\n }\r\n\r\n const dataInclusao = lista.dataInclusao\r\n ? format(new Date(lista.dataInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null;\r\n return (\r\n \r\n {dataInclusao}\r\n {lista.nmEmpresa}\r\n {formatarCNPJ(lista.cnpj)}\r\n {lista.nomeResponsavel}\r\n {lista.email}\r\n \r\n {lista.numero === 0 ? '-' : `(${lista.ddd}) ${lista.numero}`}\r\n \r\n \r\n {\r\n handleDownloadFile(\r\n tipoAcao,\r\n lista.idListaMassaInicial,\r\n lista.idArquivo,\r\n `${tipoAcao}_${lista.cnpj}_${dataInclusao}`\r\n );\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst TableListaActions = ({ handleDownloadFile }) => {\r\n return (\r\n \r\n handleDownloadFile('termo_responsabilidade')}\r\n >\r\n \r\n \r\n \r\n \r\n handleDownloadFile('massa_inicial')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabTableListasMassaInicial;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { MdSearch, MdFilterList } from 'react-icons/md';\r\nimport {\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport theme from '../../styles/theme';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport history from '../../services/history';\r\nimport FilterExtendsMassaInicial from '../../components/organisms/FilterExtendsMassaInicial';\r\nimport TabTableListasMassaInicial from '../../components/organisms/TabTableListasMassaInicial';\r\nimport ModalCancelAction from '../../components/organisms/ModalCancelAction';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport prepareBase64File from '../../utils/prepareBase64File';\r\n\r\nconst modelFilters = {\r\n cnpj: '',\r\n nomeEmpresa: '',\r\n nomeResponsavel: '',\r\n email: '',\r\n dataRegistroDe: null,\r\n dataRegistroAte: null,\r\n};\r\n\r\nconst paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n totalPages: null,\r\n};\r\n\r\nfunction ListasMassaInicial() {\r\n const dispatch = useDispatch();\r\n const { getArquivoMassaInicial } = useSelector((state) => state.lista);\r\n\r\n const [filters, setFilters] = React.useState(modelFilters);\r\n\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [filtersParams, setFiltersParams] = React.useState(modelFilters);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n onClickOk: null,\r\n });\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleSubmit() {\r\n setFiltersParams({ ...filters });\r\n setPaginationParams({ ...paginationParams, pageNumber: 1, pageSize: 10 });\r\n }\r\n\r\n const handleGetListaMassaInicial = useCallback(() => {\r\n const { pageNumber, pageSize } = paginationParams;\r\n let { cnpj, dataRegistroAte, dataRegistroDe } = filtersParams;\r\n\r\n if (cnpj) {\r\n cnpj = cnpj.replaceAll(/[^\\d]/g, '');\r\n }\r\n if (dataRegistroAte) {\r\n dataRegistroAte = dataRegistroAte.toJSON();\r\n }\r\n if (dataRegistroDe) {\r\n dataRegistroDe = dataRegistroDe.toJSON();\r\n }\r\n\r\n dispatch(\r\n ListaActions.getListasMassaInicialRequest({\r\n ...filtersParams,\r\n cnpj,\r\n dataRegistroAte,\r\n dataRegistroDe,\r\n pageNumber,\r\n pageSize,\r\n })\r\n );\r\n }, [dispatch, paginationParams, filtersParams]);\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n }\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction,\r\n });\r\n }\r\n\r\n function downloadMassaInicial(idLista, idArquivo, nomeArquivoDownload) {\r\n dispatch(\r\n ListaActions.getArquivoMassaInicialRequest(\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n\r\n function downloadTermoResponsabilidade(\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n ) {\r\n dispatch(\r\n ListaActions.getTermoResponsabilidadeMassaInicialRequest(\r\n idLista,\r\n nomeArquivoDownload\r\n )\r\n );\r\n }\r\n\r\n function handleDownloadFile(\r\n tipoAcao,\r\n idLista,\r\n idArquivo,\r\n nomeArquivoDownload\r\n ) {\r\n const onClickOKDownload =\r\n tipoAcao === 'massa_inicial'\r\n ? downloadMassaInicial\r\n : downloadTermoResponsabilidade;\r\n\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message:\r\n tipoAcao === 'massa_inicial'\r\n ? 'Deseja fazer o download da massa inicial?'\r\n : 'Deseja fazer o download do termo de responsabilidade?',\r\n textHeader: 'atenção!',\r\n onClickOk: () =>\r\n onClickOKDownload(idLista, idArquivo, nomeArquivoDownload),\r\n });\r\n }\r\n\r\n function downloadFile(base64, extension, nomeArquivoDownload) {\r\n const temp = prepareBase64File(extension, base64);\r\n\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = `${nomeArquivoDownload}${extension}`;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setFilters(modelFilters);\r\n setFiltersParams(modelFilters);\r\n }\r\n\r\n useEffect(() => {\r\n if (!getArquivoMassaInicial.loading && getArquivoMassaInicial.success) {\r\n if (getArquivoMassaInicial.response.arquivo !== '') {\r\n downloadFile(\r\n getArquivoMassaInicial.response.arquivo,\r\n getArquivoMassaInicial.response.extensaoArquivo,\r\n getArquivoMassaInicial.response.nomeArquivoDownload\r\n );\r\n setOpenModalCancelAction((state) => ({ ...state, warning: false }));\r\n }\r\n }\r\n }, [getArquivoMassaInicial.loading, getArquivoMassaInicial.response]);\r\n\r\n useEffect(() => {\r\n handleGetListaMassaInicial();\r\n }, [handleGetListaMassaInicial]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/listas-massa-inicial'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n setFilters((filtersOld) => ({\r\n ...filtersOld,\r\n nomeEmpresa: target.value,\r\n }))\r\n }\r\n value={filters.nomeEmpresa}\r\n onKeyDown={handleInputKeyDown}\r\n cancelFilterExtendsOpen={cancelFilterExtendsOpen}\r\n IconFilter={MdFilterList}\r\n IconSearch={MdSearch}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default ListasMassaInicial;\r\n","export default function prepareBase64File(extension, base64File) {\r\n const types = {\r\n JPG: `data:image/jpeg;base64,${base64File}`,\r\n JPEG: `data:image/jpeg;base64,${base64File}`,\r\n PDF: `data:application/pdf;base64,${base64File}`,\r\n PNG: `data:image/png;base64,${base64File}`,\r\n TIFF: `data:image/tiff;base64,${base64File}`,\r\n CSV: `data:application/csv;base64,${base64File}`,\r\n };\r\n\r\n if (extension) return types[extension.split('.')[1].toUpperCase()];\r\n return null;\r\n}\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyAlterarStatusRpa = ({ qtdListas }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Deseja alterar o status da lista de RPA?'\r\n : 'Deseja alterar o status das listas de RPA?'}\r\n \r\n );\r\n};\r\n\r\nconst FooterAlterarStatusRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyAlterarStatusRpa, FooterAlterarStatusRpa };\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from '../PartsModalParametrizacao/styles';\r\n\r\nconst BodyCancelarEnvioRpa = ({ qtdListas }) => {\r\n if (qtdListas <= 0)\r\n throw new Error('A propriedade \"qtdListas\" deve ser maior que 0');\r\n\r\n const SINGULAR = qtdListas === 1;\r\n\r\n return (\r\n \r\n {SINGULAR\r\n ? 'Deseja cancelar o envio da lista para o RPA?'\r\n : 'Deseja cancelar o envio das listas para o RPA?'}\r\n \r\n );\r\n};\r\n\r\nconst FooterCancelarEnvioRpa = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyCancelarEnvioRpa, FooterCancelarEnvioRpa };\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\n// TO-DO trocar por button da lib\r\nimport Button from '../Button';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const PrimaryButton = styled(Button).attrs((props) => ({\r\n disabled: props.disabled,\r\n type: props.type,\r\n}))`\r\n font-size: 16px;\r\n height: 40px;\r\n border-radius: 0px !important;\r\n border-radius: 5px 0px 0px 5px !important;\r\n align-items: center;\r\n\r\n svg {\r\n margin-right: 8px;\r\n }\r\n\r\n ${({ fontFamily }) =>\r\n fontFamily\r\n ? css`\r\n font-family: ${fontFamily};\r\n `\r\n : `font-family: unimed_slabregular`};\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : `background-color: ${theme.greenDefault}`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.bgWhite}`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : css`\r\n width: 40px;\r\n `}\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : css`\r\n height: 40px;\r\n `}\r\n\r\n ${({ marginTop }) =>\r\n typeof marginTop === 'number'\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : marginTop\r\n ? css`\r\n margin-top: 25px;\r\n `\r\n : ''}\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom\r\n ? css`\r\n margin-bottom: 25px;\r\n `\r\n : ''};\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : 'opacity: 1'};\r\n\r\n ${({ padding }) =>\r\n typeof padding === 'number'\r\n ? css`\r\n padding: ${padding}px;\r\n `\r\n : padding\r\n ? css`\r\n padding: 3px;\r\n `\r\n : ''}\r\n`;\r\n\r\nexport const SecondaryButton = styled(Button).attrs((props) => ({\r\n disabled: props.disabled,\r\n type: props.type,\r\n}))`\r\n border-radius: 0px 5px 5px 0px !important;\r\n width: 40px;\r\n height: 40px;\r\n align-items: center;\r\n border-left: 1px solid #007245;\r\n opacity: 1;\r\n\r\n ${({ background }) =>\r\n background\r\n ? css`\r\n background-color: ${background};\r\n `\r\n : `background-color: ${theme.greenDefault}`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.bgWhite}`};\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n width: fit-content;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { PrimaryButton, SecondaryButton, Container } from './styles';\r\n\r\nfunction ButtonDropdown({\r\n text,\r\n onClick,\r\n marginBottom,\r\n color,\r\n padding,\r\n alignStart,\r\n alignCenter,\r\n alignEnd,\r\n display,\r\n width,\r\n height,\r\n marginTop,\r\n marginSides,\r\n disabled,\r\n opacity,\r\n type,\r\n borderRadius,\r\n background,\r\n border,\r\n fontFamily,\r\n marginRight,\r\n isLoading,\r\n disableHover,\r\n marginLeft,\r\n fontSize,\r\n primaryIcon,\r\n secondaryIcon,\r\n}) {\r\n return (\r\n \r\n \r\n {primaryIcon}\r\n \r\n \r\n {secondaryIcon}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ButtonDropdown;\r\n","import format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Alerts,\r\n Button,\r\n Checkbox,\r\n InputDropdown,\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { MdAdb, MdExpandMore, MdInfo } from 'react-icons/md';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ContainerEmptyContent, HoverActions } from './styles';\r\n\r\nimport { StatusListaRPAEnum } from '../../../enums';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport Icon from '../../atoms/Icon';\r\n// TO-DO trocar por dropdown type button da lib\r\nimport ButtonDropdown from '../../atoms/ButtonDropdown';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nfunction TabTableListasRPA({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n handleChangePage,\r\n handleChangeTab,\r\n}) {\r\n const { listasRpa, statusLists } = useSelector((state) => state.lista);\r\n const status = statusLists.response.actives;\r\n\r\n function handleRender(listaStatus, tabName = null) {\r\n const tipoStatus = StatusListaRPAEnum.returnNameForTab[tabName] || 0;\r\n if (listasRpa.loading) {\r\n return ;\r\n }\r\n if (listaStatus.data && listaStatus.data.length > 0) {\r\n return (\r\n handleChangePage(params, tipoStatus)}\r\n {...(tabName && { tabName })}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageSize = 10;\r\n draft.pageNumber = 1;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n }, [status]);\r\n\r\n return <>{handleRender(listasRpa.response, 'Todas')};\r\n}\r\n\r\nconst TableListaHeader = ({ checkAll, handleCheckAll }) => {\r\n return (\r\n \r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n \r\n Lista\r\n \r\n \r\n Contratante\r\n \r\n \r\n Movimentação\r\n \r\n \r\n Criação\r\n \r\n \r\n Envio\r\n \r\n \r\n Finalização\r\n \r\n \r\n Status\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleConfirmAction,\r\n tabName,\r\n listasSize,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n handleChangePage,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n function handleCheckAll(e) {\r\n setCheckAll(!checkAll);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {listaRowsChecked.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {listas.map((lista) => (\r\n \r\n ))}\r\n \r\n \r\n {pageData.totalCount > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n lista,\r\n checkAll,\r\n setListaRowsChecked,\r\n listaRowsChecked = [],\r\n handleConfirmAction,\r\n tabName,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [list, setList] = useState({ lista, checked: !isChecked });\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function redirectToDetalheLista(idLista) {\r\n window.location.replace(\r\n `${REACT_APP_MOVCAD_LEGACY}/CadastrarLista.aspx?idLista=${idLista}`\r\n );\r\n }\r\n\r\n function handleCheckedLista(e, check, idLista) {\r\n const newLista = produce(list, (draft) => {\r\n if (draft.lista.idLista === idLista) draft.checked = !check;\r\n\r\n return draft;\r\n });\r\n\r\n const newListaRowChecked = produce(listaRowsChecked, (draft) => {\r\n const newDraft = draft.filter((l) => {\r\n return l.lista.idLista !== newLista.lista.idLista && l.checked === true;\r\n });\r\n\r\n if (newLista.checked) newDraft.push(newLista);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setList(newLista);\r\n setListaRowsChecked(newListaRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newLista = produce(list, (draft) => {\r\n draft.checked = checkAll;\r\n\r\n return draft;\r\n });\r\n setList(newLista);\r\n if (checkAll) {\r\n if (\r\n !listaRowsChecked\r\n .map((listaRowChecked) => listaRowChecked.lista.idLista)\r\n .includes(newLista.lista.idLista)\r\n )\r\n setListaRowsChecked((oldArray) => [...oldArray, newLista]);\r\n } else setListaRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n \r\n handleCheckedLista(e, list.checked, lista.idLista)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n redirectToDetalheLista(lista.idLista)}\r\n activeAction\r\n minWidth={100}\r\n maxWidth={100}\r\n >\r\n {lista.nmLista}\r\n \r\n \r\n {lista.cdContratante} - {lista.nmContratante}\r\n \r\n \r\n {lista.dcMovimentacoes.split('/').join(' / ')}\r\n \r\n \r\n {lista.dtInclusao\r\n ? format(new Date(lista.dtInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : null}\r\n \r\n \r\n {lista.dtEnvio\r\n ? format(new Date(lista.dtEnvio), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {lista.dtVencimento\r\n ? format(new Date(lista.dtVencimento), 'dd/MM/yyyy HH:mm')\r\n : null}\r\n \r\n \r\n {hoverAction ? (\r\n redirectToDetalheLista(lista.idLista)}\r\n idLista={lista.idLista}\r\n listaStatus={lista.dcStatusRpa}\r\n handleConfirmAction={handleConfirmAction}\r\n dropdownOptions={dropdownOptions}\r\n handleDropdownItem={handleDropdownItem}\r\n />\r\n ) : (\r\n lista.dcStatusRpa\r\n )}\r\n \r\n \r\n {lista.possuiSinalizacao && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllLista = ({\r\n listaRowsChecked,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n dropdownOptions,\r\n handleConfirmAction,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n Você selecionou {listaRowsChecked.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n {/* \r\n \r\n download\r\n \r\n \r\n \r\n excluir\r\n */}\r\n handleConfirmAction(listaRowsChecked, 'cancelar')}\r\n >\r\n \r\n cancelar RPA\r\n \r\n {\r\n const indexOption = Object.values(dropdownOptions).indexOf(option);\r\n\r\n handleConfirmAction(listaRowsChecked, indexOption + 1);\r\n }}\r\n position=\"right-bottom\"\r\n >\r\n }\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableListaActions = ({\r\n idLista,\r\n listaStatus,\r\n handleConfirmAction,\r\n dropdownOptions,\r\n handleDropdownItem,\r\n}) => {\r\n return (\r\n \r\n {\r\n const indexOption = Object.values(dropdownOptions).indexOf(option);\r\n\r\n handleConfirmAction(idLista, indexOption + 1);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* handleConfirmAction(idLista, listaStatus)}\r\n >\r\n \r\n */}\r\n \r\n handleConfirmAction(idLista, 'cancelar')}>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TabTableListasRPA;\r\n","import styled from 'styled-components';\r\n\r\nexport const ButtonContainer = styled.label`\r\n cursor: pointer;\r\n margin: 0;\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport LoadingSpinner from '../LoadingSpinning';\r\nimport { ButtonContainer } from './styles';\r\n\r\nexport default function StatusListRpa() {\r\n const dispatch = useDispatch();\r\n const { statusLists, listasRpa } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const params = {\r\n page_number: 0,\r\n page_size: 10,\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code: usuario.codigoContratante\r\n ? usuario.codigoContratante\r\n : null,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getStatusListRpaRequest());\r\n }, []);\r\n\r\n function handleActiveSearches(index) {\r\n const active = statusLists.response.actives[index];\r\n const todosActive = statusLists.response.actives.find(\r\n (status, i) => status.description === 'Todos'\r\n );\r\n const availableTodos = statusLists.response.availables.filter(\r\n (status, i) => status.description !== 'Todos'\r\n );\r\n\r\n if (active.description === 'Todos') {\r\n const response = {\r\n availables: [\r\n ...statusLists.response.actives,\r\n ...statusLists.response.availables,\r\n ],\r\n actives: [],\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (todosActive && availableTodos) {\r\n const restTodos = statusLists.response.actives.filter(\r\n (status, i) =>\r\n status.description !== 'Todos' &&\r\n status.description !== active.description\r\n );\r\n const response = {\r\n availables: [todosActive, active, ...statusLists.response.availables],\r\n actives: restTodos,\r\n };\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newActiveSearches = statusLists.response.actives.filter(\r\n (_, i) => i !== index\r\n );\r\n const response = {\r\n availables: [...statusLists.response.availables, active],\r\n actives: newActiveSearches,\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleAvailableSearches(index) {\r\n const available = statusLists.response.availables[index];\r\n const restTodos = statusLists.response.availables.filter(\r\n (status, i) => status.id !== 0 && status.count !== 0\r\n );\r\n\r\n const nonZeroItems = statusLists.response.availables.filter(\r\n (item) => item.count !== 0\r\n );\r\n const zeroItems = statusLists.response.availables.filter(\r\n (item) => item.count === 0\r\n );\r\n\r\n if (restTodos.length === 1) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n if (available.id === 0) {\r\n const response = {\r\n availables: [...zeroItems],\r\n actives: [...nonZeroItems, ...statusLists.response.actives],\r\n };\r\n\r\n const idActives = response.actives.map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n const newAvailableSearches = statusLists.response.availables.filter(\r\n (_, i) => i !== index\r\n );\r\n\r\n const response = {\r\n availables: newAvailableSearches,\r\n actives: [...statusLists.response.actives, available],\r\n };\r\n\r\n const idActives = response.actives\r\n .filter((status) => status.description !== 'Todos')\r\n .map((status) => status.id);\r\n\r\n params.movement_list_filter.status = idActives;\r\n\r\n return ListaActions.getStatusListAdminResponse(response, true);\r\n }\r\n\r\n function handleClickAvailable(index) {\r\n dispatch(handleAvailableSearches(index));\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n function handleClickActive(index) {\r\n const active = statusLists.response.actives[index];\r\n if (active.description === 'Todos') {\r\n dispatch(\r\n ListaActions.postSearchListRpaResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n if (statusLists.response.actives.length <= 1) {\r\n dispatch(\r\n ListaActions.postSearchListRpaResponse(\r\n { totalCount: 0, data: [], totalPages: 0 },\r\n true\r\n )\r\n );\r\n\r\n return dispatch(handleActiveSearches(index));\r\n }\r\n dispatch(handleActiveSearches(index));\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n if (listasRpa.loading || statusLists.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {statusLists.response.availables.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickAvailable(index)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={`${description} (${count})`}\r\n showBtnRemove={count > 0}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n {statusLists.response.actives.map(\r\n ({ id, description, count }, index) => (\r\n \r\n handleClickActive(index)}\r\n text={`${description} (${count})`}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { Form } from '@rocketseat/unform';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { MdFileDownload, MdFilterList, MdSearch } from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n Dropdown,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n\r\nimport {\r\n ModalAlterarStatusRpa,\r\n ModalCancelarEnvioRpa,\r\n} from '../../components/molecules/PartsModalListasRPA';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtends from '../../components/organisms/FilterExtends';\r\nimport TabTableListasRPA from '../../components/organisms/TabTableListasRPA';\r\n\r\nimport {\r\n MovimentacaoListaEnum,\r\n StatusListaRPAEnum,\r\n TipoListaEnum,\r\n} from '../../enums';\r\n\r\nimport StatusListRpa from '../../components/molecules/StatusListRpa';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\n\r\nfunction ListasRPA() {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success, response } = useSelector((state) => state.modalidade);\r\n const { patchStatusRPA, patchListaEnvioRPA, getRelatorioRPA } = useSelector(\r\n (state) => state.lista\r\n );\r\n const ListasRPARedux = useSelector((state) => state.lista.getListasRPA);\r\n const { statusLists } = useSelector((state) => state.lista);\r\n const filterExtendsParams = {\r\n nomeLista: null,\r\n codigoContratante: null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n vencida: null,\r\n rn412: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n };\r\n\r\n const [relatorioRPAParams, setRelatorioRPAParams] = useState({\r\n codigoContratante: null,\r\n nomeBeneficiario: null,\r\n cartaoBeneficiario: null,\r\n tipoLista: null,\r\n idTipoMovimentacao: null,\r\n idStatus: 10,\r\n codigoModalidade: null,\r\n codigoTermo: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataAtualizacaoDe: null,\r\n dataAtualizacaoAte: null,\r\n nomeLista: null,\r\n nomeContratante: null,\r\n vencida: null,\r\n rn412: null,\r\n statusEnvioRpa: true,\r\n idStatusRpa: null,\r\n });\r\n\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const optionsButtonRPA = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório resumido'),\r\n text: 'Relatório resumido',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Relatório detalhado'),\r\n text: 'Relatório detalhado',\r\n },\r\n ];\r\n const queryParamsDefault = {\r\n page_number: 0,\r\n page_size: 10,\r\n movement_list_filter: {\r\n is_admin: usuario.role === 'Adm',\r\n status: [],\r\n list_name: null,\r\n beneficiary_name_or_number_card: null,\r\n type_list: null,\r\n type_action: null,\r\n contractor_code: null,\r\n modality_code: null,\r\n term_code: null,\r\n expired: false,\r\n r_n412: false,\r\n file_name_movement: null,\r\n start_created_date: null,\r\n end_created_date: null,\r\n start_update_date: null,\r\n end_update_date: null,\r\n },\r\n };\r\n const [tipoStatusActive, setTipoStatusActive] = useState(0);\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n const [relatoriosLoading, setRelatoriosLoading] = useState({\r\n resumido: false,\r\n detalhado: false,\r\n });\r\n const [queryParams, setQueryParams] = useState(queryParamsDefault);\r\n\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const status = statusLists.response.actives\r\n .filter(({ id }) => id !== 0)\r\n .map(({ id }) => id);\r\n\r\n const paginationRequest = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paginationParams.pageNumber - 1;\r\n draft.pageSize = paginationParams.pageSize;\r\n });\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.list_name = inputValue;\r\n draft.movement_list_filter.status = status;\r\n draft.movement_list_filter.contractor_code = data.codigoContratante;\r\n draft.movement_list_filter.beneficiary_name_or_number_card = hasChar(\r\n data.nomeBeneficiarioCartao\r\n )\r\n ? data.nomeBeneficiarioCartao\r\n : null;\r\n draft.movement_list_filter.type_list =\r\n data.tipo === 'Selecione o tipo'\r\n ? null\r\n : TipoListaEnum.returnId[data.tipo];\r\n draft.movement_list_filter.type_action =\r\n data.movimentacao === 'Selecione a movimentacao'\r\n ? null\r\n : MovimentacaoListaEnum.returnIdForNameFormatted[data.movimentacao];\r\n draft.movement_list_filter.modality_code =\r\n data.modalidade === 'Selecione a modalidade' ? null : data.modalidade;\r\n draft.movement_list_filter.term_code =\r\n data.termo === 'Selecione o termo' ? null : data.termo;\r\n draft.movement_list_filter.expired =\r\n data.vencida === 'Todas' ? null : data.vencida === 'Sim';\r\n draft.movement_list_filter.r_n412 =\r\n data.rn412 === 'Todas' ? null : data.rn412 === 'Sim';\r\n draft.movement_list_filter.start_created_date = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.movement_list_filter.end_created_date = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.movement_list_filter.start_update_date = data.dataAtualizacaoDe\r\n ? format(data.dataAtualizacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.movement_list_filter.end_update_date = data.dataAtualizacaoAte\r\n ? format(data.dataAtualizacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n return params;\r\n }\r\n\r\n function handleRelatorioParams(filterParams) {\r\n const params = produce(filterParams, (draft) => {\r\n draft.pageNumber = null;\r\n draft.pageSize = null;\r\n draft.totalPages = null;\r\n draft.idStatusRpa =\r\n draft.tipoStatus === StatusListaRPAEnum.returnNameForTab.Todas\r\n ? null\r\n : draft.tipoStatus;\r\n draft.tipoStatus = null;\r\n draft.statusEnvioRpa = true;\r\n });\r\n\r\n return params;\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n const relatorioParams = handleRelatorioParams(params);\r\n\r\n // TODO trocar Action\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n\r\n /* setRelatorioRPAParams(relatorioParams); */\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleModalidadesTermos() {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: filterParams.codigoContratante,\r\n })\r\n );\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function hasChar(string) {\r\n const matches = string.match(/[a-zA-Z!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~]+/);\r\n if (matches != null) return true;\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n if (status.length >= 1) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n setPaginationParams(paginationTabParams);\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n if (e.target.value === '') {\r\n const totalStatus = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = totalStatus;\r\n draft.movement_list_filter.list_name = null;\r\n });\r\n setQueryParams(newFilterParams);\r\n setSearchBoxActive(true);\r\n return dispatch(ListaActions.postSearchListRpaRequest(newFilterParams));\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.list_name = e.target.value;\r\n });\r\n const params = {\r\n ...newFilterParams,\r\n };\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n setCancelFilterExtendsOpen(true);\r\n setSearchBoxActive(true);\r\n setQueryParams(newFilterParams);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n if (e.keyCode === 13) {\r\n if (status.length < 1) {\r\n const params = {\r\n ...paginationRequest,\r\n ...queryParams,\r\n };\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } = ListasRPARedux.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(pagParams, tipoStatus) {\r\n const newPaginationParams = produce(pagParams, (draft) => {\r\n draft.pageNumber = pagParams.pageNumber - 1;\r\n draft.pageSize = pagParams.pageSize;\r\n });\r\n\r\n if (status.length < 1) {\r\n const params = {\r\n ...queryParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n return dispatch(ListaActions.postSearchListRpaRequest(params));\r\n /* \r\n const params = {\r\n ...filterParams,\r\n ...pagParams,\r\n tipoStatus,\r\n };\r\n\r\n if (tipoStatusActive !== tipoStatus) {\r\n setTipoStatusActive(tipoStatus);\r\n }\r\n\r\n dispatch(ListaActions.getListasRPAPorStatusRequest(params)); */\r\n }\r\n\r\n function handleGetModalidadesByContratante(e, codigoContratante) {\r\n e.stopPropagation();\r\n if (e.keyCode === 13) e.preventDefault();\r\n\r\n if (\r\n codigoContratante &&\r\n filterParams.codigoContratante !== codigoContratante\r\n ) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.codigoContratante = codigoContratante;\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: newFilterParams.codigoContratante,\r\n })\r\n );\r\n }\r\n\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n\r\n function setListaActionToDispatch(action, params) {\r\n if (action === 'cancelar') {\r\n return ListaActions.patchListaEnvioRPARequest(params, false);\r\n }\r\n\r\n return ListaActions.patchStatusRPARequest(params, action);\r\n }\r\n\r\n function handleAcaoListas(listas, tipoAcao) {\r\n if (listas.length > 0) {\r\n const params = listas.map((l) => {\r\n return { idLista: l.lista.idLista };\r\n });\r\n\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n }\r\n\r\n function handleAcaoListaById(listas, tipoAcao) {\r\n const params = [\r\n {\r\n idLista: listas,\r\n },\r\n ];\r\n const actionLista = setListaActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionLista);\r\n }\r\n\r\n function setAcaoLista(listas, tipoAcao) {\r\n return Array.isArray(listas)\r\n ? handleAcaoListas(listas, tipoAcao)\r\n : handleAcaoListaById(listas, tipoAcao);\r\n }\r\n\r\n function handleDropdownItemClick(item) {\r\n let tipoRelatorio;\r\n if (item.includes('resumido')) {\r\n dispatch(\r\n ListaActions.getRelatorioRPARequest(relatorioRPAParams, 'resumido')\r\n );\r\n tipoRelatorio = 'resumido';\r\n } else if (item.includes('detalhado')) {\r\n dispatch(\r\n ListaActions.getRelatorioRPARequest(relatorioRPAParams, 'detalhado')\r\n );\r\n\r\n tipoRelatorio = 'detalhado';\r\n }\r\n\r\n const newLoading = produce(relatoriosLoading, (draft) => {\r\n draft[tipoRelatorio] = true;\r\n });\r\n\r\n setRelatoriosLoading(newLoading);\r\n }\r\n\r\n function handleConfirmAction(listas, tipoAcao) {\r\n const qtdListas = Array.isArray(listas) ? listas.length : 1;\r\n\r\n if (tipoAcao === 'cancelar') {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n } else {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n setAcaoLista(listas, tipoAcao);\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n }\r\n\r\n function getListasRPA() {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(\r\n ListaActions.getListasRPARequest(\r\n params,\r\n StatusListaRPAEnum.returnNameForTab\r\n )\r\n );\r\n }\r\n\r\n function handleModalSuccess() {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n });\r\n\r\n if (patchStatusRPA.success) {\r\n dispatch(ListaActions.patchStatusRPARenew());\r\n }\r\n if (patchListaEnvioRPA.success) {\r\n dispatch(ListaActions.patchListaEnvioRPARenew());\r\n }\r\n\r\n const newFilterParams = produce(queryParams, (draft) => {\r\n draft.movement_list_filter.status = status;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...paginationRequest,\r\n };\r\n\r\n dispatch(ListaActions.postSearchListRpaRequest(params));\r\n dispatch(ListaActions.getStatusListRpaRequest());\r\n }\r\n\r\n function downloadFile(base64, filename) {\r\n const temp = `data:application/vnd.ms-excel;base64,${encodeURIComponent(\r\n base64\r\n )}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n\r\n useEffect(() => {\r\n handleModalidadesTermos();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (patchStatusRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: 'Status alterado com sucesso.',\r\n });\r\n }\r\n }, [patchStatusRPA.success]);\r\n\r\n useEffect(() => {\r\n if (patchListaEnvioRPA.success) {\r\n setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: 'Cancelamento de envio foi efetuado.',\r\n });\r\n }\r\n }, [patchListaEnvioRPA.success]);\r\n\r\n useEffect(() => {\r\n if (!getRelatorioRPA.loading && getRelatorioRPA.success) {\r\n if (getRelatorioRPA.response.fileContents !== '') {\r\n downloadFile(\r\n getRelatorioRPA.response.fileContents,\r\n getRelatorioRPA.response.fileDownloadName\r\n );\r\n }\r\n }\r\n\r\n if (!getRelatorioRPA.loading) {\r\n setRelatoriosLoading({ resumido: false, detalhado: false });\r\n }\r\n }, [getRelatorioRPA.loading, getRelatorioRPA.response]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n baixar relatório\r\n \r\n \r\n \r\n history.push('/novo/listas-rpa'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n\r\n {status.length < 1 ? (\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n\r\n \r\n {status.length < 1 && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default ListasRPA;\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { EmptyContentText, ButtonLink } from './styles';\r\n\r\nconst EmptyRelatorios = ({ handleNovoRelatorio }) => {\r\n return (\r\n \r\n Nenhum relatório gerado\r\n \r\n Para gerar, clique no botão{' '}\r\n \r\n + novo relatório\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyRelatorios;\r\n","import React from 'react';\r\nimport format from 'date-fns/format';\r\nimport { RiDownloadLine } from 'react-icons/ri';\r\n\r\nimport { Button, TableRow, TableCell } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { ButtonLink } from './styles';\r\n\r\nconst TableBodyRelatorios = ({ relatorios }) => {\r\n return (\r\n <>\r\n {relatorios.map((relatorio) => {\r\n const EM_ANDAMENTO =\r\n relatorio.status?.toLocaleUpperCase() ===\r\n 'Em andamento'?.toLocaleUpperCase();\r\n\r\n return (\r\n \r\n \r\n {relatorio.nome ? (\r\n \r\n {relatorio.nome}\r\n \r\n ) : (\r\n '-'\r\n )}\r\n \r\n {relatorio.status || '-'}\r\n \r\n {relatorio.dataInclusao\r\n ? format(new Date(relatorio.dataInclusao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {relatorio.dataProcessamento\r\n ? format(\r\n new Date(relatorio.dataProcessamento),\r\n 'dd/MM/yyyy HH:mm',\r\n {\r\n timeZone: 'America/Sao_Paulo',\r\n }\r\n )\r\n : '-'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableBodyRelatorios;\r\n","import React from 'react';\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableHeaderRelatorios = () => {\r\n return (\r\n \r\n Nome arquivo\r\n Status\r\n Dt. requerimento\r\n Dt. finalização\r\n Download\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderRelatorios;\r\n","import React from 'react';\r\n\r\nimport { Card, Table } from '@unimed-fesp/components';\r\n\r\nimport EmptyRelatorios from './EmptyRelatorios';\r\nimport TableBodyRelatorios from './TableBodyRelatorios';\r\nimport TableHeaderRelatorios from './TableHeaderRelatorios';\r\n\r\nconst Relatorios = ({ relatorios, handleNovoRelatorio }) => {\r\n const propJustify = {\r\n justifyCenter: relatorios.length <= 0,\r\n justifyStart: relatorios.length > 0,\r\n };\r\n\r\n return (\r\n \r\n {relatorios.length <= 0 ? (\r\n \r\n ) : (\r\n }>\r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default Relatorios;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n line-height: 16px;\r\n margin: 15px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { WrapperFlex, Button } from '@unimed-fesp/components';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyConfimarRelatorio = () => {\r\n return (\r\n \r\n Caso já exista um relatório, o mesmo será excluído!\r\n
    \r\n A geração deste novo relatório pode demorar. Não há necessidade de\r\n permanecer na tela, pois será notificado por e-mail.\r\n
    \r\n Deseja continuar a geração do relatório?\r\n
    \r\n );\r\n};\r\n\r\nconst FooterConfimarRelatorio = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyConfimarRelatorio, FooterConfimarRelatorio };\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useCallback, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { FiPlus } from 'react-icons/fi';\r\nimport * as jwtDecode from 'jwt-decode';\r\n\r\nimport {\r\n Title,\r\n Button,\r\n WrapperFlex,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Creators as RelatorioActions } from '../../store/ducks/relatorio';\r\nimport history from '../../services/history';\r\n\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport Relatorios from '../../components/molecules/Relatorios';\r\nimport { ModalConfimarRelatorio } from '../../components/molecules/PartsModalRelatorioNestle';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport { legacyRoutes } from '../../routes/legacyRoutes';\r\n\r\nconst { REACT_APP_BASEURL } = process.env;\r\n\r\nconst RelatorioNestle = () => {\r\n const dispatch = useDispatch();\r\n const { data: relatorioAPI } = useSelector(\r\n (state) => state.relatorio.getUltimoRelatorioNestle\r\n );\r\n const { accessToken } = useSelector((state) => state.auth);\r\n\r\n const { GrupoContratante } = jwtDecode(accessToken);\r\n\r\n const EM_ANDAMENTO = 'Em andamento';\r\n const FINALIZADO = 'Finalizado';\r\n\r\n const downloadRelatorioNestle = useCallback((id) => {\r\n const a = document.createElement('a');\r\n a.href = `${REACT_APP_BASEURL}/relatorios/relatorio-beneficiario-nestle/${id}`;\r\n a.download = 'batatinha';\r\n a.setAttribute('target', '_blank');\r\n a.click();\r\n }, []);\r\n\r\n const relatorios = useMemo(\r\n () =>\r\n relatorioAPI\r\n ? [\r\n {\r\n ...relatorioAPI,\r\n status: relatorioAPI.finalizado ? FINALIZADO : EM_ANDAMENTO,\r\n urlDownload: () => {\r\n const id = (\r\n relatorioAPI.reportRequest || ''\r\n ).toLocaleUpperCase();\r\n\r\n downloadRelatorioNestle(id);\r\n },\r\n },\r\n ]\r\n : [],\r\n [downloadRelatorioNestle, relatorioAPI]\r\n );\r\n\r\n const handleNovoRelatorio = useCallback(() => {\r\n const hasRelatorioEmAndamento = relatorios.some(\r\n (r) => r.status.toLocaleUpperCase() === EM_ANDAMENTO.toLocaleUpperCase()\r\n );\r\n\r\n if (hasRelatorioEmAndamento) {\r\n modal.warning('Existe um processo em execução para este usuário!');\r\n } else {\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n const SEND_EMAIL = true;\r\n dispatch(RelatorioActions.postRelatorioNestleRequest(SEND_EMAIL));\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }\r\n }, [dispatch, relatorios]);\r\n\r\n useEffect(() => {\r\n if (GrupoContratante !== 'NESTLE') history.push('/novo/lista');\r\n else dispatch(RelatorioActions.getUltimoRelatorioNestleRequest());\r\n }, [GrupoContratante, dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n novo relatório\r\n \r\n \r\n \r\n history.push('/novo/relatorio-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RelatorioNestle;\r\n","import React from 'react';\r\nimport { Error } from '@unimed-fesp/components';\r\n\r\nfunction NotFoundPage() {\r\n const errorNumber = '401';\r\n const errorTitle = 'oops! não autorizado';\r\n const errorMessage =\r\n 'Embora o padrão HTTP especifique \"não autorizado\", semanticamente, essa resposta significa \"não autenticado\". Ou seja, o cliente deve se autenticar para obter a resposta solicitada...';\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default NotFoundPage;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { IoIosCheckmarkCircleOutline } from 'react-icons/io';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Hr = styled.hr`\r\n border-color: #f2f2f2;\r\n opacity: 0.1;\r\n width: 100%;\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n ${({ type }) =>\r\n type === 'PendenteLiberacao'\r\n ? css`\r\n color: ${theme.yellowDefault};\r\n `\r\n : type === 'Ativo'\r\n ? css`\r\n color: ${theme.greenDefault};\r\n `\r\n : css``}\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\n\r\nexport const ReSendContainer = styled.div`\r\n margin: 30px 0 0 5px;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : `display: flex`};\r\n`;\r\n\r\nexport const SpanTextoAlert = styled.span`\r\n svg {\r\n line-height: 37px;\r\n }\r\n\r\n p {\r\n color: #5a5a5a;\r\n padding-left: 18px;\r\n font-weight: 100;\r\n font-size: 13px;\r\n word-break: break-word;\r\n width: 100%;\r\n }\r\n b {\r\n margin: 0;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\n\r\nimport { Text, WrapperFlex, Alerts, Button } from '@unimed-fesp/components';\r\n\r\nimport { MdErrorOutline } from 'react-icons/md';\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { ReSendContainer, UnlockIConContainer, SpanTextoAlert } from './styles';\r\n\r\nimport InputForm from '../../atoms/InputForm';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nconst DadosAcesso = ({\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosAcesso,\r\n handleAcaoUsuarioById,\r\n}) => {\r\n function handleInput(e, status) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleInput(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"633\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={dadosAcessoParams.nome}\r\n disabled\r\n />\r\n \r\n \r\n handleInput(e, 'email')}\r\n marginTop=\"9\"\r\n width=\"458\"\r\n height=\"40\"\r\n placeholder=\"Informe o e-mail do usuário\"\r\n name=\"email\"\r\n value={dadosAcessoParams.email}\r\n disabled={dadosAcessoParams.tipoStatus === 'Inativo'}\r\n />\r\n \r\n \r\n {dadosAcessoParams.tipoStatus === 'Ativo' ? (\r\n \r\n \r\n \r\n handleAcaoUsuarioById(\r\n dadosAcessoParams.idUsuario,\r\n 'PendenteLiberacao'\r\n )\r\n }\r\n />\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst AlertUnlock = ({ type, email, idUsuario, handleAcaoUsuarioById }) => {\r\n const ActionPorStatus = {\r\n Ativo: {\r\n Icon: ,\r\n Text: 'Liberação enviada',\r\n SubText: 'Solicitação de finalização de cadastro foi enviada para',\r\n Display: '',\r\n DisplayButton: 'none',\r\n tipo: 'success',\r\n },\r\n PendenteLiberacao: {\r\n Icon: ,\r\n Text: 'Liberação ainda não enviada',\r\n SubText: 'Deseja enviar a liberação para',\r\n Display: '',\r\n DisplayButton: '',\r\n tipo: 'warning',\r\n },\r\n Inativo: {\r\n Icon: null,\r\n Text: null,\r\n SubText: null,\r\n Display: 'none',\r\n DisplayButton: '',\r\n tipo: 'warning',\r\n },\r\n };\r\n return (\r\n \r\n \r\n \r\n {ActionPorStatus[type].Icon} {ActionPorStatus[type].Text}\r\n
    \r\n

    \r\n {`${ActionPorStatus[type].SubText} `}\r\n \r\n {email}\r\n {type !== 'Ativo' ? '?' : ''}\r\n

    \r\n
    \r\n {type === 'PendenteLiberacao' ? (\r\n handleAcaoUsuarioById(idUsuario, type)}\r\n >\r\n \r\n liberar acesso\r\n \r\n ) : null}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Text,\r\n Badge,\r\n Dropdown,\r\n CanAccess,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n TipoPerfilUsuarioEnum,\r\n PermissaoContratanteEnum,\r\n} from '../../../enums';\r\n\r\nimport InputForm from '../../atoms/InputForm';\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport { isContratante, isAdmin } from '../../../utils/userRole';\r\nimport useParametrizazao from '../../../hooks/useParametrizazao';\r\n\r\nconst DadosGerais = ({\r\n usuarioParams,\r\n setUsuarioParams,\r\n usuarioDadosGerais,\r\n contatoParams,\r\n setContatoParams,\r\n useField,\r\n}) => {\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante'),\r\n text: 'Contratante',\r\n },\r\n ];\r\n\r\n const optionsPermissao = [\r\n {\r\n onClickOption: () => handleSelectedPermissao('Consulta'),\r\n text: 'Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPermissao('Alteração'),\r\n text: 'Alteração',\r\n },\r\n ];\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const registerPerfil = useField('perfil').registerField;\r\n const registerPermissao = useField('permissao').registerField;\r\n const { handleRemoveAllCards } = useParametrizazao(usuarioParams?.idUsuario);\r\n\r\n function handleSelectedPerfil(text) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.tipoPerfil !== text) draft.tipoPerfil = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleSelectedPermissao(text) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft.permissao !== text) draft.permissao = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n marginTop=\"9\"\r\n width=\"623\"\r\n height=\"40\"\r\n placeholder=\"Informe o nome completo do usuário\"\r\n name=\"nome\"\r\n value={usuarioParams.nome}\r\n />\r\n \r\n {isContratante(usuarioDadosGerais.tipoPerfil) && (\r\n \r\n handleChange(e, 'matricula')}\r\n marginTop=\"9\"\r\n width=\"322\"\r\n height=\"40\"\r\n placeholder=\"Informe o número da matrícula\"\r\n name=\"matricula\"\r\n value={usuarioParams.matricula}\r\n />\r\n \r\n )}\r\n \r\n \r\n {usuarioParams.tipoPerfil === '' ||\r\n usuarioParams.tipoPerfil === null\r\n ? TipoPerfilUsuarioEnum.returnTipoPerfilAcessoForTipoPerfil\r\n .Selecione\r\n : TipoPerfilUsuarioEnum.returnTipoPerfilAcessoForTipoPerfil[\r\n usuarioParams.tipoPerfil\r\n ]}\r\n \r\n \r\n {isAdmin(usuarioParams.tipoPerfil) && (\r\n \r\n {usuarioParams.roles.map((role) => {\r\n const IS_ADM =\r\n role === TipoPerfilUsuarioEnum.returnNameForName.Adm;\r\n\r\n return (\r\n !IS_ADM && handleRemoveAllCards()}\r\n />\r\n );\r\n })}\r\n \r\n )}\r\n {isContratante(usuarioParams.tipoPerfil) ||\r\n usuarioParams.tipoPerfil === 'Contratante' ? (\r\n <>\r\n \r\n {usuarioParams.permissao == '' ||\r\n usuarioParams.permissao == null\r\n ? PermissaoContratanteEnum.returnName[0]\r\n : usuarioParams.permissao}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n setContatoParams({ contatos })\r\n }\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React, { useEffect } from 'react';\r\nimport produce from 'immer';\r\nimport format from 'date-fns/format';\r\n\r\nimport {\r\n Table,\r\n TableRow,\r\n TableCell,\r\n Pagination,\r\n TableHeader,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nimport CustomScrollbars from '../../molecules/CustomScrollBars';\r\n\r\nconst TableHeaderComponent = () => {\r\n return (\r\n \r\n Responsável\r\n Perfil\r\n Ação\r\n E-mail\r\n Data\r\n \r\n );\r\n};\r\n\r\nconst HistoricoMovimentacoes = ({\r\n usuarioHistoricoMovimentacao,\r\n pageData,\r\n sizeData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleChangePage,\r\n}) => {\r\n useEffect(() => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = pageData.pageNumber;\r\n draft.pageSize = pageData.pageSize;\r\n draft.totalPages = Math.ceil(sizeData / pageData.pageSize);\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationParams);\r\n // setNewPageAtual(pageData.pageNumber);\r\n // setPageSize(pageData.pageSize);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n {usuarioHistoricoMovimentacao.map((historico, index) => (\r\n \r\n \r\n {historico.nomeResponsavel ? historico.nomeResponsavel : '-'}\r\n \r\n \r\n {historico.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[\r\n historico.tipoPerfil\r\n ]\r\n : '-'}\r\n \r\n {historico.dcAcao ? historico.dcAcao : '-'}\r\n \r\n {historico.emailResponsavel ? historico.emailResponsavel : '-'}\r\n \r\n \r\n {historico.dtInclusaoHistorico\r\n ? format(\r\n new Date(historico.dtInclusaoHistorico),\r\n 'dd/MM/yyyy HH:mm',\r\n {\r\n timeZone: 'America/Sao_Paulo',\r\n }\r\n )\r\n : '-'}\r\n \r\n \r\n ))}\r\n
    \r\n \r\n {pageData.total > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default HistoricoMovimentacoes;\r\n","import React, { useMemo } from 'react';\r\n\r\nimport { Tab, TabContent } from '@unimed-fesp/components';\r\n\r\n// #region Componentes\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nimport ParametrizacaoContratantes from '../ParametrizacaoContratantes';\r\n\r\nimport DadosAcesso from './DadosAcesso';\r\nimport DadosGerais from './DadosGerais';\r\nimport HistoricoMovimentacoes from './HistoricoMovimentacoes';\r\n// #endregion\r\n\r\nfunction TabFormUsuario({\r\n usuarioParams,\r\n setUsuarioParams,\r\n contatoParams,\r\n setContatoParams,\r\n dadosAcessoParams,\r\n setDadosAcessoParams,\r\n usuarioDadosGerais,\r\n usuarioDadosAcesso,\r\n usuarioHistoricoMovimentacao,\r\n handleAcaoUsuarioById,\r\n handleActiveTab,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n idUsuario,\r\n useField,\r\n handleChangePage,\r\n}) {\r\n const tabs = useMemo(() => {\r\n const tabsMemo = [\r\n {\r\n children: <>dados gerais,\r\n color: '#00995D',\r\n name: 'dadosGerais',\r\n },\r\n {\r\n children: <>dados de acesso,\r\n color: '#00995D',\r\n name: 'dadosAcesso',\r\n },\r\n {\r\n children: <>parâmetros,\r\n color: '#00995D',\r\n name: 'parametros',\r\n },\r\n {\r\n children: <>histórico de movimentações,\r\n color: '#00995D',\r\n name: 'historicoMovimentacao',\r\n width: 'min-content',\r\n },\r\n ];\r\n\r\n return tabsMemo;\r\n }, []);\r\n\r\n function handleRenderTable(tabName = null) {\r\n if (usuarioDadosGerais.loading) {\r\n return ;\r\n }\r\n if (usuarioDadosGerais.response) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n function handleRenderTableHistorico() {\r\n if (usuarioHistoricoMovimentacao.loading) {\r\n return ;\r\n }\r\n\r\n if (usuarioHistoricoMovimentacao.response.size > 0) {\r\n return (\r\n \r\n );\r\n }\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRenderTable()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {handleRenderTableHistorico()}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default TabFormUsuario;\r\n","import React from 'react';\r\n\r\nimport { Modal, Button, Text } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction ModalLiberarAcesso({\r\n isOpen,\r\n onClick,\r\n liberarAcesso,\r\n naoLiberarAcesso,\r\n isEditar,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ naoLiberarAcesso, isEditar, liberarAcesso }) => {\r\n return (\r\n <>\r\n \r\n agora não\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalLiberarAcesso;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCancelActionFooter;\r\n","import React, { useEffect, useState, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form, useField } from '@rocketseat/unform';\r\n\r\nimport {\r\n Modal,\r\n Text,\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport { isEqual } from 'lodash';\r\nimport produce from 'immer';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport {\r\n isValidMesmoTelefone,\r\n isValidMesmoCelular,\r\n} from '../../utils/validation';\r\n\r\nimport { excludeData } from '../../services/auth';\r\n\r\nimport {\r\n TipoTelefoneEnum,\r\n PermissaoContratanteEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n} from '../../enums';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport TabFormUsuario from '../../components/organisms/TabFormUsuario';\r\nimport ModalLiberarAcesso from '../../components/organisms/ModalLiberarAcesso';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport useParametrizacao from '../../hooks/useParametrizazao';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n\r\nfunction UsuarioDetalhe({ match }) {\r\n const { idUsuario } = match.params;\r\n\r\n const { idUsuarioLogado } = useSelector((state) => state.auth.usuario);\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n getUsuarioById,\r\n getContatoById,\r\n getDadosAcessoById,\r\n getHistoricoMovimentacoes,\r\n patchLiberarAcesso,\r\n patchStatusUsuario,\r\n patchDadosGerais,\r\n patchDadosAcesso,\r\n } = useSelector((state) => state.usuario);\r\n\r\n const { salvarParametrizacao, hasAlteracao } = useParametrizacao(\r\n idUsuario,\r\n getUsuarioById.response.tipoPerfil\r\n );\r\n\r\n const editarUsuarioParam = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: getUsuarioById.response.nome || '',\r\n matricula: getUsuarioById.response.matricula || '',\r\n tipoPerfil: getUsuarioById.response.tipoPerfil || '',\r\n permissao:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n getUsuarioById.response.tipoPerfil\r\n ] || '',\r\n roles: getUsuarioById.response.roles,\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const editarDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: getDadosAcessoById.response.nome,\r\n email: getDadosAcessoById.response.email,\r\n tipoStatus: getDadosAcessoById.response.tipoStatus,\r\n };\r\n\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n isOpen: false,\r\n text: '',\r\n textHeader: '',\r\n onClick: (_) => _,\r\n onClickOk: (_) => _,\r\n });\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [dadosAcessoParams, setDadosAcessoParams] = useState(\r\n editarDadosAcessoParams\r\n );\r\n const [originalContatoParams, setOriginalContatoParams] = useState(\r\n editarContatosParams\r\n );\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [modalError, setModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [activeTab, setActiveTab] = useState('dadosGerais');\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [openModalLiberarAcesso, setOpenModalLiberarAcesso] = useState(false);\r\n const [liberarAcesso, setLiberarAcesso] = useState(false);\r\n\r\n function IsStateChangeFromOriginal(prevState, newState) {\r\n return !isEqual(prevState, newState);\r\n }\r\n\r\n useEffect(() => {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n dispatch(UsuarioActions.getUsuarioByIdRequest(idUsuario));\r\n dispatch(UsuarioActions.getContatoByIdRequest(idUsuario));\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (getUsuarioById.response) setUsuarioParams(editarUsuarioParam);\r\n }, [getUsuarioById.response]);\r\n\r\n useEffect(() => {\r\n if (getContatoById.response.length > 0) {\r\n const contatos = getContatoById.response.map((contato) => ({\r\n tipo: contato.tipoContato,\r\n numero: contato.nrDdd.toString().concat(contato.nrNumero),\r\n }));\r\n setOriginalContatoParams({ contatos });\r\n setContatoParams({ contatos });\r\n } else {\r\n setContatoParams(editarContatosParams);\r\n }\r\n }, [getContatoById.response]);\r\n\r\n useEffect(() => {\r\n if (getDadosAcessoById.response) {\r\n const newDadosAcessoParams = produce(dadosAcessoParams, (draft) => {\r\n draft.idUsuario = parseInt(idUsuario, 10);\r\n draft.nome = getDadosAcessoById.response.nome;\r\n draft.email = getDadosAcessoById.response.email;\r\n draft.tipoStatus = getDadosAcessoById.response.tipoStatus;\r\n\r\n return draft;\r\n });\r\n setDadosAcessoParams(newDadosAcessoParams);\r\n }\r\n }, [getDadosAcessoById.response]);\r\n\r\n function IsSubmitDadosGerais() {\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n !IsStateChangeFromOriginal(originalContatoParams, contatoParams)\r\n ) {\r\n return IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams);\r\n }\r\n if (\r\n !IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n (contatoParams.contatos.every((c) => c.numero === '') ||\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n (contatoParams.contatos.every((c) => c.numero === '') ||\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n if (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) &&\r\n IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n IsStateChangeFromOriginal(editarUsuarioParam, usuarioParams) ||\r\n (IsStateChangeFromOriginal(originalContatoParams, contatoParams) &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo)))\r\n );\r\n }\r\n }\r\n function IsSubmitDadosAcesso() {\r\n return IsStateChangeFromOriginal(\r\n editarDadosAcessoParams,\r\n dadosAcessoParams\r\n );\r\n }\r\n\r\n const setButtonDisabledForTab = useCallback(\r\n (tabActive) => {\r\n const tabs = {\r\n dadosGerais: IsSubmitDadosGerais,\r\n dadosAcesso: IsSubmitDadosAcesso,\r\n parametros: () => hasAlteracao,\r\n historicoMovimentacao: (_) => _,\r\n };\r\n\r\n return tabs[tabActive]();\r\n },\r\n [IsSubmitDadosAcesso, IsSubmitDadosGerais, hasAlteracao]\r\n );\r\n\r\n useEffect(() => {\r\n const isDisabledButtonInActiveTab = setButtonDisabledForTab(activeTab);\r\n\r\n setIsButtonDisabled(!isDisabledButtonInActiveTab);\r\n }, [\r\n activeTab,\r\n usuarioParams,\r\n contatoParams,\r\n dadosAcessoParams,\r\n parametrizacaoRoot,\r\n setButtonDisabledForTab,\r\n ]);\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function preparaDadosGerais(data) {\r\n const formUsuarioParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n nome: data.nome,\r\n matricula: data.matricula ? data.matricula : '',\r\n tipoPerfil: TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil],\r\n permissao: data.permissao ? data.permissao : '',\r\n };\r\n\r\n const formContatoParams = {\r\n contatos: [],\r\n };\r\n if (contatoParams.contatos?.length > 0)\r\n formContatoParams.contatos = contatoParams.contatos.map((c) => ({\r\n numero: c.numero,\r\n tipo: c.tipo,\r\n }));\r\n\r\n return { formUsuarioParams, formContatoParams };\r\n }\r\n\r\n function bindPermissaoToPerfil(data) {\r\n return TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil] !==\r\n TipoPerfilUsuarioEnum.returnNameForName.Adm\r\n ? PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.permissao\r\n ]\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n }\r\n\r\n function dadosGeraisSubmit(data) {\r\n const { formUsuarioParams, formContatoParams } = preparaDadosGerais(data);\r\n if (\r\n IsStateChangeFromOriginal(formUsuarioParams, editarUsuarioParam) ||\r\n IsStateChangeFromOriginal(formContatoParams, originalContatoParams)\r\n ) {\r\n if (\r\n formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n formContatoParams.contatos.every((c) =>\r\n isValidContato(c.numero, c.tipo)\r\n )\r\n ) {\r\n formContatoParams.contatos.map((c) => {\r\n c.ddd = c.numero.substring(0, 2);\r\n c.numero = c.numero.substring(2);\r\n });\r\n } else {\r\n formContatoParams.contatos = [];\r\n }\r\n\r\n formUsuarioParams.tipoPerfil = bindPermissaoToPerfil(data);\r\n dispatch(\r\n UsuarioActions.patchDadosGeraisRequest(\r\n formUsuarioParams,\r\n formContatoParams\r\n )\r\n );\r\n }\r\n\r\n // if (\r\n // IsStateChangeFromOriginal(\r\n // formContatoParams,\r\n // editarContatosParams\r\n // ) &&\r\n // formContatoParams.contatos.every((c) => c.numero !== '') &&\r\n // formContatoParams.contatos.every((c) =>\r\n // isValidContato(c.numero, c.tipo)\r\n // )\r\n // ) {\r\n // formContatoParams.contatos.map((c) => {\r\n // c.ddd = c.numero.substring(0, 2);\r\n // c.numero = c.numero.substring(2);\r\n // });\r\n\r\n // dispatch(\r\n // UsuarioActions.patchRegistrarContatoRequest(\r\n // formContatoParams,\r\n // idUsuario\r\n // )\r\n // );\r\n // }\r\n }\r\n\r\n function dadosAcessoSubmit(data) {\r\n if (idUsuarioLogado !== idUsuario) setOpenModalLiberarAcesso(true);\r\n else if (idUsuarioLogado === idUsuario) handleAlterarProprioEmail(false);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: data.email,\r\n };\r\n\r\n // dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n function handleSubmit(data) {\r\n switch (activeTab) {\r\n case 'dadosGerais':\r\n dadosGeraisSubmit(data);\r\n break;\r\n case 'dadosAcesso':\r\n dadosAcessoSubmit(data);\r\n break;\r\n case 'parametros':\r\n salvarParametrizacao();\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById(idUsuario, tipoAcao) {\r\n const params = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n const actionUsuario = setUsuarioActionToDispatch(tipoAcao, params);\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n\r\n if (patchLiberarAcesso.success) {\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (idUsuarioLogado === idUsuario) {\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n }\r\n }\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n if (patchDadosGerais.success) {\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n }\r\n if (patchDadosAcesso.success) {\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n if (idUsuarioLogado === idUsuario) signOut();\r\n }\r\n }\r\n\r\n function handleModalError() {\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n\r\n if (patchDadosAcesso.isError)\r\n dispatch(UsuarioActions.patchDadosAcessoRenew());\r\n if (patchDadosGerais.isError)\r\n dispatch(UsuarioActions.patchDadosGeraisRenew());\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n setActiveTab(tab);\r\n }\r\n\r\n const handleAlterarProprioEmail = (isOpen) => {\r\n const newCancelAction = produce(openModalCancelAction, (draft) => {\r\n draft.isOpen = !isOpen;\r\n draft.text =\r\n 'Ao alterar seu email perderá a sessão atual e qualquer dado não salvo. Deseja continuar?';\r\n draft.textHeader = 'cancelar';\r\n draft.onClick = (open) => handleAlterarProprioEmail(open);\r\n draft.onClickOk = () => {\r\n handleAlterarProprioEmail(true);\r\n handlePatchDadosAcesso();\r\n };\r\n\r\n return draft;\r\n });\r\n setOpenModalCancelAction(newCancelAction);\r\n };\r\n\r\n function handleModalCancelAction(isOpen) {\r\n const newCancelAction = produce(openModalCancelAction, (draft) => {\r\n draft.isOpen = !isOpen;\r\n draft.text =\r\n 'Ao cancelar a edição do usuário, você perderá os dados não salvos. Deseja continuar?';\r\n draft.textHeader = 'cancelar';\r\n draft.onClick = (open) => handleModalCancelAction(open);\r\n draft.onClickOk = handleCancelar;\r\n\r\n return draft;\r\n });\r\n setOpenModalCancelAction(newCancelAction);\r\n }\r\n\r\n function handleModalLiberarAcesso() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n }\r\n\r\n function handleLiberarAcesso() {\r\n setOpenModalLiberarAcesso(false);\r\n setLiberarAcesso(true);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n const handlePatchDadosAcesso = () => {\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n };\r\n\r\n function handleNaoLiberarAcesso() {\r\n setOpenModalLiberarAcesso(false);\r\n setLiberarAcesso(false);\r\n\r\n const formDadosAcessoParams = {\r\n idUsuario: parseInt(idUsuario, 10),\r\n email: dadosAcessoParams.email,\r\n };\r\n\r\n dispatch(UsuarioActions.patchDadosAcessoRequest(formDadosAcessoParams));\r\n }\r\n\r\n function handleChangePage(paramsPgs) {\r\n const params = {\r\n ...paramsPgs,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(\r\n UsuarioActions.getHistoricoMovimentacoesRequest(idUsuario, params)\r\n );\r\n }\r\n }\r\n\r\n const handleCancelar = useCallback(() => {\r\n history.push(`/novo/gestao`);\r\n }, []);\r\n\r\n const signOut = () => {\r\n dispatch(AuthActions.signOut());\r\n excludeData('@movcad');\r\n history.push('/novo/login');\r\n };\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.success && liberarAcesso) {\r\n setOpenModalAcaoUsuario({\r\n success: true,\r\n message: 'alterações de dados realizada e liberação enviada.',\r\n });\r\n } else if (patchLiberarAcesso.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n }\r\n }, [patchLiberarAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.isError)\r\n setOpenModalAcaoUsuario({\r\n error: !modalError.error,\r\n message: 'erro ao enviar solicitação de liberação.',\r\n });\r\n }, [patchLiberarAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message: 'erro ao salvar os dados gerais.',\r\n });\r\n }, [patchDadosGerais.isError]);\r\n\r\n useEffect(() => {\r\n if (patchDadosGerais.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'alteração de dados gerais realizada.',\r\n });\r\n }, [patchDadosGerais.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.isError)\r\n setModalError({\r\n error: !modalError.error,\r\n message:\r\n patchDadosAcesso.error[0] || 'erro ao salvar os dados de acesso.',\r\n });\r\n }, [patchDadosAcesso.isError]);\r\n // useEffect(() => {\r\n // if (patchDadosAcesso.success)\r\n // setOpenModalAcaoUsuario({\r\n // success: !openModalAcaoUsuario.success,\r\n // message: 'alteração de dados de acesso realizada.',\r\n // });\r\n // }, [patchDadosAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchDadosAcesso.success && liberarAcesso) {\r\n const paramsLiberarAcesso = [\r\n {\r\n idUsuario,\r\n },\r\n ];\r\n dispatch(UsuarioActions.patchLiberarAcessoRequest(paramsLiberarAcesso));\r\n } else if (patchDadosAcesso.success) {\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'Usuário alterado com sucesso!',\r\n });\r\n }\r\n dispatch(UsuarioActions.getDadosAcessoByIdRequest(idUsuario));\r\n }, [patchDadosAcesso.success]);\r\n\r\n return (\r\n \r\n \r\n history.push('/novo/gestao') },\r\n {\r\n path: `${getUsuarioById.response.nome}`,\r\n onNavigate: () =>\r\n history.push(`/novo/gestao/detalhe-usuario/${idUsuario}`),\r\n },\r\n ]}\r\n />\r\n
    \r\n \r\n \r\n \r\n handleModalCancelAction(openModalCancelAction.isOpen)\r\n }\r\n >\r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n {\r\n openModalCancelAction.onClick(openModalCancelAction.isOpen);\r\n }}\r\n isOpen={openModalCancelAction.isOpen}\r\n footer={\r\n {\r\n openModalCancelAction.onClick(openModalCancelAction.isOpen);\r\n }}\r\n onClickOk={openModalCancelAction.onClickOk}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default UsuarioDetalhe;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nconst animate = keyframes`\r\n 100%{\r\n transform: initial;\r\n }\r\n 90%{\r\n opacity: initial;\r\n }\r\n 0%{\r\n opacity: 0;\r\n transform: translateY(-40px);\r\n }`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n animation: ${animate} 0.5s forwards ease;\r\n\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, Dropdown, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n} from '../../molecules/CardFilter';\r\n\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\nimport { ComboDatePicker, Container } from './styles';\r\n\r\nfunction FilterExtendsUsuarios({ isOpen, setInputValue }) {\r\n const optionsPerfil = [\r\n {\r\n onClickOption: () => handleSelectedPerfil('Administrador'),\r\n text: 'Administrador',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante Consulta'),\r\n text: 'Contratante Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelectedPerfil('Contratante Alteração'),\r\n text: 'Contratante Alteração',\r\n },\r\n ];\r\n\r\n const { loading } = useSelector((state) => state.usuario.getConsultaUsuarios);\r\n\r\n const registerPerfil = useField('perfil').registerField;\r\n\r\n const [selectedPerfil, setSelectedPerfil] = useState('');\r\n const [clearField, setClearField] = useState(false);\r\n const [dates, setDates] = useState({\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataLiberacaoDe: null,\r\n dataLiberacaoAte: null,\r\n dataInativacaoDe: null,\r\n dataInativacaoAte: null,\r\n });\r\n const [disableImportarCriacao, setDisableImportarCriacao] = useState(false);\r\n const [disableImportarLiberacao, setDisableImportarLiberacao] =\r\n useState(false);\r\n const [disableImportarInativacao, setDisableImportarInativacao] =\r\n useState(false);\r\n\r\n function handleDataCriacaoDe(e) {\r\n if (e.target) return;\r\n const dataCriacaoAte = e > dates.dataCriacaoAte ? e : dates.dataCriacaoAte;\r\n setDates({\r\n dataCriacaoDe: e,\r\n dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n });\r\n }\r\n\r\n function handleDataCriacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: e,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n });\r\n }\r\n\r\n function handleDataLiberacaoDe(e) {\r\n if (e.target) return;\r\n const dataLiberacaoAte =\r\n e > dates.dataLiberacaoAte ? e : dates.dataLiberacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: e,\r\n dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n });\r\n }\r\n\r\n function handleDataLiberacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: e,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: dates.dataInativacaoAte,\r\n });\r\n }\r\n\r\n function handleDataInativacaoDe(e) {\r\n if (e.target) return;\r\n const dataInativacaoAte =\r\n e > dates.dataInativacaoAte ? e : dates.dataInativacaoAte;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: e,\r\n dataInativacaoAte,\r\n });\r\n }\r\n\r\n function handleDataInativacaoAte(e) {\r\n if (e.target) return;\r\n setDates({\r\n dataCriacaoDe: dates.dataCriacaoDe,\r\n dataCriacaoAte: dates.dataCriacaoAte,\r\n dataLiberacaoDe: dates.dataLiberacaoDe,\r\n dataLiberacaoAte: dates.dataLiberacaoAte,\r\n dataInativacaoDe: dates.dataInativacaoDe,\r\n dataInativacaoAte: e,\r\n });\r\n }\r\n\r\n function handleSelectedPerfil(text) {\r\n setSelectedPerfil(text);\r\n }\r\n\r\n function handleLimparFiltros() {\r\n setSelectedPerfil('');\r\n setDates({\r\n dataCriacaoDe: '',\r\n dataCriacaoAte: '',\r\n dataLiberacaoDe: '',\r\n dataLiberacaoAte: '',\r\n dataInativacaoDe: '',\r\n dataInativacaoAte: '',\r\n });\r\n setInputValue('');\r\n setClearField(true);\r\n }\r\n\r\n useEffect(() => {\r\n setClearField(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n function handleDisableImportar() {\r\n if (\r\n (dates.dataCriacaoDe && dates.dataCriacaoAte) ||\r\n (!dates.dataCriacaoDe && !dates.dataCriacaoAte)\r\n ) {\r\n setDisableImportarCriacao(false);\r\n } else {\r\n setDisableImportarCriacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataLiberacaoDe && dates.dataLiberacaoAte) ||\r\n (!dates.dataLiberacaoDe && !dates.dataLiberacaoAte)\r\n ) {\r\n setDisableImportarLiberacao(false);\r\n } else {\r\n setDisableImportarLiberacao(true);\r\n }\r\n\r\n if (\r\n (dates.dataInativacaoDe && dates.dataInativacaoAte) ||\r\n (!dates.dataInativacaoDe && !dates.dataInativacaoAte)\r\n ) {\r\n setDisableImportarInativacao(false);\r\n } else {\r\n setDisableImportarInativacao(true);\r\n }\r\n }\r\n\r\n handleDisableImportar();\r\n }, [dates]);\r\n\r\n return (\r\n \r\n \r\n filtro avançado\r\n \r\n \r\n \r\n {selectedPerfil || 'Selecione o perfil'}\r\n \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FilterExtendsUsuarios;\r\n","import styled, { keyframes, css } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { FcCancel } from 'react-icons/fc';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const CancelIConContainer = styled(FcCancel).attrs((props) => ({\r\n color: props.color,\r\n}))`\r\n path {\r\n fill: ${(props) => props.color} !important;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n path {\r\n fill: #fff !important;\r\n }\r\n }\r\n }\r\n`;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\n\r\nimport {\r\n Button,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tab,\r\n TabContent,\r\n Checkbox,\r\n WrapperFlex,\r\n Tooltip,\r\n Alerts,\r\n Pagination,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil } from 'react-icons/im';\r\nimport { BiCheckCircle } from 'react-icons/bi';\r\nimport { MdLockOpen } from 'react-icons/md';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport history from '../../../services/history';\r\n\r\nimport { TipoStatusEnum, TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n HoverActions,\r\n CancelIConContainer,\r\n} from './styles';\r\n\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nfunction TabTableUsuarios({\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleAcaoUsuarioById,\r\n handleAcaoUsuarios,\r\n handleConfirmAction,\r\n handleChangeTab,\r\n handleChangePage,\r\n}) {\r\n const dispatch = useDispatch();\r\n\r\n const { getConsultaUsuarios } = useSelector((state) => state.usuario);\r\n\r\n const tabs = [\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Todas.size}todas\r\n \r\n ),\r\n color: '#00995D',\r\n name: 'todas',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Ativo.size}ativos\r\n \r\n ),\r\n color: '#B1D34B',\r\n name: 'ativo',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.PendenteLiberacao.size}\r\n pendentes\r\n \r\n ),\r\n color: '#F1C104',\r\n name: 'pendenteLiberacao',\r\n },\r\n {\r\n children: (\r\n <>\r\n {getConsultaUsuarios.response.Inativo.size}inativos\r\n \r\n ),\r\n color: '#ED1651',\r\n name: 'inativo',\r\n },\r\n ];\r\n\r\n function handleRenderTable(usuarios, tabName = null) {\r\n if (getConsultaUsuarios.loading) {\r\n return ;\r\n }\r\n if (!!usuarios.data && usuarios.data.length > 0) {\r\n return (\r\n handleChangePage(paramsPg, tabName)}\r\n {...(tabName && { tabName })}\r\n />\r\n );\r\n }\r\n return ;\r\n }\r\n\r\n useEffect(() => {\r\n const params = {\r\n ...paginationParams,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {handleRenderTable(getConsultaUsuarios.response.Todas, 'Todas')}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.Ativo,\r\n TipoStatusEnum.returnNameForTab.Ativo\r\n )}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.PendenteLiberacao,\r\n TipoStatusEnum.returnNameForTab.PendenteLiberacao\r\n )}\r\n \r\n \r\n {handleRenderTable(\r\n getConsultaUsuarios.response.Inativo,\r\n TipoStatusEnum.returnNameForTab.Inativo\r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ tabName, checkAll, handleCheckAll }) => {\r\n return (\r\n \r\n {tabName !== 'Todas' ? (\r\n \r\n handleCheckAll(e)}\r\n height={18}\r\n width={18}\r\n />\r\n \r\n ) : null}\r\n \r\n Usuário\r\n \r\n \r\n E-mail\r\n \r\n \r\n Perfil\r\n \r\n \r\n Criação\r\n \r\n \r\n Liberação\r\n \r\n \r\n Status\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n usuarios,\r\n pageData,\r\n setPaginationParams,\r\n paginationParams,\r\n handlePageChangeKeyDown,\r\n handleAcaoUsuarioById,\r\n handleAcaoUsuarios,\r\n tabName,\r\n handleConfirmAction,\r\n usuariosSize,\r\n handleChangePage,\r\n}) => {\r\n const [checkAll, setCheckAll] = useState(false);\r\n const [userRowsChecked, setUserRowsChecked] = useState([]);\r\n\r\n function handleCheckAll(e) {\r\n setCheckAll(!checkAll);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {userRowsChecked.length > 0 ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n }\r\n >\r\n {usuarios.map((user, index) => (\r\n \r\n ))}\r\n \r\n {pageData.size > 10 && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({\r\n user,\r\n checkAll,\r\n setUserRowsChecked,\r\n userRowsChecked = [],\r\n tabName,\r\n handleAcaoUsuarioById,\r\n index,\r\n handleConfirmAction,\r\n}) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n const [isChecked, setIsChecked] = useState(true);\r\n const [usuario, setUsuario] = useState({ user, checked: !isChecked });\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n function handleEditarUsuario(IdUsuario) {\r\n history.push(`/novo/gestao/detalhe-usuario/${IdUsuario}`);\r\n }\r\n\r\n function handleCheckedUsuario(e, check, idUsuario) {\r\n const newUsuario = produce(usuario, (draft) => {\r\n if (draft.user.idUsuario === idUsuario) draft.checked = !check;\r\n\r\n return draft;\r\n });\r\n\r\n const newUserRowChecked = produce(userRowsChecked, (draft) => {\r\n const newDraft = draft.filter((u) => {\r\n return (\r\n u.user.idUsuario !== newUsuario.user.idUsuario && u.checked === true\r\n );\r\n });\r\n\r\n if (newUsuario.checked) newDraft.push(newUsuario);\r\n\r\n draft = newDraft;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuario(newUsuario);\r\n setUserRowsChecked(newUserRowChecked);\r\n }\r\n\r\n useEffect(() => {\r\n const newUsuario = produce(usuario, (draft) => {\r\n draft.checked = checkAll;\r\n\r\n return draft;\r\n });\r\n setUsuario(newUsuario);\r\n if (checkAll) {\r\n if (\r\n !userRowsChecked\r\n .map((userRowChecked) => userRowChecked.user.idUsuario)\r\n .includes(newUsuario.user.idUsuario)\r\n )\r\n setUserRowsChecked((oldArray) => [...oldArray, newUsuario]);\r\n } else setUserRowsChecked([]);\r\n }, [checkAll]);\r\n\r\n return (\r\n \r\n {tabName !== 'Todas' ? (\r\n \r\n \r\n handleCheckedUsuario(e, usuario.checked, user.idUsuario)\r\n }\r\n height={18}\r\n width={18}\r\n />\r\n \r\n ) : null}\r\n \r\n {user.nome ? user.nome : '-'}\r\n \r\n \r\n {user.email ? user.email : '-'}\r\n \r\n \r\n {user.tipoPerfil\r\n ? TipoPerfilUsuarioEnum.returnNameFormattedForName[user.tipoPerfil]\r\n : '-'}\r\n \r\n \r\n {user.dtCriacao\r\n ? format(new Date(user.dtCriacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {user.dtLiberacao\r\n ? format(new Date(user.dtLiberacao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {hoverAction ? (\r\n \r\n ) : (\r\n <>\r\n {user?.tipoStatus\r\n ? TipoStatusEnum.returnNameFormattedForName[user.tipoStatus]\r\n : '-'}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\nconst SetAllUsuario = ({\r\n tabName,\r\n userRowsChecked,\r\n handleAcaoUsuarios,\r\n handleConfirmAction,\r\n paginationParams,\r\n marginLeft,\r\n totalSize,\r\n}) => {\r\n const IconPorStatus = {\r\n Ativo: {\r\n Button: (\r\n handleConfirmAction(userRowsChecked, tabName)}\r\n >\r\n \r\n inativar\r\n \r\n ),\r\n },\r\n Inativo: {\r\n Button: (\r\n handleConfirmAction(userRowsChecked, tabName)}\r\n >\r\n \r\n ativar\r\n \r\n ),\r\n },\r\n PendenteLiberacao: {\r\n Button: (\r\n \r\n \r\n liberar acesso\r\n \r\n ),\r\n },\r\n };\r\n\r\n function handleButtonPorStatus() {\r\n return IconPorStatus[tabName]?.Button;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Você selecionou {userRowsChecked.length} de{' '}\r\n {totalSize >= 10 ? paginationParams.pageSize : totalSize} itens.\r\n \r\n \r\n {handleButtonPorStatus()}\r\n \r\n \r\n );\r\n};\r\n\r\nconst TableUsuarioActions = ({\r\n handleAcaoUsuarioById,\r\n handleUsuario,\r\n tabName,\r\n usuarioStatus,\r\n IdUsuario,\r\n handleConfirmAction,\r\n}) => {\r\n return (\r\n \r\n \r\n handleUsuario(IdUsuario)}>\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst ActionPorStatus = ({\r\n tabName,\r\n usuarioStatus,\r\n IdUsuario,\r\n handleAcaoUsuarioById,\r\n handleConfirmAction,\r\n}) => {\r\n const IconPorStatus = {\r\n Ativo: {\r\n Text: 'inativar',\r\n Icon: ,\r\n },\r\n Inativo: {\r\n Text: 'ativar',\r\n Icon: ,\r\n },\r\n PendenteLiberacao: {\r\n Text: 'liberar acesso',\r\n Icon: ,\r\n },\r\n };\r\n\r\n function handleIconsPorStatus() {\r\n return IconPorStatus[usuarioStatus]?.Icon;\r\n }\r\n function handleToolTipTextPorStatus() {\r\n return IconPorStatus[usuarioStatus]?.Text;\r\n }\r\n\r\n return (\r\n \r\n handleConfirmAction(IdUsuario, usuarioStatus)}\r\n >\r\n {handleIconsPorStatus()}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabTableUsuarios;\r\n","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgBusinessCenter = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 60,\n viewBox: \"0 0 24 24\",\n width: 60,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20 7h-4V5l-2-2h-4L8 5v2H4c-1.1 0-2 .9-2 2v5c0 .75.4 1.38 1 1.73V19c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2v-3.28c.59-.35 1-.99 1-1.72V9c0-1.1-.9-2-2-2zM10 5h4v2h-4V5zM4 9h16v5h-5v-3H9v3H4V9zm9 6h-2v-2h2v2zm6 4H5v-3h4v1h6v-1h4v3z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBusinessCenter, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/business_center.481072a9.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgSettings = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0V0z\",\n fill: \"none\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.43 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.09-.16-.26-.25-.44-.25-.06 0-.12.01-.17.03l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.06-.02-.12-.03-.18-.03-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.09.16.26.25.44.25.06 0 .12-.01.17-.03l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.19-1.35-.16-1.13-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74s.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.19 1.35.16 1.13 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13zM12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n })));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgSettings, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/settings.f8959a31.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ImageWrapper = styled.div``;\r\n\r\nexport const ContentTextWrapper = styled.div``;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal 600 17px 'unimed_slabsemibold';\r\n color: ${theme.grey};\r\n text-align: center;\r\n letter-spacing: 0px;\r\n`;\r\n\r\nexport const Container = styled.div`\r\n display: block;\r\n background-color: ${theme.grey210};\r\n height: 160px;\r\n width: 160px;\r\n text-align: -webkit-center;\r\n padding: 25px;\r\n margin: 12px;\r\n border-radius: 10px;\r\n cursor: pointer;\r\n opacity: 1;\r\n\r\n &:hover {\r\n background-color: ${lighten(0.68, theme.greenDefault)};\r\n div {\r\n cursor: pointer;\r\n color: ${theme.greenDefault};\r\n background: ${lighten(0.68, theme.greenDefault)};\r\n }\r\n\r\n svg {\r\n fill: ${theme.greenDefault};\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentTextWrapper,\r\n ImageWrapper,\r\n} from './styles';\r\nimport ImageCard from '../ImageCard';\r\n\r\nconst CardTipoPerfil = ({ text, onClick, children }) => (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n {text}\r\n {/* */}\r\n \r\n \r\n \r\n);\r\n\r\nexport default CardTipoPerfil;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n margin-bottom: 15px;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n","import React, { useCallback } from 'react';\r\n\r\nimport { Modal } from '@unimed-fesp/components';\r\n\r\nimport { ReactComponent as CaseIcon } from '../../../assets/icons/business_center.svg';\r\nimport { ReactComponent as GearIcon } from '../../../assets/icons/settings.svg';\r\n\r\nimport CardTipoPerfil from '../../molecules/CardTipoPerfil';\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport PerfilEnum from '../../../enums/PerfilEnum';\r\n\r\nimport { Container, ContentText } from './styles';\r\nimport theme from '../../../styles/theme';\r\nimport history from '../../../services/history';\r\n\r\nfunction ModalNovoUsuario({ isOpen, onClick }) {\r\n const paginaNovoUsarioAdministrador = useCallback((perfilNovoUsuario) => {\r\n history.push(`/novo/gestao/novo-usuario/${PerfilEnum.returnName[1]}`);\r\n }, []);\r\n\r\n const paginaNovoUsarioContratante = useCallback((perfilNovoUsuario) => {\r\n history.push(`/novo/gestao/novo-usuario/${PerfilEnum.returnName[2]}`);\r\n }, []);\r\n\r\n return (\r\n novo usuário}\r\n >\r\n \r\n Que tipo de perfil deseja cadastrar?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalNovoUsuario;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport { MdSearch, MdFilterList } from 'react-icons/md';\r\n\r\nimport {\r\n Modal,\r\n Text,\r\n Button,\r\n WrapperFlex,\r\n Title,\r\n Breadcrumbs,\r\n SearchBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\n\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nimport { isPartialEmail } from '../../utils/validation';\r\n\r\nimport theme from '../../styles/theme';\r\nimport history from '../../services/history';\r\nimport { Container } from './styles';\r\n\r\nimport { TipoStatusEnum, TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport FilterExtendsUsuarios from '../../components/organisms/FilterExtendsUsuarios';\r\nimport TabTableUsuarios from '../../components/organisms/TabTableUsuarios';\r\nimport ModalNovoUsuario from '../../components/organisms/ModalNovoUsuario';\r\n\r\nfunction UsuarioGestao() {\r\n const dispatch = useDispatch();\r\n\r\n const { success } = useSelector((state) => state.modalidade);\r\n const { patchLiberarAcesso, patchStatusUsuario, getConsultaUsuarios } =\r\n useSelector((state) => state.usuario);\r\n\r\n const [usuarioAction, setUsuarioAction] = useState({\r\n usuarios: [],\r\n tipoAcao: '',\r\n });\r\n const [openModalNovoUsuario, setModalNovoUsuario] = useState(false);\r\n const [openModalError, setModalError] = useState({\r\n error: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [openModalAcaoUsuario, setOpenModalAcaoUsuario] = useState({\r\n success: false,\r\n acaoUsuario: '',\r\n message: '',\r\n });\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState({\r\n warning: false,\r\n message: '',\r\n });\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n\r\n const filterExtendsParams = {\r\n nome: null,\r\n email: null,\r\n tipoPerfil: null,\r\n dataCriacaoDe: null,\r\n dataCriacaoAte: null,\r\n dataLiberacaoDe: null,\r\n dataLiberacaoAte: null,\r\n dataInativacaoDe: null,\r\n dataInativacaoAte: null,\r\n };\r\n\r\n const paginationTabParams = {\r\n tipoStatus: TipoStatusEnum.returnNameForTab.Todas,\r\n pageNumber: 1,\r\n pageSize: 10,\r\n nextPage: null,\r\n previousPage: null,\r\n };\r\n\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n });\r\n }\r\n const handleCancelarCadastro = () => {\r\n history.push(`/novo/gestao`);\r\n };\r\n\r\n function handleModalNovoUsuario() {\r\n setModalNovoUsuario(!openModalNovoUsuario);\r\n }\r\n\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.nome =\r\n !inputValue || isPartialEmail(inputValue) ? null : inputValue;\r\n draft.email = isPartialEmail(inputValue) ? inputValue : null;\r\n draft.tipoPerfil =\r\n data.perfil === 'Selecione o perfil'\r\n ? null\r\n : TipoPerfilUsuarioEnum.returnNameForNameFormatted[data.perfil];\r\n draft.dataCriacaoDe = data.dataCriacaoDe\r\n ? format(data.dataCriacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataCriacaoAte = data.dataCriacaoAte\r\n ? format(data.dataCriacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.dataLiberacaoDe = data.dataLiberacaoDe\r\n ? format(data.dataLiberacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataLiberacaoAte = data.dataLiberacaoAte\r\n ? format(data.dataLiberacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n draft.dataInativacaoDe = data.dataInativacaoDe\r\n ? format(data.dataInativacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.dataInativacaoAte = data.dataInativacaoAte\r\n ? format(data.dataInativacaoAte, 'MM-dd-yyyy 23:59:59')\r\n : null;\r\n\r\n return draft;\r\n });\r\n\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = 10;\r\n });\r\n\r\n const params = {\r\n ...newFilterParams,\r\n ...newPaginationParams,\r\n };\r\n\r\n setFilterParams(newFilterParams);\r\n setPaginationParams(newPaginationParams);\r\n return params;\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n setCancelFilterExtendsOpen(false);\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleInputKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n // 'enter' was pressed\r\n setCancelFilterExtendsOpen(true);\r\n }\r\n }\r\n\r\n function handlePageChangeKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n const params = {\r\n ...filterParams,\r\n ...paginationParams,\r\n };\r\n\r\n if (paginationParams.pageNumber !== '')\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n }\r\n }\r\n\r\n function handleActiveTab(status) {\r\n const newPaginationTab = produce(paginationParams, (draft) => {\r\n draft.tipoStatus = status;\r\n\r\n return draft;\r\n });\r\n\r\n setPaginationParams(newPaginationTab);\r\n }\r\n function handleSelectedPageSize(e) {\r\n const newPageSize = produce(paginationParams, (draft) => {\r\n draft.pageSize = e.target.dataset.text;\r\n draft.pageNumber = 1;\r\n\r\n return draft;\r\n });\r\n const params = {\r\n ...filterParams,\r\n ...newPageSize,\r\n };\r\n\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n\r\n setPaginationParams(newPageSize);\r\n }\r\n\r\n function handlePageChange(e) {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n draft.pageNumber = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n if (\r\n newPageAtual.totalPages >= newPageAtual.pageNumber &&\r\n newPageAtual.pageNumber !== '0'\r\n )\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleNextPage() {\r\n const newPageAtual = produce(paginationParams, (draft) => {\r\n if (draft.totalPages !== draft.pageNumber) draft.pageNumber += 1;\r\n\r\n return draft;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newPageAtual,\r\n };\r\n if (paginationParams.totalPages !== paginationParams.pageNumber)\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n\r\n setPaginationParams(newPageAtual);\r\n }\r\n\r\n function handleChangeTab(nameTab) {\r\n const nameTabCapitalize = `${nameTab\r\n .charAt(0)\r\n .toUpperCase()}${nameTab.slice(1)}`;\r\n const { pageNumber, pageSize } =\r\n getConsultaUsuarios.response[nameTabCapitalize];\r\n setPaginationParams((oldParams) => ({\r\n ...oldParams,\r\n pageNumber,\r\n pageSize,\r\n }));\r\n }\r\n\r\n function handleChangePage(paramsPag, tipoStatus) {\r\n const params = {\r\n ...filterParams,\r\n ...paramsPag,\r\n tipoStatus,\r\n };\r\n\r\n dispatch(UsuarioActions.getConsultaUsuariosPorStatusRequest(params));\r\n }\r\n\r\n function setUsuarioActionToDispatch(action, params) {\r\n const actions = {\r\n PendenteLiberacao: UsuarioActions.patchLiberarAcessoRequest(params),\r\n Ativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Inativo\r\n ),\r\n Inativo: UsuarioActions.patchStatusRequest(\r\n params,\r\n TipoStatusEnum.returnNameForName.Ativo\r\n ),\r\n };\r\n\r\n return actions[action];\r\n }\r\n\r\n function handleAcaoUsuarioById() {\r\n const params = [\r\n {\r\n idUsuario: usuarioAction.usuarios,\r\n },\r\n ];\r\n const actionUsuario = setUsuarioActionToDispatch(\r\n usuarioAction.tipoAcao,\r\n params\r\n );\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function handleAcaoUsuarios() {\r\n const params = usuarioAction.usuarios.map((u) => {\r\n return { idUsuario: u.user.idUsuario };\r\n });\r\n\r\n const actionUsuario = setUsuarioActionToDispatch(\r\n usuarioAction.tipoAcao,\r\n params\r\n );\r\n\r\n dispatch(actionUsuario);\r\n }\r\n\r\n function setAcaoUsuario() {\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n });\r\n\r\n return Array.isArray(usuarioAction.usuarios)\r\n ? handleAcaoUsuarios()\r\n : handleAcaoUsuarioById();\r\n }\r\n\r\n function handleConfirmAction(usuarios, tipoAcao) {\r\n setUsuarioAction({ usuarios, tipoAcao });\r\n\r\n const messagesPerAction = {\r\n Ativo: 'Deseja realmente inativar este usuário?',\r\n Inativo: 'Deseja realmente ativar este usuário?',\r\n PendenteLiberacao: 'Deseja realmente liberar acesso a este usuário?',\r\n };\r\n\r\n setOpenModalCancelAction({\r\n warning: !openModalCancelAction.warning,\r\n message: messagesPerAction[tipoAcao],\r\n });\r\n }\r\n\r\n function getUsuariosGestao() {\r\n const params = {\r\n ...paginationParams,\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n dispatch(\r\n UsuarioActions.getConsultaUsuariosRequest(\r\n params,\r\n TipoStatusEnum.returnNameForTab\r\n )\r\n );\r\n }\r\n\r\n function handleModalUsuarioAcao() {\r\n setOpenModalAcaoUsuario({\r\n success: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n\r\n if (patchLiberarAcesso.success)\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n\r\n getUsuariosGestao();\r\n }\r\n function handleModalError() {\r\n setModalError({\r\n error: false,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n if (patchLiberarAcesso.success)\r\n dispatch(UsuarioActions.patchLiberarAcessoRenew());\r\n if (patchStatusUsuario.success) dispatch(UsuarioActions.patchStatusRenew());\r\n }\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de liberação enviada.',\r\n });\r\n }, [patchLiberarAcesso.success]);\r\n\r\n useEffect(() => {\r\n if (patchLiberarAcesso.isError)\r\n setModalError({\r\n error: !openModalError.error,\r\n message: 'Erro ao liberar acesso!',\r\n });\r\n }, [patchLiberarAcesso.isError]);\r\n\r\n useEffect(() => {\r\n if (patchStatusUsuario.success)\r\n setOpenModalAcaoUsuario({\r\n success: !openModalAcaoUsuario.success,\r\n message: 'solicitação de alteração de status enviada.',\r\n });\r\n }, [patchStatusUsuario.success]);\r\n\r\n useEffect(() => {\r\n if (patchStatusUsuario.isError)\r\n setModalError({\r\n error: !openModalError.error,\r\n message: 'Erro ao alterar o status!',\r\n });\r\n }, [patchStatusUsuario.isError]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n novo usuário\r\n \r\n \r\n \r\n history.push('/novo/gestao'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n handleModalCancelAction();\r\n }}\r\n isOpen={openModalCancelAction.warning}\r\n footer={\r\n {\r\n handleModalCancelAction();\r\n }}\r\n onClickOk={setAcaoUsuario}\r\n />\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UsuarioGestao;\r\n","import styled, { css } from 'styled-components';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const HeaderWrapper = styled.div`\r\n width: 1038px;\r\n height: 70px;\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n border-radius: 5px;\r\n opacity: 1;\r\n margin-bottom: 6px;\r\n`;\r\n\r\nexport const StepsWrapper = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n padding: 25px 35px 25px 35px;\r\n`;\r\n\r\nexport const BodyWrapper = styled.div`\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n border-radius: 5px;\r\n opacity: 1;\r\n margin-bottom: 28px;\r\n padding: 30px 175px 0px 175px;\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight};\r\n `\r\n : ``};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n\r\n ${({ paddingBottom }) =>\r\n paddingBottom\r\n ? css`\r\n padding-bottom: ${paddingBottom};\r\n `\r\n : ``};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : `height: 550px;`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : `width: 1038px;`};\r\n`;\r\n\r\nexport const UsuarioWrapper = styled.div`\r\n ${({ borderBottom }) =>\r\n borderBottom\r\n ? css`\r\n border-bottom: ${borderBottom};\r\n `\r\n : `border-bottom:none`};\r\n\r\n color: ${theme.grey410};\r\n display: table-caption;\r\n padding-bottom: 30px;\r\n margin-bottom: 30px;\r\n`;\r\n\r\nexport const ContatoWrapper = styled.div`\r\n color: ${theme.grey410};\r\n`;\r\n\r\nexport const FooterWrapper = styled.div`\r\n max-width: 1038px;\r\n width: 100%;\r\n height: 70px;\r\n border-radius: 5px;\r\n opacity: 1;\r\n display: flex;\r\n justify-content: space-between;\r\n`;\r\n\r\nexport const SaveButtonsWrapper = styled.div`\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const IconSalvar = styled(ImFloppyDisk)`\r\n margin-right: 9px;\r\n`;\r\n\r\nexport const ContentWarning = styled.div`\r\n font: 100 14px 'work_sans' !important;\r\n margin-top: 13px;\r\n display: flex;\r\n justify-content: center;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalCancelActionFooter = ({ onClick, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalCancelActionFooter;\r\n","import React from 'react';\r\n\r\nimport { Text, Modal, Button } from '@unimed-fesp/components';\r\n\r\nimport ParametrizacaoContratantes from '../../components/organisms/ParametrizacaoContratantes';\r\n\r\nimport { ContentWrapper, FooterWrapper, BodyWrapper } from './styles';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n\r\nconst Parametros = ({\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n display,\r\n isButtonDisabled,\r\n handlePreviousTab,\r\n handleActiveTab,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handlePreviousTab('parametrizacao')}\r\n >\r\n voltar\r\n \r\n handleActiveTab('dadosAcesso')}\r\n >\r\n avançar\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Parametros;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport {\r\n Text,\r\n Modal,\r\n Button,\r\n Dropdown,\r\n TextField,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport {\r\n ContentWrapper,\r\n FooterWrapper,\r\n BodyWrapper,\r\n UsuarioWrapper,\r\n ContatoWrapper,\r\n} from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\n// #region Componentes\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\n// #endregion\r\n\r\nconst DadosGerais = ({\r\n perfilNovoUsuario,\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n setUsuarioParams,\r\n usuarioParams,\r\n display,\r\n handleAvancarTab,\r\n contatoParams,\r\n setContatoParams,\r\n isButtonDisabled,\r\n}) => {\r\n const optionsPermissao = [\r\n {\r\n onClickOption: () => handleSelected('Consulta', 'tipoPermissaoUsuario'),\r\n text: 'Consulta',\r\n },\r\n {\r\n onClickOption: () => handleSelected('Alteração', 'tipoPermissaoUsuario'),\r\n text: 'Alteração',\r\n },\r\n ];\r\n\r\n const registerNome = useField('nome').registerField;\r\n const registerMatricula = useField('matricula').registerField;\r\n const registerPerfilUsuario = useField('tipoPerfilUsuario').registerField;\r\n const registerPermissao = useField('tipoPermissaoUsuario').registerField;\r\n\r\n function handleSelected(text, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== text) draft[status] = text;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleChange(e, 'nome')}\r\n register={registerNome}\r\n />\r\n {perfilNovoUsuario === 'Contratante' && (\r\n handleChange(e, 'matricula')}\r\n register={registerMatricula}\r\n />\r\n )}\r\n \r\n {perfilNovoUsuario}\r\n \r\n {perfilNovoUsuario === 'Contratante' && (\r\n \r\n {usuarioParams.tipoPermissaoUsuario || 'Selecione a permissão'}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n setContatoParams({ contatos })\r\n }\r\n useField={useField}\r\n />\r\n \r\n \r\n \r\n \r\n cancelar\r\n \r\n \r\n avançar\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosGerais;\r\n","import React from 'react';\r\nimport { Alerts } from '@unimed-fesp/components';\r\n\r\nconst AlertLiberarAcessoModal = () => {\r\n return (\r\n \r\n \r\n

    \r\n Atenção!É necessário realizar a liberação de acesso para que o\r\n usuário consiga acessar ao sistema.\r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AlertLiberarAcessoModal;\r\n","import React from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@rocketseat/unform';\r\n\r\nimport { Text, Modal, Button, TextField } from '@unimed-fesp/components';\r\n\r\nimport {\r\n IconSalvar,\r\n BodyWrapper,\r\n FooterWrapper,\r\n ContentWarning,\r\n ContentWrapper,\r\n UsuarioWrapper,\r\n SaveButtonsWrapper,\r\n} from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\n// #region Componentes\r\nimport ModalLiberarAcesso from '../../components/organisms/ModalLiberarAcesso';\r\n\r\nimport ModalCancelActionFooter from './ModalCancelActionFooter';\r\nimport AlertLiberarAcessoModal from './AlertLiberarAcessoModal';\r\n// #endregion\r\n\r\nconst DadosAcesso = ({\r\n openModalCancelAction,\r\n handleCancelarCadastro,\r\n handleModalCancelAction,\r\n setUsuarioParams,\r\n usuarioParams,\r\n display,\r\n handleLiberarAcesso,\r\n handleModalLiberarAcesso,\r\n openModalLiberarAcesso,\r\n handleNaoLiberarAcesso,\r\n isButtonSaveDisabled,\r\n openModalSuccess,\r\n handleModalSuccess,\r\n openModalError,\r\n handleModalError,\r\n handleModalLiberarAcessoNewUser,\r\n handlePreviousTab,\r\n}) => {\r\n const registerEmail = useField('email').registerField;\r\n\r\n function handleChange(e, status) {\r\n const newEditarUsuarioParams = produce(usuarioParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n\r\n return draft;\r\n });\r\n\r\n setUsuarioParams(newEditarUsuarioParams);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n handleChange(e, 'email')}\r\n register={registerEmail}\r\n />\r\n \r\n \r\n \r\n handlePreviousTab('dadosAcesso')}\r\n >\r\n voltar\r\n \r\n \r\n \r\n salvar e adicionar novo\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ok\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DadosAcesso;\r\n","import React, { useState, useCallback, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Form } from '@rocketseat/unform';\r\nimport produce from 'immer';\r\n\r\nimport { Title, Stepper, Breadcrumbs } from '@unimed-fesp/components';\r\n\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\nimport history from '../../services/history';\r\n\r\n// #region Enums\r\nimport { TipoCardRoot } from '../../enums';\r\nimport TipoTelefoneEnum from '../../enums/TipoTelefoneEnum';\r\nimport PermissaoContratanteEnum from '../../enums/PermissaoContratanteEnum';\r\n// #endregion\r\n\r\nimport {\r\n isEmail,\r\n isValidMesmoCelular,\r\n isValidMesmoTelefone,\r\n} from '../../utils/validation';\r\nimport { getParametrizacaoRoot } from '../../utils/treeViewBuilder';\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container, HeaderWrapper } from './styles';\r\n\r\n// #region Componentes\r\nimport Parametros from './Parametros';\r\nimport DadosGerais from './DadosGerais';\r\nimport DadosAcesso from './DadosAcesso';\r\n// #endregion\r\n\r\nfunction UsuarioNovo({ match }) {\r\n const dispatch = useDispatch();\r\n const { perfilNovoUsuario } = match.params;\r\n\r\n const { newUsuario, error, usuarioEspelho } = useSelector(\r\n (state) => state.usuario\r\n );\r\n const { idUsuarioLogado } = useSelector((state) => state.auth.usuario);\r\n const { parametrizacaoRoot } = useSelector((state) => state.contratante);\r\n\r\n const [selectedPermissao, setSelectedPermissao] = useState(\r\n 'Selecione a permissão'\r\n );\r\n const [selectedTipoInfo, setSelectedTipoInfo] = useState({\r\n tipo: '',\r\n mask: [],\r\n placeholder: 'Selecione o tipo',\r\n });\r\n const [secondSelectedTipoInfo, setSecondSelectedTipoInfo] = useState({\r\n tipo: '',\r\n mask: [],\r\n placeholder: 'Selecione o tipo',\r\n });\r\n const editarUsuarioParam = {\r\n nome: '',\r\n matricula: '',\r\n codigoContratante: '',\r\n tipoPerfilUsuario: '',\r\n tipoPermissaoUsuario: '',\r\n tipoStatusUsuario: '',\r\n email: '',\r\n };\r\n\r\n const editarContatosParams = {\r\n contatos: [\r\n {\r\n tipo: TipoTelefoneEnum.returnNameForName.Residencial,\r\n numero: '',\r\n },\r\n ],\r\n };\r\n\r\n const [usuarioParams, setUsuarioParams] = useState(editarUsuarioParam);\r\n const [contatoParams, setContatoParams] = useState(editarContatosParams);\r\n const [openModalCancelAction, setOpenModalCancelAction] = useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [camposPreenchidos, setCamposPreenchidos] = useState({\r\n nome: false,\r\n contato: false,\r\n });\r\n const [activeTab, setActiveTab] = useState({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n const [liberarAcesso, setLiberarAcesso] = useState(false);\r\n const [openModalLiberarAcesso, setOpenModalLiberarAcesso] = useState(false);\r\n const [isButtonSaveDisabled, setIsButtonSaveDisabled] = useState(true);\r\n const [addNewUser, setAddNewUser] = useState(false);\r\n const [openModalSuccess, setOpenModalSuccess] = useState(false);\r\n const [openModalError, setOpenModalError] = useState({\r\n error: false,\r\n message: '',\r\n });\r\n const [dadosGeraisCompleted, setDadosGeraisCompleted] = useState(false);\r\n const [parametrizacaoCompleted, setParametrizacaoCompleted] = useState(false);\r\n const [dadosAcessoCompleted, setDadosAcessoCompleted] = useState(false);\r\n\r\n function handleAvancarTab() {\r\n if (perfilNovoUsuario === 'Administrador') {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n } else if (activeTab.dadosGerais) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: false,\r\n parametrizacao: true,\r\n });\r\n } else {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n }\r\n }\r\n\r\n function handleChangeTipo(e) {\r\n const newSelectedTipo = produce(selectedTipoInfo, (draft) => {\r\n draft.tipo = e.target.dataset.text;\r\n return draft;\r\n });\r\n\r\n setSelectedTipoInfo(newSelectedTipo);\r\n }\r\n\r\n function handleChangeNome(e) {\r\n const newCamposPreenchidos = produce(camposPreenchidos, (draft) => {\r\n draft.nome = usuarioParams.nome !== '';\r\n return draft;\r\n });\r\n\r\n setCamposPreenchidos(newCamposPreenchidos);\r\n }\r\n\r\n function handleModalCancelAction() {\r\n setOpenModalCancelAction(!openModalCancelAction);\r\n }\r\n\r\n function handleSelectedPermissao(e) {\r\n setSelectedPermissao(e.target.dataset.text);\r\n }\r\n\r\n const handleCancelarCadastro = useCallback(() => {\r\n history.push(`/novo/gestao`);\r\n }, []);\r\n\r\n function handleSubmit(data) {\r\n setOpenModalLiberarAcesso(false);\r\n if (liberarAcesso) data.tipoStatusUsuario = 'Ativo';\r\n else data.tipoStatusUsuario = 'PendenteLiberacao';\r\n\r\n if (data.tipoPerfilUsuario === 'Administrador')\r\n data.tipoPerfilUsuario = 'Adm';\r\n else {\r\n data.tipoPerfilUsuario =\r\n PermissaoContratanteEnum.returnTipoPerfilUsuarioForPermissao[\r\n data.tipoPermissaoUsuario\r\n ];\r\n\r\n const newCards = [];\r\n parametrizacaoRoot.map((card) => {\r\n const { contagem, parametrizacaoRoot } = getParametrizacaoRoot(card);\r\n if (card.idParametrizacao === 0) {\r\n newCards.push({\r\n idParametrizacao: 0,\r\n idUsuarioInclusao: idUsuarioLogado,\r\n tipoParametrizacao:\r\n TipoCardRoot.returnNameForName[card.tipoParametrizacao],\r\n parametrizacaoRoot,\r\n });\r\n }\r\n });\r\n\r\n data.cards = newCards;\r\n }\r\n\r\n data.contato.map((c) => {\r\n const numero = c.numero.replace(/\\D/gi, '');\r\n c.ddd = numero.substring(0, 2);\r\n c.numero = numero.substring(2);\r\n });\r\n\r\n dispatch(UsuarioActions.criarUsuarioRequest(data));\r\n }\r\n\r\n function handleLiberarAcesso() {\r\n setLiberarAcesso(true);\r\n }\r\n\r\n function handleModalLiberarAcesso() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n }\r\n\r\n function handleModalLiberarAcessoNewUser() {\r\n setOpenModalLiberarAcesso(!openModalLiberarAcesso);\r\n setAddNewUser(true);\r\n }\r\n\r\n function handleNaoLiberarAcesso() {\r\n setLiberarAcesso(false);\r\n }\r\n\r\n function handleModalSuccess() {\r\n dispatch(UsuarioActions.criarUsuarioRenew());\r\n setOpenModalSuccess(false);\r\n\r\n if (addNewUser) {\r\n setUsuarioParams(editarUsuarioParam);\r\n setContatoParams(editarContatosParams);\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n });\r\n setAddNewUser(false);\r\n } else {\r\n history.push(`/novo/gestao`);\r\n }\r\n }\r\n function handleModalError() {\r\n dispatch(UsuarioActions.criarUsuarioRenew());\r\n setOpenModalError({ error: false, message: '' });\r\n }\r\n\r\n function isValidContato(contato, tipo) {\r\n const validContato = {\r\n Residencial: isValidMesmoTelefone(contato),\r\n Celular: isValidMesmoCelular(contato),\r\n };\r\n\r\n return validContato[tipo];\r\n }\r\n\r\n function isValidEmail(email) {\r\n const validEmail = isEmail(email);\r\n\r\n return validEmail;\r\n }\r\n\r\n function requiredFields(role) {\r\n if (role !== 'Administrador') {\r\n if (\r\n contatoParams.contatos.some((c) => c.numero !== '') &&\r\n !contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n )\r\n return (\r\n !!usuarioParams.nome &&\r\n //! !usuarioParams.codigoContratante &&\r\n !!usuarioParams.tipoPermissaoUsuario &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n return (\r\n !!usuarioParams.nome &&\r\n //! !usuarioParams.codigoContratante &&\r\n !!usuarioParams.tipoPermissaoUsuario\r\n );\r\n }\r\n if (\r\n contatoParams.contatos.some((c) => c.numero !== '') &&\r\n !contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n ) {\r\n return (\r\n !!usuarioParams.nome &&\r\n contatoParams.contatos.every((c) => c.numero !== '') &&\r\n contatoParams.contatos.every((c) => isValidContato(c.numero, c.tipo))\r\n );\r\n }\r\n\r\n return !!usuarioParams.nome;\r\n }\r\n\r\n function requiredFieldsSave() {\r\n return !!usuarioParams.email && isValidEmail(usuarioParams.email);\r\n }\r\n\r\n function isRequiredFieldsSet(activeTab) {\r\n if (activeTab.dadosGerais) return requiredFields(perfilNovoUsuario);\r\n if (activeTab.dadosAcesso) return requiredFieldsSave();\r\n }\r\n\r\n function handleActiveTab(tab) {\r\n if (tab === 'dadosGerais') {\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n } else if (tab === 'dadosAcesso' && requiredFields(perfilNovoUsuario)) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: true,\r\n parametrizacao: false,\r\n });\r\n setParametrizacaoCompleted(true);\r\n } else if (tab === 'parametrizacao' && requiredFields(perfilNovoUsuario)) {\r\n setActiveTab({\r\n dadosGerais: false,\r\n dadosAcesso: false,\r\n parametrizacao: true,\r\n });\r\n }\r\n }\r\n\r\n function handlePreviousTab(tab) {\r\n if (tab === 'parametrizacao') {\r\n setActiveTab({\r\n dadosGerais: true,\r\n dadosAcesso: false,\r\n parametrizacao: false,\r\n });\r\n } else if (tab === 'dadosAcesso') {\r\n setActiveTab({\r\n dadosGerais: perfilNovoUsuario === 'Administrador',\r\n dadosAcesso: false,\r\n parametrizacao: perfilNovoUsuario !== 'Administrador',\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (requiredFields(perfilNovoUsuario)) {\r\n setIsButtonDisabled(false);\r\n setDadosGeraisCompleted(true);\r\n } else {\r\n setIsButtonDisabled(true);\r\n setDadosGeraisCompleted(false);\r\n }\r\n }, [usuarioParams, contatoParams]);\r\n\r\n useEffect(() => {\r\n if (isRequiredFieldsSet(activeTab)) setIsButtonSaveDisabled(false);\r\n else setIsButtonSaveDisabled(true);\r\n }, [usuarioParams]);\r\n\r\n useEffect(() => {\r\n if (newUsuario.success) setOpenModalSuccess(true);\r\n else if (newUsuario.isError) {\r\n setOpenModalError({\r\n error: true,\r\n message: newUsuario.error,\r\n });\r\n }\r\n }, [newUsuario.success, newUsuario.isError]);\r\n\r\n useEffect(() => {\r\n if (!usuarioParams.email && activeTab.dadosAcesso)\r\n setIsButtonSaveDisabled(true);\r\n }, [activeTab]);\r\n\r\n useEffect(() => {\r\n if (requiredFieldsSave()) setDadosAcessoCompleted(true);\r\n else setDadosAcessoCompleted(false);\r\n }, [usuarioParams.email]);\r\n\r\n useEffect(() => {\r\n if (usuarioEspelho?.tipoPerfil && usuarioEspelho.tipoPerfil !== 'Adm') {\r\n setUsuarioParams((oldState) => ({\r\n ...oldState,\r\n tipoPermissaoUsuario:\r\n PermissaoContratanteEnum.returnPermissaoForTipoPerfilUsuario[\r\n usuarioEspelho?.tipoPerfil\r\n ],\r\n }));\r\n }\r\n }, [usuarioEspelho]);\r\n\r\n const CrumbsOptions = [\r\n { path: 'novo' },\r\n {\r\n path: 'gestão de usuários',\r\n onNavigate: () => history.push('/novo/gestao'),\r\n },\r\n {\r\n path: `cadastrar usuário ${perfilNovoUsuario}`,\r\n onNavigate: () =>\r\n history.push(`/novo/gestao/novo-usuario/${perfilNovoUsuario}`),\r\n },\r\n ];\r\n const StepperOptions = [\r\n {\r\n completed: dadosGeraisCompleted,\r\n onClick: () => handleActiveTab('dadosGerais'),\r\n text: 'dados gerais',\r\n perfil: ['Contratante', 'Administrador'],\r\n },\r\n {\r\n completed: parametrizacaoCompleted,\r\n onClick: () => handleActiveTab('parametrizacao'),\r\n text: 'parametrização',\r\n disabled: activeTab.dadosGerais && !parametrizacaoCompleted,\r\n perfil: ['Contratante'],\r\n },\r\n {\r\n completed: dadosAcessoCompleted,\r\n onClick: () => handleActiveTab('dadosAcesso'),\r\n text: 'dados de acesso',\r\n disabled:\r\n (activeTab.dadosGerais || activeTab.parametrizacao) &&\r\n !dadosAcessoCompleted,\r\n perfil: ['Contratante', 'Administrador'],\r\n },\r\n ];\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n step.perfil.includes(perfilNovoUsuario)\r\n )}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default UsuarioNovo;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n p {\r\n font-size: 13px;\r\n }\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const CardFilter = styled.div`\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 200px;`};\r\n`;\r\nexport const CardFilterContent = styled.div`\r\n min-width: 300px;\r\n margin: 10px 20px;\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeader = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooter = styled.div`\r\n display: flex;\r\n padding: 0px 20px 10px 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport {\r\n Button,\r\n Checkbox,\r\n Dropdown,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport React, { useCallback, useState } from 'react';\r\n\r\nimport DatePicker from '../../molecules/DatePicker';\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nimport {\r\n CardFilter,\r\n CardFilterContent,\r\n CardFilterFooter,\r\n CardFilterHeader,\r\n Container,\r\n} from './styles';\r\n\r\nfunction FilterExtendsBeneficiarios({ errorMessages, cleanErrors }) {\r\n const [selectedFilter, setSelectedFilter] = useState(\r\n 'Modalidade + Termo + Nome'\r\n );\r\n\r\n const [selectedOption, setSelectedOption] = useState(0);\r\n const [typeBeneficiary, setTypeBeneficiary] = useState('');\r\n const [inputModality, setModality] = useState('');\r\n const [beneficiaryName, setBeneficiaryName] = useState('');\r\n const [term, setTerm] = useState('');\r\n const [cpf, setCpf] = useState('');\r\n const [codeCard, setCodeCard] = useState('');\r\n const [beneficiaryBirthday, setBeneficiaryBirthday] = useState('');\r\n const registerModality = useField('modality').registerField;\r\n const registerTypeForm = useField('typeForm').registerField;\r\n const registerBeneficiaryName = useField('nameBeneficiary').registerField;\r\n const registerTerm = useField('termo').registerField;\r\n const registerTypeBeneficiary = useField('typeBeneficiary').registerField;\r\n const registerCPF = useField('cpf').registerField;\r\n const registerCodeCard = useField('codeCard').registerField;\r\n\r\n const optionsFilters = [\r\n {\r\n onClickOption: () => handleOptions('Modalidade + Termo + Nome', 0),\r\n text: 'Modalidade + Termo + Nome',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Codigo do Cartao', 1),\r\n text: 'Codigo do Cartão',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Nome + Tipo Beneficiario', 2),\r\n text: 'Nome + Tipo Beneficiario',\r\n },\r\n {\r\n onClickOption: () => handleOptions('Nome + Data Nascimento', 3),\r\n text: 'Nome + Data Nascimento',\r\n },\r\n {\r\n onClickOption: () => handleOptions('CPF', 4),\r\n text: 'CPF',\r\n },\r\n ];\r\n\r\n const optionsTypeBeneficiary = [\r\n {\r\n onClickOption: () => handleTypeBeneficiario('Titular'),\r\n text: 'Titular',\r\n },\r\n {\r\n onClickOption: () => handleTypeBeneficiario('Dependente'),\r\n text: 'Dependente',\r\n },\r\n ];\r\n\r\n const handleModality = (e) => {\r\n setModality(e.target.value);\r\n };\r\n const handleBeneficiaryName = (e) => {\r\n setBeneficiaryName(e.target.value);\r\n };\r\n const handleTerm = (e) => {\r\n setTerm(e.target.value);\r\n };\r\n const handleCpf = (e) => {\r\n setCpf(e.target.value);\r\n };\r\n const handleCodeCard = (e) => {\r\n setCodeCard(e.target.value);\r\n };\r\n const limparFiltros = () => {\r\n cleanErrors();\r\n setTypeBeneficiary('');\r\n setModality('');\r\n setBeneficiaryName('');\r\n setTerm('');\r\n setCpf('');\r\n setCodeCard('');\r\n setBeneficiaryBirthday('');\r\n };\r\n const handleOptions = (value, id) => {\r\n setSelectedFilter(value);\r\n setSelectedOption(id);\r\n cleanErrors();\r\n limparFiltros();\r\n };\r\n const handleTypeBeneficiario = (type) => {\r\n setTypeBeneficiary(type);\r\n };\r\n\r\n const handleBeneficiaryBirthday = useCallback((data) => {\r\n if (data.target) return;\r\n setBeneficiaryBirthday(data);\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n Tipo Consulta\r\n \r\n \r\n \r\n {selectedFilter}\r\n \r\n {selectedOption === 0 && (\r\n \r\n {\r\n handleModality(e);\r\n }}\r\n value={inputModality}\r\n errorMessage={errorMessages.modality}\r\n error={errorMessages.modality}\r\n />\r\n\r\n {\r\n handleTerm(e);\r\n }}\r\n value={term}\r\n errorMessage={errorMessages.term}\r\n error={errorMessages.term}\r\n />\r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n type=\"text\"\r\n />\r\n \r\n )}\r\n {selectedOption === 1 && (\r\n \r\n \r\n {\r\n handleCodeCard(e);\r\n }}\r\n type=\"number\"\r\n errorMessage={errorMessages.codeCard}\r\n error={errorMessages.codeCard}\r\n />\r\n \r\n )}\r\n {selectedOption === 2 && (\r\n \r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n value={beneficiaryName}\r\n errorMessage={errorMessages.beneficiaryName}\r\n error={errorMessages.beneficiaryName}\r\n />\r\n \r\n {typeBeneficiary || 'Titular'}\r\n \r\n \r\n )}\r\n {selectedOption === 3 && (\r\n \r\n {\r\n handleBeneficiaryName(e);\r\n }}\r\n value={beneficiaryName}\r\n type=\"text\"\r\n errorMessage={errorMessages.beneficiaryName}\r\n error={errorMessages.beneficiaryName}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {selectedOption === 4 && (\r\n \r\n {\r\n handleCpf(e);\r\n }}\r\n errorMessage={errorMessages.cpf}\r\n error={errorMessages.cpf}\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n pesquisar\r\n \r\n \r\n limpar\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FilterExtendsBeneficiarios;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import {\r\n Pagination,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport React, { useState } from 'react';\r\nimport { MdOutlineManageSearch } from 'react-icons/md';\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport {\r\n ContainerEmptyContent,\r\n ContainerTabContent,\r\n HoverActions,\r\n} from './styles';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport history from '../../../services/history';\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\n\r\nconst headers = [\r\n {\r\n name: 'Contratante',\r\n },\r\n {\r\n name: 'Nome Beneficiário',\r\n },\r\n {\r\n name: 'Grau Parentesco',\r\n },\r\n {\r\n name: 'Modalidade',\r\n },\r\n {\r\n name: 'Termo',\r\n },\r\n {\r\n name: 'Código Beneficiário',\r\n },\r\n {\r\n name: 'Cartão',\r\n },\r\n {\r\n name: 'Data de Nascimento',\r\n },\r\n {\r\n name: 'Data de Exclusão',\r\n },\r\n { name: '' },\r\n];\r\n\r\nfunction TabTableBeneficiarios({\r\n setPaginationParams,\r\n paginationParams,\r\n handleChangePage,\r\n}) {\r\n const { getBeneficiariesNestle } = useSelector((state) => state.beneficiario);\r\n\r\n function handleRender() {\r\n if (getBeneficiariesNestle.loading) {\r\n return ;\r\n }\r\n if (\r\n getBeneficiariesNestle.response.data &&\r\n getBeneficiariesNestle.response.data.length > 0\r\n ) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (\r\n getBeneficiariesNestle.success &&\r\n getBeneficiariesNestle.response.data.length === 0\r\n ) {\r\n return ;\r\n }\r\n return null;\r\n }\r\n\r\n return handleRender();\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst TableLista = ({\r\n listas,\r\n listNameHeaders,\r\n setPaginationParams,\r\n paginationParams,\r\n handleDownloadFile,\r\n tabName,\r\n handleDropdownItem,\r\n handleChangePage,\r\n}) => {\r\n const [listaRowsChecked, setListaRowsChecked] = useState([]);\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n {listas.data.map((lista) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n {listas.totalCount > 10 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst TableContent = ({ lista }) => {\r\n const [hoverAction, setHoverAction] = useState(false);\r\n\r\n function handleMouseEnterHover(e) {\r\n setHoverAction(!hoverAction);\r\n }\r\n function handleMouseLeaveHover(e) {\r\n if (hoverAction) setHoverAction(!hoverAction);\r\n }\r\n\r\n const formatDate = (date) => {\r\n const dataFormated = date\r\n ? format(new Date(date), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '';\r\n return dataFormated;\r\n };\r\n\r\n const formatDegreeOfKinship = (degreeOfKinship) => {\r\n const replacements = {\r\n '5 - FilhoUniversitario': '5 - Filho\\nUniversitario',\r\n '88 - FilhoTutelaCURAT': '88 - Filho\\nTutela Curatela',\r\n '17 - OutrosDependentes': '17 - Outros\\nDependentes',\r\n '20 - FilhoAdotivoUniv': '20 - Filho\\nAdotivo Univ',\r\n '89 - FilhoTutelaUNIV': '89 - Filho\\nTutela Univ',\r\n };\r\n\r\n return replacements[degreeOfKinship] || degreeOfKinship;\r\n };\r\n\r\n return (\r\n \r\n {`${lista.contractorCode} - ${lista.contractorName}`}\r\n {lista.beneficiaryName}\r\n \r\n {formatDegreeOfKinship(lista.degreeOfKinship)}\r\n \r\n {lista.modality}\r\n {lista.term}\r\n {lista.codeTotvs}\r\n {lista.codeCard}\r\n {formatDate(lista.beneficiaryBirthday)}\r\n \r\n {formatDate(lista.beneficiaryExcludeDate)}\r\n \r\n \r\n \r\n \r\n \r\n history.push(`/novo/beneficiarios-nestle/${lista.codeCard}`)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n console.log(lista.codeCard)}>\r\n \r\n \r\n \r\n */}\r\n \r\n );\r\n};\r\n\r\nconst EmptyContent = () => (\r\n \r\n Nenhum registro localizado\r\n \r\n);\r\n\r\n/* const TableListaActions = ({ handleDownloadFile }) => {\r\n return (\r\n \r\n handleDownloadFile('termo_responsabilidade')}\r\n >\r\n \r\n \r\n \r\n \r\n handleDownloadFile('massa_inicial')}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}; */\r\n\r\nexport default TabTableBeneficiarios;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n\r\n form {\r\n width: 100%;\r\n }\r\n`;\r\n","import { Form } from '@rocketseat/unform';\r\nimport React, { useState } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport * as Yup from 'yup';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport history from '../../services/history';\r\n\r\nimport FilterExtendsBeneficiarios from '../../components/organisms/FilterExtendsBeneficiarios';\r\nimport TabTableBeneficiarios from '../../components/organisms/TabTableBeneficiarios';\r\nimport { Creators as BeneficiaryActions } from '../../store/ducks/beneficiario';\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nconst ConsultaBeneficiariosNestle = () => {\r\n const dispatch = useDispatch();\r\n const filterExtendsParams = {\r\n query_type: 0,\r\n page: 1,\r\n count_per_page: 10,\r\n modality: 0,\r\n term: 0,\r\n beneficiary_wallet_number: 0,\r\n beneficiary_name: '',\r\n beneficiary_birthday: null,\r\n beneficiary_document_number: null,\r\n only_dependents: false,\r\n };\r\n const paginationDefaultParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationDefaultParams\r\n );\r\n const [formErrors, setFormErrors] = useState({\r\n modality: '',\r\n cpf: '',\r\n term: '',\r\n beneficiaryName: '',\r\n codeCard: '',\r\n });\r\n const TYPE_FORMS = {\r\n 'Modalidade + Termo + Nome': 1,\r\n 'Codigo do Cartao': 2,\r\n 'Nome + Tipo Beneficiario': 3,\r\n 'Nome + Data Nascimento': 4,\r\n CPF: 5,\r\n };\r\n const cleanErrors = () => {\r\n setFormErrors({\r\n modality: '',\r\n cpf: '',\r\n term: '',\r\n beneficiaryName: '',\r\n codeCard: '',\r\n });\r\n };\r\n function handleData(data) {\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n const typeForm = TYPE_FORMS[data.typeForm];\r\n draft.query_type = typeForm;\r\n draft.page = 0;\r\n\r\n switch (typeForm) {\r\n case 1:\r\n draft.modality = data.modality;\r\n draft.term = data.term;\r\n draft.beneficiary_name = data.beneficiaryName;\r\n break;\r\n case 2:\r\n draft.beneficiary_wallet_number = Number(data.codeCard);\r\n break;\r\n case 3:\r\n draft.beneficiary_name = data.beneficiaryName;\r\n draft.only_dependents = data.typeBeneficiary === 'Dependente';\r\n break;\r\n case 4:\r\n draft.beneficiary_name = data.beneficiaryName;\r\n draft.beneficiary_birthday = format(\r\n data.beneficiaryBirthday,\r\n 'MM-dd-yyyy 00:00:00'\r\n );\r\n break;\r\n case 5:\r\n draft.beneficiary_document_number = data.cpf.replace(/[^\\d]/g, '');\r\n break;\r\n default:\r\n throw new Error('Tipo de formulario inválido.');\r\n }\r\n });\r\n\r\n setFilterParams(newFilterParams);\r\n return newFilterParams;\r\n }\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.count_per_page = paramsPag.pageSize;\r\n });\r\n\r\n dispatch(\r\n BeneficiaryActions.postDataBeneficiariesNestleRequest(newFilterParams)\r\n );\r\n };\r\n\r\n const handleSubmit = async (data) => {\r\n const typeForm = TYPE_FORMS[data.typeForm];\r\n let validationSchema;\r\n switch (typeForm) {\r\n case 1:\r\n validationSchema = Yup.object().shape({\r\n modality: Yup.string().required('Campo Obrigatório'),\r\n term: Yup.string().required('Campo Obrigatório'),\r\n });\r\n break;\r\n case 2:\r\n validationSchema = Yup.object().shape({\r\n codeCard: Yup.string()\r\n .min(13, 'O Cod. Cartão deve conter 13 dígitos')\r\n .max(13, 'O Cod. Cartão deve conter 13 dígitos')\r\n .required('O Cod. Cartão é Obrigatório'),\r\n });\r\n break;\r\n case 3:\r\n validationSchema = Yup.object().shape({\r\n beneficiaryName: Yup.string().required(\r\n 'O Nome do beneficiário é Obrigatório'\r\n ),\r\n });\r\n break;\r\n case 4:\r\n validationSchema = Yup.object().shape({\r\n beneficiaryName: Yup.string().required(\r\n 'O Nome do beneficiário é Obrigatório'\r\n ),\r\n beneficiaryBirthday: Yup.string().required('Obrigatório'),\r\n });\r\n break;\r\n case 5:\r\n validationSchema = Yup.object().shape({\r\n cpf: Yup.string()\r\n .min(11, 'O CPF deve ter no mínimo 11 dígitos')\r\n .max(11, 'O CPF deve ter no máximo 11 dígitos')\r\n .required('O CPF é Obrigatório'),\r\n });\r\n break;\r\n default:\r\n throw new Error('Invalid form type');\r\n }\r\n\r\n try {\r\n await validationSchema.validate(data, {\r\n abortEarly: false,\r\n });\r\n setFormErrors({});\r\n\r\n const params = handleData(data);\r\n dispatch(BeneficiaryActions.postDataBeneficiariesNestleRequest(params));\r\n setPaginationParams(paginationDefaultParams);\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n setFormErrors(errorMessages);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/beneficiarios-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ConsultaBeneficiariosNestle;\r\n","import { Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport function InfoDisplayItem({ title, content }) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Text,\r\n Title,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { format } from 'date-fns';\r\nimport { MdOutlineManageSearch } from 'react-icons/md';\r\nimport history from '../../../services/history';\r\nimport theme from '../../../styles/theme';\r\nimport { InfoDisplayItem } from '../../atoms/InfoDisplayItem';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { CardPersonalInformation, HoverActions } from './styles';\r\n\r\nfunction DadoBeneficiarios({ loading, success, data }) {\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (success && data.length > 0) {\r\n return ;\r\n }\r\n\r\n if (success && data.length === 0) {\r\n return ;\r\n }\r\n\r\n return null;\r\n}\r\nfunction InfoBeneficiary({ data }) {\r\n const otherDataSerialized = JSON.parse(data.otherDataSerialized);\r\n const dependentsSerialized = data.hasDependents\r\n ? { dependents: JSON.parse(data.dependentsSerialized) }\r\n : '';\r\n\r\n const beneficiary = {\r\n ...data,\r\n ...otherDataSerialized,\r\n ...dependentsSerialized,\r\n };\r\n\r\n const sexo = {\r\n M: 'Masculino',\r\n F: 'Feminino',\r\n };\r\n const formatDate = (date) => {\r\n const dataFormated = date\r\n ? format(new Date(date), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '';\r\n return dataFormated;\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n }\r\n >\r\n {\r\n beneficiary.hasDependents &&\r\n beneficiary.dependents.length >= 1 &&\r\n beneficiary.dependents.filter(\r\n (dependents) => !dependents.dtExclusaoPlano\r\n ).length >= 1 &&\r\n beneficiary.dependents\r\n .filter((dependents) => !dependents.dtExclusaoPlano)\r\n .map((dependent) => {\r\n return (\r\n \r\n {dependent.nmUsuario}\r\n {dependent.tpUsuarioDesc}\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/beneficiarios-nestle/0970${dependent.cdCarteiraUsuario}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }) /* : (\r\n \r\n \r\n {beneficiary.holderBeneficiaryName}\r\n \r\n 1 - Titular\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/beneficiarios-nestle/${beneficiary.codeCardHolder}`\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) */\r\n }\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\nexport default DadoBeneficiarios;\r\n","import styled from 'styled-components';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport DadoBeneficiarios from '../../components/organisms/DadosBeneficiarios';\r\nimport history from '../../services/history';\r\nimport { Creators as BeneficiaryActions } from '../../store/ducks/beneficiario';\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nconst DetalheBeneficiariosNestle = ({ match }) => {\r\n const dispatch = useDispatch();\r\n const { codigoCartao } = match.params;\r\n const { loading, success, response } = useSelector(\r\n (state) => state.beneficiario.getBeneficiariesNestle\r\n );\r\n const filterParams = {\r\n query_type: 2,\r\n page: 0,\r\n count_per_page: 10,\r\n modality: 0,\r\n term: 0,\r\n beneficiary_wallet_number: codigoCartao.replace('0970', ''),\r\n beneficiary_name: '',\r\n beneficiary_birthday: null,\r\n beneficiary_document_number: null,\r\n only_dependents: false,\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(\r\n BeneficiaryActions.postDataBeneficiariesNestleRequest(filterParams)\r\n );\r\n }, [codigoCartao]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/beneficiarios-nestle'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DetalheBeneficiariosNestle;\r\n","import React, { useState } from 'react';\r\nimport { useField } from '@unform/core';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport {\r\n Card,\r\n Button,\r\n TextArea,\r\n Dropdown,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../../services/history';\r\n\r\nfunction FormEditParametro({ parametro, onBlurValidateInputs }) {\r\n const { loading } = useSelector((state) => state.parametro);\r\n\r\n const [statusParametrizacao, setStatusParemetrizacao] = useState(\r\n parametro.ativo ? 'ativo' : 'inativo'\r\n );\r\n const [valueParametrizacao, setValueParametrizacao] = useState(\r\n parametro.valueParametrizacao\r\n );\r\n const [descricaoParametrizacao, setDescricaoParametrizacao] = useState(\r\n parametro.descricao\r\n );\r\n\r\n const optionsAtividade = [\r\n { text: 'ativo', onClickOption: () => setStatusParemetrizacao('ativo') },\r\n {\r\n text: 'inativo',\r\n onClickOption: () => setStatusParemetrizacao('inativo'),\r\n },\r\n ];\r\n\r\n const onBlurValidation = ({ target }) => {\r\n const data = {\r\n valueParametrizacao,\r\n ativo: statusParametrizacao === 'ativo',\r\n descricao: descricaoParametrizacao,\r\n };\r\n onBlurValidateInputs({\r\n ...data,\r\n [target.name]: target.value,\r\n });\r\n };\r\n // #region registrar campos unform\r\n const {\r\n registerField: registerFieldValueParametrizacao,\r\n error: errorValueParametrizacao,\r\n } = useField('valueParametrizacao');\r\n const { registerField: registerFieldStatusParametrizacao } = useField(\r\n 'ativo'\r\n );\r\n const {\r\n registerField: registerFieldDescricaoParametrizacao,\r\n error: errorDescricaoParametrizacao,\r\n } = useField('descricao');\r\n // #endregion\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n setValueParametrizacao(target.value)}\r\n width={640}\r\n register={registerFieldValueParametrizacao}\r\n error={!!errorValueParametrizacao}\r\n errorMessage={errorValueParametrizacao}\r\n onBlur={onBlurValidation}\r\n />\r\n \r\n {statusParametrizacao}\r\n \r\n setDescricaoParametrizacao(target.value)}\r\n error={!!errorDescricaoParametrizacao}\r\n errorMessage={errorDescricaoParametrizacao}\r\n onBlur={onBlurValidation}\r\n />\r\n \r\n \r\n \r\n history.push('/novo/parametros')}\r\n tipo=\"tertiary\"\r\n width={121}\r\n >\r\n cancelar\r\n \r\n \r\n atualizar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormEditParametro;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useRef } from 'react';\r\nimport { Form } from '@unform/web';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Title, Breadcrumbs, WrapperFlex } from '@unimed-fesp/components';\r\nimport * as Yup from 'yup';\r\n\r\nimport { Creators as ParametroActions } from '../../store/ducks/parametro';\r\nimport FormEditParametro from '../../components/organisms/FormEditParametro';\r\nimport history from '../../services/history';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst EditParametros = ({ match }) => {\r\n const formRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const { state } = useLocation();\r\n\r\n if (!state || !state?.parametro) {\r\n history.push('/novo/parametros');\r\n return <>;\r\n }\r\n\r\n const { parametro } = state;\r\n const { nomeParametrizacao } = match.params;\r\n const schema = Yup.object().shape({\r\n ativo: Yup.boolean().required('O status do parametro é obrigatório'),\r\n descricao: Yup.string().required('A descrição do parametro é obrigatório'),\r\n valueParametrizacao: Yup.string().required(\r\n 'O value do parametro é obrigatório'\r\n ),\r\n });\r\n\r\n async function handleSubmit(data) {\r\n const bodyRequest = {\r\n ...data,\r\n ativo: data.ativo === 'ativo',\r\n };\r\n\r\n const isValid = await validateData(bodyRequest);\r\n\r\n if (isValid)\r\n dispatch(\r\n ParametroActions.patchParametroRequest(\r\n parametro.idParametrizacao,\r\n bodyRequest\r\n )\r\n );\r\n }\r\n\r\n async function validateData(data) {\r\n try {\r\n const bodyRequest = {\r\n ...data,\r\n ativo: data.ativo === 'ativo',\r\n };\r\n\r\n await schema.validate(bodyRequest, {\r\n abortEarly: false,\r\n });\r\n formRef.current.setErrors({});\r\n return true;\r\n } catch (err) {\r\n const validationErrors = {};\r\n if (err instanceof Yup.ValidationError) {\r\n err.inner.forEach((error) => {\r\n validationErrors[error.path] = error.message;\r\n });\r\n formRef.current.setErrors(validationErrors);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/parametros'),\r\n },\r\n {\r\n path: nomeParametrizacao,\r\n onNavigate: () =>\r\n history.push(`/novo/parametros/editar/${nomeParametrizacao}`),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default EditParametros;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useState } from 'react';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\nimport {\r\n Button,\r\n Dropdown,\r\n TextArea,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { useField } from '@rocketseat/unform';\r\nimport history from '../../services/history';\r\n\r\nconst FormListaInativos = ({ lista }) => {\r\n const { registerField: registerModalidades } = useField('modalidade');\r\n const { registerField: registerDescricao } = useField('descricao');\r\n\r\n const [selectedTipo, setSelectedTipo] = useState('');\r\n\r\n const optionsTipoModalidade = [\r\n {\r\n onClickOption: () => handleSelectedTipo('36 - Demitidos'),\r\n text: '36 - Demitidos',\r\n },\r\n {\r\n onClickOption: () => handleSelectedTipo('38 - Aposentados'),\r\n text: '38 - Aposentados',\r\n },\r\n ];\r\n\r\n function handleSelectedTipo(texto) {\r\n setSelectedTipo(texto);\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n Inativos\r\n \r\n \r\n {selectedTipo || 'Selecione a Modalidade'}\r\n \r\n \r\n \r\n history.push('/novo/lista')}\r\n >\r\n cancelar\r\n \r\n \r\n \r\n salvar\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FormListaInativos;\r\n","import React, { useEffect } from 'react';\r\nimport { Form } from '@rocketseat/unform';\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport LoadingSpinning from '../../components/molecules/LoadingSpinning';\r\nimport FormListaInativos from './FormListaInativos';\r\n\r\nfunction ListaInativo() {\r\n const { idLista } = useParams();\r\n\r\n const {\r\n loading,\r\n success,\r\n details,\r\n response: { listaInativos },\r\n } = useSelector((state) => state.lista);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n }, [dispatch, idLista]);\r\n\r\n useEffect(() => {\r\n const HAS_MODALIDADE = !!listaInativos?.nrCodigoModalidade;\r\n\r\n if (HAS_MODALIDADE || (!loading && success && details))\r\n history.push(`/novo/listainativo/${idLista}/detalhe`);\r\n }, [details, idLista, listaInativos?.nrCodigoModalidade, loading, success]);\r\n\r\n function handleSubmit(data) {\r\n const request = {\r\n idLista: listaInativos?.nmLista,\r\n modalidade: data.modalidade,\r\n descricao: data.descricao,\r\n };\r\n dispatch(ListaActions.putListaInativasRequest(request));\r\n }\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ListaInativo;\r\n","import React from 'react';\r\n\r\nimport { Text, Card, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalidadeEnum from '../../../enums/ModalidadeEnum';\r\nimport StatusListaAPIEnum from '../../../enums/StatusListaAPIEnum';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction DadosLista({ lista }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DadosLista;\r\n","import React from 'react';\r\n\r\nimport { Button, WrapperFlex } from '@unimed-fesp/components';\r\n\r\n// #region Import Icons\r\nimport { MdSend, MdDelete, MdDone, MdErrorOutline } from 'react-icons/md';\r\nimport { BiListCheck } from 'react-icons/bi';\r\nimport { ImFloppyDisk } from 'react-icons/im';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst FooterListaInativosAcoes = ({\r\n excluir,\r\n salvar,\r\n enviarDocumentos,\r\n erroProcessamento,\r\n processadaSucesso,\r\n conferirDocumentos,\r\n enviarProcessamento,\r\n enviarRevisaoDocumentos,\r\n disabledButtons,\r\n}) => {\r\n return (\r\n \r\n {(excluir?.isRender || false) && (\r\n \r\n \r\n excluir\r\n \r\n )}\r\n \r\n {(enviarProcessamento?.isRender || false) && (\r\n \r\n \r\n enviar para processamento\r\n \r\n )}\r\n {(enviarRevisaoDocumentos?.isRender || false) && (\r\n \r\n \r\n enviar revisão de documentos\r\n \r\n )}\r\n {(conferirDocumentos?.isRender || false) && (\r\n \r\n \r\n conferir documentos\r\n \r\n )}\r\n {(erroProcessamento?.isRender || false) && (\r\n \r\n \r\n erro de processamento\r\n \r\n )}\r\n {(processadaSucesso?.isRender || false) && (\r\n \r\n \r\n processada c/ sucesso\r\n \r\n )}\r\n\r\n {(enviarDocumentos?.isRender || false) && (\r\n \r\n \r\n enviar documentos\r\n \r\n )}\r\n {(salvar?.isRender || false) && (\r\n \r\n \r\n salvar\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FooterListaInativosAcoes;\r\n","export default {\r\n returnFormatName: {\r\n ContratanteModalidadeTermo: 'Contratante + Modalidade + Termo',\r\n ContratanteCodigoUnimedCartao: 'Contratante + Cod. da Unimed + Cartao',\r\n ContratanteNomeTipoBeneficiario: 'Contratante + Nome + Tipo Beneficiário',\r\n ContratanteNomeDataNascimento: 'Contratante + Nome + Data Nascimento',\r\n },\r\n returnPropName: {\r\n ContratanteModalidadeTermo: 'ContratanteModalidadeTermo',\r\n ContratanteCodigoUnimedCartao: 'ContratanteCodigoUnimedCartao',\r\n ContratanteNomeTipoBeneficiario: 'ContratanteNomeTipoBeneficiario',\r\n ContratanteNomeDataNascimento: 'ContratanteNomeDataNascimento',\r\n },\r\n returnPropId: {\r\n ContratanteModalidadeTermo: 1,\r\n ContratanteCodigoUnimedCartao: 2,\r\n ContratanteNomeTipoBeneficiario: 3,\r\n ContratanteNomeDataNascimento: 4,\r\n },\r\n};\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nexport const Container = styled.div`\r\n //display: flex;\r\n margin-top: 10px !important;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n margin-left: -5px;\r\n\r\n > label {\r\n margin-bottom: 0px;\r\n }\r\n`;\r\n\r\nexport const FootlineContainer = styled.div`\r\n display: flex;\r\n padding-left: 5%;\r\n margin-top: 10px !important;\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n padding-top: 3%;\r\n padding-left: 5px;\r\n display: 'none';\r\n`;\r\n\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import React, { useState, useCallback } from 'react';\r\nimport { useField } from '@rocketseat/unform';\r\nimport { useSelector } from 'react-redux';\r\nimport { GoSearch } from 'react-icons/go';\r\n\r\nimport {\r\n Text,\r\n Button,\r\n Dropdown,\r\n TextField,\r\n ComboModalidadeTermo,\r\n} from '@unimed-fesp/components';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../molecules/DatePicker';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { InlineContainer, ContButton, LabelDate } from './styles';\r\n\r\nfunction FormPesquisaBeneficiario({\r\n formParams,\r\n setFormParams,\r\n handlePesquisar,\r\n desabilitarBtnPesquisar = false,\r\n resetarPagination,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoConsulta = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteModalidadeTermo,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteCodigoUnimedCartao,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeTipoBeneficiario,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeDataNascimento,\r\n },\r\n ];\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n TipoPesquisaEnum.returnFormatName[\r\n formParams?.tipoConsulta || 'ContratanteModalidadeTermo'\r\n ]\r\n }\r\n \r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n \r\n \r\n handleChangeKeyValue('dataNascimento', e)}\r\n />\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n \r\n Titular\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo && (\r\n // Contratante + Modalidade + Termo\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={shapeModalidades(modalidades)}\r\n margin={11}\r\n />\r\n )}\r\n\r\n \r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormPesquisaBeneficiario;\r\n","import React from 'react';\r\nimport format from 'date-fns/format';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n TableRow,\r\n Checkbox,\r\n TableCell,\r\n Pagination,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport LoadingSpinning from '../../molecules/LoadingSpinning';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableBeneficiarioBody = ({\r\n selectedBeneficiario,\r\n handleCheckBeneficiario,\r\n\r\n handleChangePage,\r\n paginationParams,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) => {\r\n const { data: beneficiarios, loading, total } = useSelector(\r\n (state) => state.lista.postPesquisaBeneficiario\r\n );\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n if (beneficiarios.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n {beneficiarios.map((beneficiario) => (\r\n {\r\n if (beneficiario?.cpf === selectedBeneficiario?.cpf)\r\n handleCheckBeneficiario(null);\r\n else handleCheckBeneficiario(beneficiario);\r\n }}\r\n isClickable\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {beneficiario.nome ? beneficiario.nome : '-'}\r\n \r\n {beneficiario.cpf\r\n ? beneficiario?.cpf.replace(\r\n /(\\d{3})(\\d{3})(\\d{3})(\\d{2})/,\r\n '$1.$2.$3-$4'\r\n )\r\n : '-'}\r\n \r\n \r\n {beneficiario.codigo ? beneficiario.codigo : '-'}\r\n \r\n \r\n {`${\r\n beneficiario.codigoUnimed\r\n ? beneficiario.codigoUnimed.padStart(4, '0')\r\n : '-'\r\n } ${\r\n beneficiario.carteira\r\n ? beneficiario.carteira.padStart(13, '0')\r\n : '-'\r\n }`}\r\n \r\n \r\n {beneficiario.nascimento\r\n ? format(new Date(beneficiario.nascimento), 'dd/MM/yyyy', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBeneficiarioBody;\r\n","import React from 'react';\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableBeneficiarioHeader = () => {\r\n return (\r\n \r\n \r\n \r\n Nome\r\n \r\n \r\n CPF\r\n \r\n \r\n Código\r\n \r\n \r\n Carteira\r\n \r\n \r\n Dt. Nascimento\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBeneficiarioHeader;\r\n","import React from 'react';\r\nimport { Table, ScrollBar } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport TableBeneficiarioBody from './TableBeneficiarioBody';\r\nimport TableBeneficiarioHeader from './TableBeneficiarioHeader';\r\n\r\nfunction TabelaPesquisaBeneficiario({\r\n selectedBeneficiario,\r\n handleCheckBeneficiario,\r\n\r\n paginationParams,\r\n handleChangePage,\r\n setPaginationParams,\r\n handlePageChangeKeyDown,\r\n}) {\r\n return (\r\n \r\n \r\n }>\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default TabelaPesquisaBeneficiario;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalFooter = ({\r\n onCloseModal,\r\n handleAdicionarModal,\r\n isDisabledBtnAdicionar,\r\n}) => {\r\n return (\r\n <>\r\n onCloseModal(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onCloseModal(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n disabled={isDisabledBtnAdicionar}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nimport { ModalBodyContainer } from './styles';\r\n\r\nfunction ModalConsultaStructure({\r\n isOpen,\r\n BodyModal,\r\n titleModal,\r\n HeaderModal,\r\n onCloseModal,\r\n handleAdicionarModal,\r\n\r\n isDisabledBtnAdicionar,\r\n}) {\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalConsultaStructure;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\nimport { Creators as ModalidadeActions } from '../../../store/ducks/modalidade';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\nimport FormPesquisaBeneficiario from '../FormPesquisaBeneficiario';\r\nimport TabelaPesquisaBeneficiario from '../TablePesquisaBeneficiario';\r\n\r\nimport ModalConsultaStructure from '../../molecules/ModalConsultaStructure';\r\n\r\nfunction ModalPesquisaBeneficiario({ isOpen, onCloseModal }) {\r\n const dispatch = useDispatch();\r\n\r\n const { listaInativos } = useSelector((state) => state.lista.response);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const paginationInitialParams = useMemo(\r\n () => ({\r\n pageNumber: 1,\r\n pageSize: 10,\r\n }),\r\n []\r\n );\r\n\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n titular: 'Titular',\r\n\r\n modalidade: '',\r\n termo: '',\r\n cartao: '',\r\n codDaUnimed: '',\r\n nomeBenefTpBeneficiario: '',\r\n nomeBeneficiarioI: '',\r\n dataNascimento: '',\r\n }),\r\n []\r\n );\r\n\r\n const [selectedBeneficiario, setSelectedBeneficiario] = useState(null);\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInitialParams\r\n );\r\n\r\n const handlePesquisar = useCallback(() => {\r\n if (isOpen && formParams !== null) {\r\n // Executa request sempre que os parametros mudam ou a paginação muda\r\n const request = {\r\n ...paginationParams,\r\n ...formParams,\r\n idLista: listaInativos?.idLista,\r\n nmLista: listaInativos?.nmLista,\r\n codigoContratante: usuario.codigoContratante,\r\n };\r\n\r\n dispatch(ListaActions.getListaBeneficiarioRequest(request));\r\n }\r\n }, [\r\n dispatch,\r\n formParams,\r\n isOpen,\r\n listaInativos?.idLista,\r\n listaInativos?.nmLista,\r\n paginationParams,\r\n usuario.codigoContratante,\r\n ]);\r\n\r\n const handleAdicionarBeneficiario = useCallback(() => {\r\n const request = {\r\n idLista: listaInativos?.idLista,\r\n nmLista: listaInativos?.nmLista,\r\n beneficiario: {\r\n ...selectedBeneficiario,\r\n },\r\n filtro: {\r\n idLista: listaInativos?.idLista,\r\n ...formParams,\r\n },\r\n };\r\n dispatch(ListaActions.postSalvarBeneficiarioInativosRequest(request));\r\n }, [dispatch, formParams, listaInativos, selectedBeneficiario]);\r\n\r\n const handleChangePage = useCallback((paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n }, []);\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams]\r\n );\r\n\r\n useEffect(() => {\r\n if (isOpen === false) {\r\n setFormParams(formInitialParams);\r\n setPaginationParams(paginationInitialParams);\r\n setSelectedBeneficiario(null);\r\n dispatch(ListaActions.getListaBeneficiarioRenew());\r\n }\r\n }, [dispatch, formInitialParams, isOpen, paginationInitialParams]);\r\n\r\n useEffect(() => {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n })\r\n );\r\n }, [dispatch, usuario?.codigoContratante]);\r\n\r\n useEffect(() => {\r\n const pagination = JSON.stringify(paginationParams);\r\n const initialPagination = JSON.stringify(paginationInitialParams);\r\n\r\n if (pagination !== initialPagination) {\r\n handlePesquisar();\r\n }\r\n }, [isOpen, paginationInitialParams, paginationParams]);\r\n\r\n const desabilitarBtnPesquisar = useMemo(() => {\r\n const validacaoValues = {\r\n ContratanteModalidadeTermo:\r\n !!formParams?.modalidade && !!formParams?.termo,\r\n ContratanteCodigoUnimedCartao:\r\n !!formParams?.cartao && !!formParams?.codDaUnimed,\r\n ContratanteNomeTipoBeneficiario:\r\n !!formParams?.nomeBenefTpBeneficiario && !!formParams?.titular,\r\n ContratanteNomeDataNascimento:\r\n !!formParams?.nomeBeneficiarioI && !!formParams?.dataNascimento,\r\n };\r\n\r\n return !validacaoValues[formParams.tipoConsulta];\r\n }, [formParams]);\r\n\r\n return (\r\n consultar beneficiario}\r\n onCloseModal={onCloseModal}\r\n BodyModal={\r\n \r\n }\r\n HeaderModal={\r\n setPaginationParams(paginationInitialParams)}\r\n />\r\n }\r\n handleAdicionarModal={handleAdicionarBeneficiario}\r\n isDisabledBtnAdicionar={!selectedBeneficiario}\r\n />\r\n );\r\n}\r\n\r\nexport default ModalPesquisaBeneficiario;\r\n","import React, { useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n TableRow,\r\n Checkbox,\r\n TableCell,\r\n Pagination,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nimport Skeleton from '../../atoms/Skeleton';\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nimport TipoBeneficiarioEnum from '../../../enums/TipoBeneficiarioEnum';\r\n\r\nconst TableBodyBeneficiario = ({\r\n readOnly,\r\n paginationParams,\r\n setPaginationParams,\r\n loadingSalvarBeneficiario,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const lista = useSelector((state) => state.lista);\r\n const { listaGrupoFamiliar, listaInativos } = useSelector(\r\n (state) => state.lista.response\r\n );\r\n\r\n const checkBeneficiario = useCallback(\r\n (beneficiario) => {\r\n dispatch(\r\n ListaActions.checkBenefiarioInativos(beneficiario.idBeneficiario)\r\n );\r\n },\r\n [dispatch]\r\n );\r\n\r\n const handleChangePage = useCallback(\r\n (paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n },\r\n [setPaginationParams]\r\n );\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams, setPaginationParams]\r\n );\r\n\r\n // #region Loading\r\n if (loadingSalvarBeneficiario || lista.loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n // #endregion\r\n\r\n // #region EmptyContent\r\n if (!listaGrupoFamiliar || listaGrupoFamiliar.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n // #endregion\r\n\r\n const listaGrupoFamiliarPag = [...listaGrupoFamiliar].splice(\r\n (paginationParams.pageNumber - 1) * paginationParams.pageSize,\r\n paginationParams.pageSize\r\n );\r\n\r\n return (\r\n <>\r\n {listaGrupoFamiliarPag.map((beneficiario) => (\r\n {\r\n if (readOnly) return;\r\n\r\n if (\r\n beneficiario.grau ===\r\n TipoBeneficiarioEnum.returnNameForNameFormatted.Dependente\r\n ) {\r\n checkBeneficiario(beneficiario);\r\n }\r\n }}\r\n isClickable={\r\n readOnly\r\n ? false\r\n : beneficiario.grau ===\r\n TipoBeneficiarioEnum.returnNameForNameFormatted.Dependente\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {beneficiario.nome ? beneficiario.nome : '-'}\r\n \r\n \r\n {beneficiario.grau ? beneficiario.grau : '-'}\r\n \r\n \r\n {beneficiario.modalidadeEntrada\r\n ? beneficiario.modalidadeEntrada\r\n : '-'}\r\n \r\n \r\n {beneficiario.termo ? beneficiario.termo : '-'}\r\n \r\n \r\n {listaInativos?.nrCodigoModalidade}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableBodyBeneficiario;\r\n","import React from 'react';\r\nimport { TableRow, Text, TableHeader } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst TableHeaderBeneficiario = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderBeneficiario;\r\n","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\nimport TableBodyBeneficiario from './TableBodyBeneficiario';\r\nimport TableHeaderBeneficiario from './TableHeaderBeneficiario';\r\n\r\nfunction FormSelecionaBeneficiario({ readOnly }) {\r\n const paginationInicialParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n };\r\n\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInicialParams\r\n );\r\n\r\n const { loading: loadingSalvarBeneficiario } = useSelector(\r\n (state) => state.lista.postSalvarBeneficiarioInativos\r\n );\r\n\r\n return (\r\n <>\r\n \r\n }>\r\n \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default FormSelecionaBeneficiario;\r\n","import React, { useCallback } from 'react';\r\nimport format from 'date-fns/format';\r\nimport { TableRow, TableCell, Pagination } from '@unimed-fesp/components';\r\n\r\nimport EmptyContent from '../../molecules/EmptyContent';\r\n\r\nconst TableHistoricoHeader = ({\r\n paginationParams,\r\n historicoAlteracoes,\r\n setPaginationParams,\r\n}) => {\r\n const handleChangePage = useCallback(\r\n (paramsPgs) => {\r\n setPaginationParams({\r\n ...paramsPgs,\r\n });\r\n },\r\n [setPaginationParams]\r\n );\r\n\r\n const handlePageChangeKeyDown = useCallback(\r\n (e) => {\r\n if (e.keyCode === 13 && paginationParams.pageNumber !== '')\r\n setPaginationParams({\r\n ...paginationParams,\r\n });\r\n },\r\n [paginationParams, setPaginationParams]\r\n );\r\n\r\n if (historicoAlteracoes && historicoAlteracoes.length <= 0)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n const historicoAlteracoesPag = [...historicoAlteracoes].splice(\r\n (paginationParams.pageNumber - 1) * paginationParams.pageSize,\r\n paginationParams.pageSize\r\n );\r\n\r\n return (\r\n <>\r\n {historicoAlteracoesPag.map((alteracao) => (\r\n \r\n \r\n {alteracao.nome || '-'}\r\n \r\n \r\n {alteracao.descricao || '-'}\r\n \r\n \r\n {alteracao.statusDescricao || '-'}\r\n \r\n \r\n {alteracao.dtAlteracao\r\n ? format(new Date(alteracao.dtAlteracao), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableHistoricoHeader;\r\n","import React from 'react';\r\n\r\nimport { TableRow, TableHeader } from '@unimed-fesp/components';\r\n\r\nconst TableHistoricoHeader = () => (\r\n \r\n \r\n Usuário\r\n \r\n \r\n Ação\r\n \r\n \r\n Status da Lista\r\n \r\n \r\n Data\r\n \r\n \r\n);\r\n\r\nexport default TableHistoricoHeader;\r\n","import React, { useState } from 'react';\r\n\r\nimport { Table } from '@unimed-fesp/components';\r\n\r\nimport FadeIn from '../../atoms/FadeIn';\r\n\r\nimport TableHistoricoBody from './TableHistoricoBody';\r\nimport TableHistoricoHeader from './TableHistoricoHeader';\r\n\r\nconst TableHistoricoAlteracoesLista = ({ historicoAlteracoes }) => {\r\n const paginationInicialParams = {\r\n pageNumber: 1,\r\n pageSize: 5,\r\n };\r\n\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInicialParams\r\n );\r\n return (\r\n \r\n }>\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TableHistoricoAlteracoesLista;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport themes from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 3% auto 0px;\r\n max-width: 1038px;\r\n width: 100%;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div`\r\n background-color: ${themes.bgWhite};\r\n padding: 30px;\r\n display: 'none';\r\n max-height: 350px;\r\n min-height: 450px;\r\n height: 350px;\r\n`;\r\nexport const ContButton = styled.div`\r\n padding-left: 87%;\r\n display: 'none';\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n`;\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { useEffect, useState, useCallback, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { AiOutlinePlus } from 'react-icons/ai';\r\nimport { HiOutlineDocumentText } from 'react-icons/hi';\r\nimport { useParams } from 'react-router-dom';\r\n\r\nimport {\r\n Tab,\r\n Title,\r\n Button,\r\n TabContent,\r\n WrapperFlex,\r\n Breadcrumbs,\r\n} from '@unimed-fesp/components';\r\n\r\nimport history from '../../services/history';\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\nimport { Creators as ListaInativosActions } from '../../store/ducks/listaInativos';\r\nimport { Creators as DocumentoActions } from '../../store/ducks/documento';\r\nimport { isAdmin } from '../../utils/userRole';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport DadosLista from '../../components/molecules/DadosLista';\r\nimport LoadingSpinning from '../../components/molecules/LoadingSpinning';\r\nimport FooterListaInativosAcoes from '../../components/molecules/FooterListaInativosAcoes';\r\nimport ModalPesquisaBeneficiario from '../../components/organisms/ModalPesquisaBeneficiario';\r\nimport FormSelecionaBeneficiario from '../../components/organisms/FormSelecionaBeneficiario';\r\nimport TableHistoricoAlteracoesLista from '../../components/organisms/TableHistoricoAlteracoesLista';\r\n// #endregion\r\n\r\nimport StatusListaAPIEnum from '../../enums/StatusListaAPIEnum';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../styles/theme';\r\n\r\nfunction ListaDetalheInativo() {\r\n const { idLista } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const {\r\n listaInativos,\r\n listaGrupoFamiliar,\r\n listaHistoricoInativos,\r\n } = useSelector((state) => state.lista.response);\r\n const { loading } = useSelector((state) => state.lista);\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { success: successSalvarBeneficiario } = useSelector(\r\n (state) => state.lista.postSalvarBeneficiarioInativos\r\n );\r\n const { success: successAtualizarStatusLista } = useSelector(\r\n (state) => state.listaInativos.putListaInativosAtualizarStatus\r\n );\r\n\r\n // #region Condições\r\n const IS_ADM = isAdmin(usuario.role) || false;\r\n const LISTA_SEM_DOCUMENTOS =\r\n listaInativos?.documentosEnviados && !listaInativos?.hasDocumentos;\r\n\r\n const LISTA_COM_DOCUMENTOS = listaInativos?.hasDocumentos;\r\n\r\n const DOCUMENTOS_OBRIGATORIOS_ENVIADOS = listaInativos?.documentosEnviados;\r\n\r\n const LISTA_TEM_GRUPO_FAMILIAR =\r\n listaGrupoFamiliar && listaGrupoFamiliar.length > 0;\r\n\r\n const DOCUMENTOS_VALIDADOS = listaInativos?.documentosValidados;\r\n\r\n // #region status\r\n const EM_ANALISE_DOCUMENTACAO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.EmAnalisedeDocumentacao;\r\n\r\n const AGUARDANDO_DOCUMENTOS =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.AguardandoDocumentos;\r\n\r\n const PENDENTE_DE_PROCESSAMENTO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.PendenteProcessamento;\r\n\r\n const PENDENTE_DE_ENVIO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.PendentedeEnvio;\r\n\r\n const ERRO_DE_PROCESSAMENTO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento;\r\n\r\n const PROCESSADA_COM_SUCESSO =\r\n listaInativos?.idStatusLista ===\r\n StatusListaAPIEnum.returnId.ProcessadoSucesso;\r\n\r\n const EXCLUIDA =\r\n listaInativos?.idStatusLista === StatusListaAPIEnum.returnId.Excluida;\r\n // #endregion\r\n // #endregion\r\n\r\n const tabs = [\r\n {\r\n children: <>beneficiários,\r\n color: '#00995D',\r\n name: 'beneficiarios',\r\n },\r\n {\r\n children: <>histórico,\r\n color: '#00995D',\r\n name: 'historico',\r\n },\r\n ];\r\n\r\n const [isModalBeneficiariosOpen, setIsModalBeneficiariosOpen] = useState(\r\n false\r\n );\r\n const [disabledButtons, setDisabledButtons] = useState(true);\r\n\r\n const toggleModalConsultaBeneficiarios = useCallback(() => {\r\n setIsModalBeneficiariosOpen((oldValue) => !oldValue);\r\n }, []);\r\n\r\n const handleSalvarBeneficiarios = useCallback(() => {\r\n dispatch(\r\n ListaActions.postFamiliarRequest(\r\n listaInativos?.idLista,\r\n listaGrupoFamiliar\r\n )\r\n );\r\n }, [dispatch, listaGrupoFamiliar, listaInativos?.idLista]);\r\n\r\n const handleAlterarStatusLista = useCallback(\r\n (idStatus) => {\r\n dispatch(\r\n ListaInativosActions.putListaInativosAtualizarStatusRequest(\r\n idLista,\r\n idStatus\r\n )\r\n );\r\n },\r\n [dispatch, idLista]\r\n );\r\n\r\n const handleEnviarRevisaoDocumentos = useCallback(() => {\r\n dispatch(\r\n DocumentoActions.postFinalizarConferenciaDocumentosRequest(\r\n idLista,\r\n () => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n setDisabledButtons(false);\r\n }\r\n )\r\n );\r\n }, [dispatch, idLista]);\r\n\r\n useEffect(() => {\r\n dispatch(ListaActions.getListaInativasRequest(idLista));\r\n setDisabledButtons(false);\r\n }, [\r\n dispatch,\r\n idLista,\r\n successSalvarBeneficiario,\r\n successAtualizarStatusLista,\r\n ]);\r\n\r\n const botoes = useMemo(() => {\r\n const excluir = {\r\n isRender:\r\n !PROCESSADA_COM_SUCESSO &&\r\n !EXCLUIDA &&\r\n (IS_ADM || !PENDENTE_DE_PROCESSAMENTO),\r\n onClick: () => {\r\n handleAlterarStatusLista(StatusListaAPIEnum.returnId.Excluida);\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const salvar = {\r\n isRender: false,\r\n onClick: () => {\r\n handleSalvarBeneficiarios();\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const erroProcessamento = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.ErrodeProcessamento\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const processadaSucesso = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(StatusListaAPIEnum.returnId.ProcessadoSucesso);\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const conferirDocumentos = {\r\n isRender:\r\n IS_ADM &&\r\n LISTA_COM_DOCUMENTOS &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n !DOCUMENTOS_VALIDADOS &&\r\n PENDENTE_DE_PROCESSAMENTO,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.EmAnalisedeDocumentacao\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const enviarRevisaoDocumentos = {\r\n isRender:\r\n IS_ADM &&\r\n LISTA_COM_DOCUMENTOS &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n EM_ANALISE_DOCUMENTACAO,\r\n onClick: () => {\r\n handleEnviarRevisaoDocumentos();\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n const enviarProcessamento = {\r\n isRender: false,\r\n onClick: () => {\r\n handleAlterarStatusLista(\r\n StatusListaAPIEnum.returnId.PendenteProcessamento\r\n );\r\n setDisabledButtons(true);\r\n },\r\n };\r\n\r\n if (LISTA_SEM_DOCUMENTOS) {\r\n enviarProcessamento.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO);\r\n\r\n processadaSucesso.isRender = IS_ADM && PENDENTE_DE_PROCESSAMENTO;\r\n\r\n erroProcessamento.isRender = IS_ADM && PENDENTE_DE_PROCESSAMENTO;\r\n\r\n salvar.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO);\r\n } else {\r\n enviarProcessamento.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (DOCUMENTOS_OBRIGATORIOS_ENVIADOS || DOCUMENTOS_VALIDADOS) &&\r\n (AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO);\r\n\r\n processadaSucesso.isRender =\r\n IS_ADM && PENDENTE_DE_PROCESSAMENTO && DOCUMENTOS_VALIDADOS;\r\n\r\n erroProcessamento.isRender =\r\n IS_ADM && PENDENTE_DE_PROCESSAMENTO && DOCUMENTOS_VALIDADOS;\r\n\r\n salvar.isRender =\r\n !IS_ADM &&\r\n LISTA_TEM_GRUPO_FAMILIAR &&\r\n (AGUARDANDO_DOCUMENTOS || ERRO_DE_PROCESSAMENTO);\r\n }\r\n\r\n return {\r\n excluir,\r\n salvar,\r\n erroProcessamento,\r\n processadaSucesso,\r\n conferirDocumentos,\r\n enviarProcessamento,\r\n enviarRevisaoDocumentos,\r\n };\r\n }, [\r\n PROCESSADA_COM_SUCESSO,\r\n EXCLUIDA,\r\n IS_ADM,\r\n LISTA_SEM_DOCUMENTOS,\r\n PENDENTE_DE_PROCESSAMENTO,\r\n LISTA_COM_DOCUMENTOS,\r\n PENDENTE_DE_ENVIO,\r\n LISTA_TEM_GRUPO_FAMILIAR,\r\n AGUARDANDO_DOCUMENTOS,\r\n ERRO_DE_PROCESSAMENTO,\r\n DOCUMENTOS_OBRIGATORIOS_ENVIADOS,\r\n EM_ANALISE_DOCUMENTACAO,\r\n handleAlterarStatusLista,\r\n handleSalvarBeneficiarios,\r\n handleEnviarRevisaoDocumentos,\r\n ]);\r\n\r\n if (loading)\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n history.push('/novo/lista'),\r\n },\r\n ]}\r\n />\r\n \r\n {((IS_ADM && EM_ANALISE_DOCUMENTACAO) ||\r\n (!IS_ADM && LISTA_COM_DOCUMENTOS && LISTA_TEM_GRUPO_FAMILIAR)) && (\r\n {\r\n history.push(\r\n `/novo/listainativo/${listaInativos?.idLista}/documentos`\r\n );\r\n }}\r\n >\r\n \r\n lista de documentos\r\n \r\n )}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n {!IS_ADM &&\r\n ((LISTA_SEM_DOCUMENTOS &&\r\n (PENDENTE_DE_ENVIO || ERRO_DE_PROCESSAMENTO)) ||\r\n (LISTA_COM_DOCUMENTOS &&\r\n (AGUARDANDO_DOCUMENTOS ||\r\n (PENDENTE_DE_ENVIO && !LISTA_TEM_GRUPO_FAMILIAR) ||\r\n ERRO_DE_PROCESSAMENTO))) && (\r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ListaDetalheInativo;\r\n","import styled, { keyframes, css } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\nimport { FcCancel } from 'react-icons/fc';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const CancelIConContainer = styled(FcCancel).attrs((props) => ({\r\n color: props.color,\r\n}))`\r\n path {\r\n fill: ${(props) => props.color} !important;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n padding: 10px 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n path {\r\n fill: #fff !important;\r\n }\r\n }\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport {\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n WrapperFlex,\r\n Tooltip,\r\n Card,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { ImPencil } from 'react-icons/im';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport history from '../../../services/history';\r\n\r\nimport { HoverActions } from './styles';\r\n\r\nfunction TableParametros({ parametros }) {\r\n return (\r\n <>\r\n \r\n }>\r\n {parametros.map((parametro) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst TableParametrosHeader = () => {\r\n return (\r\n \r\n Id\r\n Nome\r\n Descrição\r\n Ativo\r\n Valor\r\n Editar\r\n \r\n );\r\n};\r\n\r\nconst TableContentRow = ({ parametro }) => {\r\n return (\r\n \r\n \r\n {parametro.idParametrizacao || '-'}\r\n \r\n {parametro.nomeParametrizacao || '-'}\r\n {parametro.descricao || '-'}\r\n \r\n {parametro.ativo ? 'ativo' : 'inativo'}\r\n \r\n {parametro.valueParametrizacao || '-'}\r\n \r\n \r\n \r\n \r\n history.push(\r\n `/novo/parametros/editar/${parametro.nomeParametrizacao}`,\r\n {\r\n parametro,\r\n }\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableParametros;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Title, Breadcrumbs, WrapperFlex } from '@unimed-fesp/components';\r\nimport { Creators as ParametroActions } from '../../store/ducks/parametro';\r\nimport history from '../../services/history';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport TableParametros from '../../components/organisms/TableParametros';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst Parametros = () => {\r\n const dispatch = useDispatch();\r\n const parametros = useSelector((state) => state.parametro.data);\r\n\r\n useEffect(() => {\r\n dispatch(ParametroActions.getParametrosRequest());\r\n\r\n return () => {\r\n dispatch(ParametroActions.renew());\r\n };\r\n }, [dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n history.push('/novo/parametros'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Parametros;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: #fff;\r\n padding: 16px;\r\n border-radius: 10px;\r\n margin: 10px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import { Button, TableHeader } from '@unimed-fesp/components';\r\nimport styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const EmptyContentText = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n color: ${theme.colorGray};\r\n font: normal normal bold 16px 'Calibri';\r\n\r\n span {\r\n font: normal normal normal 14px 'Calibri';\r\n letter-spacing: 0.56px;\r\n margin-top: 6px;\r\n }\r\n`;\r\n\r\nexport const ButtonLink = styled.button`\r\n display: inline-flex;\r\n align-items: center;\r\n text-decoration: none;\r\n font-size: 13px;\r\n font-family: unimed_slabregular;\r\n color: #00995d;\r\n border: none;\r\n background: none;\r\n\r\n &:hover {\r\n color: #00995d;\r\n font-weight: bold;\r\n -webkit-text-decoration: underline;\r\n text-decoration: underline;\r\n }\r\n`;\r\n\r\nexport const ButtonActions = styled(Button)`\r\n border: none;\r\n`;\r\nexport const CustomTableHeader = styled(TableHeader)`\r\n z-index: 1;\r\n`;\r\n\r\nexport const HoverActions = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n &:hover {\r\n border-radius: 5px;\r\n cursor: pointer;\r\n word-break: normal;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport history from '../../../services/history';\r\nimport { ButtonLink, EmptyContentText } from './styles';\r\n\r\nconst EmptyRelatorios = () => {\r\n return (\r\n \r\n Nenhum relatório gerado\r\n \r\n Para gerar, clique no botão{' '}\r\n {\r\n history.push('/novo/relatorio-beneficiario');\r\n }}\r\n data-testid=\"link-add-contratante\"\r\n >\r\n + Novo Relatório\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default EmptyRelatorios;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n border-radius: 10px;\r\n padding: 7px;\r\n font-size: 12px;\r\n color: ${theme.white};\r\n text-align: center;\r\n background-color: ${({ backgroundColor }) =>\r\n backgroundColor || theme.greenDefault};\r\n width: 100%;\r\n font-weight: 800;\r\n height: 32px;\r\n display: flex;\r\n gap: 5px;\r\n justify-content: center;\r\n align-items: center;\r\n &:hover {\r\n filter: opacity(0.9);\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction Chip({ children, backgroundColor }) {\r\n return {children};\r\n}\r\n\r\nexport { Chip };\r\n","import format from 'date-fns/format';\r\nimport React, { useCallback } from 'react';\r\nimport { AiOutlineReload } from 'react-icons/ai';\r\nimport {\r\n MdInfo,\r\n MdOutlineErrorOutline,\r\n MdOutlineFilterAlt,\r\n} from 'react-icons/md';\r\nimport { RiDownloadLine } from 'react-icons/ri';\r\nimport { toast } from 'react-toastify';\r\n\r\nimport {\r\n TableCell,\r\n TableRow,\r\n Tooltip,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport theme from '../../../styles/theme';\r\nimport { Chip } from '../../atoms/Chip';\r\nimport {\r\n ButtonActions,\r\n ConstainerTooltip,\r\n Container,\r\n CustomTooltip,\r\n CustomTooltipText,\r\n HoverActions,\r\n} from './styles';\r\nimport { ErrorToast } from '../Toast';\r\n\r\nconst TableBodyRelatorios = ({\r\n relatorios,\r\n openModalInformacoes,\r\n reprocessarTask,\r\n obterErrosDeTask,\r\n downloadRelatorio,\r\n}) => {\r\n const { getArquivo } = useSelector((state) => state.arquivoUpload);\r\n const { putReprocessarTask } = useSelector((state) => state.task);\r\n\r\n const chipColors = {\r\n 1: theme.greenDefault,\r\n 2: theme.blue,\r\n 3: theme.redDefault,\r\n 4: theme.orangeDefault,\r\n };\r\n const reprocessarRelatorio = useCallback((relatorio) => {\r\n if (relatorio.podeReprocessar) return reprocessarTask(relatorio.taskId);\r\n\r\n return toast.error(\r\n \r\n Não será possível reprocessar o relatório porque foram encontrados um ou\r\n mais erros referentes aos dados dos beneficiários. Por gentileza,\r\n corrija estes dados e emita um novo relatório. Você pode encontrar mais\r\n detalhes destes erros clicando no botão de detalhamento\r\n \r\n );\r\n }, []);\r\n\r\n return (\r\n <>\r\n {relatorios.map((relatorio) => {\r\n return (\r\n \r\n \r\n \r\n {relatorio.nomeArquivo ? relatorio.nomeArquivo : '-'}\r\n \r\n \r\n \r\n \r\n {relatorio.descricaoStatus || '-'}\r\n {!relatorio.podeReprocessar && }\r\n \r\n \r\n \r\n {relatorio.criadoEm\r\n ? format(new Date(relatorio.criadoEm), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n {relatorio.finalizadoEm\r\n ? format(new Date(relatorio.finalizadoEm), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '-'}\r\n \r\n \r\n \r\n \r\n \r\n \r\n downloadRelatorio(relatorio.arquivoId, relatorio.taskId)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n openModalInformacoes({\r\n isOpen: true,\r\n taskId: relatorio.taskId,\r\n })\r\n }\r\n background={theme.blue}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n reprocessarRelatorio(relatorio)}\r\n background={theme.orangeDefault}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n obterErrosDeTask(\r\n relatorio.taskId,\r\n relatorio.podeReprocessar\r\n )\r\n }\r\n background={theme.redDefault}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default TableBodyRelatorios;\r\n","import { TableRow } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport { CustomTableHeader } from './styles';\r\n\r\nconst TableHeaderRelatorios = () => {\r\n return (\r\n \r\n Nome Arquivo\r\n Status\r\n Data da Solicitação\r\n Data da Finalização\r\n Ações\r\n \r\n );\r\n};\r\n\r\nexport default TableHeaderRelatorios;\r\n","import React from 'react';\r\n\r\nimport { Card, Pagination, Table } from '@unimed-fesp/components';\r\n\r\nimport { useSelector } from 'react-redux';\r\nimport LoadingSpinner from '../LoadingSpinning';\r\nimport EmptyRelatorios from './EmptyRelatorios';\r\nimport TableBodyRelatorios from './TableBodyRelatorios';\r\nimport TableHeaderRelatorios from './TableHeaderRelatorios';\r\n\r\nconst TableRelatoriosBeneficiario = ({\r\n openModalInformacoes,\r\n paginationParams,\r\n setPaginationParams,\r\n handleChangePage,\r\n reprocessarTask,\r\n obterErrosDeTask,\r\n downloadRelatorio,\r\n}) => {\r\n const { getListaArquivos } = useSelector((state) => state.arquivoUpload);\r\n\r\n const propJustify = {\r\n justifyCenter: getListaArquivos.response.dados.length <= 0,\r\n justifyStart: getListaArquivos.response.dados.length > 0,\r\n };\r\n\r\n if (getListaArquivos.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {getListaArquivos.response.dados.length <= 0 ? (\r\n \r\n ) : (\r\n <>\r\n }>\r\n \r\n
    \r\n {getListaArquivos.response.total > 10 && (\r\n \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default TableRelatoriosBeneficiario;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n width: 400px;\r\n gap: 10px;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalFiltrosAplicados({ modalData, filtros, closeModal }) {\r\n const filtrosAplicado = filtros.find(\r\n (filtro) => filtro.taskId === modalData.taskId\r\n );\r\n\r\n function mostrarFiltrosIguaisAosParametros() {\r\n if (!filtrosAplicado) {\r\n return;\r\n }\r\n\r\n const descricaoFiltros = {\r\n 1: 'Beneficiário Ativo',\r\n 2: 'Beneficiário Excluído',\r\n 3: 'Beneficiário Inativo',\r\n };\r\n\r\n const filtro = JSON.parse(filtrosAplicado.parametros);\r\n const filtroFormatado = {\r\n tipoConsulta: descricaoFiltros[filtro.TipoConsultaBeneficiario] || false,\r\n contratante: filtro.CodigoContratanteLogada || false,\r\n grupoContratante:\r\n filtro.FiltroContratante !== filtro.CodigoContratanteLogada.toString()\r\n ? filtro.FiltroContratante\r\n : false,\r\n modalidade: filtro.Modalidade || false,\r\n termo: filtro.Termo || false,\r\n layout: filtro.LeiauteVersao1 ? 'Layout 1' : 'Layout 2',\r\n extensão: filtro.ExportarXlsx ? 'xlsx' : 'txt',\r\n dataPeríodoDeReferênciaDe: filtro.DataReferenciaInicial\r\n ? new Date(filtro.DataReferenciaInicial)\r\n : false,\r\n dataPeríodoDeReferênciaAte: filtro.DataReferenciaFinal\r\n ? new Date(filtro.DataReferenciaFinal)\r\n : false,\r\n exclusãoProgramada: filtro.BeneficiarioComDataExclusaoProgramada\r\n ? 'Sim'\r\n : false,\r\n };\r\n\r\n return Object.entries(filtroFormatado).map(([chave, valor]) => {\r\n const valorParaRenderizar =\r\n valor instanceof Date ? valor.toLocaleDateString() : valor;\r\n\r\n if (valor) {\r\n return (\r\n \r\n {formatCamelCase(chave)}: {valorParaRenderizar}\r\n \r\n );\r\n }\r\n });\r\n }\r\n\r\n function formatCamelCase(str) {\r\n const words = str.split(/(?=[A-Z])/);\r\n const result = words\r\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\r\n .join(' ');\r\n\r\n return result;\r\n }\r\n\r\n return (\r\n }\r\n header={}\r\n >\r\n \r\n \r\n {mostrarFiltrosIguaisAosParametros()}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick }) => {\r\n return (\r\n \r\n Sair\r\n \r\n );\r\n};\r\n\r\nexport default ModalFiltrosAplicados;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n padding: 0 30px;\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n\r\n align-self: center;\r\n text-align: left;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const Message = styled(Text)`\r\n text-align: left;\r\n font: 28px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { VscError, VscFile } from 'react-icons/vsc';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ArquivoUploadActions } from '../../../store/ducks/arquivoUpload';\r\nimport {\r\n ModalContent,\r\n ModalContentWrapper,\r\n ModalFooter,\r\n ModalHeader,\r\n} from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport LoadingSpinner from '../../molecules/LoadingSpinning';\r\nimport { Container, ContentText, Message } from './styles';\r\n\r\nfunction ModalRelatoriosAcoes({\r\n isOpen,\r\n onClick,\r\n idTask,\r\n tipoModal,\r\n downloadArquivo,\r\n podeReprocessar,\r\n}) {\r\n const mensagem = {\r\n erro1: `Pedimos desculpas, pois um erro inesperado ocorreu e o\r\n processamento falhou. Uma nova tentativa será executada\r\n automaticamente em alguns minutos. Se desejar, reporte este\r\n problema para o responsável pelo sistema informando o código da\r\n atividade abaixo:`,\r\n erroNaoPodeReprocessar: `Pedimos desculpas, pois um erro inesperado ocorreu e o\r\n processamento falhou. Se desejar, reporte este\r\n problema para o responsável pelo sistema informando o código da\r\n atividade abaixo:`,\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {tipoModal === 'error' && (\r\n \r\n )}\r\n {tipoModal === 'download' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalRelatoriosAcoes;\r\n\r\nfunction ConteudoErrors({ mensagem, idTask, onClick }) {\r\n const { getUltimoErroTask } = useSelector((state) => state.task);\r\n\r\n if (getUltimoErroTask.loading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {getUltimoErroTask.data?.erroDeNegocio ? (\r\n {getUltimoErroTask.data.erro}\r\n ) : (\r\n {mensagem}\r\n )}\r\n\r\n {idTask}\r\n \r\n Sair\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction ConteudoDownload({ downloadArquivo, onClick }) {\r\n const { getArquivo } = useSelector((state) => state.arquivoUpload);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {getArquivo.loading ? (\r\n \r\n \r\n Seu relatório ficará pronto em breve, o arquivo está sendo\r\n montado.\r\n \r\n \r\n \r\n ) : (\r\n Seu relatório está pronto.\r\n )}\r\n\r\n {getArquivo.success && getArquivo.response.arquivo !== '' && (\r\n \r\n downloadArquivo(\r\n getArquivo.response.nome,\r\n getArquivo.response.arquivo\r\n )\r\n }\r\n >\r\n Download\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Text, Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../services/history';\r\nimport { Creators as ArquivoUploadActions } from '../../store/ducks/arquivoUpload';\r\nimport { Creators as TasksActions } from '../../store/ducks/task';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport TableRelatoriosBeneficiario from '../../components/molecules/TableRelatoriosBeneficiario';\r\nimport { SuccessToast } from '../../components/molecules/Toast';\r\nimport ModalFiltrosAplicados from '../../components/organisms/ModalFiltrosAplicados';\r\nimport ModalRelatoriosAcoes from '../../components/organisms/ModalRelatoriosAcoes';\r\nimport useSignalR from '../../hooks/useSignalR';\r\nimport { downloadFile } from '../../utils/base64';\r\n\r\nconst ProcessamentoRelatorio = () => {\r\n const dispatch = useDispatch();\r\n const [BuildConnection, OpenConnection, CloseConnection] = useSignalR();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { getListaArquivos, getArquivo } = useSelector(\r\n (state) => state.arquivoUpload\r\n );\r\n\r\n const parametrosInicialDeRelatorios = {\r\n codigoContratante: usuario.codigoContratante,\r\n paginaInicial: 0,\r\n quantidadeMaximaPorPagina: 10,\r\n };\r\n const parametrosDePaginacaoIncial = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const [modalInformacoes, setModalInformacoes] = useState({\r\n isOpen: false,\r\n taskId: null,\r\n });\r\n const [parametrosRelatorios, setRelatoriosParams] = useState(\r\n parametrosInicialDeRelatorios\r\n );\r\n const [parametrosDePaginacao, setParametroDePaginacao] = useState(\r\n parametrosDePaginacaoIncial\r\n );\r\n\r\n const [modal, setModal] = useState({\r\n open: false,\r\n tipoModal: 'error',\r\n idTask: '',\r\n podeReprocessar: null,\r\n });\r\n\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const novosParametrosDePaginacao = produce(\r\n parametrosDePaginacao,\r\n (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n }\r\n );\r\n setParametroDePaginacao(novosParametrosDePaginacao);\r\n }\r\n\r\n dispatch(\r\n ArquivoUploadActions.getListaArquivosRequest(\r\n parametrosRelatorios.codigoContratante,\r\n paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1,\r\n paramsPag.pageSize\r\n )\r\n );\r\n };\r\n\r\n const reprocessarTask = (idTask) => {\r\n dispatch(TasksActions.putReprocessarTaskRequest(idTask));\r\n\r\n return toast.success(\r\n O Reprocessamento será iniciado!\r\n );\r\n };\r\n\r\n const obterErrosDeTask = (idTask, podeReprocessar) => {\r\n dispatch(TasksActions.getUltimoErroTaskRequest(idTask));\r\n setModal({\r\n open: true,\r\n tipoModal: 'error',\r\n idTask,\r\n podeReprocessar,\r\n });\r\n };\r\n\r\n const obterArquivoParaDownload = (idArquivo) => {\r\n dispatch(ArquivoUploadActions.getArquivoRequest(idArquivo));\r\n setModal({\r\n open: true,\r\n tipoModal: 'download',\r\n });\r\n };\r\n\r\n const downloadArquivo = (nomeArquivo, base64) => {\r\n const extension = nomeArquivo.split('.')[1].toLocaleUpperCase();\r\n downloadFile(base64, nomeArquivo, extension);\r\n closeModal();\r\n };\r\n\r\n const closeModal = () => {\r\n setModal({\r\n error: false,\r\n tipoModal: 'error',\r\n message: '',\r\n idTask: null,\r\n tipoError: 0,\r\n });\r\n dispatch(ArquivoUploadActions.getArquivoSuccess(false, false));\r\n };\r\n\r\n const redirecionarAdministrador = (regra) => {\r\n if (regra === 'Adm') {\r\n history.push('/novo/lista');\r\n }\r\n };\r\n\r\n const obterListaDeRelatorios = () => {\r\n dispatch(\r\n ArquivoUploadActions.getListaArquivosRequest(\r\n parametrosRelatorios.codigoContratante,\r\n parametrosRelatorios.paginaInicial,\r\n parametrosRelatorios.quantidadeMaximaPorPagina\r\n )\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n redirecionarAdministrador(usuario.role);\r\n obterListaDeRelatorios();\r\n\r\n const conexao = BuildConnection('TaskStatusChangedHub');\r\n OpenConnection(conexao);\r\n\r\n conexao.on('TaskStatusChanged', (mensagem) => {\r\n dispatch(ArquivoUploadActions.getAtualizacaoDeRelatorioRequest(mensagem));\r\n });\r\n\r\n return () => {\r\n CloseConnection(conexao);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/relatorios'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n closeModal()}\r\n isOpen={modal.open}\r\n idTask={modal.idTask}\r\n tipoModal={modal.tipoModal}\r\n downloadArquivo={downloadArquivo}\r\n podeReprocessar={modal.podeReprocessar}\r\n />\r\n\r\n setModalInformacoes({ taskId: null, isOpen: false })}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ProcessamentoRelatorio;\r\n","import styled from 'styled-components';\r\n\r\nexport const ContentText = styled.div`\r\n &:first-letter {\r\n text-transform: capitalize;\r\n }\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 13px;\r\n align-self: center;\r\n text-align: center;\r\n line-height: 16px;\r\n margin: 15px;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { Button, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport { ContentText } from './styles';\r\n\r\nconst BodyConfimarRelatorio = () => {\r\n return (\r\n \r\n A geração deste novo relatório pode demorar.\r\n
    \r\n Não há necessidade de permanecer na tela, pois será notificado por e-mail.\r\n
    \r\n Deseja continuar a geração do relatório?\r\n
    \r\n );\r\n};\r\n\r\nconst FooterConfimarRelatorio = ({ closeModal, onClickOk }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default { BodyConfimarRelatorio, FooterConfimarRelatorio };\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const FormContainer = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n background-color: #fff;\r\n padding: 16px;\r\n border-radius: 10px;\r\n margin: 10px 0;\r\n`;\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n margin-left: 6px;\r\n gap: 16px;\r\n div {\r\n justify-content: flex-start;\r\n align-items: flex-start;\r\n }\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: flex-start;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n margin-top: 10px;\r\n padding: 5px;\r\n display: flex;\r\n gap: 16px;\r\n`;\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import React, { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n Checkbox,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n Radio,\r\n Text,\r\n TextField,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../components/molecules/DatePicker';\r\n\r\n// #endregion\r\n\r\nimport LabelContainer from '../../components/molecules/LabelContainer';\r\nimport {\r\n ComboDatePicker,\r\n ContButton,\r\n FormContainer,\r\n InlineContainer,\r\n} from './styles';\r\n\r\nfunction FormRelatorioBeneficiario({\r\n formParams,\r\n setFormParams,\r\n grupoContratante,\r\n clearParams,\r\n handleNovoRelatorio,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoLayout = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n layout: 'Layout 1',\r\n }));\r\n },\r\n text: 'Layout 1',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n layout: 'Layout 2',\r\n }));\r\n },\r\n text: 'Layout 2',\r\n },\r\n ];\r\n\r\n const optionsTipoExtensao = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n extensao: 'xlsx',\r\n }));\r\n },\r\n text: 'xlsx',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n extensao: 'txt',\r\n }));\r\n },\r\n text: 'txt',\r\n },\r\n ];\r\n\r\n function handleDataPeriodoDeReferenciaDe(e) {\r\n if (e.target) return;\r\n const dataPeriodoDeReferenciaAte =\r\n e > formParams.dataPeriodoDeReferenciaAte\r\n ? e\r\n : formParams.dataPeriodoDeReferenciaAte;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n dataPeriodoDeReferenciaDe: e,\r\n dataPeriodoDeReferenciaAte,\r\n }));\r\n }\r\n function handleDataPeriodoDeReferenciaAte(e) {\r\n if (e.target) return;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n dataPeriodoDeReferenciaDe: formParams.dataPeriodoDeReferenciaDe,\r\n dataPeriodoDeReferenciaAte:\r\n e < formParams.dataPeriodoDeReferenciaDe\r\n ? formParams.dataPeriodoDeReferenciaDe\r\n : e,\r\n }));\r\n }\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (value.target) return;\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n function handleSelectedTipoConsulta(tipoConsulta) {\r\n const tipoInativos =\r\n tipoConsulta === 3 ? { modalidade: '', termo: '' } : null;\r\n\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta,\r\n ...tipoInativos,\r\n }));\r\n }\r\n\r\n function handleCheckDataExclusaoProgramada() {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n exclusaoProgramada: !formParams.exclusaoProgramada,\r\n }));\r\n }\r\n function handleSelectedGrupoContratante() {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n grupoContrantante:\r\n grupoContratante.nomeComplemento &&\r\n !formParams.consultaPorGrupoContratante\r\n ? grupoContratante.nomeComplemento\r\n : '',\r\n consultaPorGrupoContratante: !formParams.consultaPorGrupoContratante,\r\n modalidade: '',\r\n termo: '',\r\n }));\r\n }\r\n return (\r\n \r\n \r\n handleSelectedTipoConsulta(1)}\r\n />\r\n handleSelectedTipoConsulta(2)}\r\n />\r\n {modalidades.some(\r\n (modalidade) =>\r\n modalidade.codigoModalidade === 36 ||\r\n modalidade.codigoModalidade === 38 ||\r\n modalidade.codigoModalidade === 34\r\n ) && (\r\n handleSelectedTipoConsulta(3)}\r\n />\r\n )}\r\n \r\n\r\n \r\n handleChangeInput(e)}\r\n height={40}\r\n disabled\r\n />\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={\r\n formParams.consultaPorGrupoContratante ||\r\n formParams.tipoConsulta === 3\r\n ? null\r\n : shapeModalidades(modalidades)\r\n }\r\n height={40}\r\n />\r\n \r\n\r\n \r\n \r\n {formParams.layout}\r\n \r\n \r\n {formParams.extensao}\r\n \r\n \r\n {grupoContratante?.nomeComplemento && (\r\n \r\n handleSelectedGrupoContratante()}\r\n checked={formParams.consultaPorGrupoContratante}\r\n />\r\n \r\n \r\n )}\r\n {formParams?.tipoConsulta === 1 && (\r\n // Beneficiário Ativo\r\n\r\n \r\n handleCheckDataExclusaoProgramada()}\r\n checked={formParams.exclusaoProgramada}\r\n />\r\n \r\n \r\n )}\r\n {formParams?.tipoConsulta === 2 && (\r\n // Beneficiário Excluído\r\n\r\n \r\n \r\n \r\n

    à

    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n Limpar\r\n \r\n\r\n \r\n Gerar Relatório\r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default FormRelatorioBeneficiario;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Breadcrumbs, Title, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { format, isBefore, isWithinInterval, subMonths } from 'date-fns';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../services/history';\r\nimport { Creators as ModalidadeActions } from '../../store/ducks/modalidade';\r\nimport { Creators as RelatorioActions } from '../../store/ducks/relatorio';\r\n// #region Import Componentes\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\nimport { ModalConfimarRelatorio } from '../../components/molecules/PartsModalRelatorioBeneficiario';\r\n\r\nimport modal from '../../context/TriggerModalContext';\r\n// #endregion\r\n\r\nimport theme from '../../styles/theme';\r\nimport { Container } from './styles';\r\n\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport FormRelatorioBeneficiario from './FormRelatorioBeneficiario';\r\n\r\nconst RelatorioBeneficiarios = () => {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const { response } = useSelector(\r\n (state) => state.usuario.getContratantesUsuario\r\n );\r\n const { postRelatorioBeneficiarioRequest } = useSelector(\r\n (state) => state.relatorio\r\n );\r\n\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: 1,\r\n contratante: usuario.codigoContratante,\r\n grupoContratante: '',\r\n consultaPorGrupoContratante: false,\r\n modalidade: '',\r\n termo: '',\r\n layout: 'Layout 1',\r\n extensao: 'xlsx',\r\n dataPeriodoDeReferenciaDe: '',\r\n dataPeriodoDeReferenciaAte: '',\r\n exclusaoProgramada: false,\r\n }),\r\n []\r\n );\r\n\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n\r\n const contranteParametrizada = response.contranteParametrizada\r\n ? response.contranteParametrizada.find(\r\n (contratante) =>\r\n contratante.codigoContratante.toString() === usuario.codigoContratante\r\n )\r\n : [];\r\n\r\n const handleData = () => {\r\n const params = {\r\n exportar_xlsx: formParams.extensao === 'xlsx',\r\n leiaute_versao1: formParams.layout === 'Layout 1',\r\n email_usuario_logado: usuario.login,\r\n nome_usuario_logado: usuario.nome,\r\n codigo_contratante_logada: usuario.codigoContratante,\r\n filtro_contratante: formParams.consultaPorGrupoContratante\r\n ? contranteParametrizada.nomeComplemento\r\n : usuario.codigoContratante,\r\n modalidade: formParams.modalidade,\r\n termo: formParams.termo,\r\n tipo_consulta_beneficiario: formParams.tipoConsulta,\r\n data_referencia_inicial: formParams.dataPeriodoDeReferenciaDe\r\n ? format(formParams.dataPeriodoDeReferenciaDe, 'MM-dd-yyyy 00:00:00')\r\n : null,\r\n data_referencia_final: formParams.dataPeriodoDeReferenciaAte\r\n ? format(formParams.dataPeriodoDeReferenciaAte, 'MM-dd-yyyy 00:00:00')\r\n : null,\r\n beneficiario_com_data_exclusao_programada: formParams.exclusaoProgramada,\r\n };\r\n\r\n dispatch(RelatorioActions.postRelatorioBeneficiarioRequest(params));\r\n };\r\n\r\n const handleNovoRelatorio = useCallback(() => {\r\n if (formParams.tipoConsulta === 2) {\r\n const { dataPeriodoDeReferenciaDe, dataPeriodoDeReferenciaAte } =\r\n formParams;\r\n\r\n if (!dataPeriodoDeReferenciaDe || !dataPeriodoDeReferenciaAte) {\r\n return toast.error(\r\n Insira um período de referência!\r\n );\r\n }\r\n\r\n const dataAtual = new Date();\r\n const dataTresMesesAntes = subMonths(dataAtual, 3);\r\n\r\n if (isBefore(dataPeriodoDeReferenciaDe, dataTresMesesAntes)) {\r\n return toast.error(\r\n \r\n A data inicial não pode retroagir mais que três meses!\r\n \r\n );\r\n }\r\n }\r\n\r\n modal.warning(\r\n ,\r\n () => {},\r\n ({ closeModal }) => (\r\n {\r\n handleData();\r\n closeModal();\r\n }}\r\n />\r\n )\r\n );\r\n }, [dispatch, formParams]);\r\n\r\n useEffect(() => {\r\n if (usuario.role === 'Adm') {\r\n return history.push('/novo/lista');\r\n }\r\n\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n getInativos: true,\r\n })\r\n );\r\n }, [dispatch, usuario.codigoContratante]);\r\n\r\n useEffect(() => {\r\n const { isSuccess, messageError } = postRelatorioBeneficiarioRequest.data;\r\n\r\n if (isSuccess) {\r\n history.push('/novo/processamento-relatorio');\r\n }\r\n\r\n if (!isSuccess && messageError) {\r\n toast.error({messageError});\r\n }\r\n\r\n dispatch(\r\n RelatorioActions.postRelatorioBeneficiarioResponse(false, {\r\n idTask: null,\r\n isSuccess: false,\r\n })\r\n );\r\n }, [\r\n dispatch,\r\n postRelatorioBeneficiarioRequest.data.isSuccess,\r\n postRelatorioBeneficiarioRequest.data.messageError,\r\n ]);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/novo/relatorio-beneficiario'),\r\n },\r\n ]}\r\n />\r\n \r\n \r\n setFormParams(formInitialParams)}\r\n handleNovoRelatorio={() => handleNovoRelatorio()}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RelatorioBeneficiarios;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { Badge, Text, WrapperFlex } from '@unimed-fesp/components';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { ButtonContainer } from '../StatusList/styles';\r\n\r\nconst StatusFilter = ({ status, onStatusClick, activeStatus }) => {\r\n const [localActiveStatus, setLocalActiveStatus] = useState(activeStatus);\r\n useEffect(() => {\r\n setLocalActiveStatus(activeStatus);\r\n }, [activeStatus]);\r\n\r\n const availableStatus = status.filter(\r\n (currentStatus) => currentStatus.id !== localActiveStatus\r\n );\r\n\r\n const handleStatusClick = (currentStatus) => {\r\n if (localActiveStatus === currentStatus.id) {\r\n setLocalActiveStatus(null);\r\n onStatusClick(null);\r\n } else {\r\n setLocalActiveStatus(currentStatus.id);\r\n onStatusClick(currentStatus.id);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {status.map(\r\n (status) =>\r\n localActiveStatus === status.id && (\r\n \r\n handleStatusClick(status)}\r\n text={status.description}\r\n />\r\n \r\n )\r\n )}\r\n \r\n \r\n {availableStatus.map((status) => (\r\n \r\n handleStatusClick(status)}\r\n color={'#ababab'}\r\n cursorPointer\r\n text={status.description}\r\n />\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusFilter;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n width: 100%;\r\n -webkit-transition: all 0.3s ease-out;\r\n -moz-transition: all 0.3s ease-out;\r\n -o-transition: all 0.3s ease-out;\r\n transition: all 0.3s ease-out;\r\n\r\n label > svg {\r\n display: none !important;\r\n margin: 0;\r\n padding: 0;\r\n }\r\n p {\r\n font-size: 13px;\r\n }\r\n ${({ isOpen }) =>\r\n isOpen\r\n ? css`\r\n height: auto;\r\n opacity: 1;\r\n `\r\n : css`\r\n height: 0px;\r\n opacity: 0;\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const CardFilter = styled.div`\r\n max-width: 1038px;\r\n border-radius: 10px;\r\n background-color: #f2f2f2;\r\n width: 100%;\r\n\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight}px;\r\n `\r\n : `min-height: 200px;`};\r\n`;\r\nexport const CardFilterContent = styled.div`\r\n min-width: 300px;\r\n margin: 10px 20px;\r\n ${({ minHeight }) =>\r\n minHeight\r\n ? css`\r\n min-height: ${minHeight};\r\n `\r\n : ``};\r\n`;\r\nexport const CardFilterHeader = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: left;\r\n padding: 20px 20px 0 25px;\r\n letter-spacing: 0.32px;\r\n font-family: 'unimed_slabregular';\r\n font-weight: bold;\r\n color: #5a5a5a;\r\n`;\r\nexport const CardFilterFooter = styled.div`\r\n display: flex;\r\n padding: 0px 20px 10px 20px;\r\n ${({ justifyContent }) =>\r\n justifyContent\r\n ? css`\r\n justify-content: ${justifyContent};\r\n `\r\n : `justify-content: center`};\r\n\r\n ${({ paddingLeft }) =>\r\n paddingLeft\r\n ? css`\r\n padding-left: ${paddingLeft};\r\n `\r\n : ``};\r\n ${({ paddingTop }) =>\r\n paddingTop\r\n ? css`\r\n padding-top: ${paddingTop};\r\n `\r\n : ``};\r\n\r\n * {\r\n margin: 5px;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nconst ModalFooter = ({\r\n onCloseModal,\r\n handleAdicionarModal,\r\n isDisabledBtnAdicionar,\r\n}) => {\r\n return (\r\n <>\r\n onCloseModal(e)}\r\n justifyCenter\r\n alignCenter\r\n type=\"button\"\r\n marginRight={10}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n >\r\n cancelar\r\n \r\n {\r\n handleAdicionarModal();\r\n onCloseModal(e);\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n width={100}\r\n disabled={isDisabledBtnAdicionar}\r\n >\r\n adicionar\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalFooter;\r\n","import styled from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const ModalBodyContainer = styled.div`\r\n flex-direction: column;\r\n justify-content: flex-start;\r\n align-items: center;\r\n\r\n display: flex;\r\n\r\n background: ${theme.white};\r\n\r\n padding: 1px 10px 0px 10px;\r\n flex: 1;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Modal, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ModalFooter from './ModalFooter';\r\n\r\nimport { ModalBodyContainer } from './styles';\r\n\r\nfunction ModalConsultaStructureSegundaVia({\r\n isOpen,\r\n BodyModal,\r\n titleModal,\r\n HeaderModal,\r\n onCloseModal,\r\n handleAdicionarModal,\r\n\r\n isDisabledBtnAdicionar,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n {HeaderModal}\r\n \r\n {BodyModal}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default ModalConsultaStructureSegundaVia;\r\n","import styled from 'styled-components';\r\nimport theme from '../../../styles/theme';\r\n\r\nimport LabelContainer from '../../molecules/LabelContainer';\r\n\r\nexport const Container = styled.div`\r\n //display: flex;\r\n margin-top: 10px !important;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 20px;\r\n width: 20px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: normal normal normal 15px 'work_sans';\r\n color: ${theme.movGrey};\r\n align-self: center;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const InlineContainer = styled.div`\r\n display: flex;\r\n width: 100%;\r\n justify-content: space-between;\r\n align-items: flex-end;\r\n margin-left: -5px;\r\n\r\n > label {\r\n margin-bottom: 0px;\r\n }\r\n`;\r\n\r\nexport const FootlineContainer = styled.div`\r\n display: flex;\r\n padding-left: 5%;\r\n margin-top: 10px !important;\r\n`;\r\n\r\nexport const DateContainer = styled.div`\r\n display: flex;\r\n height: 47;\r\n`;\r\n\r\nexport const ComboDatePicker = styled.div`\r\n display: flex;\r\n justify-content: center;\r\n flex-wrap: wrap;\r\n margin-top: 3px;\r\n\r\n p {\r\n margin: 15px;\r\n }\r\n`;\r\n\r\nexport const ContButton = styled.div`\r\n padding-top: 3%;\r\n padding-left: 5px;\r\n display: 'none';\r\n`;\r\n\r\nexport const LabelDate = styled.label`\r\n text-align: left;\r\n font: 300 15px Calibri;\r\n letter-spacing: 0.52px;\r\n opacity: 1;\r\n margin: 5px;\r\n\r\n & > div {\r\n height: 47px;\r\n }\r\n`;\r\n","import { useField } from '@rocketseat/unform';\r\nimport React, { useCallback, useState } from 'react';\r\nimport { GoSearch } from 'react-icons/go';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n Button,\r\n ComboModalidadeTermo,\r\n Dropdown,\r\n Text,\r\n TextField,\r\n} from '@unimed-fesp/components';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\n// #region Import Componentes\r\nimport DatePicker from '../../molecules/DatePicker';\r\n// #endregion\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { ContButton, InlineContainer, LabelDate } from './styles';\r\n\r\nfunction FormPesquisaBeneficiarioSegundaVia({\r\n formParams,\r\n setFormParams,\r\n handlePesquisar,\r\n desabilitarBtnPesquisar = false,\r\n resetarPagination,\r\n}) {\r\n const { response } = useSelector((state) => state.modalidade);\r\n const modalidades = response;\r\n\r\n const optionsTipoBeneficiario = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n titular: 'Titular',\r\n }));\r\n resetarPagination();\r\n },\r\n text: 'Titular',\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n titular: 'Dependente',\r\n }));\r\n resetarPagination();\r\n },\r\n text: 'Dependente',\r\n },\r\n ];\r\n const optionsTipoConsulta = [\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteModalidadeTermo,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteCodigoUnimedCartao,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeTipoBeneficiario,\r\n },\r\n {\r\n onClickOption: () => {\r\n setFormParams((oldValue) => ({\r\n ...oldValue,\r\n tipoConsulta:\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento,\r\n }));\r\n resetarPagination();\r\n },\r\n text: TipoPesquisaEnum.returnFormatName.ContratanteNomeDataNascimento,\r\n },\r\n ];\r\n\r\n const shapeModalidades = useCallback(\r\n (modalidadesParam) =>\r\n modalidadesParam.map((modalidade) => ({\r\n text: modalidade.codigoModalidade.toString(),\r\n termos: modalidade.termos.map((termo) => termo.codigoTermo.toString()),\r\n })),\r\n []\r\n );\r\n\r\n function handleChangeInput(e) {\r\n const { name, value } = e.target;\r\n setFormParams((oldValue) => ({ ...oldValue, [name]: value }));\r\n }\r\n\r\n function handleChangeKeyValue(key, value) {\r\n if (value.target) return;\r\n if (!value) return;\r\n\r\n setFormParams((oldValue) => ({ ...oldValue, [key]: value }));\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n TipoPesquisaEnum.returnFormatName[\r\n formParams?.tipoConsulta || 'ContratanteModalidadeTermo'\r\n ]\r\n }\r\n \r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeDataNascimento && (\r\n // Contratante + Nome + Data Nascimento\r\n \r\n \r\n handleChangeKeyValue('dataNascimento', e)}\r\n />\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteCodigoUnimedCartao && (\r\n // Contratante + Código da Unimed + Cartao\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n handleChangeInput(e)}\r\n />\r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteNomeTipoBeneficiario && (\r\n // Contratante + Nome + Tipo Beneficiário\r\n \r\n {formParams.titular}\r\n \r\n )}\r\n {formParams?.tipoConsulta ===\r\n TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo && (\r\n // Contratante + Modalidade + Termo\r\n handleChangeKeyValue('modalidade', value)}\r\n termo={formParams?.termo || ''}\r\n setTermo={(value) => handleChangeKeyValue('termo', value)}\r\n modalidades={shapeModalidades(modalidades)}\r\n margin={11}\r\n />\r\n )}\r\n\r\n \r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormPesquisaBeneficiarioSegundaVia;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react';\r\n\r\nimport { format } from 'date-fns';\r\nimport produce from 'immer';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Creators as ModalidadeActions } from '../../../store/ducks/modalidade';\r\nimport { Creators as RequisicaoActions } from '../../../store/ducks/requisicao';\r\n\r\nimport TipoPesquisaEnum from '../../../enums/TipoPesquisaBeneficiarioEnum';\r\n\r\nimport ModalConsultaStructureSegundaVia from '../../molecules/ModalConsultaStructureSegundaVia';\r\nimport FormPesquisaBeneficiarioSegundaVia from '../FormPesquisaBeneficiarioSegundaVia';\r\nimport TablePesquisaBeneficiarioSegundaVia from '../TablePesquisaBeneficiarioSegundaVia';\r\n\r\nfunction ModalPesquisaBeneficiarioSegundaVia({ isOpen, onCloseModal }) {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const paginationInitialParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n\r\n const paramsRequestDefault = {\r\n page: 0,\r\n count_per_page: 10,\r\n type_query: null,\r\n contractor_code: usuario.codigoContratante,\r\n modality_code: null,\r\n term_number: null,\r\n unimed_code: null,\r\n wallet_number: null,\r\n beneficiary_name: null,\r\n beneficiary_type: null,\r\n birth_date: null,\r\n };\r\n const formInitialParams = useMemo(\r\n () => ({\r\n tipoConsulta: TipoPesquisaEnum.returnPropName.ContratanteModalidadeTermo,\r\n titular: 'Titular',\r\n modalidade: '',\r\n termo: '',\r\n cartao: '',\r\n codDaUnimed: '',\r\n nomeBenefTpBeneficiario: '',\r\n nomeBeneficiarioI: '',\r\n dataNascimento: '',\r\n }),\r\n []\r\n );\r\n\r\n const [formParams, setFormParams] = useState(formInitialParams);\r\n const [paramsRequest, setParamsRequest] = useState(paramsRequestDefault);\r\n const [paginationParams, setPaginationParams] = useState(\r\n paginationInitialParams\r\n );\r\n\r\n const handlePesquisar = useCallback(() => {\r\n if (!isOpen || formParams === null) {\r\n return;\r\n }\r\n const typeBeneficiary = {\r\n Titular: 1,\r\n Dependente: 2,\r\n };\r\n const tipoConsulta = TipoPesquisaEnum.returnPropId[formParams.tipoConsulta];\r\n if (tipoConsulta) {\r\n const newParamsRequest = produce(paramsRequest, (draft) => {\r\n draft.type_query = tipoConsulta;\r\n draft.page = 0;\r\n draft.count_per_page = 10;\r\n\r\n switch (tipoConsulta) {\r\n case 1:\r\n draft.term_number = formParams.termo;\r\n draft.modality_code = formParams.modalidade;\r\n break;\r\n case 2:\r\n draft.unimed_code = formParams.codDaUnimed;\r\n draft.wallet_number = formParams.cartao;\r\n break;\r\n case 3:\r\n draft.beneficiary_name = formParams.nomeBenefTpBeneficiario;\r\n draft.beneficiary_type = typeBeneficiary[formParams.titular];\r\n break;\r\n case 4:\r\n draft.beneficiary_name = formParams.nomeBeneficiarioI;\r\n draft.birth_date = format(\r\n formParams.dataNascimento,\r\n 'MM-dd-yyyy 00:00:00'\r\n );\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n\r\n setParamsRequest(newParamsRequest);\r\n dispatch(\r\n RequisicaoActions.postBeneficiarioSegundaViaRequest(newParamsRequest)\r\n );\r\n }\r\n }, [dispatch, formParams, isOpen, TipoPesquisaEnum, paramsRequest]);\r\n\r\n const handleChangePage = (paramsPag) => {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = paramsPag.pageNumber <= 0 ? 1 : paramsPag.pageNumber;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n\r\n const newFilterParams = produce(paramsRequest, (draft) => {\r\n draft.page = paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.count_per_page = paramsPag.pageSize;\r\n });\r\n const params = {\r\n ...paramsRequest,\r\n ...newFilterParams,\r\n };\r\n\r\n setParamsRequest(params);\r\n dispatch(RequisicaoActions.postBeneficiarioSegundaViaRequest(params));\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(\r\n ModalidadeActions.getModalidadesRequest({\r\n codigoContratante: usuario.codigoContratante,\r\n })\r\n );\r\n }, [dispatch, usuario?.codigoContratante]);\r\n\r\n const desabilitarBtnPesquisar = useMemo(() => {\r\n const validacaoValues = {\r\n ContratanteModalidadeTermo:\r\n !!formParams?.modalidade && !!formParams?.termo,\r\n ContratanteCodigoUnimedCartao:\r\n !!formParams?.cartao && !!formParams?.codDaUnimed,\r\n ContratanteNomeTipoBeneficiario:\r\n !!formParams?.nomeBenefTpBeneficiario && !!formParams?.titular,\r\n ContratanteNomeDataNascimento:\r\n !!formParams?.nomeBeneficiarioI && !!formParams?.dataNascimento,\r\n };\r\n\r\n return !validacaoValues[formParams.tipoConsulta];\r\n }, [formParams]);\r\n\r\n return (\r\n Consultar Beneficiário}\r\n onCloseModal={onCloseModal}\r\n BodyModal={\r\n \r\n }\r\n HeaderModal={\r\n setPaginationParams(paginationInitialParams)}\r\n />\r\n }\r\n />\r\n );\r\n}\r\n\r\nexport default ModalPesquisaBeneficiarioSegundaVia;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nimport { AiOutlineUnlock } from 'react-icons/ai';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nconst rotate = keyframes`\r\n from{\r\n transform: rotate(0deg);\r\n }\r\n\r\n to{\r\n transform: rotate(360deg);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div``;\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate} 2s linear infinite;\r\n }\r\n`;\r\n\r\nexport const UnlockIConContainer = styled(AiOutlineUnlock).attrs((props) => ({\r\n stroke: props.stroke,\r\n}))`\r\n transform: scaleX(-1);\r\n cursor: pointer;\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import { Form } from '@rocketseat/unform';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n CanAccess,\r\n Dropdown,\r\n Modal,\r\n SearchBox,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport { format, isAfter } from 'date-fns';\r\nimport produce from 'immer';\r\nimport React, { useEffect, useState } from 'react';\r\nimport {\r\n MdAdd,\r\n MdFileDownload,\r\n MdFilterList,\r\n MdInfo,\r\n MdSearch,\r\n} from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../enums';\r\n\r\nimport { Container } from './styles';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\nimport StatusFilter from '../../components/molecules/StatusFilter';\r\nimport FilterExtendsSegundaVia from '../../components/organisms/FilterExtendsSegundaVia';\r\nimport ModalPesquisaBeneficiarioSegundaVia from '../../components/organisms/ModalPesquisaBeneficiarioSegundaVia';\r\nimport TabTableListaSegundaVia from '../../components/organisms/TabTableListaSegundaVia';\r\nimport { Creators as RequisicaoActions } from '../../store/ducks/requisicao';\r\n\r\nfunction SegundaVia() {\r\n const dispatch = useDispatch();\r\n\r\n const { usuario } = useSelector((state) => state.auth);\r\n const {\r\n postProcessarSegundaVia,\r\n postRelatorioSegundaVia,\r\n getPermissaoSegundaVia,\r\n } = useSelector((state) => state.requisicao);\r\n\r\n const contractorOrAdm =\r\n usuario.role !== 'Adm' ? usuario.codigoContratante : null;\r\n\r\n const filterExtendsParams = {\r\n page: 0,\r\n count_per_page: 10,\r\n is_administrator: usuario.role === 'Adm',\r\n beneficiary_name: null,\r\n contractor_code: contractorOrAdm,\r\n term_number: null,\r\n status: null,\r\n modality: null,\r\n start_requisition_create_at: null,\r\n end_requisition_create_at: null,\r\n start_requisition_processing_date: null,\r\n end_requisition_processing_date: null,\r\n };\r\n const paginationTabParams = {\r\n pageNumber: 1,\r\n pageSize: 10,\r\n };\r\n const reportExtendsParams = {\r\n is_administrator: usuario.role === 'Adm',\r\n beneficiary_name: null,\r\n contractor_code: null,\r\n status: null,\r\n status_string: null,\r\n modality: null,\r\n term_number: null,\r\n requisition_ids: null,\r\n start_requisition_create_at: null,\r\n end_requisition_create_at: null,\r\n start_requisition_processing_date: null,\r\n end_requisition_processing_date: null,\r\n };\r\n const processExtendsParams = {\r\n requisitions: null,\r\n processing_date: null,\r\n user_id: usuario.idUsuarioLogado,\r\n };\r\n\r\n const [processParams, setProcessParams] = useState(processExtendsParams);\r\n const [filterParams, setFilterParams] = useState(filterExtendsParams);\r\n const [paginationParams, setPaginationParams] = useState(paginationTabParams);\r\n const [reportParams, setReportParams] = useState(reportExtendsParams);\r\n const [openFilterExtends, setOpenFilterExtends] = useState(false);\r\n const [inputValue, setInputValue] = useState('');\r\n const [cancelFilterExtendsOpen, setCancelFilterExtendsOpen] = useState(false);\r\n const [status, setStatus] = useState();\r\n const [\r\n isOpenModalPesquisarBeneficiario,\r\n setIsOpenModalPesquisarBeneficiario,\r\n ] = useState(false);\r\n\r\n const [reportsItems, setReportItems] = useState([]);\r\n const [isCheckedAllPages, setIsCheckedAllPages] = useState(false);\r\n const [openModalProcess, setOpenModalProcess] = useState({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n\r\n const [searchBoxActive, setSearchBoxActive] = useState(false);\r\n const [dataProcessamento, setDataProcessamento] = useState(new Date());\r\n\r\n const optionsButtonRelatorios = [\r\n {\r\n onClickOption: () => handleDropdownItemClick('Resumido'),\r\n text: 'Resumido (CSV)',\r\n },\r\n {\r\n onClickOption: () => handleDropdownItemClick('Detalhado'),\r\n text: 'Detalhado (XLSX)',\r\n },\r\n ];\r\n\r\n function ProcessDuplicate() {\r\n const formattedData = format(dataProcessamento, 'yyyy-MM-dd');\r\n const currentTime = format(new Date(), 'HH:mm:ss');\r\n\r\n const newDateProcess = `${formattedData} ${currentTime}`;\r\n\r\n const newProcessParams = produce(processParams, (draft) => {\r\n draft.processing_date = newDateProcess;\r\n draft.requisitions = reportsItems.map((item) => {\r\n return {\r\n beneficiaryId: item.beneficiaryId,\r\n requisitionId: item.requisitionId,\r\n };\r\n });\r\n });\r\n\r\n dispatch(\r\n RequisicaoActions.postSegundaViaProcessarRequest(newProcessParams)\r\n );\r\n }\r\n\r\n function handleDataProcessamento(e) {\r\n if (e.target) return;\r\n setDataProcessamento(e);\r\n }\r\n\r\n function cleanFilterParams() {\r\n setFilterParams(filterExtendsParams);\r\n }\r\n\r\n function handleData(data) {\r\n if (\r\n isAfter(data.dataSolicitacaoAte, new Date()) ||\r\n isAfter(data.dataSolicitacaoDe, new Date()) ||\r\n isAfter(data.dataProcessamentoAte, new Date()) ||\r\n isAfter(data.dataProcessamentoDe, new Date())\r\n ) {\r\n toast.error(\r\n \r\n A Pesquisa por Data não deve ser superior à data atual.\r\n \r\n );\r\n return false;\r\n }\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = 0;\r\n draft.count_per_page = 10;\r\n draft.beneficiary_name = inputValue || null;\r\n draft.contractor_code = contractorOrAdm || data.codigoContratante || null;\r\n draft.modality = data.modalidade || null;\r\n draft.status = status === 99 ? null : status;\r\n draft.term_number = data.termo ? data.termo : null;\r\n draft.start_requisition_create_at = data.dataSolicitacaoDe\r\n ? format(data.dataSolicitacaoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.end_requisition_create_at = data.dataSolicitacaoAte\r\n ? format(data.dataSolicitacaoAte, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.start_requisition_processing_date = data.dataProcessamentoDe\r\n ? format(data.dataProcessamentoDe, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n draft.end_requisition_processing_date = data.dataProcessamentoAte\r\n ? format(data.dataProcessamentoAte, 'MM-dd-yyyy 00:00:00')\r\n : null;\r\n });\r\n\r\n setPaginationParams(paginationTabParams);\r\n setFilterParams(newFilterParams);\r\n return newFilterParams;\r\n }\r\n\r\n function handleCheckBoxAllPagesReport(checkedAllpages) {\r\n setReportItems([]);\r\n setIsCheckedAllPages(checkedAllpages);\r\n }\r\n\r\n function handleSubmit(data) {\r\n const params = handleData(data);\r\n if (params) {\r\n setSearchBoxActive(true);\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(params));\r\n }\r\n }\r\n\r\n function handleFilterExtends() {\r\n setOpenFilterExtends(!openFilterExtends);\r\n }\r\n\r\n function handleInputChange(e) {\r\n setInputValue(e.target.value);\r\n }\r\n\r\n function handleModalProcess() {\r\n const isPendent = reportsItems.filter(\r\n (item) => item.statusDescription === 'Pendente'\r\n );\r\n\r\n if (isAfter(dataProcessamento, new Date())) {\r\n return toast.error(\r\n \r\n A Data de processamento não deve ser superior à data atual.\r\n \r\n );\r\n }\r\n\r\n if (reportsItems.length === 0) {\r\n return toast.error(\r\n \r\n É necessário que pelo menos 1 solicitação seja selecionada.\r\n \r\n );\r\n }\r\n\r\n if (isPendent.length === reportsItems.length) {\r\n return setOpenModalProcess({\r\n warning: !openModalProcess.warning,\r\n message: null,\r\n textHeader: 'cancelar',\r\n onClickOk: () => {\r\n ProcessDuplicate();\r\n },\r\n });\r\n }\r\n setReportItems([]);\r\n return toast.error(\r\n \r\n É necessário que todas as solicitações estejam com status PENDENTE.\r\n \r\n );\r\n }\r\n\r\n const handleChangePage = (paramsPag) => {\r\n if (paramsPag.pageNumber <= 0) {\r\n const newPaginationParams = produce(paginationParams, (draft) => {\r\n draft.pageNumber = 1;\r\n draft.pageSize = paramsPag.pageSize;\r\n });\r\n setPaginationParams(newPaginationParams);\r\n }\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.page = paramsPag.pageNumber <= 0 ? 0 : paramsPag.pageNumber - 1;\r\n draft.count_per_page = paramsPag.pageSize;\r\n draft.status = status === 99 ? null : status;\r\n });\r\n\r\n const params = {\r\n ...filterParams,\r\n ...newFilterParams,\r\n };\r\n setFilterParams(params);\r\n\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(newFilterParams));\r\n };\r\n\r\n function handleDropdownItemClick(item) {\r\n if (reportsItems.length === 0 && !isCheckedAllPages) {\r\n return toast.error(\r\n \r\n Nenhuma solicitação de segunda via selecionada para a geração do\r\n relatório.\r\n \r\n );\r\n }\r\n\r\n const statusName = {\r\n 99: null,\r\n 1: 'Pendente',\r\n 2: 'Processado',\r\n 4: 'Excluída',\r\n 5: 'Não Processado',\r\n };\r\n\r\n if (isCheckedAllPages) {\r\n const newReportParams = produce(reportParams, (draft) => {\r\n draft.beneficiary_name = inputValue;\r\n draft.contractor_code = filterParams.contractor_code;\r\n draft.status = filterParams.status;\r\n draft.status_string = statusName[filterParams.status];\r\n draft.modality = filterParams.modality;\r\n draft.term_number = filterParams.term_number;\r\n draft.start_requisition_create_at =\r\n filterParams.start_requisition_create_at;\r\n draft.end_requisition_create_at =\r\n filterParams.end_requisition_create_at;\r\n draft.start_requisition_processing_date =\r\n filterParams.start_requisition_processing_date;\r\n draft.end_requisition_processing_date =\r\n filterParams.end_requisition_processing_date;\r\n });\r\n\r\n const params = {\r\n ...newReportParams,\r\n tipoRelatorio: item,\r\n };\r\n\r\n return dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaRequest(params)\r\n );\r\n }\r\n const newReportParams = produce(reportParams, (draft) => {\r\n draft.status = filterParams.status;\r\n draft.status_string = statusName[filterParams.status];\r\n draft.requisition_ids = reportsItems.map(\r\n (requisition) => requisition.requisitionId\r\n );\r\n draft.beneficiary_name = inputValue;\r\n draft.contractor_code = filterParams.contractor_code;\r\n draft.modality = filterParams.modality;\r\n draft.term_number = filterParams.term_number;\r\n draft.start_requisition_create_at =\r\n filterParams.start_requisition_create_at;\r\n draft.end_requisition_create_at = filterParams.end_requisition_create_at;\r\n draft.start_requisition_processing_date =\r\n filterParams.start_requisition_processing_date;\r\n draft.end_requisition_processing_date =\r\n filterParams.end_requisition_processing_date;\r\n });\r\n\r\n const params = {\r\n ...newReportParams,\r\n tipoRelatorio: item,\r\n };\r\n\r\n return dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaRequest(params)\r\n );\r\n }\r\n\r\n function downloadFile(base64, filename, mediaType) {\r\n const temp = `data:${mediaType};base64,${encodeURIComponent(base64)}`;\r\n const download = document.createElement('a');\r\n download.href = temp;\r\n download.download = filename;\r\n document.body.appendChild(download);\r\n download.click();\r\n document.body.removeChild(download);\r\n }\r\n const handleStatus = (status) => {\r\n setStatus(status);\r\n setSearchBoxActive(false);\r\n\r\n const newFilterParams = produce(filterParams, (draft) => {\r\n draft.status = status === 99 ? null : status;\r\n draft.page = 0;\r\n draft.count_per_page = 10;\r\n });\r\n setPaginationParams(paginationTabParams);\r\n setFilterParams(newFilterParams);\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(newFilterParams));\r\n };\r\n\r\n useEffect(() => {\r\n if (usuario.role !== 'Adm') {\r\n dispatch(\r\n RequisicaoActions.getPermissaoSegundaViaRequest(\r\n usuario.codigoContratante\r\n )\r\n );\r\n }\r\n }, [dispatch, usuario]);\r\n useEffect(() => {\r\n if (!postRelatorioSegundaVia.loading && postRelatorioSegundaVia.success) {\r\n if (postRelatorioSegundaVia.response.fileContents !== '') {\r\n downloadFile(\r\n postRelatorioSegundaVia.response.fileContents,\r\n postRelatorioSegundaVia.response.fileDownloadName,\r\n postRelatorioSegundaVia.response.contentType\r\n );\r\n\r\n handleCheckBoxAllPagesReport(false);\r\n dispatch(\r\n RequisicaoActions.postSolicitarRelatorioSegundaViaSuccess(\r\n false,\r\n false\r\n )\r\n );\r\n }\r\n }\r\n }, [postRelatorioSegundaVia.loading, postRelatorioSegundaVia.response]);\r\n\r\n useEffect(() => {\r\n if (postProcessarSegundaVia.response.success) {\r\n setOpenModalProcess({\r\n warning: false,\r\n message: '',\r\n textHeader: '',\r\n onClickOk: null,\r\n });\r\n setReportItems([]);\r\n dispatch(RequisicaoActions.postSegundaViaProcessarSuccess({}, false));\r\n dispatch(RequisicaoActions.postSegundaViaCartaoRequest(filterParams));\r\n }\r\n }, [postProcessarSegundaVia.success]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {getPermissaoSegundaVia.response === true && (\r\n \r\n setIsOpenModalPesquisarBeneficiario(true)}\r\n >\r\n \r\n nova solicitação\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n Gerar relatório\r\n \r\n \r\n \r\n \r\n history.push('/novo/segunda-via'),\r\n },\r\n ]}\r\n />\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n {!status && !searchBoxActive ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n {\r\n handleModalProcess();\r\n }}\r\n header={\r\n \r\n \r\n \r\n }\r\n isOpen={openModalProcess.warning}\r\n footer={\r\n {\r\n handleModalProcess();\r\n }}\r\n onClickOk={() => {\r\n openModalProcess.onClickOk();\r\n }}\r\n isLoading={postProcessarSegundaVia.loading}\r\n />\r\n }\r\n >\r\n {postProcessarSegundaVia.loading ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n 9\r\n ? `${reportsItems.length}`\r\n : `0${reportsItems.length}`\r\n } \r\n solicitaç${\r\n reportsItems.length > 1 ? 'ões' : 'ão'\r\n } para processamento. `}\r\n />\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \r\n \r\n }\r\n isOpen={postRelatorioSegundaVia.loading}\r\n footer={<>}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n setIsOpenModalPesquisarBeneficiario(false)}\r\n />\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nconst ModalCancelActionFooter = ({ onClick, isLoading, onClickOk }) => {\r\n return (\r\n <>\r\n \r\n Não\r\n \r\n \r\n Sim\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SegundaVia;\r\n","import styled, { css } from 'styled-components';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 3%;\r\n`;\r\nexport const CardPersonalInformation = styled.div`\r\n background-color: #fff;\r\n width: '100%';\r\n padding: 10px;\r\n border-bottom: 1px solid ${theme.greenDefault};\r\n`;\r\nexport const Content = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n height: 100%;\r\n background-color: ${theme.white};\r\n align-items: center;\r\n`;\r\n\r\nexport const DisplayInfo = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n margin: 16px 0px;\r\n`;\r\nexport const CustomButton = styled.div`\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n padding: 10px 20px;\r\n border: 1px solid ${(props) => props.border || 'black'};\r\n border-radius: 4px;\r\n color: ${(props) => props.color || 'black'};\r\n background-color: ${(props) => props.background || '#fff'};\r\n font-weight: 400;\r\n\r\n &:hover {\r\n filter: brightness(0.95);\r\n }\r\n`;\r\n\r\nexport const CadastrarListaLegacyLink = styled.a`\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n`;\r\nexport const HoverActions = styled.div`\r\n padding: 5px;\r\n margin-right: 10px;\r\n &:hover {\r\n background-color: ${theme.greenDefault};\r\n border-radius: 5px;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n word-break: normal;\r\n\r\n svg {\r\n color: #fff !important;\r\n\r\n /* path {\r\n fill: #fff !important;\r\n } */\r\n }\r\n }\r\n`;\r\n","import { Title, WrapperFlex } from '@unimed-fesp/components';\r\nimport React from 'react';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport { CardPersonalInformation } from './styles';\r\n\r\nimport { InfoDisplayItem } from '../../components/atoms/InfoDisplayItem';\r\n\r\nfunction DetalheSolicitacao({ data }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default DetalheSolicitacao;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n padding: 10px;\r\n display: flex;\r\n width: auto;\r\n align-items: flex-start;\r\n align-items: center;\r\n color: #808080;\r\n flex-direction: column;\r\n\r\n div {\r\n justify-content: flex-end;\r\n }\r\n\r\n ${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid #c1bbbb`};\r\n\r\n ${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n\r\n ${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n\r\n ${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n\r\n ${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n\r\n ${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n cursor: not-allowed;\r\n `\r\n : null};\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1\r\n ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n\r\nexport const HiddenInput = styled.input`\r\n display: none;\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n width: 31px;\r\n border-left: 1px solid #c1bbbb;\r\n border-top: 1px solid #c1bbbb;\r\n height: 29px;\r\n align-items: center;\r\n text-align: center;\r\n padding-top: 3px;\r\n background-color: #fff;\r\n border-radius: 0px 5px 5px 0px;\r\n border-bottom: 1px solid #c1bbbb;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n display: flex;\r\n justify-content: space-evenly;\r\n align-items: center;\r\n`;\r\n","import { Form } from '@rocketseat/unform';\r\nimport {\r\n Breadcrumbs,\r\n Button,\r\n Table,\r\n TableCell,\r\n TableHeader,\r\n TableRow,\r\n Text,\r\n Title,\r\n WrapperFlex,\r\n} from '@unimed-fesp/components';\r\nimport format from 'date-fns/format';\r\nimport produce from 'immer';\r\nimport React from 'react';\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { WarningToast } from '../../components/molecules/Toast';\r\nimport history from '../../services/history';\r\nimport theme from '../../styles/theme';\r\n\r\nimport { isAdmin } from '../../utils/userRole';\r\n\r\nimport { CardPersonalInformation, Container } from './styles';\r\n\r\nimport FadeIn from '../../components/atoms/FadeIn';\r\n\r\nimport LoadingSpinner from '../../components/molecules/LoadingSpinning';\r\n\r\nimport { Creators as RequisicaoActions } from '../../store/ducks/requisicao';\r\nimport { downloadFile } from '../../utils/base64';\r\nimport DetalheSolicitacao from './DetalheSolicitacao';\r\nimport FormSolicitacao from './FormSolicitacao';\r\nimport { ModalSolicitacoes } from './ModalSolicitacoes';\r\nimport { ModalSuccess } from './ModalSuccess';\r\n\r\nfunction SolicitacaoSegundaVia({ match }) {\r\n const {\r\n getSegundaViaCartao,\r\n getAnexoSegundaVia,\r\n putSegundaViaCartao,\r\n postSegundaViaCartao,\r\n } = useSelector((state) => state.requisicao);\r\n const { usuario } = useSelector((state) => state.auth);\r\n\r\n const { idSolicitacao } = match.params;\r\n const { state, pathname } = history.location;\r\n\r\n const dispatch = useDispatch();\r\n\r\n const updateSolicitationParams = {\r\n requisition_id: 0,\r\n reason_code: 0,\r\n description: null,\r\n status_code: null,\r\n user_id: usuario.idUsuarioLogado,\r\n beneficiary_id: 0,\r\n attachment: null,\r\n name_attachment: null,\r\n is_need_attachment: false,\r\n };\r\n\r\n const newSolicitationParams = {\r\n request_user_id: usuario.idUsuarioLogado,\r\n document_number: null,\r\n wallet_number: null,\r\n beneficiary_requisition_filter: null,\r\n beneficiary_id: null,\r\n request_reason_id: null,\r\n request_type_id: 1,\r\n request_status_id: 1,\r\n description: null,\r\n attachment: null,\r\n name_attachment: null,\r\n is_need_attachment: false,\r\n };\r\n\r\n const [updateSolicitation, setUpdateSolicitation] = useState(\r\n updateSolicitationParams\r\n );\r\n const [deleteAttachment, setDeleteAttachment] = useState(false);\r\n const [newSolicitation, setNewSolicitation] = useState(newSolicitationParams);\r\n const [files, setFiles] = useState(null);\r\n const [openModal, setOpenModal] = useState(false);\r\n const [message, setMessage] = useState(null);\r\n const [openModalSuccess, setOpenModalSuccess] = useState({\r\n success: false,\r\n message: '',\r\n });\r\n\r\n const getActionLabel = () => {\r\n if (pathname.includes('editar')) {\r\n return 'Editar Solicitação';\r\n }\r\n if (pathname.includes('detalhe')) {\r\n return 'Detalhes da Solicitação';\r\n }\r\n if (pathname.includes('solicitar')) {\r\n return 'Nova Solicitação';\r\n }\r\n return '';\r\n };\r\n const actionLabel = getActionLabel();\r\n\r\n useEffect(() => {\r\n if (pathname.includes('solicitar') && !state) {\r\n return history.push({\r\n pathname: `/novo/segunda-via/`,\r\n });\r\n }\r\n\r\n if (actionLabel !== 'Nova Solicitação') {\r\n if (\r\n !state?.data?.requisitionId ||\r\n state.data.user.role !== usuario.role ||\r\n usuario.codigoContratante !== state.data.user.codigoContratante\r\n ) {\r\n return history.push({\r\n pathname: `/novo/segunda-via/`,\r\n });\r\n }\r\n dispatch(\r\n RequisicaoActions.postSegundaViaBuscarPorIdRequest({\r\n requisition_id: state?.data?.requisitionId,\r\n contractor_code: isAdmin(usuario.role)\r\n ? null\r\n : usuario.codigoContratante,\r\n })\r\n );\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n actionLabel === 'Editar Solicitação' &&\r\n (getSegundaViaCartao.response.statusDescription === 'Processado' ||\r\n getSegundaViaCartao.response.statusDescription === 'Não Processado')\r\n ) {\r\n history.push({\r\n pathname: `/novo/segunda-via/${idSolicitacao}/detalhe`,\r\n state: state?.data,\r\n });\r\n }\r\n }, [getSegundaViaCartao.response]);\r\n\r\n useEffect(() => {\r\n if (!getAnexoSegundaVia.loading && getAnexoSegundaVia.success) {\r\n if (\r\n getAnexoSegundaVia.response !== '' &&\r\n getAnexoSegundaVia.response.sucess !== 'ok'\r\n ) {\r\n const extension = getSegundaViaCartao?.response?.nameAttachment\r\n ?.split('.')\r\n .pop();\r\n\r\n downloadFile(\r\n getAnexoSegundaVia.response,\r\n getSegundaViaCartao?.response?.nameAttachment,\r\n extension\r\n );\r\n }\r\n dispatch(RequisicaoActions.getSegundaViaAnexoSuccess(false, false));\r\n }\r\n }, [getAnexoSegundaVia.loading, getAnexoSegundaVia.response]);\r\n\r\n useEffect(() => {\r\n if (\r\n typeof postSegundaViaCartao.response === 'number' &&\r\n postSegundaViaCartao.success\r\n ) {\r\n handleModalSuccess('nova');\r\n dispatch(RequisicaoActions.postSolicitarSegundaViaSuccess(false, {}));\r\n }\r\n }, [postSegundaViaCartao.response]);\r\n\r\n useEffect(() => {\r\n if (\r\n putSegundaViaCartao.response.success &&\r\n deleteAttachment &&\r\n getAnexoSegundaVia.response.sucess === 'ok'\r\n ) {\r\n handleModalSuccess('update');\r\n dispatch(RequisicaoActions.putSegundaViaUpdateSuccess(false, {}));\r\n dispatch(RequisicaoActions.getSegundaViaAnexoSuccess(false, {}));\r\n }\r\n\r\n if (putSegundaViaCartao.response.success) {\r\n handleModalSuccess('update');\r\n dispatch(RequisicaoActions.putSegundaViaUpdateSuccess(false, {}));\r\n }\r\n }, [putSegundaViaCartao.response.success]);\r\n\r\n const handleSubmit = (data) => {\r\n const reason = {\r\n 'Furto/Roubo com boletim de ocorrência': 15,\r\n 'Furto/Roubo sem boletim de ocorrência': 8,\r\n 'Nova via com cobrança de dados': 12,\r\n 'Problemas na tarja autorizada': 13,\r\n Perda: 14,\r\n };\r\n const statusCode = {\r\n Pendente: 1,\r\n Processado: 2,\r\n 'Não Processado': 5,\r\n };\r\n\r\n if (\r\n reason[data.requisitionReason] === 15 &&\r\n !getSegundaViaCartao?.response?.nameAttachment &&\r\n !files\r\n ) {\r\n return toast.error(\r\n \r\n Para o motivo selecionado é necessário incluir um anexo.\r\n \r\n );\r\n }\r\n\r\n if (actionLabel === 'Editar Solicitação') {\r\n const newUpdateSolicitationParams = produce(\r\n updateSolicitation,\r\n (draft) => {\r\n draft.requisition_id = idSolicitacao;\r\n draft.reason_code = reason[data.requisitionReason];\r\n draft.description = data.description ? data.description : null;\r\n draft.status_code = statusCode[data.status];\r\n draft.is_need_attachment =\r\n !getSegundaViaCartao?.response?.nameAttachment &&\r\n reason[data.requisitionReason] === 15;\r\n\r\n draft.beneficiary_id = getSegundaViaCartao?.response?.beneficiaryId;\r\n\r\n if (reason[data.requisitionReason] === 15 && files) {\r\n draft.attachment = files.base64Data;\r\n draft.name_attachment = files.fileName;\r\n } else {\r\n draft.attachment = null;\r\n draft.name_attachment = null;\r\n }\r\n }\r\n );\r\n setUpdateSolicitation(newUpdateSolicitationParams);\r\n if (deleteAttachment || newUpdateSolicitationParams.reasonCode !== 15) {\r\n dispatch(RequisicaoActions.deleteSegundaViaAnexoRequest(idSolicitacao));\r\n }\r\n return dispatch(\r\n RequisicaoActions.putSegundaViaUpdateRequest(\r\n newUpdateSolicitationParams\r\n )\r\n );\r\n }\r\n const solicitationParams = produce(newSolicitation, (draft) => {\r\n draft.beneficiary_id = state.data.beneficiaryId;\r\n draft.document_number = state.data.documentNumber;\r\n draft.wallet_number = state.data.beneficiaryUniqueCode.substring(4);\r\n draft.beneficiary_requisition_filter =\r\n state.data.beneficiary_requisition_filter;\r\n draft.request_reason_id = reason[data.requisitionReason];\r\n draft.description = data.description ? data.description : null;\r\n if (reason[data.requisitionReason] === 15 && files) {\r\n draft.attachment = files.base64Data;\r\n draft.name_attachment = files.fileName;\r\n draft.is_need_attachment = true;\r\n } else {\r\n draft.attachment = null;\r\n draft.name_attachment = null;\r\n draft.is_need_attachment = false;\r\n }\r\n });\r\n setNewSolicitation(solicitationParams);\r\n\r\n dispatch(\r\n RequisicaoActions.postSolicitarSegundaViaRequest(solicitationParams)\r\n );\r\n };\r\n\r\n const handleFiles = (file) => {\r\n setFiles(file);\r\n };\r\n\r\n const handleDeleteSolicitation = () => {\r\n const params = {\r\n requisitionId: idSolicitacao,\r\n userId: usuario.idUsuarioLogado,\r\n };\r\n\r\n dispatch(RequisicaoActions.deleteSegundaViaRequest(params));\r\n };\r\n\r\n const handleDeleteAttachment = () => {\r\n const newData = { ...getSegundaViaCartao.response };\r\n delete newData.nameAttachment;\r\n setDeleteAttachment(true);\r\n dispatch(RequisicaoActions.postSegundaViaCartaoSuccess(newData, true));\r\n handleModalSuccess('anexo');\r\n };\r\n\r\n const handleDownloadAttachment = () => {\r\n dispatch(RequisicaoActions.getSegundaViaAnexoRequest(idSolicitacao));\r\n };\r\n\r\n const handleModalSuccess = (type) => {\r\n const typeModal = {\r\n update: 'Solicitação Atualizada!',\r\n anexo: 'Anexo Removido!',\r\n nova: 'Uma Nova Solicitação Foi Registrada.',\r\n };\r\n\r\n if (type === 'nova') {\r\n return setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: typeModal[type],\r\n onClick: () =>\r\n history.push({\r\n pathname: `/novo/segunda-via/`,\r\n }),\r\n });\r\n }\r\n if (type === 'anexo') {\r\n return setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: typeModal[type],\r\n onClick: () => setOpenModalSuccess(false),\r\n });\r\n }\r\n\r\n return setOpenModalSuccess({\r\n success: !openModalSuccess.success,\r\n message: typeModal[type],\r\n onClick: () => history.go(0),\r\n });\r\n };\r\n\r\n if (getSegundaViaCartao.loading) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push({\r\n pathname: `/novo/segunda-via/`,\r\n state: state?.filter || null,\r\n }),\r\n },\r\n {\r\n path: actionLabel,\r\n },\r\n ]}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push({\r\n pathname: `/novo/segunda-via/`,\r\n state: state?.filter || null,\r\n }),\r\n },\r\n {\r\n path: actionLabel,\r\n },\r\n ]}\r\n />\r\n \r\n \r\n
    \r\n setOpenModal(true)}\r\n actionLabel={actionLabel}\r\n handleFiles={handleFiles}\r\n files={files}\r\n onDeleteAttachment={handleDeleteAttachment}\r\n onDownloadAttachment={handleDownloadAttachment}\r\n />\r\n \r\n\r\n {actionLabel !== 'Nova Solicitação' && (\r\n \r\n \r\n \r\n\r\n \r\n }\r\n >\r\n {getSegundaViaCartao?.response?.requisitionChats?.map(\r\n (message) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default SolicitacaoSegundaVia;\r\n\r\nconst TableListaHeader = ({ listNameHeaders }) => {\r\n return (\r\n \r\n {listNameHeaders.map((header) => (\r\n \r\n {header.name}\r\n \r\n ))}\r\n \r\n );\r\n};\r\nconst TableContent = ({ data }) => {\r\n const formatDate = (date) => {\r\n const dataFormated = date\r\n ? format(new Date(date), 'dd/MM/yyyy HH:mm', {\r\n timeZone: 'America/Sao_Paulo',\r\n })\r\n : '';\r\n return dataFormated;\r\n };\r\n return (\r\n \r\n {data.loginName}\r\n {formatDate(data.createdAt)}\r\n {data.dialog}\r\n \r\n );\r\n};\r\n","import { TipoPerfilUsuarioEnum } from '../enums';\r\n\r\n// #region Import Pages\r\nimport ListasConsulta from '../pages/ListasConsulta';\r\nimport ListasDetalhe from '../pages/ListasDetalhe';\r\n\r\nimport Configuracoes from '../pages/Configuracoes';\r\nimport DetalheDocumentos from '../pages/DetalheDocumentos';\r\nimport DetalheDocumentosInativos from '../pages/DetalheDocumentosInativos';\r\nimport ListasMassaInicial from '../pages/ListasMassaInicial';\r\nimport ListasRPA from '../pages/ListasRPA';\r\nimport RelatorioNestle from '../pages/RelatorioNestle';\r\nimport Unauthorized from '../pages/Unauthorized';\r\nimport UsuarioDetalhe from '../pages/UsuarioDetalhe';\r\nimport UsuarioGestao from '../pages/UsuarioGestao';\r\nimport UsuarioNovo from '../pages/UsuarioNovo';\r\n\r\nimport ConsultaBeneficiariosNestle from '../pages/ConsultaBeneficiariosNestle';\r\nimport DetalheBeneficiariosNestle from '../pages/DetalheBeneficiariosNestle';\r\nimport EditParametro from '../pages/EditParametro';\r\nimport ListaInativo from '../pages/ListaInativo';\r\nimport ListaInativoDetalhe from '../pages/ListaInativoDetalhe';\r\nimport Parametros from '../pages/Parametros';\r\nimport ProcessamentoRelatorio from '../pages/ProcessamentoRelatorio';\r\nimport RelatorioBeneficiarios from '../pages/RelatorioBeneficiarios';\r\nimport SegundaVia from '../pages/SegundaVia';\r\nimport SolicitacaoSegundaVia from '../pages/SolicitacaoSegundaVia';\r\n// #endregion\r\n\r\nexport const routes = [\r\n // { id: 1, url: '/error', component: ErrorPage },\r\n { id: 1, url: '/unauthorized', component: Unauthorized },\r\n\r\n // {\r\n // id: 3,\r\n // url: '/consulta-beneficiario',\r\n // component: ConsultaBeneficiarioPage,\r\n // },\r\n // { id: 4, url: '/pagina-inicial', component: PaginaInicial },\r\n // { id: 2, url: '/login', component: LoginPage, isPrivate: false },\r\n { id: 5, url: '/lista', component: ListasConsulta, isPrivate: true },\r\n {\r\n id: 6,\r\n url: '/lista/importar-lote',\r\n component: ListasDetalhe,\r\n isPrivate: true,\r\n // roles: [\r\n // TipoPerfilUsuarioEnum.returnNameForName.ContratanteAlteracao,\r\n // TipoPerfilUsuarioEnum.returnNameForName.ContratanteConsulta,\r\n // ],\r\n },\r\n // { id: 7, url: '/segunda-via', component: SegundaVia },\r\n // { id: 8, url: '/configuracao', component: Configuracoes },\r\n // { id: 9, url: '/ajuda', component: AjudaPage },\r\n // { id: 10, url: '/nova-lista', component: NovaListaPage },\r\n // { id: 11, url: '/nova-solicitacao', component: NovaSolicitacaoPage },\r\n {\r\n id: 12,\r\n url: '/gestao',\r\n component: UsuarioGestao,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 13,\r\n url: '/gestao/novo-usuario/:perfilNovoUsuario',\r\n component: UsuarioNovo,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 14,\r\n url: '/gestao/detalhe-usuario/:idUsuario',\r\n component: UsuarioDetalhe,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 15,\r\n url: '/configuracoes',\r\n component: Configuracoes,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 16,\r\n url: '/listas-rpa',\r\n component: ListasRPA,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 17,\r\n url: '/listas-massa-inicial',\r\n component: ListasMassaInicial,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 18,\r\n url: '/lista/:idLista/detalhe-documentos',\r\n component: DetalheDocumentos,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 19,\r\n url: '/parametros',\r\n component: Parametros,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 20,\r\n url: '/parametros/editar/:nomeParametrizacao',\r\n component: EditParametro,\r\n isPrivate: true,\r\n roles: [TipoPerfilUsuarioEnum.returnNameForName.Adm],\r\n },\r\n {\r\n id: 21,\r\n url: '/listainativo/:idLista',\r\n component: ListaInativo,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 22,\r\n url: '/listainativo/:idLista/detalhe',\r\n component: ListaInativoDetalhe,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 23,\r\n url: '/listainativo/:idLista/documentos',\r\n component: DetalheDocumentosInativos,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 24,\r\n url: '/relatorio-nestle',\r\n component: RelatorioNestle,\r\n },\r\n {\r\n id: 25,\r\n url: '/beneficiarios-nestle',\r\n component: ConsultaBeneficiariosNestle,\r\n },\r\n {\r\n id: 26,\r\n url: '/beneficiarios-nestle/:codigoCartao',\r\n component: DetalheBeneficiariosNestle,\r\n },\r\n\r\n /* {\r\n id: 27,\r\n url: '/segunda-via',\r\n component: SegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 28,\r\n url: '/segunda-via/solicitar',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 29,\r\n url: '/segunda-via/:idSolicitacao/editar',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 30,\r\n url: '/segunda-via/:idSolicitacao/detalhe',\r\n component: SolicitacaoSegundaVia,\r\n isPrivate: true,\r\n }, */\r\n {\r\n id: 31,\r\n url: '/relatorio-beneficiario',\r\n component: RelatorioBeneficiarios,\r\n isPrivate: true,\r\n },\r\n {\r\n id: 31,\r\n url: '/processamento-relatorio',\r\n component: ProcessamentoRelatorio,\r\n isPrivate: true,\r\n },\r\n];\r\n","import styled, { css, keyframes } from 'styled-components';\r\n\r\nconst rotate360 = keyframes`\r\n from {\r\n transform: rotate(0deg)\r\n }\r\n to {\r\n transform: rotate(360deg)\r\n }\r\n`;\r\n\r\nexport const Spinner = styled.svg`\r\n animation: ${rotate360} 1s steps(8) infinite;\r\n\r\n ${({ button, small }) =>\r\n button && small\r\n ? css`\r\n height: 20px;\r\n `\r\n : button\r\n ? css`\r\n height: 30px;\r\n `\r\n : ''}\r\n\r\n @media (max-width: 768px) {\r\n ${({ button }) =>\r\n !button\r\n ? css`\r\n height: 30px;\r\n `\r\n : ''}\r\n }\r\n`;\r\n\r\nexport const ContainerEmptyContent = styled.div`\r\n text-align: left;\r\n font: 300 16px 'Calibri';\r\n letter-spacing: 1.12px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n\r\n svg {\r\n animation: ${rotate360} 2s linear infinite;\r\n }\r\n`;\r\n","import React from 'react';\r\n\r\nimport { AiOutlineLoading3Quarters } from 'react-icons/ai';\r\nimport theme from '../../../styles/theme';\r\nimport WrapperFlex from '../../molecules/WrapperFlex';\r\nimport { ContainerEmptyContent } from './styles';\r\n\r\nexport default function LoadingIcon({ marginLeft, marginTop, width, size }) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Redirect, Route } from 'react-router-dom';\r\n// import { Container } from './styles';\r\nimport history from '../services/history';\r\nimport { isContratante, isAdmin } from '../utils/userRole';\r\n\r\nimport { Creators as AuthActions } from '../store/ducks/auth';\r\nimport LoadingIcon from '../components/Icons/LoadingIcon';\r\nimport {\r\n getTokenAuthenticated,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getUserData,\r\n} from '../services/auth';\r\n\r\nconst { REACT_APP_MOVCAD_LEGACY } = process.env;\r\n\r\nconst ProtectedRoute = ({\r\n component: Component,\r\n isPrivate,\r\n roles,\r\n ...rest\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { loggedIn, usuario } = useSelector((state) => state.auth);\r\n\r\n if (loggedIn && isPrivate && !isAccessTokenValid() && getRefreshToken()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getUserData()));\r\n }\r\n\r\n if (!loggedIn && isPrivate) {\r\n if (getUserData() && getTokenAuthenticated() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n\r\n return ;\r\n }\r\n\r\n // if (process.env.NODE_ENV === 'development') {\r\n // return ;\r\n // }\r\n\r\n // window.location.replace(`${REACT_APP_MOVCAD_LEGACY}/Login.aspx`);\r\n }\r\n\r\n if (roles && !roles.includes(usuario.role))\r\n return (\r\n (\r\n \r\n )}\r\n />\r\n );\r\n\r\n return (\r\n \r\n loggedIn ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default ProtectedRoute;\r\n","import styled, { css } from 'styled-components';\r\nimport { Link } from '@unimed-fesp/components';\r\nimport ImagemLogin from '../../assets/images/login/imagem-login.svg';\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n`;\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-top: 3%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n`;\r\n\r\nexport const AutenticacaoStructure = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n\r\n img {\r\n padding: 5% 16.5% 0 60px;\r\n }\r\n`;\r\n\r\nexport const ImageStructure = styled.div`\r\n background: url(${ImagemLogin});\r\n background-repeat: no-repeat;\r\n background-position: bottom;\r\n background-position-x: left;\r\n background-size: cover;\r\n background-color: #ffff;\r\n`;\r\nexport const EsqueciMinhaSenhaContainer = styled.div`\r\n display: flex;\r\n margin-top: 50px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nexport const LoginLink = styled(Link).attrs((props) => ({\r\n login: true,\r\n title: props.title,\r\n}))`\r\n font: normal normal normal 13px 'unimed_slabbold';\r\n letter-spacing: 0.26px;\r\n color: ${theme.grey} !important;\r\n font-family: unimed_slabbold;\r\n &:hover {\r\n text-decoration: none;\r\n color: ${theme.greenLink} !important;\r\n }\r\n`;\r\n\r\nexport const DificuldadesAcessoContainer = styled.div`\r\n display: flex;\r\n margin-left: 104px;\r\n`;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n text-align: left;\r\n height: 80px;\r\n\r\n padding: ${({ padding }) => padding || `10.12px 16.5% 0 60px `};\r\n\r\n ${({ marginBottom }) =>\r\n marginBottom &&\r\n css`\r\n margin-bottom: ${marginBottom};\r\n `}\r\n`;\r\n\r\nexport const TitlePage = styled.h1`\r\n color: #5a5a5a;\r\n font-family: 'unimed_slabbold';\r\n justify-content: start;\r\n margin-bottom: -5px;\r\n padding: 0;\r\n font-size: 54px;\r\n`;\r\n\r\nexport const SubtitlePage = styled.span`\r\n font-size: 16px !important;\r\n color: #a1a1a1;\r\n line-height: 1px;\r\n font-family: 'unimed_slabregular' !important;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Title } from '@unimed-fesp/components';\r\n\r\nimport { Container } from './styles';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport default function SectionHeader({\r\n sectionName,\r\n subtextSectionName,\r\n marginBottom,\r\n padding,\r\n}) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n ${({ errorUsuario }) =>\r\n errorUsuario\r\n ? css`\r\n label:first-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n label:last-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''} \r\n`\r\n\r\nexport const AutenticacaoActionsDescription = styled.span`\r\n font-size: 13px;\r\n color: #808080;\r\n cursor: pointer;\r\n text-align: left;\r\n font-family: 'unimed_slabregular';\r\n padding-right: 32.5%;\r\n\r\n &:hover {\r\n color: #00995D\r\n }\r\n`;","import React, { useState, useEffect, useRef } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport produce from 'immer';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { TextField, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { isEmail } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormLogin({ loginParams, setLoginParams, formRef, marginTop }) {\r\n const { postLogin } = useSelector((state) => state.auth);\r\n const registerUsuario = useField('usuario').registerField;\r\n const registerSenha = useField('senha').registerField;\r\n const errorUsuario = useField('usuario').error;\r\n const errorSenha = useField('senha').error;\r\n const [showOnBlur, setShowOnBlur] = useState(false);\r\n\r\n function handleInput(e, status) {\r\n const newLoginParams = produce(loginParams, (draft) => {\r\n if (draft[status] !== e.target.value) {\r\n draft[status] = e.target.value;\r\n }\r\n });\r\n\r\n setLoginParams(newLoginParams);\r\n }\r\n\r\n function validateUsuario(e) {\r\n if (formRef) {\r\n setShowOnBlur(true);\r\n if (!e.target.value) {\r\n formRef.setFieldError('usuario', 'O e-mail é obrigatório');\r\n } else if (!isEmail(e.target.value))\r\n formRef.setFieldError('usuario', 'E-mail inválido');\r\n else {\r\n formRef.setFieldError('usuario', null);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (postLogin.error && postLogin.error.status === 403) {\r\n formRef.setFieldError('senha', 'Problemas na autenticação.');\r\n formRef.setFieldError('usuario', ' ');\r\n } else if (postLogin.error) {\r\n formRef.setFieldError(\r\n 'senha',\r\n 'Usuario ou Senha incorreta. Tente novamente.'\r\n );\r\n formRef.setFieldError('usuario', ' ');\r\n }\r\n }, [postLogin.error]);\r\n\r\n useEffect(() => {\r\n if (loginParams.usuario) setShowOnBlur(true);\r\n }, [loginParams.usuario]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {\r\n validateUsuario(event);\r\n }}\r\n onChange={(event) => {\r\n handleInput(event, 'usuario');\r\n }}\r\n register={registerUsuario}\r\n error={errorUsuario}\r\n errorMessage={errorUsuario}\r\n showIconSuccess={showOnBlur}\r\n />\r\n {\r\n handleInput(event, 'senha');\r\n }}\r\n register={registerSenha}\r\n error={errorSenha}\r\n errorMessage={errorSenha}\r\n />\r\n \r\n \r\n {/* \r\n \r\n esqueci minha senha\r\n \r\n */}\r\n \r\n );\r\n}\r\n\r\nexport default FormLogin;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Text } from '@unimed-fesp/components';\r\nimport { Form } from '@unform/web';\r\nimport * as Yup from 'yup';\r\n\r\nimport {\r\n USER_KEY,\r\n getUserData,\r\n excludeData,\r\n getLocalObj,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\n// #region Componentes\r\nimport LoadingIcon from '../../components/Icons/LoadingIcon';\r\nimport FormLogin from '../../components/organisms/FormLogin';\r\n// #endregion\r\n\r\nimport {\r\n LoginLink,\r\n EsqueciMinhaSenhaContainer,\r\n DificuldadesAcessoContainer,\r\n} from './styles';\r\n\r\nconst { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n\r\nfunction LoginPart() {\r\n const { usuario, loggedIn, postLogin } = useSelector((state) => state.auth);\r\n\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n\r\n const loginData = {\r\n usuario: queryEmail || '',\r\n senha: '',\r\n };\r\n\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n const [loginParams, setLoginParams] = useState(loginData);\r\n\r\n async function handleSubmitLogin(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n usuario: Yup.string()\r\n .email('E-mail inválido')\r\n .required('O e-mail é obrigatório'),\r\n senha: Yup.string().trim().required('A senha é obrigatória'),\r\n });\r\n\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n const formLoginParams = {\r\n userId: data.usuario,\r\n password: data.senha.trim(),\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(formLoginParams));\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n function handleFormForgottenPassword() {\r\n history.push('/novo/login/redefinir-senha');\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.changePassword)\r\n history.push('/novo/recuperar-senha', { isChangePassword: true });\r\n }, [usuario.changePassword]);\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n return (\r\n
    \r\n \r\n \r\n conectar\r\n \r\n {postLogin.loading && (\r\n \r\n )}\r\n \r\n \r\n \r\n clique aqui para redefini-la\r\n \r\n \r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default LoginPart;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n margin-left: 56px;\r\n\r\n ${({ error }) =>\r\n !error\r\n ? css`\r\n background-color: ${theme.yellowInfo};\r\n `\r\n : css`\r\n background-color: ${theme.lightPink};\r\n `}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop};\r\n `\r\n : ''}\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width};\r\n `\r\n : css`\r\n width: 414px;\r\n `}\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height};\r\n `\r\n : css`\r\n height: 60px;\r\n `}\r\n`;\r\n\r\nexport const IconContainer = styled.div`\r\n margin: 9px 0px 10px 10px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { RiErrorWarningLine } from 'react-icons/ri';\r\nimport { AiOutlineCloseCircle } from 'react-icons/ai';\r\nimport { Text } from '@unimed-fesp/components';\r\nimport { Container, IconContainer } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction InfoBox({ children, type, width, height, display, marginTop, error }) {\r\n return (\r\n \r\n \r\n {!error ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default InfoBox;\r\n","import styled, { css } from 'styled-components';\r\nimport { lighten } from 'polished';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.input`\r\n padding: 10px;\r\n font: Regular 13px 'Calibri';\r\n color: ${theme.colorGray};\r\n\r\n ::placeholder {\r\n font: 13px Calibri Regular;\r\n letter-spacing: 0.52px;\r\n color: ${theme.grey}\r\n}\r\n\r\n &:hover:enabled {\r\n background-color: ${theme.white};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n &:focus:hover{\r\n background-color: ${lighten(0.65, theme.greenDefault)};\r\n border: 2px solid ${theme.greenDefault};\r\n }\r\n ${({ isInvalid }) => {\r\n isInvalid\r\n ? css`\r\n background-color: ${lighten(0.46, theme.redLight)};\r\n border: 2px solid ${theme.redLight};\r\n `\r\n : css``;\r\n }}\r\n\r\n\r\n${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ''}\r\n${({ margin }) =>\r\n margin\r\n ? css`\r\n margin: ${margin}px;\r\n `\r\n : ''}\r\n\r\n ${({ marginTop }) =>\r\n marginTop\r\n ? css`\r\n margin-top: ${marginTop}px;\r\n `\r\n : ''}\r\n\r\n${({ border }) =>\r\n border\r\n ? css`\r\n border: ${border};\r\n `\r\n : `border: 1px solid ${theme.colorGray}`};\r\n }\r\n }\r\n\r\n\r\n${({ background }) =>\r\n background\r\n ? css`\r\n background: ${background};\r\n `\r\n : `background: ${theme.white} 0% 0% no-repeat padding-box`};\r\n }\r\n }\r\n\r\n ${({ disabled }) =>\r\n disabled\r\n ? css`\r\n background: ${theme.inputBackgroundGray} 0% 0% no-repeat padding-box;\r\n cursor: not-allowed;\r\n `\r\n : css``}\r\n\r\n\r\n${({ borderRadius }) =>\r\n borderRadius\r\n ? css`\r\n border-radius: ${borderRadius};\r\n `\r\n : `border-radius: 5px`};\r\n }\r\n }\r\n\r\n\r\n${({ opacity }) =>\r\n opacity\r\n ? css`\r\n opacity: ${opacity};\r\n `\r\n : `opacity: 1`};\r\n }\r\n }\r\n\r\n${({ color }) =>\r\n color\r\n ? css`\r\n color: ${color};\r\n `\r\n : `color: ${theme.inputColorGray}`};\r\n }\r\n }\r\n\r\n\r\n\r\n${({ font }) =>\r\n font\r\n ? css`\r\n font: ${font};\r\n `\r\n : `font: 15px Calibri Regular`};\r\n }\r\n }\r\n\r\n${({ textAlign }) =>\r\n textAlign\r\n ? css`\r\n text-align: ${textAlign};\r\n `\r\n : `text-align: left`};\r\n }\r\n }\r\n\r\n ${({ width }) =>\r\n width\r\n ? css`\r\n width: ${width}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n ${({ height }) =>\r\n height\r\n ? css`\r\n height: ${height}px;\r\n `\r\n : null};\r\n }\r\n }\r\n\r\n\r\n @media (max-width: 768px) {\r\n flex: 0 1 ${({ percentageMobile }) =>\r\n percentageMobile ? `${percentageMobile}%` : '100%'};\r\n }\r\n`;\r\n","import React, { useRef, useEffect } from 'react';\r\nimport { useField } from '@unform/core';\r\nimport { Container } from './styles';\r\nimport LabelContainer from '../LabelContainer';\r\n\r\nconst InputForm = ({\r\n marginTop,\r\n background,\r\n border,\r\n borderRadius,\r\n opacity,\r\n color,\r\n font,\r\n textAlign,\r\n name,\r\n type,\r\n value,\r\n handleChange = (a) => a,\r\n handleClick = (a) => a,\r\n handleInputKeyDown = (a) => a,\r\n handleInputOnBlur = (a) => a,\r\n width,\r\n height,\r\n placeholder,\r\n disabled,\r\n margin,\r\n marginLeft,\r\n labelName,\r\n labelMarginBottom,\r\n ...rest\r\n}) => {\r\n const inputRef = useRef(null);\r\n const { fieldName, defaultValue, registerField, error } = useField(name);\r\n useEffect(() => {\r\n registerField({\r\n name: fieldName,\r\n ref: inputRef.current,\r\n path: 'value',\r\n });\r\n }, [fieldName, registerField]);\r\n\r\n return (\r\n <>\r\n \r\n {\r\n event.stopPropagation();\r\n handleChange(event);\r\n }}\r\n onKeyDown={(event) => {\r\n event.stopPropagation();\r\n handleInputKeyDown(event);\r\n }}\r\n onBlur={(event) => {\r\n event.stopPropagation();\r\n handleInputOnBlur(event);\r\n }}\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n handleClick(event);\r\n }}\r\n value={value}\r\n type={type}\r\n border={border}\r\n background={background}\r\n borderRadius={borderRadius}\r\n opacity={opacity}\r\n color={color}\r\n font={font}\r\n textAlign={textAlign}\r\n width={width}\r\n height={height}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n isTyping={!!value}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default InputForm;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin-bottom: 30px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InfoBox from '../../molecules/InfoBox';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormEmailSent({ email }) {\r\n const emailSentMessage = `Verifique a caixa de entrada do e-mail ${email} e acesse o link para criar uma nova senha.`;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n Caso não encontre o seu e-mail de recuperação, verifique sua\r\n lixeira e caixa de spam.\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormEmailSent;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n margin-bottom: 30px;\r\n`;\r\n","import React, { useState, useEffect } from 'react';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InfoBox from '../../molecules/InfoBox';\r\n\r\nimport InputForm from '../../molecules/InputForgottenPassword';\r\nimport FormEmailSent from '../FormEmailSent';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { isEmail } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormForgottenPassword({\r\n isEmailSent,\r\n setIsEmailValid,\r\n isTokenError,\r\n queryEmail,\r\n}) {\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n function isValidEmail(email) {\r\n return isEmail(email);\r\n }\r\n\r\n function handleInputValue(e) {\r\n setInputValue(e.target.value);\r\n setIsEmailValid(isValidEmail(e.target.value));\r\n }\r\n useEffect(() => {\r\n if (inputValue) {\r\n setIsEmailValid(isValidEmail(inputValue));\r\n }\r\n }, [inputValue]);\r\n\r\n useEffect(() => {\r\n setInputValue(queryEmail);\r\n }, []);\r\n\r\n return (\r\n <>\r\n {isEmailSent ? (\r\n \r\n ) : (\r\n \r\n \r\n\r\n \r\n \r\n O link para redefinição de senha é inválido. Solicite um novo\r\n para prosseguir com a solicitação.\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default FormForgottenPassword;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { Form } from '@unform/web';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Text } from '@unimed-fesp/components';\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\n\r\nimport history from '../../services/history';\r\n\r\nimport {\r\n USER_KEY,\r\n getLocalObj,\r\n excludeData,\r\n getUserData,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\n\r\nimport { LoginLink, DificuldadesAcessoContainer } from './styles';\r\n\r\nimport FormForgottenPassword from '../../components/organisms/FormForgottenPassword';\r\n\r\nconst { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n\r\nfunction RedefinirSenha() {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n const isTokenError = false || params.get('isTokenError');\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n\r\n const [isEmailSent, setIsEmailSent] = useState(false);\r\n const [isEmailValid, setIsEmailValid] = useState(false);\r\n\r\n function handleSubmitForgottenPassword(data) {\r\n dispatch(AuthActions.getRecuperarSenhaRequest(data));\r\n setIsEmailSent(true);\r\n }\r\n\r\n function handleSubmitVoltarParaLogin() {\r\n window.location.replace('/novo/login');\r\n }\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n return (\r\n \r\n \r\n \r\n {isEmailSent ? 'voltar para o login' : 'enviar'}\r\n \r\n {isEmailSent && (\r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default RedefinirSenha;\r\n","import React from 'react';\r\nimport { Switch, Route, useRouteMatch } from 'react-router-dom';\r\n\r\nimport { Image } from '@unimed-fesp/components';\r\n\r\nimport { Container, AutenticacaoStructure, ImageStructure } from './styles';\r\n\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\n\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\n\r\nimport LoginPart from './LoginPart';\r\nimport RedefinirSenha from './RedefinirSenha';\r\n\r\nfunction Login() {\r\n const { path } = useRouteMatch();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Login;\r\n","import styled, { css } from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n ${({ errorSenhaAntiga }) =>\r\n errorSenhaAntiga\r\n ? css`\r\n label:first-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ errorSenha }) =>\r\n errorSenha\r\n ? css`\r\n label:nth-child(2) {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n\r\n ${({ errorConfirmarSenha }) =>\r\n errorConfirmarSenha\r\n ? css`\r\n label:last-child {\r\n p{\r\n color: #ED1651 !important;\r\n }\r\n }\r\n `\r\n : ''}\r\n\r\n ${({ showOnBlurAntigaSenha }) =>\r\n showOnBlurAntigaSenha\r\n ? css`\r\n label:first-child {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:first-child {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n\r\n ${({ showOnBlurNovaSenha }) =>\r\n showOnBlurNovaSenha\r\n ? css`\r\n label:nth-child(2) {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:nth-child(2) {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n\r\n ${({ showOnBlurConfirmarSenha }) =>\r\n showOnBlurConfirmarSenha\r\n ? css`\r\n label:last-child {\r\n span:last-child{\r\n visibility: visible;\r\n }\r\n }\r\n `\r\n : css`\r\n label:last-child {\r\n span:last-child{\r\n visibility: hidden;\r\n }\r\n }\r\n `} \r\n`","import React, { useState } from 'react';\r\nimport produce from 'immer';\r\nimport { useField } from '@unform/core';\r\n\r\nimport { WrapperFlex, Text } from '@unimed-fesp/components';\r\n\r\nimport InputPassword from '../../molecules/InputPassword';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { isChangePassword } from '../../../utils/validation';\r\n\r\nimport { Container } from './styles';\r\n\r\nfunction FormChangePassword({\r\n changePasswordParams,\r\n setChangePasswordParams,\r\n formRef,\r\n isForgottenPassword,\r\n}) {\r\n const errorSenhaAntiga = useField('antigaSenha').error;\r\n const errorSenha = useField('novaSenha').error;\r\n const errorConfirmarSenha = useField('confirmarSenha').error;\r\n const [showOnBlurAntigaSenha, setShowOnBlurAntigaSenha] = useState(false);\r\n const [showOnBlurNovaSenha, setShowOnBlurNovaSenha] = useState(false);\r\n const [showOnBlurConfirmarSenha, setShowOnBlurConfirmarSenha] = useState(\r\n false\r\n );\r\n function handleInput(e, status) {\r\n const newChangePasswordParams = produce(changePasswordParams, (draft) => {\r\n if (draft[status] !== e.target.value) draft[status] = e.target.value;\r\n });\r\n\r\n setChangePasswordParams(newChangePasswordParams);\r\n }\r\n\r\n function validateAntigaSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('antigaSenha', 'A senha é obrigatória');\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n e.target.value === formRef.getFieldValue('novaSenha')\r\n ) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A nova senha deve ser diferente da atual'\r\n );\r\n } else {\r\n setShowOnBlurAntigaSenha(true);\r\n formRef.setFieldError('antigaSenha', null);\r\n }\r\n }\r\n }\r\n\r\n function validateNovaSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('novaSenha', 'A senha é obrigatória');\r\n } else if (!isChangePassword(e.target.value)) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n );\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('antigaSenha')\r\n ) {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('novaSenha', null);\r\n formRef.setFieldError('confirmarSenha', 'As senhas devem ser iguais');\r\n } else if (\r\n formRef.getFieldValue('novaSenha') &&\r\n formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value === formRef.getFieldValue('confirmarSenha') &&\r\n e.target.value !== formRef.getFieldValue('antigaSenha')\r\n ) {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('confirmarSenha', null);\r\n formRef.setFieldError('novaSenha', null);\r\n } else if (\r\n formRef.getFieldValue('antigaSenha') &&\r\n e.target.value === formRef.getFieldValue('antigaSenha')\r\n ) {\r\n formRef.setFieldError(\r\n 'novaSenha',\r\n 'A nova senha deve ser diferente da atual'\r\n );\r\n formRef.setFieldError('confirmarSenha', null);\r\n } else {\r\n setShowOnBlurNovaSenha(true);\r\n formRef.setFieldError('novaSenha', null);\r\n }\r\n }\r\n }\r\n\r\n function validateConfirmarSenha(e) {\r\n if (formRef) {\r\n if (!e.target.value) {\r\n formRef.setFieldError('confirmarSenha', 'A senha é obrigatória');\r\n } else if (!isChangePassword(e.target.value))\r\n formRef.setFieldError(\r\n 'confirmarSenha',\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n );\r\n else if (e.target.value !== formRef.getFieldValue('novaSenha'))\r\n formRef.setFieldError('confirmarSenha', 'As senhas devem ser iguais');\r\n else {\r\n setShowOnBlurConfirmarSenha(true);\r\n formRef.setFieldError('confirmarSenha', null);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n handleInput(e, 'antigaSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha atual\"\r\n name=\"antigaSenha\"\r\n labelName=\"Senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.antigaSenha}\r\n isLogin\r\n errorSenha={errorSenhaAntiga}\r\n handleInputOnBlur={validateAntigaSenha}\r\n display={isForgottenPassword ? 'none' : false}\r\n />\r\n handleInput(e, 'novaSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"novaSenha\"\r\n labelName=\"Nova senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.novaSenha}\r\n isLogin\r\n errorSenha={errorSenha}\r\n handleInputOnBlur={validateNovaSenha}\r\n />\r\n handleInput(e, 'confirmarSenha')}\r\n marginTop=\"8px\"\r\n width=\"400\"\r\n height=\"40\"\r\n placeholder=\"Insira sua senha\"\r\n name=\"confirmarSenha\"\r\n labelName=\"Confirmar senha\"\r\n marginLeft=\"60px\"\r\n marginBottom=\"0\"\r\n value={changePasswordParams.confirmarSenha}\r\n isLogin\r\n errorSenha={errorConfirmarSenha}\r\n handleInputOnBlur={validateConfirmarSenha}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormChangePassword;\r\n","import styled, { css } from 'styled-components';\r\nimport { Link } from '@unimed-fesp/components';\r\nimport ImagemLogin from '../../assets/images/login/imagem-login.svg';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 50% 50%;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n`;\r\n\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-top: 3%;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : css`\r\n display: flex;\r\n `}\r\n`;\r\n\r\nexport const AutenticacaoStructure = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n\r\n img {\r\n padding: 5% 16.5% 0 60px;\r\n }\r\n`;\r\n\r\nexport const ImageStructure = styled.div`\r\n background: url(${ImagemLogin});\r\n background-repeat: no-repeat;\r\n background-position: bottom;\r\n background-position-x: left;\r\n background-size: cover;\r\n background-color: #ffff;\r\n`;\r\n\r\nexport const LoginLink = styled(Link).attrs((props) => ({\r\n login: true,\r\n title: props.title,\r\n}))``;\r\n\r\nexport const DificuldadesAcessoContainer = styled.div`\r\n display: flex;\r\n margin-left: 104px;\r\n`;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { Button, Image, Text } from '@unimed-fesp/components';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Form } from '@unform/web';\r\nimport { toast } from 'react-toastify';\r\nimport * as Yup from 'yup';\r\n\r\n// #region Services e Stores\r\nimport { Creators as AuthActions } from '../../store/ducks/auth';\r\nimport { Creators as UsuarioActions } from '../../store/ducks/usuario';\r\n\r\nimport {\r\n USER_KEY,\r\n getLocalObj,\r\n excludeData,\r\n getUserData,\r\n getRefreshToken,\r\n isAccessTokenValid,\r\n getTokenAccessToken,\r\n} from '../../services/auth';\r\nimport history from '../../services/history';\r\n// #endregion\r\n\r\n// #region Componentes\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\nimport { ErrorToast } from '../../components/molecules/Toast';\r\nimport LoadingIcon from '../../components/Icons/LoadingIcon';\r\nimport FormChangePassword from '../../components/organisms/FormChangePassword';\r\n// #endregion\r\n\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\nimport {\r\n LoginLink,\r\n Container,\r\n ImageStructure,\r\n HeaderContainer,\r\n AutenticacaoStructure,\r\n DificuldadesAcessoContainer,\r\n} from './styles';\r\n\r\nfunction RecuperarSenha() {\r\n const location = useLocation();\r\n const isChangePassword =\r\n false || (location.state && location.state.isChangePassword);\r\n\r\n const { patchSenha } = useSelector((state) => state.usuario);\r\n const { loggedIn, postRecuperarSenha, usuario } = useSelector(\r\n (state) => state.auth\r\n );\r\n\r\n const dispatch = useDispatch();\r\n const formRef = useRef(null);\r\n\r\n const { REACT_APP_EMAIL_DIFICULDADES_ACESSO } = process.env;\r\n const mailTo = `mailto:${REACT_APP_EMAIL_DIFICULDADES_ACESSO}`;\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryEmail = params.get('email');\r\n const [queryToken, setQueryToken] = useState(\r\n params.get('token')?.replaceAll(' ', '+')\r\n );\r\n\r\n const changePasswordData = {\r\n antigaSenha: '',\r\n novaSenha: '',\r\n confirmarSenha: '',\r\n };\r\n\r\n const [changePasswordParams, setChangePasswordParams] =\r\n useState(changePasswordData);\r\n\r\n const [novaSenha, setNovaSenha] = useState();\r\n\r\n async function handleSubmitNewPasswordToken(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .required('A senha é obrigatória'),\r\n confirmarSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e deve ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .oneOf([Yup.ref('novaSenha')], 'As senhas devem ser iguais')\r\n .required('A senha é obrigatória'),\r\n });\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n dispatch(\r\n AuthActions.postRecuperarSenhaRequest({\r\n email: queryEmail,\r\n senha: data.novaSenha,\r\n confirmarSenha: data.confirmarSenha,\r\n token: queryToken,\r\n })\r\n );\r\n\r\n setNovaSenha(data.novaSenha);\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n async function handleSubmitChangePassword(data) {\r\n try {\r\n const schema = Yup.object().shape({\r\n antigaSenha: Yup.string().required('A senha é obrigatória'),\r\n novaSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .required('A senha é obrigatória'),\r\n confirmarSenha: Yup.string()\r\n .trim()\r\n .matches(\r\n /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\\d]){1,})(?=(.*[\\W_]){1,})(?!.*\\s).{6,}$/g,\r\n 'A senha deve ter ao menos 6 caracteres e deve ser uma combinação de letras maiúsculas e minúsculas, números e simbolos'\r\n )\r\n .oneOf([Yup.ref('novaSenha')], 'As senhas devem ser iguais')\r\n .required('A senha é obrigatória'),\r\n });\r\n\r\n await schema.validate(data, {\r\n abortEarly: false,\r\n });\r\n\r\n dispatch(\r\n UsuarioActions.patchSenhaRequest(\r\n usuario.idUsuarioLogado,\r\n data.antigaSenha,\r\n data.novaSenha,\r\n data.confirmarSenha\r\n )\r\n );\r\n\r\n formRef.current.setErrors({});\r\n } catch (error) {\r\n if (error instanceof Yup.ValidationError) {\r\n const errorMessages = {};\r\n\r\n error.inner.forEach((err) => {\r\n errorMessages[err.path] = err.message;\r\n });\r\n\r\n formRef.current.setErrors(errorMessages);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (loggedIn) history.push('/novo/lista');\r\n\r\n if (getLocalObj(USER_KEY) && !loggedIn) {\r\n if (getTokenAccessToken() && isAccessTokenValid()) {\r\n dispatch(AuthActions.signInRequest(getUserData()));\r\n } else if (getRefreshToken() && !isAccessTokenValid()) {\r\n dispatch(AuthActions.refreshInvalidTokenRequest(getTokenAccessToken()));\r\n } else {\r\n excludeData();\r\n dispatch(AuthActions.signOut());\r\n }\r\n }\r\n }, [dispatch, loggedIn]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.success) history.push('/novo/lista');\r\n }, [patchSenha.success]);\r\n\r\n useEffect(() => {\r\n if (patchSenha.isError) {\r\n toast.error({patchSenha.error[0]});\r\n }\r\n }, [patchSenha.error, patchSenha.isError]);\r\n\r\n useEffect(() => {\r\n if (postRecuperarSenha.isError) {\r\n setQueryToken(null);\r\n history.replace(\r\n `/novo/login/redefinir-senha?email=${queryEmail}&isTokenError=true`\r\n );\r\n } else if (postRecuperarSenha.success) {\r\n const usuarioParams = {\r\n userId: queryEmail,\r\n password: novaSenha,\r\n grantType: 'password',\r\n };\r\n\r\n dispatch(AuthActions.postLoginRequest(usuarioParams));\r\n }\r\n }, [dispatch, novaSenha, postRecuperarSenha, queryEmail]);\r\n\r\n return (\r\n \r\n \r\n {isChangePassword ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n alterar senha\r\n \r\n {(postRecuperarSenha.loading || patchSenha.loading) && (\r\n \r\n )}\r\n {isChangePassword && (\r\n \r\n \r\n \r\n fale com o nosso Suporte.\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default RecuperarSenha;\r\n","import { Error } from '@unimed-fesp/components';\r\nimport React from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport history from '../../services/history';\r\n\r\nfunction ErrorPage() {\r\n const location = useLocation();\r\n const props = location.state;\r\n\r\n function handleClick() {\r\n const queryString = window.location.search;\r\n const params = new URLSearchParams(queryString);\r\n const queryUrlRedirect = params.get('redirect');\r\n if (props) {\r\n history.push(props.path);\r\n }\r\n if (queryUrlRedirect) history.push(queryUrlRedirect);\r\n else window.location.reload();\r\n }\r\n\r\n const errorNumber = '500';\r\n const errorTitle = 'oops! erro do servidor interno';\r\n const errorMessage =\r\n 'O servidor encontrou uma situação com a qual não sabe lidar.';\r\n\r\n if (props) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default ErrorPage;\r\n","import React from 'react';\r\nimport { Error } from '@unimed-fesp/components';\r\n\r\nfunction NotFoundPage() {\r\n const errorNumber = '404';\r\n const errorTitle = 'oops! página não encontrado';\r\n const errorMessage =\r\n 'O servidor não pode encontrar o recurso solicitado. Este código de resposta talvez seja o mais famoso devido à frequência com que acontece na web.';\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default NotFoundPage;\r\n","export const setParamsTermoResponsabilidade = (params) => {\r\n sessionStorage.setItem('@termo-reponsabilidade', JSON.stringify(params));\r\n};\r\n\r\nexport const getParamsTermoResponsabilidade = () => {\r\n return JSON.parse(sessionStorage.getItem('@termo-reponsabilidade'));\r\n};\r\n","import * as signalR from '@microsoft/signalr';\r\n\r\nconst { REACT_APP_SIGNALR } = process.env;\r\n\r\nexport const OpenConnection = async (socketConnection) => {\r\n await socketConnection\r\n .start()\r\n .then((resp) => console.log(resp, 'Sucesso!'))\r\n .catch((error) => console.log(error, 'Erro!'));\r\n};\r\n\r\nexport const BuildConnection = (hubName) => {\r\n const socketConnection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Debug)\r\n .withUrl(`${REACT_APP_SIGNALR}/${hubName}`)\r\n .build();\r\n\r\n socketConnection.keepAliveIntervalInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n socketConnection.serverTimeoutInMilliseconds = 1000 * 60 * 100; // 100 minutes\r\n\r\n return socketConnection;\r\n};\r\n\r\nexport const CloseConnection = async (socketConnection) => {\r\n await socketConnection\r\n .stop()\r\n .then(() => {})\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n};\r\n","import styled from 'styled-components';\r\nimport { FiArrowRight } from 'react-icons/fi';\r\n\r\nexport const Container = styled.div`\r\n label > input {\r\n border-width: 1px !important;\r\n }\r\n`;\r\n\r\nexport const IconNext = styled(FiArrowRight)`\r\n order: 5;\r\n margin-left: 5px;\r\n margin-top: 2px;\r\n`;\r\n","import React from 'react';\r\nimport { useField } from '@unform/core';\r\n\r\nimport {\r\n Button,\r\n TextField,\r\n WrapperFlex,\r\n TelefoneBox,\r\n} from '@unimed-fesp/components';\r\n\r\nimport { isEmail, isCNPJ } from '../../../utils/validation';\r\nimport { Container, IconNext } from './styles';\r\n\r\nfunction FormMassaInicial({\r\n dadosEmpresa,\r\n setDadosEmpresa,\r\n formRef,\r\n clearInputs,\r\n handleAvancar,\r\n}) {\r\n const registerEmpresa = useField('empresa').registerField;\r\n const registerResponsavel = useField('responsavel').registerField;\r\n const registerEmail = useField('email').registerField;\r\n const registerCNPJ = useField('cnpj').registerField;\r\n const errorEmail = useField('email').error;\r\n const errorCNPJ = useField('cnpj').error;\r\n const errorResponsavel = useField('responsavel').error;\r\n const errorEmpresa = useField('empresa').error;\r\n\r\n const canSubmit =\r\n !!dadosEmpresa.responsavel &&\r\n !errorResponsavel &&\r\n !!dadosEmpresa.empresa &&\r\n !errorEmpresa &&\r\n !!dadosEmpresa.email &&\r\n !errorEmail &&\r\n !!dadosEmpresa.cnpj &&\r\n !errorCNPJ;\r\n\r\n const validateInput = (e) => {\r\n if (!formRef) return;\r\n\r\n const { name, value } = e.target;\r\n formRef.setFieldError(name, '');\r\n\r\n if (name === 'cnpj' && !isCNPJ(value)) {\r\n formRef.setFieldError(name, `O cnpj não é válido`);\r\n }\r\n\r\n if (name === 'email' && !isEmail(value)) {\r\n formRef.setFieldError(name, `O email não é válido`);\r\n }\r\n\r\n if ((name === 'empresa' || name === 'responsavel') && value.length > 100) {\r\n formRef.setFieldError(name, `O campo só pode ter 100 caracteres`);\r\n }\r\n\r\n if (!value) {\r\n formRef.setFieldError(name, `O campo é obrigatório`);\r\n }\r\n };\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setDadosEmpresa((dados) => ({\r\n ...dados,\r\n [name]: name === 'cnpj' ? value.replaceAll(/\\D/g, '') : value,\r\n }));\r\n };\r\n\r\n const formatCNPJ = (cnpj) => {\r\n let cnpjNumber = cnpj.replaceAll(/[^\\d]/g, '');\r\n\r\n if (cnpjNumber.length >= 14) cnpjNumber = cnpjNumber.substr(0, 14);\r\n\r\n if (cnpjNumber.length > 12)\r\n cnpjNumber = cnpjNumber.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d)/g,\r\n '$1.$2.$3/$4-$5'\r\n );\r\n else if (cnpjNumber.length > 8)\r\n cnpjNumber = cnpjNumber.replace(\r\n /^(\\d{2})(\\d{3})(\\d{3})(\\d)/g,\r\n '$1.$2.$3/$4'\r\n );\r\n else if (cnpjNumber.length > 5)\r\n cnpjNumber = cnpjNumber.replace(/^(\\d{2})(\\d{3})(\\d)/g, '$1.$2.$3');\r\n else if (cnpjNumber.length > 2)\r\n cnpjNumber = cnpjNumber.replace(/^(\\d{2})(\\d)/g, '$1.$2');\r\n\r\n return cnpjNumber;\r\n };\r\n return (\r\n <>\r\n \r\n \r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n error={errorEmpresa}\r\n errorMessage={errorEmpresa}\r\n register={registerEmpresa}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerCNPJ}\r\n error={errorCNPJ}\r\n errorMessage={errorCNPJ}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerResponsavel}\r\n error={errorResponsavel}\r\n errorMessage={errorResponsavel}\r\n />\r\n handleChange(e)}\r\n onBlur={(e) => validateInput(e)}\r\n register={registerEmail}\r\n error={errorEmail}\r\n errorMessage={errorEmail}\r\n />\r\n \r\n setDadosEmpresa((state) => ({\r\n ...state,\r\n telefone: { contatos },\r\n }))\r\n }\r\n single\r\n />\r\n \r\n \r\n \r\n limpar\r\n \r\n handleAvancar()}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n avançar\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default FormMassaInicial;\r\n","import styled from 'styled-components';\r\nimport { FiAlertCircle } from 'react-icons/fi';\r\nimport { FaRegCheckCircle } from 'react-icons/fa';\r\nimport { Checkbox } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n svg {\r\n height: 60px;\r\n width: 60px;\r\n }\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n align-self: center;\r\n margin: 0 auto;\r\n margin-bottom: 30px;\r\n margin-top: 28px;\r\n max-width: 380px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n`;\r\n\r\nexport const Text = styled.p`\r\n font: normal normal normal 15px 'Calibri';\r\n color: ${theme.colorGray};\r\n text-align: center;\r\n`;\r\n\r\nexport const Content = styled.div`\r\n padding: 10px;\r\n align-self: center;\r\n`;\r\n\r\nexport const TextHeader = styled.strong`\r\n font: normal normal 800 34px/43px 'work_sans';\r\n color: ${theme.titleGray};\r\n text-align: center;\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const TextHeaderBold = styled.strong`\r\n font: normal normal 800 34px/43px 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n text-align: center;\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const IconAlert = styled(FiAlertCircle)`\r\n color: ${theme.yellowDefault};\r\n width: 83px;\r\n height: 83px;\r\n margin-bottom: 8px;\r\n margin-left: 25px;\r\n`;\r\n\r\nexport const IconSuccess = styled(FaRegCheckCircle)`\r\n color: ${theme.greenDefault};\r\n width: 100px;\r\n height: 100px;\r\n margin-bottom: 8px;\r\n margin-left: 25px;\r\n`;\r\n\r\nexport const CheckboxWithText = styled(Checkbox)`\r\n margin-bottom: 18px;\r\n > p {\r\n margin-bottom: 18px;\r\n color: ${theme.colorGray};\r\n font: normal normal normal 14px/20px 'Calibri';\r\n margin-right: 0px;\r\n }\r\n\r\n > p > a {\r\n color: ${theme.green1};\r\n font-weight: bold;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport { Button, Modal, Text, WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport { ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport { ContentText, CheckboxWithText } from './styles';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nfunction ModalTermoMassaInicial({\r\n isOpen,\r\n onClick,\r\n aceitos,\r\n setAceitos,\r\n handleValidadMassaInicial,\r\n}) {\r\n const { success } = useSelector((state) => state.lista.MassaInicial.patch);\r\n\r\n function handleChange(value) {\r\n if (aceitos.includes(value)) {\r\n setAceitos((state) => state.filter((item) => item !== value));\r\n } else {\r\n setAceitos((state) => [...state, value]);\r\n }\r\n }\r\n\r\n if (success) return ;\r\n\r\n return (\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n handleChange('compartilhar')}\r\n />\r\n \r\n Li e concordo com o\r\n \r\n {' '}\r\n Termo de responsabilidade\r\n \r\n \r\n }\r\n onClick={() => handleChange('termo')}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, aceitos, handleValidadMassaInicial }) => {\r\n return (\r\n \r\n \r\n cancelar\r\n \r\n \r\n validar massa inicial\r\n \r\n \r\n );\r\n};\r\n\r\nconst ModalSucessoPatch = ({ isOpen, onClick }) => {\r\n function voltarParaMassaInicial() {\r\n window.location.reload();\r\n }\r\n\r\n return (\r\n \r\n ok\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nexport default ModalTermoMassaInicial;\r\n","import styled, { css } from 'styled-components';\r\nimport { FiAlertCircle, FiCheckCircle } from 'react-icons/fi';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n ${({ width }) =>\r\n width &&\r\n css`\r\n width: ${width}px;\r\n `};\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n color: ${theme.movGrey};\r\n padding: 27px 0;\r\n align-self: center;\r\n font: normal normal normal 14px/20px 'Calibri';\r\n\r\n strong {\r\n font: bold 15px 'Calibri';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'Calibri';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const ContentFile = styled.div`\r\n margin: 10px;\r\n`;\r\n\r\nexport const IconAlert = styled(FiAlertCircle)`\r\n color: ${theme.yellowDefault};\r\n width: 17px;\r\n height: 17px;\r\n margin-right: 15px;\r\n`;\r\n\r\nexport const IconsSuccess = styled(FiCheckCircle)`\r\n color: ${theme.greenDefault};\r\n width: 17px;\r\n height: 17px;\r\n margin-right: 15px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { FileUpload } from '@unimed-fesp/components';\r\n\r\nimport {\r\n Container,\r\n ContentText,\r\n ContentFile,\r\n IconAlert,\r\n IconsSuccess,\r\n} from './styles';\r\n\r\nconst LoagingFiles = ({\r\n files,\r\n onClickCancel,\r\n canImport,\r\n handleProgress,\r\n width,\r\n maxLengthFileName,\r\n}) => {\r\n return (\r\n \r\n {canImport ? (\r\n \r\n \r\n Arquivo carregado com sucesso!\r\n \r\n ) : (\r\n \r\n \r\n Aguarde! Seus arquivos estão sendo carregados.\r\n \r\n )}\r\n {Object.values(files).map((file) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nconst MyContentFile = ({\r\n file,\r\n uploadProgress,\r\n onClickCancel,\r\n maxLengthFileName,\r\n}) => {\r\n return (\r\n \r\n maxLengthFileName\r\n ? `${file.name.substr(0, maxLengthFileName)}...`\r\n : file.name\r\n }\r\n fileSize={file.readableSize}\r\n uploadProgress={uploadProgress(file)}\r\n onClickCancel={onClickCancel}\r\n />\r\n \r\n );\r\n};\r\nexport default LoagingFiles;\r\n","import styled from 'styled-components';\r\nimport { FiArrowLeft } from 'react-icons/fi';\r\nimport { AiOutlineLike } from 'react-icons/ai';\r\n\r\nimport WrapperFlex from '../../molecules/WrapperFlex';\r\n\r\nexport const Container = styled(WrapperFlex)`\r\n min-height: 350px;\r\n display: flex;\r\n align-items: flex-start;\r\n`;\r\n\r\nexport const IconPrev = styled(FiArrowLeft)`\r\n margin-right: 5px;\r\n margin-top: 2px;\r\n`;\r\n\r\nexport const IconLike = styled(AiOutlineLike)`\r\n margin-right: 5px;\r\n margin-top: 2px;\r\n`;\r\n\r\nexport const ContainerFooter = styled.div`\r\n margin-top: 20px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport modeloPadraoMassaInicial from '../../../assets/modelos/massaInicial/ModeloPadrãoMassaInicial.csv';\r\nimport orientaçõesPreenchimentoMassaInicial from '../../../assets/modelos/massaInicial/OrientaçõesPreenchimentoMassaInicial.pdf';\r\n\r\nimport { ContainerFooter } from './styles';\r\n\r\nconst TemplateDownloadText = () => (\r\n \r\n Para te auxiliar, temos um\r\n \r\n {' '}\r\n modelo padrão{' '}\r\n \r\n demonstrando como deve ser a estrutura do arquivo csv e as\r\n \r\n {' '}\r\n orientações de preenchimento{' '}\r\n \r\n do arquivo.\r\n \r\n);\r\n\r\nexport default TemplateDownloadText;\r\n","import React from 'react';\r\n\r\nconst RegrasImportMassaInicial = () => (\r\n <>\r\n

    \r\n Realize o envio da\r\n massa inicial \r\n através do envio de um arquivo\r\n .csv \r\n de até 10mb.\r\n

    \r\n

    \r\n O arquivo não deve possuir linhas 'em branco' {' '}\r\n e não deve possuir linhas contento apenas{' '}\r\n ponto e vírgula(;).\r\n

    \r\n \r\n);\r\n\r\nexport default RegrasImportMassaInicial;\r\n","import React from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Button, WrapperFlex, ImportBox } from '@unimed-fesp/components';\r\n\r\n// #region import componentes\r\nimport { WarningToast } from '../../molecules/Toast';\r\nimport LoagingFiles from '../../molecules/LoadingFiles';\r\nimport TemplateDownloadText from './TemplateDownloadText';\r\nimport RegrasImportMassaInicial from './RegrasImportMassaInicial';\r\n// #endregion\r\n\r\nimport { IconLike, IconPrev, Container } from './styles';\r\n\r\nimport { shapeFile, customValidations } from '../../../utils/file';\r\nimport { Creators as ListaActions } from '../../../store/ducks/lista';\r\n\r\nfunction UploadMassaInicial({\r\n handleVoltar,\r\n setListaFiles,\r\n file,\r\n handleValidar,\r\n progress,\r\n}) {\r\n const dispatch = useDispatch();\r\n const { success } = useSelector((state) => state.lista.MassaInicial.post);\r\n\r\n function handleErros({ fileErrors, hasMaxQuantity }) {\r\n if (fileErrors.length > 0) {\r\n if (fileErrors[0].error.hasMaxSize) {\r\n toast.error(\r\n \r\n O arquivo ultrapassou o limite máximo de 10mb\r\n \r\n );\r\n } else if (fileErrors[0].error.hasValidExtension) {\r\n toast.error(\r\n O arquivo enviado deve ser um .csv\r\n );\r\n } else if (hasMaxQuantity) {\r\n toast.error(\r\n Deve-se enviar apenas 1 arquivo\r\n );\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {file ? (\r\n {\r\n setListaFiles([]);\r\n dispatch(ListaActions.postArquivoMassaInicialRenew());\r\n }}\r\n canImport={success}\r\n handleProgress={() => (success ? 100 : progress)}\r\n maxLengthFileName={40}\r\n width={500}\r\n />\r\n ) : (\r\n }\r\n templateDownloadText={}\r\n setListaFiles={setListaFiles}\r\n shapeFile={shapeFile}\r\n customValidations={(filesInput) =>\r\n customValidations(filesInput, 10000000, 1, ['csv'], handleErros)\r\n }\r\n maxWidth={430}\r\n />\r\n )}\r\n \r\n \r\n {\r\n setListaFiles([]);\r\n handleVoltar();\r\n }}\r\n font=\"16px unimed_slabregular\"\r\n >\r\n \r\n voltar\r\n \r\n \r\n \r\n validar\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default UploadMassaInicial;\r\n","import styled, { css } from 'styled-components';\r\nimport { Form as FormWeb } from '@unform/web';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nimport ImagemMassaInicial from '../../assets/images/massa-inicial/imagem-massa-inicial.svg';\r\n\r\nexport const Container = styled.div`\r\n display: grid;\r\n grid-template-columns: 1fr 500px;\r\n height: 100vh;\r\n overflow-y: hidden;\r\n padding: 32px 40px 0 0;\r\n background-color: #ffff;\r\n`;\r\n\r\nexport const ContainerImage = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n position: relative;\r\n`;\r\n\r\nexport const HeaderContainer = styled.div`\r\n margin-left: 60px;\r\n margin-bottom: 20px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n`;\r\n\r\nexport const ContainerFormMassaInicial = styled.div`\r\n grid-template-rows: 13% 20% 5% 65%;\r\n background-color: #ffff;\r\n\r\n ${({ display }) =>\r\n display\r\n ? css`\r\n display: ${display};\r\n `\r\n : ''};\r\n }\r\n`;\r\n\r\nexport const ImageBackground = styled.div`\r\n background-image: url(${ImagemMassaInicial});\r\n background-repeat: no-repeat;\r\n background-position-y: bottom;\r\n background-position-x: left;\r\n background-size: contain;\r\n background-color: #ffff;\r\n flex: 1;\r\n`;\r\n\r\nexport const HeaderTitulo = styled.h1`\r\n font-family: 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n font-size: 34px;\r\n`;\r\n\r\nexport const ContainerProgressBar = styled.div`\r\n margin-left: -5px;\r\n`;\r\n\r\nexport const TextoPasso = styled.div`\r\n font: bold 16px 'Calibri';\r\n color: ${theme.colorGray};\r\n text-transform: uppercase;\r\n margin-left: 5px;\r\n`;\r\n\r\nexport const Form = styled(FormWeb)`\r\n min-height: 550px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n`;\r\n","import React, { useState, useRef, useEffect, useCallback } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { ProgressBar, Image } from '@unimed-fesp/components';\r\n\r\nimport { Base64 } from 'js-base64';\r\nimport TipoTelefoneEnum from '../../enums/TipoTelefoneEnum';\r\nimport { setParamsTermoResponsabilidade } from '../../services/massaInicial';\r\nimport { OpenConnection, BuildConnection } from '../../services/signalR';\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\n\r\nimport { Creators as ListaActions } from '../../store/ducks/lista';\r\n\r\nimport SectionHeader from '../../components/atoms/SectionHeader';\r\n\r\nimport FormMassaInicial from '../../components/organisms/FormMassaInicial';\r\nimport ModalTermoMassaInicial from '../../components/organisms/ModalTermoMassaInicial';\r\nimport UploadMassaInicial from '../../components/organisms/UploadMassaInicial';\r\n\r\nimport {\r\n Container,\r\n ContainerFormMassaInicial,\r\n HeaderContainer,\r\n ImageBackground,\r\n ContainerImage,\r\n HeaderTitulo,\r\n ContainerProgressBar,\r\n TextoPasso,\r\n Form,\r\n} from './styles';\r\n\r\nconst inicalValuesForm = {\r\n empresa: '',\r\n cnpj: '',\r\n responsavel: '',\r\n email: '',\r\n telefone: {\r\n contatos: [\r\n {\r\n tipo: 'Celular',\r\n numero: '',\r\n },\r\n ],\r\n },\r\n};\r\nconst passos = ['Dados da empresa', 'Importar massa inicial'];\r\n\r\nfunction MassaInicial() {\r\n const [dadosEmpresa, setDadosEmpresa] = useState(inicalValuesForm);\r\n const [fileMassaInicial, setFileMassaInicial] = React.useState([]);\r\n const [signalRConnection, setSignalRConnection] = useState();\r\n const [termosAceitos, setTermosAceitos] = useState([]);\r\n const [progress, setProgress] = useState(0);\r\n\r\n const { idLista } = useSelector((state) => state.lista.MassaInicial.post);\r\n const formRef = useRef();\r\n const [termoOpen, setTermoOpen] = useState(false);\r\n const [passo, setPasso] = useState(0);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const clearInputs = () => {\r\n setDadosEmpresa(inicalValuesForm);\r\n };\r\n\r\n const toBase64 = (file) =>\r\n new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsText(file, 'ISO-8859-1');\r\n reader.onload = (e) => {\r\n resolve(Base64.encode(e.target.result));\r\n };\r\n reader.onerror = (error) => reject(error);\r\n });\r\n\r\n const formatBody = async (files, idHub) => {\r\n const { file } = files[0];\r\n\r\n const [, nomeArquivo, extensao] = new RegExp(/(.*?)\\.([^.\\\\]+)$/gm).exec(\r\n file.name\r\n );\r\n const { telefone } = dadosEmpresa;\r\n\r\n const contato =\r\n telefone.contatos.length > 0 && telefone.contatos[0].numero.length > 0\r\n ? {\r\n ddd: telefone.contatos[0].numero.substr(0, 2),\r\n numero: telefone.contatos[0].numero.substr(2),\r\n tipo: TipoTelefoneEnum.returnNameForName[telefone.contatos[0].tipo],\r\n }\r\n : {};\r\n\r\n const cnpj = dadosEmpresa.cnpj\r\n ? dadosEmpresa.cnpj.replaceAll(/[^\\d]/g, '')\r\n : null;\r\n\r\n const tempBody = {\r\n nomeEmpresa: dadosEmpresa.empresa,\r\n cnpj,\r\n nomeResponsavel: dadosEmpresa.responsavel,\r\n email: dadosEmpresa.email,\r\n contato,\r\n arquivo: await toBase64(file),\r\n nomeArquivo,\r\n extensaoArquivo: `.${extensao}`,\r\n idHub: idHub || 0,\r\n };\r\n\r\n return tempBody;\r\n };\r\n\r\n const handleValidadMassaInicial = useCallback(\r\n async (files, idHub) => {\r\n const body = await formatBody(files, idHub);\r\n dispatch(ListaActions.postArquivoMassaInicialRequest(body));\r\n },\r\n [dispatch, formatBody]\r\n );\r\n\r\n async function SignalRUploadProgress() {\r\n const socketConnection = BuildConnection('ProgressStatusHub');\r\n socketConnection.on('updateProgress', (message) => {\r\n if (!message.errorMessage && message.progressValue !== 0)\r\n setProgress(message.progressValue);\r\n });\r\n await OpenConnection(socketConnection);\r\n setSignalRConnection(socketConnection);\r\n\r\n return socketConnection;\r\n }\r\n\r\n function handleChange(files) {\r\n if (files.length <= 0) {\r\n setFileMassaInicial([]);\r\n return;\r\n }\r\n\r\n SignalRUploadProgress().then((conn) => {\r\n setSignalRConnection(conn);\r\n setFileMassaInicial(files);\r\n if (files.length > 0) handleValidadMassaInicial(files, conn.connectionId);\r\n });\r\n }\r\n\r\n function handleTermoResponsabilidade() {\r\n const body = {\r\n aceiteCompartilhamento: termosAceitos.includes('compartilhar'),\r\n aceiteTermo: termosAceitos.includes('termo'),\r\n };\r\n dispatch(\r\n ListaActions.patchAceiteCompartilhamentoMassaInicialRequest(idLista, body)\r\n );\r\n }\r\n\r\n function handleVoltarPasso() {\r\n setPasso(passo - 1);\r\n setTermosAceitos([]);\r\n dispatch(ListaActions.postArquivoMassaInicialRenew());\r\n dispatch(ListaActions.patchAceiteCompartilhamentoMassaInicialRenew());\r\n }\r\n\r\n useEffect(() => {\r\n setParamsTermoResponsabilidade({\r\n empresa: dadosEmpresa.empresa,\r\n responsavel: dadosEmpresa.responsavel,\r\n });\r\n }, [dadosEmpresa]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n massa inicial\r\n
    \r\n \r\n \r\n \r\n Passo {passo + 1} de 2: {passos[passo]}\r\n \r\n \r\n {passo === 0 && (\r\n setPasso(passo + 1)}\r\n />\r\n )}\r\n {passo === 1 && (\r\n {\r\n setTermoOpen(true);\r\n }}\r\n />\r\n )}\r\n \r\n
    \r\n setTermoOpen(false)}\r\n aceitos={termosAceitos}\r\n setAceitos={setTermosAceitos}\r\n handleValidadMassaInicial={handleTermoResponsabilidade}\r\n />\r\n
    \r\n );\r\n}\r\n\r\nexport default MassaInicial;\r\n","import styled from 'styled-components';\r\nimport { Button } from '@unimed-fesp/components';\r\n\r\nimport theme from '../../styles/theme';\r\n\r\nexport const Container = styled.div`\r\n width: 1038px;\r\n border-radius: 5px;\r\n background: ${theme.bgWhite} 0% 0% no-repeat padding-box;\r\n margin: 28px auto;\r\n padding: 28px;\r\n`;\r\n\r\nexport const Title = styled.h1`\r\n font: normal normal bold 24px/16px 'unimed_slabbold';\r\n color: ${theme.titleGray};\r\n margin-bottom: 28px;\r\n letter-spacing: 0.48px;\r\n`;\r\n\r\nexport const Text = styled.p`\r\n font: normal normal normal 15px/23px Calibri;\r\n letter-spacing: 0.6px;\r\n color: ${theme.colorGray};\r\n max-width: 700px;\r\n\r\n @media print {\r\n text-align: left;\r\n padding-right: 30px;\r\n }\r\n`;\r\n\r\nexport const Assinatura = styled.div`\r\n border-top: 1px solid ${theme.colorGray};\r\n font: normal normal normal 15px/23px Calibri;\r\n letter-spacing: 0.6px;\r\n color: ${theme.colorGray};\r\n padding-top: 5px;\r\n margin-top: 100px;\r\n max-width: 40%;\r\n`;\r\n\r\nexport const Copy = styled.span`\r\n font: normal normal normal 10px/13px Calibri;\r\n color: ${theme.grey};\r\n position: absolute;\r\n bottom: 10px;\r\n`;\r\n\r\nexport const ButtonImprimir = styled(Button)`\r\n flex-direction: row-reverse;\r\n`;\r\n\r\nexport const ImageANS = styled.img`\r\n display: block;\r\n max-width: 120px;\r\n margin-top: 28px;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { WrapperFlex, Image, NavbarPrimary } from '@unimed-fesp/components';\r\n\r\nimport { FiPrinter } from 'react-icons/fi';\r\n\r\nimport { legacyRoutes } from '../../routes/legacyRoutes';\r\nimport UnimedLogo from '../../assets/images/login/logo-unimed-fesp.svg';\r\nimport FespANS from '../../assets/images/FespANS.jpg';\r\n\r\nimport {\r\n Container,\r\n Title,\r\n Text,\r\n Copy,\r\n ButtonImprimir,\r\n ImageANS,\r\n} from './styles';\r\n\r\nexport default function TermoResponsabilidade() {\r\n const hoje = new Date();\r\n\r\n function ImprimirTermo(e) {\r\n e.stopPropagation();\r\n const { target } = e;\r\n\r\n window.print(() => {\r\n target.style.display = 'none';\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Termo de Responsabilidade - Massa Inicial\r\n \r\n imprimir\r\n \r\n \r\n \r\n\r\n \r\n A contratante, vem pelo presente termo, autorizar a troca de\r\n informações cadastrais para inclusão da massa inicial de\r\n beneficiários. A contratante assume total responsabilidade pelo uso\r\n adequado do login e senha da ferramenta de Movimentação Cadastral\r\n (MOVCAD), comprometendo-se a observar as regras e prazos contratuais,\r\n assim como atender as exigências da Agência Nacional de Saúde\r\n Suplementar (ANS).\r\n \r\n\r\n \r\n \r\n {hoje.getFullYear().toString()} © Unimed Fesp | Sistema MovCad\r\n \r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { Switch, Route } from 'react-router-dom';\r\nimport { routes } from './routes';\r\nimport ProtectedRoute from './ProtectedRoute';\r\nimport Login from '../pages/Login';\r\nimport RecuperarSenha from '../pages/RecuperarSenha';\r\nimport ErrorPage from '../pages/ErrorPage';\r\nimport NotFound from '../pages/NotFound';\r\nimport MassaInicial from '../pages/MassaInicial';\r\nimport TermoResponsabilidade from '../pages/TermoResponsabilidade';\r\n\r\nconst Routes = () => {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n return (\r\n <>\r\n \r\n {routes.map((r) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Routes;\r\n","import { createGlobalStyle } from 'styled-components';\r\nimport './fonts.css';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst GlobalStyle = createGlobalStyle`\r\n\r\n\r\n*,\r\n*::before,\r\n*::after {\r\n box-sizing: border-box;\r\n\r\n}\r\n\r\nhtml {\r\n font-family: sans-serif;\r\n line-height: 1.15;\r\n -webkit-text-size-adjust: 100%;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n height: 100%;\r\n}\r\n\r\narticle,\r\naside,\r\nfigcaption,\r\nfigure,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmain,\r\nnav,\r\nsection {\r\n display: block;\r\n}\r\n\r\nbody {\r\n margin: 0;\r\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\r\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\",\r\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\r\n\r\n background-color: #F8F8F8;\r\n min-height: 100%;\r\n}\r\n\r\n[tabindex=\"-1\"]:focus {\r\n outline: 0 !important;\r\n}\r\n\r\nhr {\r\n box-sizing: content-box;\r\n height: 0;\r\n overflow: visible;\r\n}\r\n\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6 {\r\n margin-top: 0;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\np {\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n}\r\n\r\nabbr[title],\r\nabbr[data-original-title] {\r\n text-decoration: underline;\r\n -webkit-text-decoration: underline dotted;\r\n text-decoration: underline dotted;\r\n cursor: help;\r\n border-bottom: 0;\r\n -webkit-text-decoration-skip-ink: none;\r\n text-decoration-skip-ink: none;\r\n}\r\n\r\naddress {\r\n margin-bottom: 1rem;\r\n font-style: normal;\r\n line-height: inherit;\r\n}\r\n\r\nol,\r\nul,\r\ndl {\r\n margin-top: 0;\r\n margin-bottom: 1rem;\r\n}\r\n\r\nol ol,\r\nul ul,\r\nol ul,\r\nul ol {\r\n margin-bottom: 0;\r\n}\r\n\r\ndt {\r\n font-weight: 700;\r\n}\r\n\r\ndd {\r\n margin-bottom: 0.5rem;\r\n margin-left: 0;\r\n}\r\n\r\nblockquote {\r\n margin: 0 0 1rem;\r\n}\r\n\r\nb,\r\nstrong {\r\n font-weight: bolder;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n position: relative;\r\n font-size: 75%;\r\n line-height: 0;\r\n vertical-align: baseline;\r\n}\r\n\r\nsub {\r\n bottom: -0.25em;\r\n}\r\n\r\nsup {\r\n top: -0.5em;\r\n}\r\n\r\na {\r\n color: #007bff;\r\n text-decoration: none;\r\n background-color: transparent;\r\n}\r\n\r\na:hover {\r\n color: #0056b3;\r\n text-decoration: underline;\r\n}\r\n\r\na:not([href]):not([tabindex]) {\r\n text-decoration: none;\r\n}\r\n\r\na:not([href]):not([tabindex]):hover,\r\na:not([href]):not([tabindex]):focus {\r\n color: inherit;\r\n text-decoration: none;\r\n}\r\n\r\na:not([href]):not([tabindex]):focus {\r\n outline: 0;\r\n}\r\n\r\npre,\r\ncode,\r\nkbd,\r\nsamp {\r\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\r\n \"Courier New\", monospace;\r\n}\r\n\r\npre {\r\n margin-top: 0;\r\n margin-bottom: 1rem;\r\n overflow: auto;\r\n}\r\n\r\nfigure {\r\n margin: 0 0 1rem;\r\n}\r\n\r\nimg {\r\n vertical-align: middle;\r\n border-style: none;\r\n}\r\n\r\nsvg {\r\n overflow: hidden;\r\n vertical-align: middle;\r\n}\r\n\r\ntable {\r\n border-collapse: collapse;\r\n}\r\n\r\ncaption {\r\n padding-top: 0.75rem;\r\n padding-bottom: 0.75rem;\r\n color: #6c757d;\r\n text-align: left;\r\n caption-side: bottom;\r\n}\r\n\r\nth {\r\n text-align: inherit;\r\n}\r\n\r\nlabel {\r\n display: inline-block;\r\n margin-bottom: 0.5rem;\r\n}\r\n\r\nbutton {\r\n border-radius: 0;\r\n}\r\n\r\nbutton:focus {\r\n outline: 1px dotted;\r\n outline: 5px auto -webkit-focus-ring-color;\r\n}\r\n\r\ninput,\r\nbutton,\r\nselect,\r\noptgroup,\r\ntextarea {\r\n margin: 0;\r\n font-family: inherit;\r\n line-height: inherit;\r\n}\r\n\r\nbutton,\r\ninput {\r\n overflow: visible;\r\n}\r\n\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nselect {\r\n word-wrap: normal;\r\n}\r\n\r\nbutton,\r\n[type=\"button\"],\r\n[type=\"reset\"],\r\n[type=\"submit\"] {\r\n -webkit-appearance: button;\r\n}\r\n\r\nbutton:not(:disabled),\r\n[type=\"button\"]:not(:disabled),\r\n[type=\"reset\"]:not(:disabled),\r\n[type=\"submit\"]:not(:disabled) {\r\n cursor: pointer;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\n[type=\"button\"]::-moz-focus-inner,\r\n[type=\"reset\"]::-moz-focus-inner,\r\n[type=\"submit\"]::-moz-focus-inner {\r\n padding: 0;\r\n border-style: none;\r\n}\r\n\r\ninput[type=\"radio\"],\r\ninput[type=\"checkbox\"] {\r\n box-sizing: border-box;\r\n padding: 0;\r\n}\r\n\r\ninput[type=\"date\"],\r\ninput[type=\"time\"],\r\ninput[type=\"datetime-local\"],\r\ninput[type=\"month\"] {\r\n -webkit-appearance: listbox;\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n resize: vertical;\r\n}\r\n\r\nfieldset {\r\n min-width: 0;\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n}\r\n\r\nlegend {\r\n display: block;\r\n width: 100%;\r\n max-width: 100%;\r\n padding: 0;\r\n margin-bottom: 0.5rem;\r\n line-height: inherit;\r\n color: inherit;\r\n white-space: normal;\r\n}\r\n\r\nprogress {\r\n vertical-align: baseline;\r\n}\r\n\r\n[type=\"number\"]::-webkit-inner-spin-button,\r\n[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\n\r\n[type=\"search\"] {\r\n outline-offset: -2px;\r\n -webkit-appearance: none;\r\n}\r\n\r\n[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\n\r\n::-webkit-file-upload-button {\r\n font: inherit;\r\n -webkit-appearance: button;\r\n}\r\n\r\noutput {\r\n display: inline-block;\r\n}\r\n\r\nsummary {\r\n display: list-item;\r\n cursor: pointer;\r\n}\r\n\r\ntemplate {\r\n display: none;\r\n}\r\n\r\n[hidden] {\r\n display: none !important;\r\n}\r\n\r\n\r\n\r\n * {\r\n margin: 0;\r\n padding: 0;\r\n box-sizing: border-box;\r\n outline: 0;\r\n }\r\n\r\n html, body, #root {\r\n height: 100%;\r\n }\r\n\r\n body {\r\n text-rendering: optimizeLegibility !important;\r\n -webkit-font-smoothing: antialiased !important;\r\n font-family: 'Open Sans', sans-serif;\r\n background-color: #F8F8F8;\r\n }\r\n\r\n *, input, select, textarea, option, button {\r\n outline: none!important;\r\n}\r\n`;\r\n\r\nexport default GlobalStyle;\r\n","import React, { Component } from 'react';\r\n\r\nimport { WrapperFlex } from '@unimed-fesp/components';\r\n\r\nimport ErrorPage from './pages/ErrorPage';\r\n\r\nconst { NODE_ENV } = process.env;\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor() {\r\n super();\r\n this.state = { hasError: false, error: null };\r\n }\r\n\r\n componentDidCatch(error, info) {\r\n this.setState({ hasError: true, error });\r\n console.log(error.message, info.componentStack);\r\n }\r\n\r\n render() {\r\n const { hasError, error } = this.state;\r\n const { children } = this.props;\r\n\r\n if (hasError)\r\n return (\r\n \r\n \r\n \r\n );\r\n return children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;\r\n","import styled from 'styled-components';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n justify-content: space-between; /* Alinha os itens horizontalmente com espaço entre eles */\r\n align-items: center; /* Alinha os itens verticalmente ao centro */\r\n color: #a1a1a1;\r\n text-align: left;\r\n font: 500 11px 'Calibri';\r\n letter-spacing: 0.4px;\r\n opacity: 1;\r\n margin: 0 auto;\r\n max-width: 1038px;\r\n width: 100%;\r\n margin-top: 8%;\r\n`;","import React from 'react';\r\nimport { TokenExpirationTimer } from '../../../services/auth';\r\nimport { Container } from './styles';\r\n\r\nfunction FooterPage() {\r\n return (\r\n \r\n
    {new Date().getFullYear()} © Unimed Fesp | Sistema MovCad
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default FooterPage;\r\n","import styled from 'styled-components';\r\n\r\nexport const SelectContratanteContainer = styled.div`\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n min-width: 400px;\r\n\r\n cursor: pointer;\r\n min-height: 40px;\r\n`;\r\n","import React, { useCallback } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport * as jwtDecode from 'jwt-decode';\r\n\r\nimport { IoIosArrowDown } from 'react-icons/io';\r\nimport { Text, WrapperFlex, InputDropdown } from '@unimed-fesp/components';\r\nimport { SelectContratanteContainer } from './styles';\r\n\r\nimport { isContratanteNestle } from '../../../utils/userRole';\r\n\r\nimport theme from '../../../styles/theme';\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\nconst textNestle = 'Nestlé';\r\n\r\nconst DropChangeParametrizacao = ({\r\n contratantes,\r\n onClick,\r\n headerText,\r\n nomeComplemento,\r\n}) => {\r\n const { usuario, accessToken } = useSelector((state) => state.auth);\r\n\r\n const { IsAdm } = jwtDecode(accessToken);\r\n\r\n // #region Flags\r\n const HAS_NESTLE = nomeComplemento?.toLocaleUpperCase() === 'NESTLE';\r\n const IS_ADM = IsAdm && IsAdm.toLocaleUpperCase() === 'TRUE';\r\n const IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA =\r\n (!IS_ADM && isContratanteNestle(usuario)) || contratantes?.length < 1;\r\n // #endregion\r\n\r\n const getOptionsDrop = useCallback(() => {\r\n if (!IS_ADM) return contratantes.map((contratante) => contratante.nome);\r\n if (HAS_NESTLE)\r\n return [TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm, textNestle];\r\n\r\n return [\r\n TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm,\r\n ...contratantes.map((contratante) => contratante.nome),\r\n ];\r\n }, [HAS_NESTLE, IS_ADM, contratantes]);\r\n\r\n const selectedParametrizacao = useCallback(\r\n (optionDrop) => {\r\n const targetParametrizacao =\r\n optionDrop === textNestle ? contratantes[0]?.nome : optionDrop;\r\n\r\n onClick(targetParametrizacao);\r\n },\r\n [contratantes, onClick]\r\n );\r\n\r\n if (IS_NESTLE_OR_PARAMETRIZACAO_UNITARIA)\r\n return (\r\n \r\n \r\n \r\n {usuario.role !== TipoPerfilUsuarioEnum.returnNameForName.Adm && (\r\n \r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {headerText && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DropChangeParametrizacao;\r\n","import styled from 'styled-components';\r\n\r\nimport { Text } from '@unimed-fesp/components';\r\n// TO-DO trocar por button da lib\r\nimport Button from '../../atoms/Button';\r\n\r\nexport const Container = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n align-items: center;\r\n`;\r\n\r\nexport const ContentText = styled.div`\r\n font: 300 14px 'work_sans';\r\n color: #5a5a5a;\r\n margin-top: 28px;\r\n margin-bottom: 37px;\r\n align-self: center;\r\n\r\n strong {\r\n font: bold 15px 'work_sans';\r\n }\r\n\r\n a,\r\n a:hover {\r\n font: bold 14px 'work_sans';\r\n color: #8bac2a;\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const TextSucesso = styled(Text)`\r\n text-align: left;\r\n font: 34px unimed_slabbold;\r\n letter-spacing: 0px;\r\n color: #5a5a5a;\r\n opacity: 1;\r\n`;\r\n\r\nexport const ButtonFooter = styled(Button)`\r\n width: 100px;\r\n height: 40px;\r\n display: block;\r\n`;\r\n","import React from 'react';\r\n\r\nimport { Button, Modal } from '@unimed-fesp/components';\r\n\r\nimport { FaDoorOpen } from 'react-icons/fa';\r\nimport { ModalContent, ModalContentWrapper } from '../../molecules/Modal';\r\n\r\nimport theme from '../../../styles/theme';\r\n\r\nimport { Container, ContentText, TextSucesso } from './styles';\r\n\r\nfunction ModalLogout({ isOpen, onClick, logOut }) {\r\n return (\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Você deseja sair do sistema?\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst ModalFooter = ({ onClick, logOut }) => {\r\n return (\r\n <>\r\n \r\n cancelar\r\n \r\n \r\n sair\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ModalLogout;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { Link } from 'react-router-dom';\r\nimport theme from '../../../styles/theme';\r\n\r\nexport const SelectContratanteContainer = styled.div`\r\n display: flex;\r\n align-items: baseline;\r\n`;\r\n\r\nexport const NavbarContentContainer = styled.div`\r\n background-color: ${theme.greenDefault};\r\n width: 100%;\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n\r\n @media print {\r\n display: none;\r\n }\r\n`;\r\n\r\nexport const NavbarItemsContainer = styled.ul`\r\n display: flex;\r\n max-width: 1038px;\r\n min-height: 50px;\r\n margin: 0;\r\n width: 1038px;\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const NavbarLogoContainer = styled(Link)`\r\n list-style: none;\r\n color: #ffffff;\r\n font-family: 'unimed_slabbold';\r\n font-weight: bolder;\r\n font-size: 25px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: #ffffff;\r\n\r\n text-decoration: none;\r\n }\r\n`;\r\n\r\nexport const NavbarItemContainer = styled.li`\r\n list-style: none;\r\n letter-spacing: 0px;\r\n justify-content: flex-end;\r\n color: #ffffff;\r\n font-size: 15px;\r\n font-family: Calibri;\r\n font-weight: bold;\r\n padding-left: 20px;\r\n\r\n svg {\r\n margin-left: 10px;\r\n cursor: pointer;\r\n }\r\n\r\n ${({ marginRight }) =>\r\n marginRight\r\n ? css`\r\n margin-right: ${marginRight};\r\n `\r\n : ``};\r\n\r\n ${({ paddingRight }) =>\r\n paddingRight\r\n ? css`\r\n padding-right: ${paddingRight}px;\r\n `\r\n : ``};\r\n\r\n ${({ marginLeft }) =>\r\n marginLeft\r\n ? css`\r\n margin-left: ${marginLeft};\r\n `\r\n : ``};\r\n`;\r\n\r\nexport const NavbarLegacyLink = styled.a`\r\n list-style: none;\r\n color: #ffffff;\r\n font-family: 'unimed_slabbold';\r\n font-weight: bolder;\r\n font-size: 25px;\r\n cursor: pointer;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: #ffffff;\r\n\r\n text-decoration: none;\r\n }\r\n`;\r\n","import { NavbarPrimary as NavbarContainer } from '@unimed-fesp/components';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { MdInput } from 'react-icons/md';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { Creators as AuthActions } from '../../../store/ducks/auth';\r\nimport { Creators as UsuarioActions } from '../../../store/ducks/usuario';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\nimport { isAdmin, isOldAdmin } from '../../../utils/userRole';\r\n\r\n// #region Componentes\r\nimport DropChangeParametrizacao from '../DropChangeParametrizacao';\r\nimport ModalLogout from '../ModalLogout';\r\n// #endregion\r\n\r\nimport { NavbarItemContainer, NavbarItemsContainer } from './styles';\r\n\r\nfunction NavbarPrimary() {\r\n const dispatch = useDispatch();\r\n const { usuario, accessToken } = useSelector((state) => state.auth);\r\n const { getContratantesUsuario } = useSelector((state) => state.usuario);\r\n\r\n let contratantes = [];\r\n const nomeComplemento =\r\n getContratantesUsuario?.response?.nomeComplemento || '';\r\n\r\n if (getContratantesUsuario?.response?.contranteParametrizada) {\r\n contratantes = getContratantesUsuario.response.contranteParametrizada.map(\r\n (contratante) => ({\r\n nome: `${contratante.codigoContratante} - ${contratante.nomeContratante}`,\r\n })\r\n );\r\n }\r\n\r\n const [open, setOpen] = useState(false);\r\n\r\n const selectedContratante =\r\n usuario.role === 'Adm'\r\n ? ''\r\n : `${usuario.codigoContratante} - ${usuario.nomeEmpresa}`;\r\n\r\n function handleLogOut() {\r\n setOpen(!open);\r\n }\r\n\r\n function handleSignOut() {\r\n dispatch(AuthActions.signOutLegadoRequest());\r\n }\r\n\r\n function handleSelectedContratante(contratante) {\r\n let tempContratante = contratante;\r\n if (contratante === TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm)\r\n tempContratante = `0 - ${TipoPerfilUsuarioEnum.returnNameFormattedForName.Adm}`;\r\n\r\n const [id, ...rest] = tempContratante?.split('-');\r\n dispatch(\r\n AuthActions.getChangeTokenRequest({\r\n id,\r\n })\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n if (usuario.idUsuarioLogado !== 0 && !isAdmin())\r\n dispatch(\r\n UsuarioActions.getContratantesUsuarioRequest(usuario.idUsuarioLogado)\r\n );\r\n }, [dispatch, usuario.idUsuarioLogado, usuario.role]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n {!isOldAdmin(accessToken) && (\r\n \r\n )}\r\n {usuario.nome && (\r\n \r\n {usuario.nome}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NavbarPrimary;\r\n","import styled, { css } from 'styled-components';\r\n\r\nimport { NavLink } from 'react-router-dom';\r\nimport theme from '../../../styles/theme';\r\n\r\nconst activeClassName = 'nav-item-active';\r\n\r\nexport const NavbarContentContainer = styled.div`\r\n background-color: #ffffff;\r\n box-shadow: 0px 1px 2px #0000001a;\r\n width: 100%;\r\n align-items: center;\r\n display: flex;\r\n justify-content: center;\r\n`;\r\n\r\nexport const NavbarItemsContainer = styled.div`\r\n display: flex;\r\n max-width: 1038px;\r\n margin: 0;\r\n width: 1038px;\r\n\r\n a {\r\n &:hover {\r\n text-decoration: none;\r\n }\r\n }\r\n\r\n ${({\r\n justifyCenter,\r\n justifySpaceBetween,\r\n justifyEnd,\r\n justifyStart,\r\n justifySpaceAround,\r\n justifySpaceEvenly,\r\n }) =>\r\n justifyCenter\r\n ? css`\r\n justify-content: center;\r\n `\r\n : justifySpaceBetween\r\n ? css`\r\n justify-content: space-between;\r\n `\r\n : justifyEnd\r\n ? css`\r\n justify-content: flex-end;\r\n `\r\n : justifySpaceAround\r\n ? css`\r\n justify-content: space-around;\r\n `\r\n : justifySpaceEvenly\r\n ? css`\r\n justify-content: space-evenly;\r\n `\r\n : justifyStart\r\n ? css`\r\n justify-content: flex-start;\r\n `\r\n : ''};\r\n\r\n ${({ alignStart, alignCenter, alignEnd }) =>\r\n alignStart\r\n ? css`\r\n align-items: flex-start;\r\n `\r\n : alignCenter\r\n ? css`\r\n align-items: center;\r\n `\r\n : alignEnd\r\n ? css`\r\n align-items: flex-end;\r\n `\r\n : ''};\r\n`;\r\n\r\nexport const NavbarItemContainer = styled(NavLink).attrs({ activeClassName })`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n color: #5a5a5a;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n fill: ${theme.greenDefault};\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport const NavbarLegacyLink = styled.a`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n\r\n color: #5a5a5a;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n &.${activeClassName} {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault};\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n\r\nexport const DropdownContainer = styled.div`\r\n min-height: 1.875rem;\r\n padding: 0;\r\n margin: 0;\r\n position: absolute;\r\n z-index: 10;\r\n\r\n ${({ isBeneficiary }) => {\r\n if (isBeneficiary) {\r\n return css`\r\n margin-top: 177px;\r\n margin-left: 90px;\r\n `;\r\n }\r\n return css`\r\n margin-top: 234px;\r\n margin-left: 137px;\r\n `;\r\n }}\r\n\r\n ${({ showDropdownBeneficiary }) =>\r\n showDropdownBeneficiary\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n ${({ showDropdown }) =>\r\n showDropdown\r\n ? css`\r\n display: block;\r\n `\r\n : css`\r\n display: none;\r\n `}\r\n`;\r\n\r\nexport const DropdownItens = styled(NavLink)`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: block;\r\n padding: 20px 16px;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\nexport const DropdownItensLegacy = styled.a`\r\n background-color: #fff;\r\n color: #808080;\r\n width: 202px;\r\n height: 58px;\r\n letter-spacing: 0.56px;\r\n text-decoration: none;\r\n display: block;\r\n padding: 20px 16px;\r\n\r\n &:hover {\r\n background-color: #f2faf7;\r\n color: #1daa7d;\r\n }\r\n`;\r\n\r\nexport const NavbarItemDropdownContainer = styled.div`\r\n list-style: none;\r\n font-size: 14px;\r\n font-family: 'unimed_slabregular', sans-serif;\r\n font-weight: 600;\r\n color: #5a5a5a !important;\r\n cursor: pointer;\r\n text-decoration: none;\r\n display: flex;\r\n height: 60px;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover {\r\n .d {\r\n fill: ${theme.greenDefault};\r\n }\r\n fill: ${theme.greenDefault};\r\n border-bottom: 2px solid ${theme.greenDefault};\r\n color: ${theme.greenDefault} !important;\r\n }\r\n\r\n svg {\r\n margin-right: 10px;\r\n\r\n cursor: pointer;\r\n }\r\n`;\r\n","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgBeneficiarioIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M7.5,11.458c-1.95,0-5.833.975-5.833,2.917v1.458H13.333V14.375C13.333,12.433,9.45,11.458,7.5,11.458ZM3.617,14.167A8.035,8.035,0,0,1,7.5,13.125a8.035,8.035,0,0,1,3.883,1.042ZM7.5,10A2.917,2.917,0,1,0,4.583,7.083,2.92,2.92,0,0,0,7.5,10Zm0-4.167a1.25,1.25,0,1,1-1.25,1.25A1.248,1.248,0,0,1,7.5,5.833Zm5.867,5.675A3.494,3.494,0,0,1,15,14.375v1.458h3.333V14.375C18.333,12.692,15.417,11.733,13.367,11.508ZM12.5,10a2.917,2.917,0,0,0,0-5.833,2.871,2.871,0,0,0-1.25.292,4.551,4.551,0,0,1,0,5.25A2.871,2.871,0,0,0,12.5,10Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgBeneficiarioIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/beneficiarioIcon.45b14d8d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgConfiguracaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M16.192,10.817A6.494,6.494,0,0,0,16.25,10a6.494,6.494,0,0,0-.058-.817L17.95,7.808a.42.42,0,0,0,.1-.533L16.383,4.392a.416.416,0,0,0-.367-.208.389.389,0,0,0-.142.025L13.8,5.042a6.088,6.088,0,0,0-1.408-.817l-.317-2.208a.406.406,0,0,0-.408-.35H8.333a.406.406,0,0,0-.408.35L7.608,4.225A6.4,6.4,0,0,0,6.2,5.042L4.125,4.208a.472.472,0,0,0-.15-.025.413.413,0,0,0-.358.208L1.95,7.275a.411.411,0,0,0,.1.533L3.808,9.183A6.609,6.609,0,0,0,3.75,10a6.609,6.609,0,0,0,.058.817L2.05,12.192a.42.42,0,0,0-.1.533l1.667,2.883a.416.416,0,0,0,.367.208.389.389,0,0,0,.142-.025L6.2,14.958a6.088,6.088,0,0,0,1.408.817l.317,2.208a.406.406,0,0,0,.408.35h3.333a.406.406,0,0,0,.408-.35l.317-2.208a6.4,6.4,0,0,0,1.408-.817l2.075.833a.472.472,0,0,0,.15.025.413.413,0,0,0,.358-.208l1.667-2.883a.42.42,0,0,0-.1-.533Zm-1.65-1.425a4.452,4.452,0,0,1,.042.608c0,.175-.017.358-.042.608l-.117.942.742.583.9.7-.583,1.008-1.058-.425-.867-.35-.75.567a4.881,4.881,0,0,1-1.042.608l-.883.358-.133.942-.167,1.125H9.417l-.158-1.125L9.125,14.6l-.883-.358a4.728,4.728,0,0,1-1.025-.592l-.758-.583-.883.358-1.058.425-.583-1.008.9-.7.742-.583-.117-.942c-.025-.258-.042-.45-.042-.617s.017-.358.042-.608l.117-.942-.742-.583-.9-.7.583-1.008,1.058.425.867.35.75-.567a4.881,4.881,0,0,1,1.042-.608L9.117,5.4l.133-.942.167-1.125h1.158l.158,1.125.133.942.883.358a4.728,4.728,0,0,1,1.025.592l.758.583.883-.358,1.058-.425.583,1.008-.892.708-.742.583.117.942ZM10,6.667A3.333,3.333,0,1,0,13.333,10,3.332,3.332,0,0,0,10,6.667Zm0,5A1.667,1.667,0,1,1,11.667,10,1.672,1.672,0,0,1,10,11.667Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgConfiguracaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/configuracaoIcon.d4f2eb13.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgGestaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n enableBackground: \"new 0 0 24 24\",\n height: 17,\n viewBox: \"0 0 24 24\",\n width: 17,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"none\",\n height: 17,\n width: 17\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"6,22 18,22 12,16\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h4v-2H3V5h18v12h-4v2h4c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z\"\n }))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgGestaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/gestaoIcon.cf80ec28.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgListasIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#00995d;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M6.667,13.333h6.667V15H6.667Zm0-3.333h6.667v1.667H6.667Zm5-8.333H5A1.672,1.672,0,0,0,3.333,3.333V16.667a1.664,1.664,0,0,0,1.658,1.667H15a1.672,1.672,0,0,0,1.667-1.667v-10Zm3.333,15H5V3.333h5.833V7.5H15Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgListasIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/listasIcon.945657cf.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgSegundaViaCartaoIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M16.667,3.333H3.333A1.654,1.654,0,0,0,1.675,5L1.667,15a1.661,1.661,0,0,0,1.667,1.667H16.667A1.661,1.661,0,0,0,18.333,15V5A1.661,1.661,0,0,0,16.667,3.333Zm0,11.667H3.333V10H16.667Zm0-8.333H3.333V5H16.667Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgSegundaViaCartaoIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/segundaViaCartaoIcon.53ae05d4.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React from \"react\";\nconst SvgVisaoGeralIcon = _ref => {\n let {\n svgRef,\n title,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \".a{fill:#fff;stroke:#707070;}.b{clip-path:url(#a);}.c{fill:none;}.d{fill:#5a5a5a;}\"), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a\",\n width: 20,\n height: 20,\n transform: \"translate(5 5)\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"b\",\n transform: \"translate(-5 -5)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(5 5)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"c\",\n d: \"M0,0H20V20H0Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"d\",\n d: \"M15.833,4.167V5.833H12.5V4.167h3.333m-8.333,0v5H4.167v-5H7.5m8.333,6.667v5H12.5v-5h3.333M7.5,14.167v1.667H4.167V14.167H7.5M17.5,2.5H10.833v5H17.5Zm-8.333,0H2.5v8.333H9.167ZM17.5,9.167H10.833V17.5H17.5ZM9.167,12.5H2.5v5H9.167Z\"\n })))));\n};\nconst ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgVisaoGeralIcon, _extends({\n svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/visaoGeralIcon.f25f51b5.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useRef, useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\n\r\nimport {\r\n CanAccess,\r\n NavbarSecondary as NavbarSecondaryContainer,\r\n} from '@unimed-fesp/components';\r\nimport {\r\n DropdownContainer,\r\n DropdownItens,\r\n DropdownItensLegacy,\r\n NavbarItemContainer,\r\n NavbarItemDropdownContainer,\r\n NavbarLegacyLink,\r\n} from './styles';\r\n\r\nimport { TipoPerfilUsuarioEnum } from '../../../enums';\r\n\r\n// #region Import assets\r\nimport { ReactComponent as BeneficiarioIcone } from '../../../assets/icons/beneficiarioIcon.svg';\r\nimport { ReactComponent as ConfiguracaoIcone } from '../../../assets/icons/configuracaoIcon.svg';\r\nimport { ReactComponent as GestaoIcone } from '../../../assets/icons/gestaoIcon.svg';\r\nimport { ReactComponent as ListasIcone } from '../../../assets/icons/listasIcon.svg';\r\nimport { ReactComponent as SegundaViaIcone } from '../../../assets/icons/segundaViaCartaoIcon.svg';\r\nimport { ReactComponent as VisaoGeralIcone } from '../../../assets/icons/visaoGeralIcon.svg';\r\n// #endregion\r\n\r\nimport { legacyRoutes } from '../../../routes/legacyRoutes';\r\n\r\nimport useOutsideClick from '../../../utils/useOutsideClick';\r\nimport { isAdmin, isContratanteNestle } from '../../../utils/userRole';\r\n\r\nfunction NavbarSecondary() {\r\n const { usuario } = useSelector((state) => state.auth);\r\n const refDropdown = useRef();\r\n const refDropdownBeneficiary = useRef();\r\n const [showDropdown, setShowDropdown] = useState(false);\r\n const [showDropdownBeneficiary, setShowDropdownBeneficiary] = useState(false);\r\n\r\n const handleDropdownBeneficiary = (e) => {\r\n if (e.target) setShowDropdownBeneficiary(!showDropdownBeneficiary);\r\n };\r\n const handleShowDropdownItens = (e) => {\r\n if (e.target) setShowDropdown(!showDropdown);\r\n };\r\n\r\n useOutsideClick(refDropdown, () => {\r\n if (showDropdown) setShowDropdown(false);\r\n });\r\n\r\n useOutsideClick(refDropdownBeneficiary, () => {\r\n if (showDropdownBeneficiary) setShowDropdownBeneficiary(false);\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n Visão Geral\r\n \r\n {usuario.role === TipoPerfilUsuarioEnum.returnNameForName.Adm ? (\r\n \r\n \r\n Listas\r\n \r\n \r\n Listas de movimentação\r\n \r\n listas de RPA\r\n \r\n Listas de massa inicial\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n Listas\r\n \r\n )}\r\n\r\n \r\n \r\n 2° via de cartão\r\n \r\n {/* \r\n \r\n 2° Via de Cartão\r\n */}\r\n\r\n {isContratanteNestle(usuario) ? (\r\n \r\n \r\n Beneficiários\r\n \r\n ) : (\r\n \r\n \r\n Beneficiários\r\n \r\n )}\r\n\r\n {isContratanteNestle(usuario) ? (\r\n \r\n \r\n Relatórios\r\n \r\n ) : (\r\n !isContratanteNestle(usuario.role) &&\r\n !isAdmin(usuario.role) && (\r\n \r\n \r\n Relatórios\r\n \r\n \r\n Relatório Beneficiários\r\n \r\n\r\n \r\n Acompanhar Relatórios\r\n \r\n \r\n \r\n )\r\n )}\r\n\r\n \r\n \r\n \r\n Gestão\r\n \r\n \r\n \r\n \r\n Configurações\r\n \r\n \r\n );\r\n}\r\n\r\nexport default NavbarSecondary;\r\n","import styled, { keyframes } from 'styled-components';\r\n\r\nconst animateEnter = keyframes`\r\n 100%{\r\n transform: translate(-50%, -50%) scale(1);\r\n opacity: 1;\r\n }\r\n 60%{\r\n transform: translate(-50%, -50%) scale(1.1);\r\n\r\n }\r\n 0%{\r\n opacity: 0;\r\n transform: translate(-50%, -50%) scale(.8);\r\n }\r\n`;\r\n\r\nexport const Container = styled.div`\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n padding: 30px;\r\n overflow: hidden;\r\n\r\n & > [role='dialog'] {\r\n animation: ${animateEnter} forwards 650ms;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport { Modal, Button, Text } from '@unimed-fesp/components';\r\n\r\nimport { Container } from './styles';\r\n\r\nconst ModalTrigger = ({ tipo, message, callback, closeModal, Footer }) => {\r\n const onClickModal = () => {\r\n callback();\r\n closeModal();\r\n };\r\n\r\n const isJsxElement = React.isValidElement(message);\r\n\r\n return (\r\n \r\n \r\n ) : (\r\n \r\n )\r\n }\r\n >\r\n {isJsxElement ? message : }\r\n \r\n \r\n );\r\n};\r\n\r\nconst DefaultFooter = ({ onClick }) => (\r\n \r\n ok\r\n \r\n);\r\n\r\nexport default ModalTrigger;\r\n","import React, {\r\n createContext,\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useRef,\r\n} from 'react';\r\nimport ModalTrigger from './ModalTrigger';\r\n\r\nconst TriggerModalContext = createContext();\r\n\r\nconst inicialState = {\r\n isOpen: false,\r\n message: '',\r\n callback: () => null,\r\n tipo: 'success',\r\n Footer: null,\r\n};\r\n\r\nexport const TriggerModalContextProvider = ({ children }) => {\r\n const providerRef = useRef(null);\r\n const [optionsModal, setOptionsModal] = useState(inicialState);\r\n\r\n const openModal = (\r\n message,\r\n callback = () => null,\r\n tipo = 'success',\r\n Footer = null\r\n ) => {\r\n setOptionsModal({\r\n ...inicialState,\r\n message,\r\n callback,\r\n tipo,\r\n Footer,\r\n isOpen: true,\r\n });\r\n };\r\n\r\n const closeModal = () => {\r\n setOptionsModal({ ...inicialState, isOpen: false });\r\n };\r\n\r\n const callbackEventShowModal = useCallback(({ detail }) => {\r\n const { options } = detail;\r\n openModal(options.message, options.callback, options.tipo, options.Footer);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (providerRef.current) {\r\n const event = document.createEvent('Event');\r\n\r\n event.initEvent('show-modal', true, true);\r\n providerRef.current.addEventListener(\r\n 'show-modal',\r\n callbackEventShowModal,\r\n false\r\n );\r\n }\r\n }, [callbackEventShowModal]);\r\n\r\n return (\r\n
    \r\n \r\n {children}\r\n {optionsModal.isOpen && (\r\n \r\n )}\r\n {' '}\r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport Routes from './routes';\r\nimport GlobalStyle from './styles/global';\r\n\r\nimport CustomScrollBars from './components/molecules/CustomScrollBars';\r\nimport Toast from './components/molecules/Toast';\r\n\r\nimport ErrorBoundary from './ErrorBoundary';\r\nimport FooterPage from './components/organisms/FooterPage';\r\nimport NavbarPrimary from './components/organisms/NavbarPrimary';\r\nimport NavbarSecondary from './components/organisms/NavbarSecondary';\r\nimport { TriggerModalContextProvider } from './context/TriggerModalContext/TriggerModalContext';\r\n\r\nconst App = () => {\r\n const { loggedIn } = useSelector((state) => state.auth);\r\n\r\n return (\r\n <>\r\n \r\n {loggedIn && }\r\n {loggedIn && }\r\n \r\n \r\n \r\n \r\n \r\n {loggedIn && }\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\nimport { Provider } from 'react-redux';\r\nimport { Router } from 'react-router-dom';\r\n\r\nimport history from './services/history';\r\n\r\nimport './config/ReactotronConfig';\r\nimport Store from './store';\r\n\r\nimport App from './App';\r\n\r\nconst Application = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nReactDOM.render(, document.getElementById('root'));\r\n","const StatusListaEnum = require('./StatusListaEnum');\r\nconst StatusExecucaoEnum = require('./StatusExecucaoEnum');\r\nconst StatusListaAPIEnum = require('./StatusListaAPIEnum');\r\nconst MovimentacaoListaEnum = require('./MovimentacaoListaEnum');\r\nconst TipoListaEnum = require('./TipoListaEnum');\r\nconst UploadeProgressEnum = require('./UploadeProgressEnum');\r\nconst PerfilEnum = require('./PerfilEnum');\r\nconst PermissaoContratanteEnum = require('./PermissaoContratanteEnum');\r\nconst TipoTelefoneEnum = require('./TipoTelefoneEnum');\r\nconst TipoStatusEnum = require('./TipoStatusEnum');\r\nconst TipoPerfilUsuarioEnum = require('./TipoPerfilUsuarioEnum');\r\nconst TipoConsultaParametrizacaoEnum = require('./TipoConsultaParametrizacaoEnum');\r\nconst TipoCardRoot = require('./TipoCardRoot');\r\nconst StatusListaRPAEnum = require('./StatusListaRPAEnum');\r\nconst TipoDocumentoEnum = require('./TipoDocumentoEnum');\r\nconst StatusEnvioListaEnum = require('./StatusEnvioListaEnum');\r\nconst TipoEventoWebhookEnum = require('./TipoEventoWebhookEnum');\r\n\r\nmodule.exports = {\r\n StatusExecucaoEnum,\r\n StatusListaAPIEnum,\r\n StatusListaEnum,\r\n MovimentacaoListaEnum,\r\n TipoListaEnum,\r\n UploadeProgressEnum,\r\n PerfilEnum,\r\n PermissaoContratanteEnum,\r\n TipoTelefoneEnum,\r\n TipoStatusEnum,\r\n TipoPerfilUsuarioEnum,\r\n TipoConsultaParametrizacaoEnum,\r\n TipoCardRoot,\r\n StatusListaRPAEnum,\r\n TipoDocumentoEnum,\r\n StatusEnvioListaEnum,\r\n TipoEventoWebhookEnum,\r\n};\r\n","module.exports = __webpack_public_path__ + \"static/media/logo-unimed-fesp.3f83c02e.svg\";","module.exports = {\r\n returnName: {\r\n 1: 'Adm',\r\n 2: 'ContratanteConsulta',\r\n 3: 'ContratanteAlteracao',\r\n },\r\n returnNameForName: {\r\n Adm: 'Adm',\r\n ContratanteConsulta: 'ContratanteConsulta',\r\n ContratanteAlteracao: 'ContratanteAlteracao',\r\n },\r\n returnNameForRefresh: {\r\n Adm: 'ADM',\r\n ContratanteConsulta: 'contratante',\r\n ContratanteAlteracao: 'contratante',\r\n },\r\n\r\n returnNameFormatted: {\r\n 0: 'Selecione',\r\n 1: 'Administrador',\r\n 2: 'Contratante Consulta',\r\n 3: 'Contratante Alteração',\r\n },\r\n returnId: {\r\n Adm: 1,\r\n ContratanteConsulta: 2,\r\n ContratanteAlteracao: 3,\r\n },\r\n returnNameFormattedForName: {\r\n Selecione: 'Selecione',\r\n Adm: 'Administrador',\r\n Administrador: 'Administrador',\r\n ContratanteConsulta: 'Contratante Consulta',\r\n ContratanteAlteracao: 'Contratante Alteração',\r\n },\r\n returnNameForNameFormatted: {\r\n Administrador: 'Adm',\r\n 'Contratante Consulta': 'ContratanteConsulta',\r\n 'Contratante Alteração': 'ContratanteAlteracao',\r\n },\r\n returnTipoPerfilAcessoForTipoPerfil: {\r\n Selecione: 'Selecione',\r\n Adm: 'Administrador',\r\n Administrador: 'Administrador',\r\n Contratante: 'Contratante',\r\n ContratanteConsulta: 'Contratante',\r\n ContratanteAlteracao: 'Contratante',\r\n },\r\n // returnTipoPerfilForTipoPerfilAcesso: {\r\n // Administrador: 'Administrador',\r\n // Contratante: 'ContratanteConsulta',\r\n // Contratante: 'ContratanteAlteração',\r\n // },\r\n};\r\n"],"sourceRoot":""}