Regra aplicada

gzip local → fluxo UTF-8 limitado → validação do save → download JSON

Selecione bytes gzip, não apenas um nome parecido

Use o seletor de arquivo para abrir uma cópia json.gz. A página lê os bytes localmente e preenche uma representação Base 64 usada pelo formulário. Também é possível colar essa representação diretamente. O prefixo binário precisa corresponder a gzip; trocar a extensão de um JSON não basta. Se o arquivo estiver truncado ou tiver uma verificação interna inválida, a descompressão falha e o botão não oferece um JSON supostamente recuperado. O exemplo da página é um gzip real produzido a partir de uma fotografia padrão.

A expansão é interrompida ao ultrapassar o limite

Arquivos comprimidos pequenos podem expandir muito. Por isso, o seletor limita a entrada a trezentos mil bytes e o leitor interrompe o fluxo ao passar de quinhentos mil bytes descompactados. Não é preciso esperar uma expansão sem limite para descobrir que o arquivo é excessivo. Depois da expansão, o texto deve ser UTF-8 válido e respeitar também o limite de duzentos e cinquenta mil caracteres. Um erro de tamanho, codificação ou gzip permanece separado de uma falha no formato da campanha.

O JSON ainda precisa ser compatível

Descomprimir com sucesso só prova que os bytes puderam ser recuperados. A página então valida versão, fase, IDs, mapa, recursos e listas necessárias à continuação padrão. Um gzip contendo outro documento JSON não vira um save válido. O recorte aceita primeiro turno com treze candidaturas padrão e energia entre zero e cem. Identidades alteradas, HTML no jornal, campanhas personalizadas e segundo turno não são aceitos nesta ferramenta. O resultado informa a candidatura e o turno encontrados sem mudar a campanha existente.

Download e restauração são decisões separadas

Baixar o JSON recuperado conserva exatamente o texto UTF-8 descompactado. A página não grava esse conteúdo em localStorage. Para usá-lo, vá à restauração, confira a prévia e preserve a fotografia anterior antes de confirmar. Se você guardou o original antes da compressão, compare os hashes dos dois JSON para conferir igualdade byte a byte. Não compare somente tamanhos: arquivos diferentes podem ter o mesmo número de bytes. A descompressão também não prova autoria ou que os números foram obtidos jogando.

Conferir dois cenários de referência

Cenários controlados para conferir esta regra. Cada resultado é calculado com as entradas explícitas e as demais opções do exemplo inicial.

JSON sem indentação dentro do gzip

Entradas alteradas: Bytes gzip em Base64 (ou selecione arquivo local) = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.

JSON descompactado e validado
Resultado do cenário informado
VerificaçãoResultado
Bytes gzip2.226
Bytes JSON UTF-87.439
CandidaturaLula
Turno1/20

Lê gzip local com limite de 500 mil bytes descompactados e valida o recorte padrão antes do download. Não restaura a campanha automaticamente.

Fotografia do turno dois dentro do gzip

Entradas alteradas: Bytes gzip em Base64 (ou selecione arquivo local) = entrada completa de referência descrita no cenário. As demais entradas seguem o exemplo inicial.

JSON descompactado e validado
Resultado do cenário informado
VerificaçãoResultado
Bytes gzip2.226
Bytes JSON UTF-87.439
CandidaturaLula
Turno2/20

Lê gzip local com limite de 500 mil bytes descompactados e valida o recorte padrão antes do download. Não restaura a campanha automaticamente.

Simulação independente: as informações descrevem o jogo ficcional República em Disputa, sem avaliação de pessoas reais ou previsão de uma eleição.

Verificação editorial

Regras, dados e exemplos conferidos na versão do jogo em 13 de outubro de 2026. Simulação ficcional e independente, sem previsão eleitoral real. Guia Independente · Relatar divergência.