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

Homem acorda de coma após ser atacado com facão por defender sem-teto em SP

Agressor desferiu golpes com facão na cabeça de consultor de trânsito após ele defender sem-teto - Reprodução/TV Record
Agressor desferiu golpes com facão na cabeça de consultor de trânsito após ele defender sem-teto Imagem: Reprodução/TV Record

Do UOL, em São Paulo

04/10/2022 11h38Atualizada em 04/10/2022 11h38

Um homem foi atacado com um facão na cabeça após se envolver em uma briga para defender uma pessoa em situação de rua na cidade de Leme, no interior de São Paulo. O consultor de trânsito Paulo Martins, 44, estava em um bar quando viu o sem-teto sendo agredido por um terceiro homem e resolveu intervir na situação. O agressor deixou a cena, mas retornou com um facão desferindo golpes na cabeça de Paulo, que ficou quatro dias em coma.

Ao "Balanço Geral", da Record TV, Paulo recordou o momento em que a briga começou. "Quando eu percebi já estava tendo uma discussão verbal entre o rapaz que chegou no carro e o sem-teto", disse ele.

A briga entre os dois foi aumentando e, segundo Paulo, as agressões verbais aram a ser físicas. "A gente estava observando [a situação] quando ele jogou o morador no chão e foi pra cima dele novamente. Nesse momento não teve como segurar e eu fui lá intervir, separando", contou o consultor de trânsito. "Você vê ele, uma pessoa fraca, sem condições nenhuma de defesa, com um saco de recicláveis nas costas..."

Paulo diz que retornou ao bar e não sentiu quando o agressor desferiu o golpe com o facão. "Ele bateu e eu virei. Eu vi que ele tava com um objeto grande na mão, que seria um facão e naturalmente, instintivamente, eu já saí me defendendo."

O agressor fugiu e o consultor de trânsito teve que ser levado até um hospital para atendimento médico. "Assim que eu cheguei no hospital, eu estava bem consciente. Inclusive pedi para fazer contato com a minha família", afirma ele. No entanto, ele teve que ser colocado em um coma induzido para sanar os ferimentos.

Eu só me lembro de ter deitado na maca e vir um enfermeiro ou médico com o oxigênio. Aquilo já me colocou em coma e dali eu já não lembro mais nada.

paulo - Reprodução/TV Record - Reprodução/TV Record
Paulo Martins foi atacado após defender pessoa em situação de rua
Imagem: Reprodução/TV Record

Paulo diz que, quando acordou, já estava com o ferimento fechado e que agora está se recuperando em casa.

Ao UOL, a SSP-SP (Secretaria de Segurança Pública de São Paulo), informou que caso é investigado por meio de inquérito policial pela Delegacia de Leme. "A equipe da unidade identificou os suspeitos e segue realizando diligências visando ao esclarecimento dos fatos", diz comunicado.