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

PF pede inclusão de André do Rap na lista de procurados da Interpol

André de Oliveira Macedo, conhecido como André do Rap, líder do PCC, ao ser detido em Angra dos Reis - Arquivo pessoal
André de Oliveira Macedo, conhecido como André do Rap, líder do PCC, ao ser detido em Angra dos Reis Imagem: Arquivo pessoal

Flávio Costa e Eduardo Militão

Do UOL, em São Paulo e em Brasília

12/10/2020 20h09

A PF (Polícia Federal) pediu hoje a inclusão do nome do narcotraficante André de Oliveira Macedo, conhecido como André do Rap, na lista de procurados da Interpol (Organização Internacional de Polícia Criminal).

O chefe do PCC (Primeiro Comando da Capital) em Santos (SP) é considerado foragido desde a noite de sábado (10), após o presidente do Supremo Tribunal Federal, Luiz Fux, suspender a decisão do ministro Marco Aurélio de colocá-lo em liberdade. Contudo, investigações policiais dão conta de que o traficante já havia fugido para o exterior. A SSP (Secretaria da Segurança Pública de São Paulo) montou uma força-tarefa para procurar André do Rap.

A inclusão na chamada "lista vermelha" da Interpol acionará agentes em todo mundo na busca de André do Rap. A informação foi divulgada pela "Globo News" e confirmada pelo UOL.

André do Rap e mafiosos moravam no mesmo prédio

O narcotraficante é suspeito de ser o principal elo do PCC com os mafiosos italianos Nicola Assisi, 61, e Patrick Assisi, 37, acusados pelo governo italiano de serem os principais chefes da 'Ndrangheta na América do Sul, mas detidos na Praia Grande (SP) em julho de 2019 e aguardando processo de extradição no presídio federal de Brasília.

Enquanto estavam soltos, os italianos nem sequer disfarçaram identidade para viver no Brasil. Patrick, com nome na lista vermelha da Interpol, teve dois filhos em um hospital de alto padrão de São Paulo apresentando seu nome verdadeiro, por exemplo.

André do Rap e os italianos moravam no mesmo prédio da Praia Grande. Além disso, ambos contrataram o mesmo escritório de advocacia, o que não é ilegal, mas, segundo investigadores, não é uma coincidência. A defesa de André do Rap afirma que nunca foi comprovado envolvido de seu cliente com o PCC.

Para operar no Brasil, a 'Ndrangheta estabeleceu acordos com o PCC. Em dois anos, ao menos três homens com cargos de liderança na máfia italiana estiveram com chefes da organização brasileira, incluindo Gilberto Aparecido dos Santos, o Fuminho, preso em 13 de abril deste ano em Moçambique. Polícias europeias suspeitam que outros dois mafiosos italianos também estão, ou pelo menos aram por São Paulo, nos últimos anos com a mesma finalidade.

Os Assisi, segundo a Polícia Civil de São Paulo, negociavam drogas junto a Fuminho, que não é considerado integrante do PCC, mas sócio e braço direito de Marco Willians Herbas Camacho, o Marcola, apontado como chefe do grupo. Fuminho seria o principal fornecedor de drogas — que chegam de países como Peru, Bolívia, Colômbia e Paraguai — para o PCC.

Ouça também o podcast Ficha Criminal, com as histórias dos criminosos que marcaram época no Brasil. Esse e outros podcasts do UOL estão disponíveis em uol.com.br/podcasts, no Spotify, Apple Podcasts, Google Podcasts e outras plataformas de áudio.