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

Policiais atiram e matam assaltante na zona sul de SP; veja o vídeo

Do UOL, em São Paulo

11/02/2023 15h21

Vídeos compartilhados nas redes sociais flagraram a ação de policiais militares, que interromperam um roubo ontem à tarde na zona sul de São Paulo. Eles desceram de uma viatura atirando contra dois assaltantes, que rendiam um casal em uma moto.

Um deles, um jovem de 20 anos, foi atingido e morreu. Uma mulher de 31 anos que ava pelo local se feriu, mas foi socorrida e liberada após atendimento médico. Um adolescente de 16 anos foi apreendido sem ferimentos com o celular de uma das vítimas do roubo, de acordo com a SSP (Secretaria da Segurança Pública).

Os policiais disseram ter atirado porque o suspeito teria apontado a arma na direção deles, que se aproximaram do local do roubo em uma viatura. Mas as imagens mostram o assaltante baleado correndo para fugir após a chegada dos PMs.

No vídeo, é possível ver um dos policiais militares atirando uma vez no suspeito já caído na calçada, a cerca de 20 metros do local do assalto. Os agentes da Rota, a tropa de elite da PM, apreenderam uma pistola com o suspeito morto, segundo a ocorrência. As armas usadas na ação também foram apreendidas, de acordo com a SSP.

Uma equipe do DHPP (Departamento Estadual de Homicídios e de Proteção à Pessoa), que investiga o caso, solicitou perícia no local. A Ouvidoria da Polícia abriu procedimento para acompanhar as investigações na Corregedoria da PM e na Polícia Civil. A entidade ainda solicitou imagens das câmeras que registraram a ação e pediu o afastamento dos policiais envolvidos no caso.

O caso foi registrado como roubo de veículo, morte decorrente de intervenção policial, lesão corporal decorrente de intervenção policial e apreensão de adolescente.

A ação ocorreu às 18h40 de ontem na avenida Cecília Lottenberg, na Chácara Santo Antônio, zona sul da capital paulista.

O que diz a SSP

Em nota, a SSP disse que os policiais militares estavam em patrulhamento e foram informados do roubo antes de chegarem ao local.

Um dos criminosos estava armado e apontou na direção dos policiais, que intervieram"
Trecho da nota da SSP

Diligências estão em andamento.