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

Juliana Dal Piva

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

TJ do Rio autoriza quebra de sigilos bancário e fiscal de Carlos Bolsonaro

Carlos Bolsonaro, vereador do Rio de Janeiro - Divulgação
Carlos Bolsonaro, vereador do Rio de Janeiro Imagem: Divulgação

Colunista do UOL

31/08/2021 19h46Atualizada em 01/09/2021 11h37

O TJ-RJ (Tribunal de Justiça do Rio de Janeiro) autorizou a quebra de sigilos bancário e fiscal do vereador Carlos Bolsonaro (Republicanos-RJ). Ele é investigado pelo Ministério Público do Rio desde julho de 2019 por suspeita de praticar rachadinha e nomear "funcionários fantasmas" — pessoas que não trabalhavam de fato em seu gabinete na Câmara Municipal do Rio.

A quebra foi autorizada pela da 1ª Vara Especializada de Combate ao Crime Organizado do TJ-RJ no dia 24 de maio. Outras 26 pessoas e sete empresas suspeitas também tiveram os sigilos quebrados.

O MP-RJ (Ministério Público do Rio de Janeiro) abriu dois procedimentos para investigar o caso após uma reportagem desta colunista e da jornalista Juliana Castro revelar na revista Época, em 20 de junho de 2019, que Carlos empregou sete parentes de Ana Cristina Valle, segunda mulher do presidente Jair Bolsonaro (sem partido) e sua ex-madrasta. Na reportagem, duas pessoas itiram que nunca trabalharam para o vereador, embora estivessem nomeados.

A coluna entrou em contato com a defesa de Carlos Bolsonaro, que negou irregularidades (leia mais abaixo). O MP-RJ divulgou nota informando que, "em razão do sigilo decretado, não fornecerá outras informações".

O caso de Carlos Bolsonaro começou a ser investigado pelo ex-procurador-geral de Justiça do Rio Eduardo Gussem, que deixou o cargo em janeiro. No entanto, depois que o STF (Supremo Tribunal Federal) decidiu, no ano ado, que os vereadores não possuem direito a foro especial, o caso foi enviado para a primeira instância. Ele hoje tramita na 3ª Promotoria de Investigação Penal. Há outro procedimento para apurar improbidade istrativa.

Ao pedir a quebra, o MP apontou o fato de o vereador ter usado R$ 150 mil em espécie para a compra de um apartamento na Tijuca, Zona Norte do Rio de Janeiro. Os dados foram identificados em uma reportagem do jornal O Estado de S. Paulo em setembro do ano ado. Além disso, o MP citou o fato de o vereador fazer várias operações com uso de valores em espécie. Carlos declarou à Justiça Eleitoral ter R$ 20 mil em dinheiro vivo em casa na eleição do ano ado e em eleições anteriores.

Ana Cristina - FÁBIO MOTTA/ESTADÃO CONTEÚDO - FÁBIO MOTTA/ESTADÃO CONTEÚDO
A advogada Ana Cristina Valle, de 51 anos, ex-mulher de Jair Bolsonaro
Imagem: FÁBIO MOTTA/ESTADÃO CONTEÚDO

Defesa de Carlos se pronuncia

A defesa do vereador Carlos Bolsonaro, liderada pelo advogado Antônio Carlos Fonseca, informou que o vereador esclareceu as questões relativas a a compra de um apartamento dele na Tijuca em 2005. A nota completa segue abaixo:

"Sobre os fatos divulgados hoje pela imprensa que citam o nome do Vereador, a defesa esclarece que a aquisição do imóvel localizado na Tijuca já foi objeto de análise pelo MP no IC 3191 e foi arquivado, em 2005, após análise das informações financeiras que demonstravam a total compatibilidade com os rendimentos à época.

A quantia utilizada em 2009, para pagamento de uma despesa pessoal, também, está absolutamente compatível com os rendimentos do vereador. Assim como os valores devidamente declarados a Justiça Eleitoral no ano de 2020.

Por fim, com relação ao relatório do Coaf, a defesa não teve o ao documento para verificar o seu conteúdo, no entanto o vereador permanece à disposição para prestar qualquer tipo de esclarecimento as autoridades".

Cunhada de Ana Cristina é um dos principais alvos

Um dos principais alvos da investigação é a professora Marta Valle, que é cunhada de Ana Cristina Valle. Ela sempre morou em Juiz de Fora, em Minas Gerais, mas ou mais de sete anos lotada no gabinete de Carlos.

Marta esteve nomeada de 2001 a 2009. Questionada pela revista Época, ela disse que nunca trabalhou para Carlos Bolsonaro. "Não fui eu, não. A família de meu marido, que é Valle, que trabalhou". Marta Valle tinha um salário bruto de R$ 9,6 mil. Segundo a Câmara de Vereadores, ela nunca teve crachá como assessora.

Gilmar Marques, ex-companheiro da fisiculturista Andrea Valle, e morador de Rio Pomba, em Minas Gerais é outro caso. Em julho, a coluna mostrou gravações em que Andrea itiu que devolvia 90% do salário quando esteve nomeada para Flávio Bolsonaro, na Assembleia Legislativa do Rio.

O salário bruto dele corrigido era de R$ 7,9 mil. Questionado sobre a nomeação, Gilmar disse: "Meu Deus do céu. Ah, moça, você está me deixando meio complicado aqui. Eu ganhava? Isso aí você deve estar enganada". Ele também nunca teve crachá na Câmara.

Veja abaixo um teaser do podcast "UOL Investiga - A vida secreta de Jair" com algumas das revelações feitas no programa. Você pode ouvir UOL Investiga completo em plataformas como Spotify, Apple Podcasts, Google Podcasts, Amazon Music e Youtube.