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

Ação da PM na Vila Kennedy deixa 3 mortos e 3 feridos no Rio

Ação policial na Vila Kennedy deixou mortos e feridos - Divulgação/PMERJ
Ação policial na Vila Kennedy deixou mortos e feridos Imagem: Divulgação/PMERJ

Marcela Lemos

Colaboração para o UOL, no Rio de Janeiro

13/09/2022 08h44Atualizada em 13/09/2022 12h47

Seis pessoas foram baleadas, sendo que três morreram na manhã de hoje, durante uma operação da Polícia Militar na Vila Kennedy, na zona oeste do Rio de Janeiro.

A PM afirma que todos foram atingidos em confronto entre supostos criminosos e policiais. As identidades das vítimas ainda não foram divulgadas.

Segundo a PM, após um intenso confronto, policiais "foram informados de que um homem com ferimentos provocados por disparo de arma de fogo, oriundo da Vila Kennedy, deu entrada no Hospital Geral de Bonsucesso. Foi constatado que contra o indivíduo havia um mandado de prisão em aberto".

Na ação, um suspeito foi preso portando uma pistola.

Os outros feridos foram encaminhados para o Hospital Albert Schweitzer, em Realengo.

Ao UOL, o porta-voz da PM, tenente-coronel, Ivan Blaz, afirmou que ação ocorre para "retirada de barricadas na região e [para] coibir o roubo de cargas e veículos".

Com os criminosos foram apreendidos rádio comunicador, pistolas e farto material entorpecente.

A PM ainda comanda, hoje, operações nas favelas do Aço, Três Pontes, Antares e Rola, em Santa Cruz, também na zona oeste.

Escolas fechadas

Devido à operação policial, nove escolas da Secretaria Municipal de Educação não abriram as portas na manhã de hoje. "As unidades escolares prestam atendimentos remotos para garantir a segurança de alunos e funcionários".

A pasta reforçou ainda que a Secretaria de Educação, em parceria com o Comitê Internacional da Cruz Vermelha, instituiu o programa "o Mais Seguro" em unidades localizadas em áreas de conflito, para "mitigar riscos por meio de protocolos que são aplicados por professores, alunos e toda comunidade escolar em situação de risco".

A Clínica da Família Wilson Mello Santos, localizada na Vila Kennedy, também interrompeu o funcionamento por motivo de segurança. "Os profissionais e o atendimento foram direcionados ao Centro Municipal de Saúde Waldyr Franco, em Bangu".

pmerj - Divulgação/Polícia Militar - Divulgação/Polícia Militar
Polícia também faz operações nas favelas do Aço, Três Pontes, Antares e Rola, em Santa Cruz
Imagem: Divulgação/Polícia Militar

Intervenção federal em 2018

A Vila Kennedy foi ocupada pela Forças Armadas durante a intervenção federal na segurança do Rio, em 2018. A comunidade serviu como laboratório da intervenção.

Mais de mil militares entraram na região para retirar barricadas, prender criminosos e recuperar veículos roubados. A ação foi considerada pouco eficaz por moradores que continuaram a conviver com violência e tráfico de drogas na região.