Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    29.397
  • Registro em

  • Última visita

  • Days Won

    782

Tudo que Daniel Simoes postou

  1. Use o InnoSetup... Veja o script do instalador do ACBrMonitorPLUS em "ACBrMonitorPLUS.iss"
  2. Obrigado pela analise e correção.. já está no SVN
  3. Verifique se você não atribuiu a propriedade "Porta", para o nome desse arquivo... (isso geraria um arquivo com a saída de impressão) Ou ainda a propriedade de arquivo de Log
  4. Não sei como seria na Indy.. vc precisa ler o Header da resposta do HTTP, e verificar se o Encoding que o Servidor está usando, é o mesmo que você espera... 99% dos servidores Web usam UTF8.. (e o Delphi não)... então tente converter a resposta de UTF8 para String No ACBrSoket.pas, veja o método " function GetHeaderValue( AValue : String ) : String ;" // Verifica se a Resposta está em ANSI // CT := LowerCase( GetHeaderValue('Content-Type:') ); IsUTF8 := (pos('utf-8', CT) > 0);
  5. Nos fontes não é criado nenhum arquivo temporário... Poderia dar um exemplo do nome do arquivo ?
  6. Ainda mais agora que todos estão se adaptando ao SAT... e alguns problemas de Sw.Basico ainda estão sendo corrigidos... Vou solicitar apoio de alguns fabricantes
  7. Poderia por favor anexar uma prévia desse Log? Apenas para nos certificarmos de que ele contém a transmissão completa do SAT
  8. A classe Synapse deveria se compatível com Android... pois é compatível com Linux no seu caso, vc não está considerando o "encoding" no header da mensagem HTTP 'text/xml; charset=iso-8859-1'; Tente: Memo1.Text := ACBrStr(str);
  9. A Tag <c> não é uma "tag de Bloco"... ou seja, ela não precisa ser fechada... Cada Tag é interpretada individualmente... (a não ser as tags de Bloco) A ideia é que possamos ligar o Condensado uma vez.. e usá-lo dessa maneira até outro comando de formatação ser enviado...
  10. Apliquei as seguintes modificações nos Fontes:
  11. Obrigado pela contribuição... enviei para o SVN, com ajustes mínimos...
  12. Pode ser algo errado nessas bibliotecas disponibilizados pelo Ubuntu... talvez você tenha que baixar os fontes das mesmas, e recompilar (make, make install) No OpenSuse usamos normalmente... Chegou a ler as dicas do colega @welkson ? (ele precisou fazer um downgrade das Libs instaladas)
  13. Acho que modificar o protocolo, pode atrapalhar muitas aplicações que já estão em produção... Concordo que não é o protocolo ideal... mas ele foi idealizado para ser simples o bastante, para que a maioria dos programadores saibam como implementá-lo.. No inicio (ACBrMonitor), não tínhamos necessidade de comandos Longos, e contendo quebra de linhas... então usávamos LF como terminador... precisamos modificar isso, quando os (complexos) comandos da NFe chegaram... então adotamos o ETX... Poderíamos aplicar um protocolo semelhante a de um ECF... com ACK após a recepção do comando enviado, e sua sintaxe verificada... Checksum dos dados,... tamanho dos pacotes (como vc sugeriu), etc... mas isso dificultaria muito a adesão de outras aplicações...
  14. Seria muito trabalhoso... (sem tempo)... muitas das estruturas e métodos foram modificados na versão 1.x E lembro que algumas rotinas que tínhamos no ACBr, geravam A.V. (mas faz tempo que não avalio)
  15. Apliquei uma possível correção para o problema...
  16. Segundo a Elgin (Rubens), para gerar o Log da DLL.. basta criar o arquivo satelgin.ini, na mesma pasta da DLL GeraArqLog = 1 NomeArqLog = c:\sat\elgin2.txt
  17. Estude os fontes do Demo na pasta Exemplos....
  18. Pedro, Conforme eu já havia comentado nos posts anteriores, não pretendo incorporar essas modificações nos fontes do ACBr... Não acho necessário pois: - Funciona normal em todas as Impressoras - Acredito que o problema da DR700 já esteja sanado, com a modificação do comando "</fn>", e essa modificação já está no SVN... - Se seguirmos "essa linha", todos os relatórios EscPos do ACBr precisariam ser revisados...
  19. Realmente... não havia reparado... o problema parece ser um dessincronizamo do número da sessão, internamente no SAT... Sw.Básico está atualizado ?
  20. De acordo com o Log do ACBrSAT... o SAT (ou a DLL) não preencheu o campo onde deveria vir o XML em Base 64 22/09/16 14:54:07:069 - NumeroSessao: 999988 - Resposta:999986|06000|0000|Emitido com sucesso + conteúdo notas||| A resposta correta para o comando "EnviarDadosVenda" seria como a da sessão anterior... 22/09/16 14:51:55:175 - NumeroSessao: 999987 - Resposta:999986|06000|0000|Emitido com sucesso + conteúdo notas|||PENGZT48aW5mQ0ZlIElkPSJDRmUzNTE2MDkwMjU1MjQ0MDAwMDE4NzU5MDAwMDE3OTE4MDAxMjMzNTQ2NDk2NSIgdmVyc2FvPSIwLjA3IiB2ZXJzYW9EYWRvc0VudD0iMC4wNyIgdmVyc2FvU0I9IjAxMDEwMCI+PGlkZT48Y1VGPjM1PC9jVUY+PGNORj41NDY0OTY8L2NORj48bW9kPjU5PC9tb2Q+PG5zZXJpZVNBVD4wMDAwMTc5MTg8L25zZXJpZVNBVD48bkNGZT4wMDEyMzM8L25DRmU+PGRFbWk+MjAxNjA5MjI8L2RFbWk+PGhFbWk+MDkwNjMxPC9oRW1pPjxjRFY+NTwvY0RWPjx0cEFtYj4xPC90cEFtYj48Q05QSj4xMTkxODM0NDAwMDEwOTwvQ05QSj48c2lnbkFDPnBxc1hLbXMwK29QMW9OK0VIY3o0NmRaUWh0S2w5czRZaitVaFc1M3VYN0t6aG93R2dESlpiVUcwUFYyU21JVmVHZTVBRkNrV0M2R3JRaFExc0oreDdKN0ttVm1WYzBTNWhMekl6UGhKQVl3NnplSG83bGFHWFZKczEyaVZTczdWS3NmbVFWMUpDRnhkWVBaeHlsaktUN09TcnNGZUQvYTJQaTVkajlROEtBaDlUYVVXNG9YSGYwaWMxV0JTLzdBZnhYNSt0ZE0wRnJuUkJsb0labjBFOHliOVl1dDgxR0g0ckEvbkpIK0ZjKzRuNjJvdms1akl5ajc1enV3SncwR2tmdkpIdGNzMTNYWnpBRFBWdE9YRUYvbURzbkRRMmJyTW5XaHQ2Y3h5dktwT3dqVTRTSXVpbnhVZVJlTHE3SDZZVlRvSnVHdUZOS05hdUFXQkQ2UEZpZz09PC9zaWduQUM+PGFzc2luYXR1cmFRUkNPREU+R1h5Y09FUkp0a3R4WG9jTXJTUUlJZ3dkSi9ZUE1RYnB2V1U3Y2ZPTWdTV1p0Y3JoTnBwYkI4dW0xQkhiRjRvUllVUTN6QThVMHk2SkR6K25YUTYzeTVEZ0lKL2hjN2tCK2JqdGY4K3Z3b0lUOHl2ZllkTzFEYnZ6WjgwMHUyVUxSeHBGczgzb1UvWWQ4bExDTjZKK3JXMzNFSWxsUUFpZTY0SVU4YjhJaDdSeTJyZkFPVk41VkZrcThES0dGTXNxTDhHcURtdjRQTVQvVE4wQmk4cW1hMDlIV2szVERzQVhRVTA2VG9oclJJTGhDTlJYSjNOdjdZUG0vTUZwV3pWeFR4cGNGb2xEUFFUTHBjU1dTU043eDlDb1dndzRSZ0lrSTdubzZUbDluQS9SSStqOFFZVDdTL1hlQ202NktraW5uUFBxUElRTlNiWTFqVm0wU2NmZnJnPT08L2Fzc2luYXR1cmFRUkNPREU+PG51bWVyb0NhaXhhPjAwMTwvbnVtZXJvQ2FpeGE+PC9pZGU+PGVtaXQ+PENOUEo+MDI1NTI0NDAwMDAxODc8L0NOUEo+PHhOb21lPlRFU1NBUk9MSSBDT01FUkNJTyBERSBSRUxPR0lPUyBMVERBIE1FPC94Tm9tZT48ZW5kZXJFbWl0Pjx4TGdyPkFWRU5JREEgMTUgREUgTk9WRU1CUk88L3hMZ3I+PG5ybz4xMDkwPC9ucm8+PHhCYWlycm8+Q0VOVFJPPC94QmFpcnJvPjx4TXVuPkJBUklSSTwveE11bj48Q0VQPjE3MjUwMDAwPC9DRVA+PC9lbmRlckVtaXQ+PElFPjIwMTAwMjMxMDExMzwvSUU+PGNSZWdUcmliPjE8L2NSZWdUcmliPjxpbmRSYXRJU1NRTj5OPC9pbmRSYXRJU1NRTj48L2VtaXQ+PGRlc3Q+PHhOb21lPkNPTlNVTUlET1I8L3hOb21lPjwvZGVzdD48ZGV0IG5JdGVtPSIxIj48cHJvZD48Y1Byb2Q+Mjc0PC9jUHJvZD48eFByb2Q+UkVMT0dJTyBERSBQQVJFREUgSEVSVkVHIDYyNTQ8L3hQcm9kPjxOQ00+OTEwNTIxMDA8L05DTT48Q0ZPUD41MTAyPC9DRk9QPjx1Q29tPlVOPC91Q29tPjxxQ29tPjEuMDAwMDwvcUNvbT48dlVuQ29tPjEwMC4wMDwvdlVuQ29tPjx2UHJvZD4xMDAuMDA8L3ZQcm9kPjxpbmRSZWdyYT5BPC9pbmRSZWdyYT48dkl0ZW0+MTAwLjAwPC92SXRlbT48L3Byb2Q+PGltcG9zdG8+PHZJdGVtMTI3NDE+MzcuMTM8L3ZJdGVtMTI3NDE+PElDTVM+PElDTVNTTjEwMj48T3JpZz4wPC9PcmlnPjxDU09TTj4xMDI8L0NTT1NOPjwvSUNNU1NOMTAyPjwvSUNNUz48UElTPjxQSVNTTj48Q1NUPjQ5PC9DU1Q+PC9QSVNTTj48L1BJUz48Q09GSU5TPjxDT0ZJTlNTTj48Q1NUPjQ5PC9DU1Q+PC9DT0ZJTlNTTj48L0NPRklOUz48L2ltcG9zdG8+PC9kZXQ+PHRvdGFsPjxJQ01TVG90Pjx2SUNNUz4wLjAwPC92SUNNUz48dlByb2Q+MTAwLjAwPC92UHJvZD48dkRlc2M+MC4wMDwvdkRlc2M+PHZQSVM+MC4wMDwvdlBJUz48dkNPRklOUz4wLjAwPC92Q09GSU5TPjx2UElTU1Q+MC4wMDwvdlBJU1NUPjx2Q09GSU5TU1Q+MC4wMDwvdkNPRklOU1NUPjx2T3V0cm8+MC4wMDwvdk91dHJvPjwvSUNNU1RvdD48dkNGZT4xMDAuMDA8L3ZDRmU+PHZDRmVMZWkxMjc0MT4zNy4xMzwvdkNGZUxlaTEyNzQxPjwvdG90YWw+PHBndG8+PE1QPjxjTVA+MDM8L2NNUD48dk1QPjEwMC4wMDwvdk1QPjxjQWRtQz4wMjU8L2NBZG1DPjwvTVA+PHZUcm9jbz4wLjAwPC92VHJvY28+PC9wZ3RvPjwvaW5mQ0ZlPjxTaWduYXR1cmUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxTaWduZWRJbmZvPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPjwvQ2Fub25pY2FsaXphdGlvbk1ldGhvZD48U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiI+PC9TaWduYXR1cmVNZXRob2Q+PFJlZmVyZW5jZSBVUkk9IiNDRmUzNTE2MDkwMjU1MjQ0MDAwMDE4NzU5MDAwMDE3OTE4MDAxMjMzNTQ2NDk2NSI+PFRyYW5zZm9ybXM+PFRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIj48L1RyYW5zZm9ybT48VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPjwvVHJhbnNmb3JtPjwvVHJhbnNmb3Jtcz48RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2Ij48L0RpZ2VzdE1ldGhvZD48RGlnZXN0VmFsdWU+RDUwQW1QS3RxelVuSVZhdUFqS2tlYm5UZVZxamVyT1RnOTloNUNDTkRFdz08L0RpZ2VzdFZhbHVlPjwvUmVmZXJlbmNlPjwvU2lnbmVkSW5mbz48U2lnbmF0dXJlVmFsdWU+S29ldERUUDE5UnhvTGNCL3ZUN0VpNlRyZ3JJZ3NWbG5PMVZTbDJTdzZiOXo0NlcyWWloYW5ieE1NVGkrWXpPRXRUbTVNZjhEeHp6VzN6ZGhwMVhaNmh5by9QQUE5ZE9wTlc4bTl4Q0xJcEhTK2I4ektlOUZ5UmlIQXR5YWV2cVZzL21PR2UwTjgrMGVldldzSkYvZTMrczNndkVNSGFtZUxSbmRwUE5PMVdUUlEyS3QrT0hRM3JzclRiZEtIS3hRWkRCME1oeWpWbHRMRDFJa2FtWGtxcjlSR3R2bVdXK3RkcWdGZWJuSUZsWjZoelZ3QkJCWFF0LzRLMWhOMWhzdkZoNjJFVnZrekZnN1pQRGs5NmZOQmtUNkRaTjFlU2VCL3pwVmsweEVaTGlSbTlUUTBlNjQ5ejV6NnVsbWV3WStubVFXZ002TUFtTXRkMVR4TDlISFVRPT08L1NpZ25hdHVyZVZhbHVlPjxLZXlJbmZvPjxYNTA5RGF0YT48WDUwOUNlcnRpZmljYXRlPk1JSUdpakNDQkhLZ0F3SUJBZ0lKQVNDOGhxZ1Z2MUl6TUEwR0NTcUdTSWIzRFFFQkN3VUFNRkV4TlRBekJnTlZCQW9UTEZObFkzSmxkR0Z5YVdFZ1pHRWdSbUY2Wlc1a1lTQmtieUJGYzNSaFpHOGdaR1VnVTJGdklGQmhkV3h2TVJnd0ZnWURWUVFERXc5QlF5QlRRVlFnVTBWR1FWb2dVMUF3SGhjTk1UVXdPREkzTVRRek5EVTNXaGNOTWpBd09ESTNNVFF6TkRVM1dqQ0J3ekVTTUJBR0ExVUVCUk1KTURBd01ERTNPVEU0TVFzd0NRWURWUVFHRXdKQ1VqRVNNQkFHQTFVRUNCTUpVMkZ2SUZCaGRXeHZNUkV3RHdZRFZRUUtFd2hUUlVaQldpMVRVREVQTUEwR0ExVUVDeE1HUVVNdFUwRlVNU2d3SmdZRFZRUUxFeDlCZFhSbGJuUnBZMkZrYnlCd2IzSWdRVklnVTBWR1FWb2dVMUFnVTBGVU1UNHdQQVlEVlFRREV6VlVSVk5UUVZKUFRFa2dRMDlOUlZKRFNVOGdSRVVnVWtWTVQwZEpUMU1nVEZSRVFTQk5SVG93TWpVMU1qUTBNREF3TURFNE56Q0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUlUblUwYlFsTjVmcG5IMk5TMU41RThOSDg2SDhUQ0Q3TlVuZWZKU1JlbTVlM0pwN0FNcmhMb0IzOTZhMEVMbG00M3ZwTnNUUVBwZE9lZENCU1ZWclk1dUQwZ2dWUjdUQjNhZEViMjNLVFVvN2ZTMmFlTEFhRlJwWjZIVklwYkNmMU5wQTVzb3YwcU5PUDhVSVBZcXVTeldrd1k1bGVaWnFqYTZaYk00K3djNFFmRVBKN0luOCtXVlkzRThPRWdnZ2FVMnJ6UEQ5VlFJR29XL1RTaXV1cjlUZ1J2QVd6UzZQWkFzSGw1M0RpTU1saFpibURSbDlPVEtCYXRPUUFQdzlTczkweUg5MHBBOHhUQVlRclpONmNDclpCNS91Z3k3ckVvZ3NsRGw1ZlBuekNtQVVya0VvMlpFaHIwaGVvQkR3UUlCQjlTU0NjV2tGRy9wbEtrWFN1VUNBd0VBQWFPQ0FmQXdnZ0hzTUE0R0ExVWREd0VCL3dRRUF3SUY0REIxQmdOVkhTQUViakJzTUdvR0NTc0dBUVFCZ2V3dEF6QmRNRnNHQ0NzR0FRVUZCd0lCRms5b2RIUndPaTh2WVdOellYUXVhVzF3Y21WdWMyRnZabWxqYVdGc0xtTnZiUzVpY2k5eVpYQnZjMmwwYjNKcGJ5OWtjR012WVdOelpXWmhlbk53TDJSd1kxOWhZM05sWm1GNmMzQXVjR1JtTUdVR0ExVWRId1JlTUZ3d1dxQllvRmFHVkdoMGRIQTZMeTloWTNOaGRDNXBiWEJ5Wlc1ellXOW1hV05wWVd3dVkyOXRMbUp5TDNKbGNHOXphWFJ2Y21sdkwyeGpjaTloWTNOaGRITmxabUY2YzNBdllXTnpZWFJ6WldaaGVuTndZM0pzTG1OeWJEQ0JsQVlJS3dZQkJRVUhBUUVFZ1ljd2dZUXdMZ1lJS3dZQkJRVUhNQUdHSW1oMGRIQTZMeTl2WTNOd0xtbHRjSEpsYm5OaGIyWnBZMmxoYkM1amIyMHVZbkl3VWdZSUt3WUJCUVVITUFLR1JtaDBkSEE2THk5aFkzTmhkQzVwYlhCeVpXNXpZVzltYVdOcFlXd3VZMjl0TG1KeUwzSmxjRzl6YVhSdmNtbHZMMk5sY25ScFptbGpZV1J2Y3k5aFkzTmhkQzV3TjJNd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3SXdDUVlEVlIwVEJBSXdBREFrQmdOVkhSRUVIVEFib0JrR0JXQk1BUU1Eb0JBRURqQXlOVFV5TkRRd01EQXdNVGczTUI4R0ExVWRJd1FZTUJhQUZMQ0ZnYk1velhZcUtTUkxYMWhLYjJqWnJMQXFNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUNBUUFYY3FVd1FjSW52L0pIekRmNDMvcmhRTnZLMzBtWnpDckIyYitkVnBIZG5IcEppZ21hVnJYd3JFUmF5VnVVWGZGT0tZVzFmUUd3Y3hKYTFFY1UyVFBmRS9zVEhHN1pwaHBvQVkzL2NKQkwzdmk5TTYxZWtmY1YxV0RiREhNWXl6QUtnS0VTWk9mRU90NHhXRktVaVZ6NU0ydmlyaURGSU92M2dvOUVBRHBZQzYzSlY5NXp4ZWZnNzh5aGdKUElGYjJRY0lFcEtqYW9BYjNoVWRmeG1Yazd6ODdvQ0l2Y09HbVUrang4VlV3K1poTkVwTzY3d2NQUnVCWmpRMWNxTmVNWXhRSXNFNkhRcTFWd01hRERlZlNkTUVsTHFwMzNRVFhTbmI3cHBBUERXVHYvQ3UrTjNXYWk5c1JBVGZqek4wUFNCczBsajFlUjRYTndYcjJZeUFtbDkybkdCdlM0NnN5dTdyM3gyOERJYVJxeGhpQzl1UzRTeEpkSXkyTDhKS1pGQ2xVZU1PME85SURMZHlRZmRjMEZ1YTBLcVBwQUN0OE9Ld054ODkyQTdUWmswRytqTEpock9kNndoV014RVppRFhWYm9JaS9Ea3h5dTZab0VMZ2hxVGd6ZURXMEVZMjg0elFRK2J5b0F0M2ZVSFR3N1dHTVZCRWpFVU4rTkJwSys3RGVBK3hRUUsxUzJTeHVSQlgwazcwbFZERkJyV2N1Z1U4UGNjdmViUEJ0VytLTm1hQWZyS2tyY1MwTXRIWXd6VmQwa0tVUUh4ZHdGWmlpWFhGQjlqR3hYcFY2OElibjJWUjlEc0lEaXRBU29hSDI5RjBKZ0puVEFwYWNXYUFZYnhUVitISk5HVnNta00vbXhydFMyZVYxWFBsYlgySStPNTI5OWphV3U3QT09PC9YNTA5Q2VydGlmaWNhdGU+PC9YNTA5RGF0YT48L0tleUluZm8+PC9TaWduYXR1cmU+PC9DRmU+|20160922090631|CFe35160902552440000187590000179180012335464965|100.00||GXycOERJtktxXocMrSQIIgwdJ/YPMQbpvWU7cfOMgSWZtcrhNppbB8um1BHbF4oRYUQ3zA8U0y6JDz+nXQ63y5DgIJ/hc7kB+bjtf8+vwoIT8yvfYdO1DbvzZ800u2ULRxpFs83oU/Yd8lLCN6J+rW33EIllQAie64IU8b8Ih7Ry2rfAOVN5VFkq8DKGFMsqL8GqDmv4PMT/TN0Bi8qma09HWk3TDsAXQU06TohrRILhCNRXJ3Nv7YPm/MFpWzVxTxpcFolDPQTLpcSWSSN7x9CoWgw4RgIkI7no6Tl9nA/RI+j8QYT7S/XeCm66KkinnPPqPIQNSbY1jVm0Scffrg== No Log do Equipamento SAT, não é registrado se o mesmo enviou a resposta para a DLL ou não... Caso a DLL da Elgin tenha seu próprio Log de "Rx/Tx", poderíamos saber se o SAT respondeu corretamente... O problema está no SAT ou na DLL... mas não temos visibilidade do problema no contexto do ACBrSAT... pois o ACBrSAT, lê apenas a resposta da DLL
  21. Obrigado... consegui detectar o problema... enviei uma possível correção para o SVN...
  22. Sem ter uma definição concreta de como o problema ocorre... não temos como investigar...
  23. Favor anexar o log do ACBrMonitorPLUS
  24. OK.. perdoe-me, imaginei que fosse as Tags do NFe... O CTe é relativamente novo no ACBrMonitorPLUS, e a documentação não está pronta ainda... Você poderia analisar os fontes da Unit DoACBrCTeUnit.pas, veja a procedure GerarIniCTe( AStr: WideString ); https://svn.code.sf.net/p/acbr/code/trunk2/Projetos/ACBrMonitorPLUS/Lazarus/DoACBrCTeUnit.pas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...