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

Chico Alves

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Advogados da família de petista morto pedem observadores internacionais

Marcelo Arruda - Reprodução
Marcelo Arruda Imagem: Reprodução

Colunista do UOL

12/07/2022 18h26

Os três advogados que representam a família de Marcelo Arruda, o militante petista assassinado no sábado em Foz do Iguaçu, no Paraná, por um simpatizante do presidente Jair Bolsonaro, divulgaram nota hoje. Entre outros comentários, afirmam que "na eventual incapacidade de investigação das instituições até então atribuídas por lei para tanto, é possível que seja necessária uma investigação internacional para apurar, até o fim, as responsabilidades de terceiros para com o assassinato e as motivações do assassino".

Daniel Godoy, um dos advogados signatários, explicou à coluna que até agora o trabalho policial tem sido satisfatório, mas não descarta a possibilidade de que no decorrer das investigações seja necessária a adoção de medidas que estejam além do alcance das autoridades policiais. "Pode envolver parlamentares, pode envolver o presidente, pode envolver mais gente no sentido de uma responsabilização pelo incentivo a esse tipo de comportamento", diz Godoy. Entre as entidades internacionais, ele cita a OEA (Organização dos Estados Americanos) e a ONU (Organização das Nações Unidas).

"A investigação até agora tem seguido o caminho adequado, mas não sabemos os obstáculos que poderemos ter pela frente. É uma medida preventiva", argumenta Godoy. "Existe uma crescente radicalização política provocada pelo comportamento que deriva dos atos da autoridade máxima do país e de alguns parlamentares".

No texto, os advogados afirmam que o assassinato praticado pelo agente penal Jorge José da Rocha Guaranho foi motivado por ódio em face de razões políticas. No sábado (9), o bolsonarista Guaranho invadiu de arma na mão a festa de aniversário de Arruda, cujos temas eram o PT e Lula. Gritando "Bolsonaro!", "Mito!" e "Morte aos petistas!", ele atirou contra o aniversariante, que revidou. Arruda morreu e Guaranho está internado em estado grave.

Os defensores da família de Arruda destacam no texto que o "homicídio qualificado é crime hediondo, qualquer que seja a qualificadora" e que "além da vítima, o assassino colocou a vida de dezenas de pessoas em risco, o que indica que a atitude corajosa de Marcelo Arruda".

Segundo os advogados, "mais de 11 projéteis não deflagrados foram encontrados na pistola do assassino o que demonstra o potencial ofensivo e letal do ataque".

Além de Godoy, assinam o texto Paulo Guerra Zuchoski e Ivan Martin Vargas.

"O clima de consternação nacional e internacional motivado pelo assassinato e suas circunstâncias - para além das responsabilidades das autoridades institucionalmente designadas para a investigação do caso - indica a necessidade de apuração profunda acerca das motivações de natureza subjetiva que levaram o assassino a agir de forma brutal. É necessário investigar a influência de terceiros, partícipes ou não, integrantes de grupos organizados ou não, que instigaram o assassino a agir de forma cruel contra Marcelo e as demais pessoas presentes, tendo como mote o ódio político", afirmam.

Terminam dizendo que "os familiares de Marcelo Arruda, consternados, desejam e esperam que se faça Justiça".