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

Moro deve explicar a Bolsonaro que PF não pode ouvir porteiro, diz delegado

Caso não é de competência da Polícia Federal, afirma Paiva - Divulgação
Caso não é de competência da Polícia Federal, afirma Paiva Imagem: Divulgação

Eduardo Militão

Do UOL, em Brasília

30/10/2019 11h30

O ministro da Justiça, Sergio Moro, deve informar ao presidente Jair Bolsonaro (PSL) que a Polícia Federal não pode intervir em um caso em apuração pelo Ministério Público Estadual do Rio de Janeiro nem ordenar que os policiais tomem depoimentos. Essa é a avaliação do presidente da Associação Nacional dos Delegados da Polícia Federal (ADPF), Edvandir Félix de Paiva.

Jair Bolsonaro disse que pediria ao ministro para a PF entrar no caso e tomar novo depoimento do porteiro que o envolveu no assassinato da vereadora Marielle Franco (PSOL-Rj).

Acho que é um momento de nervosismo dele e que o ministro vai explicar para ele que --não havendo atribuição investigativa da Polícia Federal e, mesmo que houvesse, o próprio ministro não poderia determinar nenhuma diligência no inquérito-- isso, legalmente, não é possível
Edvandir Félix de Paiva, presidente da associação dos delegados da PF

Um documento obtido pela Polícia Civil do Rio mostra que Élcio Queiroz, motorista do carro de onde partiram os tiros para matar a vereadora, esteve no dia do crime no condomínio no Rio onde morava o presidente. O registro ainda aponta o número da casa do presidente como destino do assassino.

Em depoimento, o porteiro disse que foi Jair Bolsonaro quem autorizou a entrada de Élcio, mas o presidente estava em Brasília naquele dia. A polícia quer as gravações de áudio da portaria para confirmar de quem é a voz que autorizou a entrada dele.

'Melhor caminho é Bolsonaro acionar seus advogados'

Paiva explicou que, ainda que o caso pare no STF (Supremo Tribunal Federal), só o Supremo poderia ordenar diligência à PF. A corporação cuidou apenas do caso de obstrução à investigação do assassinato da vereadora.

Para o delegado, o presidente precisa acionar seus advogados para comprovar sua inocência, como qualquer cidadão faz. "O melhor caminho é que ele mesmo requeira, por meio de seus advogados, a quem conduz essa investigação a diligência que ele achar pertinente para provar que não tem envolvimento nenhum, como um cidadão comum costuma fazer", disse.

O presidente do Instituto Não Aceito Corrupção, o promotor Roberto Livianu, também afirmou que quem deve saber se é necessário tomar ou não outro depoimento do porteiro é quem conduz a investigação atualmente: o Ministério Público e a Polícia Civil do Rio.

Falando em tese, sem comentar o caso especificamente, disse que uma investigação não pode ser pautada por pressões políticas.

"Ouvir testemunhas e depois ouvir novamente faz parte da regra do jogo", iniciou Livianu. "Só quem está à frente da investigação tem plenas condições de verificar se é caso de ouvir 'A' ou 'B'. Agora, com certeza, uma investigação criminal não deve se render a pressões de pessoas detentoras de fatias de poder no flanco 'A' ou 'B'. As coisas devem seguir seu caminho natural."

Livianu também enfatizou a necessidade de agir com serenidade na apuração dos crimes sem prejulgamentos nem interesses político-partidários.

Gravação de conversa é prova importante

O promotor lembra que é preciso confrontar a discrepância entre o depoimento do porteiro —que diz ter ouvido a voz de Jair Bolsonaro autorizando a entrada de Élcio— e o fato de o presidente estar em Brasília naquele dia. A gravação de áudio da conversa na portaria seria uma prova importante.

"Quando você faz apurações de natureza criminal, devemos usar todos os meios de prova. É preciso examinar gravações, documentos e depoimentos com muito cuidado e prudência", continuou Livianu.

Um policial e um procurador da República, ouvidos sob condição de anonimato, revelaram a importância de ouvir o áudio da conversa na portaria. Depois seria necessário fazer uma perícia para atestar quem é o dono da voz que fala com o porteiro e qual a data da conversa.

"Aí, você complementa com o depoimento e forma o mosaico", continuou o policial. Já o procurador destaca que é preciso saber se as gravações do sistema da portaria de Jair Bolsonaro ainda existem.

Promotoria tem sido contra federalizar caso

A assessoria do Ministério Público do Rio de Janeiro disse ao UOL que o caso corre sob sigilo e é conduzido pela Delegacia de Homicídios da Polícia Civil e o Gaeco (Grupo de Atuação Especial contra o Crime Organizado), da Promotoria. Historicamente, os promotores do Rio têm sido contra a federalização do caso.

A assessoria do ministro Sergio Moro afirmou à reportagem que ele deve divulgar uma nota ainda hoje sobre as medidas a serem tomadas. O UOL apurou que a PF está em como de espera aguardando a decisão de Moro.