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

Marido de ministra nomeou ex-PM apontado como membro de grupo de extermínio

O prefeito Waguinho com a ministra Daniela Carneiro em evento em Belford Roxo - Reprodução/ Facebook
O prefeito Waguinho com a ministra Daniela Carneiro em evento em Belford Roxo Imagem: Reprodução/ Facebook

Do UOL, no Rio

07/01/2023 09h59

O marido da ministra do Turismo, Daniela Carneiro (União Brasil), empregou na Prefeitura de Belford Roxo, na Baixada Fluminense, um ex-PM apontado como integrante de um grupo de extermínio responsável por ao menos 20 mortes na cidade.

O prefeito Waguinho, marido de Daniela, nomeou o ex-tenente da PM Fernando Cardoso do Amaral para um cargo comissionado na Secretaria Municipal de Saúde em 11 de fevereiro de 2022. Na mesma ocasião, Helen Borsoi Ribeiro do Amaral, esposa de Fernando, também foi nomeada na pasta.

Sobre as relações políticas de Waguinho com milicianos, a prefeitura afirma que cabe aos partidos políticos fazerem levantamento da vida pregressa dos candidatos e à Justiça julgar eventuais crimes.

Quem é o tenente Amaral?

O tenente Amaral, como ficou conhecido, foi preso em dezembro de 2011 sob a acusação de integrar um grupo de extermínio que atuava em Belford Roxo.

  • Na ocasião, investigação da Polícia Civil ligou a quadrilha a ao menos 20 mortes na cidade em um intervalo de um ano e a extorsões a traficantes;
  • Amaral foi expulso da PM em 2017, após 11 anos na corporação. Dados obtidos pelo UOL mostram que a corporação o excluiu por indícios de associação criminosa;
  • Tanto Amaral quanto sua esposa foram nomeados para o posto de assessor especial de serviços na Secretaria de Saúde. Ambos com salário de R$ 1,212;

A prefeitura alega que eles não atuam mais em seus quadros. Porém, ambos constam na folha de pagamento de novembro (paga em dezembro). A reportagem não localizou o ex-PM e a esposa dele.

Parentes de miliciano empregados

Waguinho e a ministra Daniela Carneiro também receberam apoio do miliciano Fábio Augusto de Oliveira Brasil, o Fabinho Varandão, vereador na cidade.

Ele foi preso em 2018 sob a acusação de comandar uma milícia. Já em liberdade, assumiu em 2021 a Secretaria de Ciência e Tecnologia. Varandão fez campanha para Daniela no último pleito. Em suas redes sociais, há diversas imagens dele participando de atos de campanha ao lado de Daniela e do prefeito Waguinho.

Em dezembro, ele também publicou fotos participando de reuniões com Waguinho.

A influência de Fabinho Varandão também chega à folha de pagamento da prefeitura:

  • A irmã dele Regina Celia de Oliveira Brasil foi nomeada para um cargo de assessora especial de serviços na Secretaria de Saúde;
  • O irmão dele Sergio Francisco de Oliveira Brasil foi contratado como agente comunitário de saúde;

A prefeitura afirma que ambos desempenhavam suas funções, mas foram exonerados na semana ada.

Daniela Carneiro tem sustentado que apoio político "não significa que ela compactue com qualquer apoiador que por ventura tenha cometido algum ato ilícito".

Apoio de outros milicianos

Outro criminoso com vínculos próximos a Waguinho é o ex-vereador Marcio Cardoso Pagniez, o Marcinho Bombeiro, preso em 2019 sob a acusação de chefiar uma milícia na cidade.

Marcinho Bombeiro foi presidente da Câmara dos Vereadores de Belford Roxo e era um aliado próximo de Waguinho.

Ela também recebeu o apoio do ex-PM Juracy Alves Prudêncio, o Jura, condenado por chefiar uma milícia relacionada a mais de cem mortes na década de 2000.