;(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

Ministro derruba decisão e ex-governador Arruda volta a ficar inelegível

José Roberto Arruda - Divulgação
José Roberto Arruda Imagem: Divulgação

Pedro Vilas Boas

Colaboração para o UOL*

01/08/2022 15h12Atualizada em 01/08/2022 15h19

O ministro Gurgel de Faria, do STJ (Superior Tribunal de Justiça), revogou, hoje, decisão do presidente da Corte, Humberto Martins, que restabelecia os direitos políticos do ex-governador do Distrito Federal José Roberto Arruda (PL). Com isso, ele volta a ficar inelegível.

Arruda, que planejava agora disputar uma vaga na Câmara dos Deputados, foi alvo de condenações no âmbito da Operação Caixa de Pandora, deflagrada pela Polícia Federal em 2009. No ano seguinte, ele chegou a ser preso preventivamente.

Na nova decisão, Faria, que é relator dos casos no STJ, argumenta que o pedido da defesa atendido por Martins é o mesmo que já havia sido negado anteriormente.

"Compulsando os autos, verifico que a pretensão deduzida na presente tutela provisória é idêntica àquela formulada no bojo da TP n. 4003, que tive oportunidade de decidir, para não conhecer do pedido, com arrimo no art. 1.029, III, § 5º, do C/2015, e em precedentes da Suprema Corte e do STJ, considerando que o processo principal encontra-se sobrestado na origem".

A reportagem do UOL tenta contato com o ex-governador José Roberto Arruda.

A decisão do ministro Gurgel de Faria acontece no primeiro dia após retorno do recesso do Judiciário. A liminar havia sido concedida pelo presidente do STJ em 6 de julho, durante o plantão judicial.

Na ocasião, Martins justificou sua decisão afirmando ser necessário aguardar a análise no Supremo Tribunal Federal (STF) sobre a nova Lei de Improbidade istrativa.

Além de Bolsonaro, o ex-governador divide o partido com a esposa, Flávia Arruda, que é candidata ao Senado e atuou como ministra-chefe da Secretaria de Governo entre 2021 a 2022.

*Com informações da Agência Brasil