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

Ataques do PCC que pararam São Paulo completam cinco anos

Do UOL Notícias*<br>Em São Paulo

12/05/2011 08h00

Guerra do PCC x Estado completa cinco anos com quatro desaparecidos

A cidade de São Paulo relembra hoje, após cinco anos, a maior onda de violência já promovida no Estado por uma facção criminosa, o Primeiro Comando da Capital (PCC).

Na noite da sexta-feira 12 de maio de 2006, guiados por instruções vindas de telefones celulares de detentos, integrantes do chamado Partido do Crime realizaram uma rebelião em 74 presídios e orquestraram 373 ataques contra bases policiais e postos do Corpo de Bombeiros.

Nas semanas seguintes, foi a vez de as autoridades darem a resposta: dezenas de mortes foram registradas nesse revide – muitas famílias reclamam do assassinato de inocentes.

No total, pelas informações oficiais da época, 154 pessoas morreram, sendo 24 PMs, 11 policiais civis, nove agentes penitenciários, 110 cidadãos - 79 deles suspeitos de ligação com o PCC. No entanto, há estimativas de entidades médicas que apontam 493 mortes no Estado na ocasião.

Em 2006, pensava-se que a ação seria somente uma resposta da facção a uma tentativa da polícia de isolar seus principais líderes em presídios de segurança máxima no interior do Estado, num total de 765 presos removidos.

Nesta semana, no entanto, uma nova versão foi divulgada, fruto de um estudo conduzido pela organização não-governamental (ONG) Justiça Global e pela Clínica Internacional de Direitos Humanos da Faculdade de Direito de Harvard, com apoio de outras entidades.

Segundo o relatório, divulgado pela imprensa na última segunda-feira (9), um ato de corrupção policial também explicaria a fúria dos criminosos.

Em março de 2005, Rodrigo Olivatto de Morais, enteado de Marcos William Camacho, o Marcola, líder da facção, foi sequestrado por policiais civis de Suzano, na Grande São Paulo.

Só foi solto depois que Marcola pagou o resgate de R$ 300 mil. O chefe do PCC ficou indignado com o achaque. No dia 12 de maio de 2006, véspera dos ataques do PCC, Marcola fez um comentário no Departamento de Investigações sobre o Crime Organizado (Deic): "Não vai ficar barato."

No inquérito feito pela Corregedoria da Polícia Civil, o delegado assistente, Hamilton Antônio Gianfratti, depois de citar dados do sequestro, afirma que o crime ajudou a deflagrar a revolta do PCC. "Aflora dos autos sérios indicativos direcionados à possibilidade deste fato erigir-se à causa deflagradora dos históricos e tristes episódios que traumatizaram o povo de São Paulo, traduzidos nos atentados em todo o Estado pelo PCC." O sequestro de Morais foi revelado pelo jornal "O Estado de S. Paulo" em 2008.

Trata-se da primeira tentativa de explicar o processo que levou aos ataques do PCC, cinco anos depois do acontecimento histórico paulista, que ainda não teve nenhum relatório ou documento oficial para tentar descrever os fatos.

"Assim como ocorreu em novembro nos ataques do Comando Vermelho no Rio de Janeiro, a corrupção policial também teve papel importante nos ataques de maio de 2006 em São Paulo. Isso foi pouco discutido por aqui. Entender as causas do ocorrido é importante para saber o que precisa ser mudado", afirma um dos coordenadores da pesquisa, Fernando Delgado, da Clínica de Direitos Humanos da Faculdade de Direito de Harvard.

A reportagem conseguiu falar com o secretário de Segurança Pública, Antonio Ferreira Pinto. Ele concorda que a corrupção policial era intensa naquela época e afirma que por esse motivo tem centrado seus esforços no combate ao problema. O atual secretário de Transporte e Logística, Saulo de Castro Abreu Filho, que era Secretário de Segurança durante os ataques, não quis comentar o tema.

* Com informações da Folha de S. Paulo e da Agência Estado