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

Vídeo mostra momento em que bolsonarista invade salão e atira em petista

Lorena Pelanda , Ana Paula Bimbati e Paulo Roberto Netto

Do UOL, em São Paulo, em Brasília, e colaboração para UOL, em Curitiba

10/07/2022 17h23

Imagens de câmeras de segurança obtidas pelo UOL mostram o momento em que o agente penitenciário Jorge José da Rocha Guaranho invade a festa de aniversário do guarda municipal Marcelo Arruda e atira contra ele. O caso aconteceu na noite de sábado (9), em Foz do Iguaçu (PR).

Do lado de fora do salão de festas, uma câmera de segurança mostra quando Guaranho chega com o carro, desce e empunha a arma. A mulher da vítima, que é policial civil, mostra sua carteira funcional, mas Guaranho segue com a arma. Ele efetua dois disparos em direção ao interior do salão.

Outra câmera de segurança, localizada no interior do salão, mostra a vítima Arruda caminhando com dificuldade, mancando, pelo salão. Segundos depois, ele cai no chão e se abriga atrás de uma mesa. Segundo uma testemunha ouvida pelo UOL, nessa altura Arruda já tinha sido atingido pelos disparos que Guaranho fez do lado de fora do salão.

Em seguida, o agente penitenciário entra correndo no salão, ainda com arma em punho, e mira em direção ao aniversariante.

Então, a esposa de Arruda tenta conter o atirador, que se desequilibra e cai no chão. No vídeo, é possível ver um sinal luminoso de um disparo saindo da arma de Guaranho em direção a Arruda.

O bolsonarista se levanta e sai correndo, ainda armado — segundo o boletim de ocorrência, a arma dele ainda tinha onze munições intactas. A vítima atira contra Guaranho, que é baleado e cai no chão, mas segue se movendo.

Assim que os disparos cessam, um homem não identificado aparece e dá chutes no rosto do bolsonarista, que para de se mover. Outras pessoas também surgem no salão.

Marcelo Arruda morreu em razão dos disparos. Já Guaranho está internado em estado estável, segundo novas informações da Polícia Civil do Paraná na tarde deste domingo — inicialmente, a corporação havia dito que o atirador também havia morrido, mas depois se corrigiu.

"Primeiro, meu pai foi baleado na perna e depois levou mais dois disparos à queima roupa. Nisso, a companheira dele, em um ato de coragem, empurra esse rapaz. Após isso, meu pai se levantou, se apoiou na cadeira e conseguiu balear esse rapaz", contou ao UOL, Leonardo Miranda de Arruda, filho da vítima.

Guaranho invadiu o local por volta das 23h de ontem (9), acompanhado da mulher e do filho, e começou a xingar quem estava na festa e a gritar "aqui é Bolsonaro", de acordo com testemunhas e com o boletim de ocorrência. Arruda comemorava seus 50 anos com uma festa temática do PT e com foto do ex-presidente Luiz Inácio Lula da Silva. O aniversariante era militante do partido.

"Quando Marcelo grita 'polícia, polícia', o cara atira nele. [Marcelo] leva o primeiro tiro na perna e se movimenta para o lado para se proteger", diz André Alliana, amigo da vítima. André aparece de camiseta amarela no vídeo segundos depois.

"Achamos que era um convidado, já que também tinha bolsonaristas no local. O Marcelo estava na cozinha e fomos chamá-lo para receber esse homem. Foi aí que vimos que não era brincadeira", contou Alliana.

Agente penitenciário está internado em estado grave

Inicialmente, a Polícia Civil disse em nota enviada à imprensa ao meio-dia que tanto Arruda quanto Guaranho morreram. A informação foi retificada durante a tarde pela corporação para informar que Guaranho não morreu no local e está internado.

Guaranho foi levado para o Hospital Municipal Padre Germano Lauck, de Foz do Iguaçu. A unidade não se manifestou sobre o estado de saúde do agente penitenciário e disse que informações sobre o caso só serão compartilhadas com familiares e com a polícia.