;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Esse conteúdo é antigo

Inquérito pode dar fôlego a ação no TSE

Marcos Corrêa - 28.mai.2020/PR
Imagem: Marcos Corrêa - 28.mai.2020/PR

Rafael Moraes Moura

Em Brasília

30/05/2020 12h30

O controverso inquérito que apura ameaças, ofensas e fake news contra ministros do Supremo Tribunal Federal (STF) pode pavimentar o caminho da cassação do presidente Jair Bolsonaro no Tribunal Superior Eleitoral (TSE). A avaliação entre ministros do tribunal é a de que, caso seja autorizado, um compartilhamento das provas do STF com a Justiça Eleitoral deve dar um novo fôlego às investigações sobre disparo de mensagens em massa na campanha presidencial de Bolsonaro em 2018. A possibilidade de essas ações serem "turbinadas" com o inquérito das fake news do Supremo já acendeu o sinal de alerta do Palácio do Planalto.

O ministro Alexandre de Moraes é um personagem-chave nos dois tribunais. Relator do inquérito das fake news, ele determinou a quebra do sigilo bancário e fiscal de empresários bolsonaristas entre julho de 2018 e abril de 2020, abrangendo, portanto, o período das últimas eleições presidenciais.

Na próxima terça-feira, Moraes vai assumir uma cadeira de ministro titular do TSE, o que vai lhe garantir a participação no julgamento das ações que investigam a campanha de Bolsonaro e do seu vice, general Hamilton Mourão.

Se a chapa for cassada ainda neste ano pelo TSE, novas eleições deverão ser convocadas para definir o novo ocupante do Palácio do Planalto. Caso o presidente e o vice sejam cassados pelo tribunal em 2021 ou 2022, caberá ao Congresso a escolha. Até hoje, o TSE jamais cassou um presidente da República. Segundo fontes ouvidas pela reportagem, o cenário atual no tribunal é favorável à manutenção do mandato de Bolsonaro.

Compartilhamento

Ainda tramitam no TSE oito ações que investigam a campanha de Bolsonaro e Mourão. As mais delicadas são as que tratam do disparo de mensagens em massa pelo WhatsApp. O PT já pediu ao relator dos processos, ministro Og Fernandes, o compartilhamento das provas do Supremo com o TSE. Og vai ouvir Bolsonaro e o Ministério Público Eleitoral antes de decidir.

O compartilhamento de provas do Supremo com o TSE já aconteceu nas ações que investigavam a chapa presidencial de Dilma Rousseff e Michel Temer em 2014, mas a maioria dos ministros desconsiderou na etapa final do julgamento provas as colhidas por concluir que elas eram "alheias" ao objeto inicial da investigação.

Ex-ministros do TSE e advogados eleitorais ouvidos reservadamente pela reportagem apontam que, desta vez, as provas colhidas no inquérito das fake news têm relação com as investigações em curso na Justiça Eleitoral.

Uma fonte da cúpula da Procuradoria-Geral da República (PGR) aponta que, até agora, as acusações de disparo de mensagens em massa não estão comprovadas. Já dois ex-ministros do TSE observam que não basta identificar a irregularidade, mas considerar se a dimensão da irregularidade foi suficiente para se constatar a quebra legitimidade do pleito, justificando, dessa forma, a cassação.

As informações são do jornal O Estado de S. Paulo.