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

Operação Lava Jato

TCU pede a STF o a mensagens vazadas para analisar atuação de Moro

O ex-juiz Sergio Moro - Arquivo - Andre Coelho/Getty Images
O ex-juiz Sergio Moro Imagem: Arquivo - Andre Coelho/Getty Images

Nathan Lopes

Do UOL, em São Paulo

02/03/2021 17h09

O TCU (Tribunal de Contas da União) apresentou hoje ao STF (Supremo Tribunal Federal) um pedido para ter o a mensagens vazadas de procuradores da Operação Lava Jato e do ex-juiz federal Sergio Moro. O Tribunal analisa suspeita de conflito de interesse por parte de Moro.

O pedido foi feito na reclamação do ex-presidente Luiz Inácio Lula da Silva (PT) em que o político teve o a mensagens obtidas por ataque hacker e alvo da Operação Spoofing.

Em documento endereçado ao ministro Ricardo Lewandowski, a presidente do TCU, Ana Arraes, encaminhou a solicitação "em regime de cooperação, o compartilhamento das mensagens trocadas entre os procuradores do Ministério Público e o ex-juiz Sr. Sergio Moro". Não há prazo para que Lewandowski responda.

Arraes enviou ao Supremo um despacho do ministro Bruno Dantas, do TCU, que faz menção à referência do MPTCU (Ministério Público junto ao Tribunal de Contas da União) sobre a atual ocupação de Moro, como sócio da empresa de consultoria Alvarez & Marsal, a judicial das empresas do grupo Odebrecht. Dantas é relator de ação no Tribunal que avalia a relação entre as três partes.

O MPTCU pontua, com base em mensagens da Spoofing, que "o ex-juiz teria orientado procuradores do Ministério Público Federal em questões relativas a informações constantes nos sistemas" da Odebrecht, alvo da Lava Jato.

"Suposto conflito de interesse"

Para o Ministério Público no TCU, poderia haver um "suposto conflito de interesse do agente que, em um primeiro momento, atuou em processo judicial com repercussões na esfera econômica e financeira da empresa e que, posteriormente, aufere renda, ainda que indiretamente, no processo de recuperação judicial para o qual seus atos podem ter contribuído".

Em seu relatório, Dantas, que concorda com as dúvidas do MPTCU, diz que "o teor dessas mensagens pode trazer valiosas informações para as apurações dos indícios de irregularidades". Para o ministro do TCU, "soa deveras conflitante que, após ser investida na condição de a judicial das empresas do grupo Odebrecht, em 17/6/2019, a Alvarez & Marsal tenha incorporado ao seu quadro societário, em 30/11/2020, o ex-juiz Sergio Moro".

Para o ministro do TCU, "é elevadíssimo o risco de conflito de interesse na atuação desse profissional". "Como se diz popularmente, o mesmo agente [Moro] teria atuado nos 'dois lados do balcão'."

Dúvidas

Dantas diz que o contexto da atuação de Moro na consultoria lhe permite levantar a dúvida sobre "até que ponto não existiram tratativas nesse sentido anteriores ao ato que encerrou a sua investidura no cargo de juiz federal".

Para o ministro do TCU, a Alvarez & Marsal poderia se manifestar e afastar dúvidas "de que o contrato celebrado com o ex-juiz se trataria, na verdade, da 'compra' de informações privilegiadas obtidas pelo então magistrado quando do processamento das ações penais e da celebração de acordos".

Procurados pelo UOL, Moro, a empresa de consultoria e a Odebrecht ainda não se manifestaram.

Operação Lava Jato