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

Cármen Lúcia manda PGR investigar suposta ajuda da Abin a Flávio Bolsonaro

15.out.2019 - O senador Flávio Bolsonaro (Republicanos-RJ) - Gabriela Biló/Estadão Conteúdo
15.out.2019 - O senador Flávio Bolsonaro (Republicanos-RJ) Imagem: Gabriela Biló/Estadão Conteúdo

Do UOL, em São Paulo

18/12/2020 13h43Atualizada em 18/12/2020 15h02

A ministra do STF (Supremo Tribunal Federal) Cármen Lúcia determinou que a PGR (Procuradoria-Geral da República) investigue a suposta produção de relatórios pela Abin (Agência Brasileira de Inteligência) para orientar a defesa do senador Flávio Bolsonaro (Republicanos-RJ) no "caso Queiroz".

Em seu despacho, a ministra afirma que os fatos devem ser investigados porque, em tese, "podem configurar atos penal e istrativamente relevantes (prevaricação, advocacia istrativa, violação de sigilo funcional, crime de responsabilidade e improbidade istrativa)".

Segundo denúncia revelada pela revista "Época", a Abin, comandada por Alexandre Ramagem, amigo da família Bolsonaro, produziu ao menos dois relatórios para orientar Flávio no inquérito que investiga um suposto esquema de "rachadinha" em seu gabinete quando era deputado estadual na Alerj (Assembleia Legislativa do Rio de Janeiro).

Flávio Bolsonaro foi denunciado pelo MP-RJ (Ministério Público do Rio de Janeiro) pelos crimes de lavagem de dinheiro, peculato e organização criminosa. Ele nega todas as acusações.

Abin nega relatório; defesa de Flávio confirma

A ministra do STF já havia pedido explicações sobre o caso para Ramagem e para o ministro chefe do GSI (Gabinete de Segurança Institucional), general Augusto Heleno.

Em manifestação a Cármen Lúcia, o GSI negou que a Abin tenha feito os relatórios para ajudar o filho do presidente Jair Bolsonaro (sem partido), apesar de o próprio senador confirmar a existência dos relatórios.

A Abin também negou que tenha produzido relatórios "ou qualquer outro documento" para ajudar Flávio no caso das "rachadinhas", apesar de confirmar a reunião entre a defesa do senador, Ramagem, Heleno e Jair Bolsonaro.

Segundo a agência, a reunião foi "completamente regular" e está dentro das competências atribuídas pela lei ao GSI. A Abin disse ainda não trabalhar "à margem da legalidade", como sugeriu a reportagem de "Época".

De acordo com denúncia da revista, os relatórios produzidos para o senador não continham o logotipo da agência e teriam sido feitos por uma estrutura clandestina, e não de forma oficial.

Apesar das negativas de GSI e Abin, a própria defesa de Flávio Bolsonaro ite a existência dos relatórios.

Advogada diz que não seguiu recomendações da Abin

Em nova reportagem publicada hoje pela "Época", a advogada de Flávio Bolsonaro, Luciana Pires, disse que não seguiu as recomendações feitas em relatórios da Abin para obter informações da Receita Federal em favor de seu cliente.

"Não fiz nada. Não vou fazer nada do que ele [Alexandre Ramagem] está sugerindo. Vou fazer o quê? Não está no meu escopo. Tem coisa que eu não tenho controle", disse Pires.

Também hoje, a revista Crusoé publicou uma reportagem sobre o suposto auxílio da Abin. O texto diz que mensagens comprovam que foi Ramagem que encaminhou os relatórios com recomendações para Flávio, e que os textos foram preparados por uma unidade interna da Agência que atua paralelamente e é comandada por Marcelo Bormevet, segundo a revista amigo do vereador Carlos Bolsonaro (Republicanos-RJ) e ex-integrante da equipe de segurança Jair Bolsonaro na campanha presidencial de 2018.

Partidos pedem afastamento de Ramagem

Após a divulgação das reportagens de hoje, o PSB e a Rede Sustentabilidade apresentaram petição ao STF solicitando o afastamento de Ramagem e Bonevet e a intimação de ambos para explicarem a suposta participação na realização dos relatórios.

Na última terça, os dois partidos já haviam pedido que Flávio Bolsonaro fosse convocado a depor e que apresentasse as mensagens enviadas a ele por Whatsapp nos dias 20 de setembro e 8 de outubro que continham os relatórios. Esse pedido ainda não foi avaliado pela ministra Cármen Lúcia.