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

Vídeo: PMs agridem, ameaçam e invadem casas de moradores de Paraisópolis

Leonardo Martins

Do UOL, em São Paulo

28/06/2021 04h00

Moradores da comunidade de Paraisópolis (zona sul), uma das maiores da capital paulista, relatam agressões, ameaças e invasões de propriedades por policiais militares desde a segunda semana de junho. Uma operação contínua da Polícia Militar de São Paulo tem causado medo e atrapalhado a rotina das pessoas que vivem no local.

Vídeos mostram PMs enquadrando um homem que, deitado no chão, grita de dor, enquanto moradores filmam e pedem para que os policiais parem a abordagem. Outra gravação expõe policiais abordando e obrigando a sentar no chão três jovens negros, que seriam menores de idade.

Em nota enviada ao UOL, a Secretaria Estadual da Segurança Pública disse que irá analisar as imagens enviadas pela reportagem. "Toda denúncia pode ser registrada na corregedoria da PM, que está à disposição para apurar os fatos", afirmou. (leia mais abaixo)

A reportagem foi até Paraisópolis e conversou com 12 moradores, que relataram a tensão que a presença maciça da PM tem causado na comunidade.

Policiamento intensificado desde o dia 14

Desde o dia 14, a Secretaria da Segurança Pública, chefiada pelo governador João Doria (PSDB), aumentou o policiamento na região com a "Operação Saturação". Segundo a pasta, o objetivo é justamente "intensificar o policiamento" na comunidade.

A atuação da PM aumentou, de acordo com os moradores, depois que a comunidade voltou aos holofotes da imprensa com o desaparecimento de duas mulheres após uma festa. Elas foram encontradas mortas em uma rodovia na semana ada.

Na última quinta-feira (24), a reportagem esteve por cerca de quatro horas em Paraisópolis e viu carros da Tropa de Choque e da Rota descerem e subirem as ruas da comunidade durante toda a tarde acompanhados da Rocam, tropa de motocicletas da PM. Era fácil encontrar pelas esquinas pessoas sendo abordadas e revistadas, e tendo seus carros inspecionados por policiais.

O problema, relatam os moradores, é quando essas abordagens acontecem em vielas escondidas dentro da comunidade. Nessas situações, segundo os habitantes, abordagens violentas, com direito a socos e ameaças, viraram rotina.

Um trabalhador da comunidade que conversou com a reportagem disse que teve sua casa invadida por policiais militares da Tropa de Choque na sexta-feira, dia 18, enquanto estava em seu horário de trabalho e suas filhas pequenas, na escola.

O homem contou que vizinhos ligaram para ele e avisaram que sua casa estava sendo invadida por policiais. Ele voltou correndo e, ao chegar na porta, encontrou cenas de destruição: fechaduras, sofás e a cama revirados e até barras de chocolate abertas, quebradas e jogadas no chão.

Uma mãe relatou que, desde semana ada, não leva a filha na escola por medo de tiroteios ou por presenciar cenas de violência durante o caminho. Todas as fontes ouvidas não quiseram se identificar temendo represálias.

O líder comunitário Gilson Rodrigues pediu respeito aos moradores e que as pessoas filmem as abordagens e enviem à associação de moradores.

Há relatos de invasões em casas e comércios e de jovens sendo agredidos nas ruas. Nós, moradores de favela, não devemos ser tratados de forma diferente de bairros nobres. Não somos contra o trabalho da polícia, mas repudiamos qualquer forma de agressão. Filmem as abordagens e nos enviem. Vamos denunciar todos os abusos.
Gilson Rodrigues, líder comunitário

"As pessoas estão com medo, nossas crianças, que já tinham dificuldades de ir para a escola devido ao coronavírus, agora ficam em suas casas por medo de sofrer alguma brutalidade por conta da ação de alguns policiais e não chegarem até o seu destino", concluiu.

Foi em Paraisópolis que, em dezembro de 2019, nove jovens morreram após uma ação da Polícia Militar para dispersar o Baile da DZ7, tradicional festa da comunidade. Outros 12 ficaram feridos.

Na última quinta-feira, nove policiais militares envolvidos nesta operação foram indiciados pela Polícia Civil por homicídio culposo, quando não há intenção de matar.

Governo diz que vai analisar imagens

Questionada sobre os abusos policiais, a Secretaria da Segurança Pública afirmou que a operação policial tem objetivo de "intensificar o policiamento na região" e citou, primeiro, o número de detidos e a quantidade de drogas encontrada na comunidade.

"Mais de 100 quilos de drogas foram apreendidos, 187 veículos vistoriados e três armas retiradas das ruas", afirmou a pasta, em nota.

A secretaria também disse que irá analisar as imagens enviadas pela reportagem. "Toda denúncia pode ser registrada na corregedoria da PM, que está à disposição para apurar os fatos", concluiu.