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

Serial killer Pedrinho Matador é assassinado a tiros em Mogi das Cruzes

Do UOL, em São Paulo

05/03/2023 13h43Atualizada em 06/03/2023 07h30

O serial killer Pedrinho Matador foi assassinado na manhã de hoje, aos 68 anos, em Mogi das Cruzes (SP). A informação foi confirmada ao UOL por fontes da Polícia Militar.

Pedrinho, cujo nome verdadeiro é Pedro Rodrigues Filho, foi encontrado morto por volta das 10h deste domingo no bairro Ponte Grande. A Polícia Civil trabalha com a hipótese inicial de vingança.

De acordo com a PM, dois homens atiraram de dentro de um carro. Pedrinho também foi degolado, diz o boletim de ocorrência.

Pedrinho Matador ficou preso por mais de 40 anos

Pedrinho vivia em liberdade na cidade de Mogi das Cruzes após ar 42 anos preso. Ele diz ter matado mais de 100 pessoas ao longo da vida —incluindo o próprio pai, que assassinou sua mãe anos antes.

Sua ficha criminal aponta para números menores. Oficialmente, o prontuário de Pedrinho registra 11 mortes e sete tentativas de assassinato. Pedro foi condenado em 20 processos, dez deles por homicídio e quatro com mais de uma vítima.

Para cumprir todas as penas pelas quais foi condenado, Pedrinho teria de ar mais de 130 anos atrás das grades.

O serial killer foi preso pela primeira vez em 1973, conseguiu a liberdade em 2007 e voltou para a prisão quatro anos depois para cumprir mais duas penas. Saiu da cadeia em 2017, aos 64 anos, sem mais pendências com a justiça.

ou, então, a publicar conteúdos nas redes sociais se dizendo um "ex-matador", sendo convidado frequente de podcasts e entrevistas. Há cerca de um ano, publicou nas redes sociais as cenas de um batismo e anunciou que tinha se convertido evangélico. O último vídeo foi postado do canal do YouTube de Pedrinho foi postado há dois dias.

Em 2020, MOV produziu uma série de podcasts que contou a histórias dos maiores seriais killers do Brasil. O episódio sobre Pedrinho Matador pode ser ouvido abaixo: