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

Procurador que agrediu a chefe é preso em clínica na Grande SP

De Universa, em São Paulo

23/06/2022 10h22Atualizada em 23/06/2022 12h24

O procurador Demétrius Oliveira Macedo, 34, foi preso hoje, segundo informou o governador do estado de São Paulo, Rodrigo Garcia (PSDB). Ele foi gravado nesta semana agredindo a chefe, a procuradora-geral do município de Registro (SP) Gabriela Samadello Monteiro de Barros, 39.

"Informo em primeira mão: a Polícia Civil acaba de prender o agressor Demétrius Macedo. Que a Justiça faça a sua parte agora e use contra ele todo o peso da lei. Agressor de mulher vai pra cadeia aqui em SP. Denuncie sempre", escreveu Garcia no Twitter.

Em nota, a Polícia Civil informou que Demétrius foi encontrado em uma clínica em Itapecerica da Serra, Região Metropolitana de São Paulo.

Segundo o boletim de ocorrência registrado por Gabriela, a agressão ocorreu depois que ela solicitou a abertura de um processo istrativo contra Demétrius devido a sua postura no ambiente de trabalho "hostil e grosseira". O homem não teria gostado da atitude da profissional e foi à sala dela tirar satisfação.

Ontem, a Justiça de São Paulo emitiu mandado de prisão contra Demétrius. O pedido de prisão preventiva foi feito pela Polícia Civil de São Paulo no mesmo dia. O inquérito policial reuniu fotos e vídeos da agressão, além de depoimento da procuradora-geral, para fundamentar o pedido.

O mandado foi expedido pelo juiz da 1ª Vara Criminal de Registro, Raphael Ernane Neves, que justificou a decisão afirmando que "nenhuma das medidas alternativas se revela pertinente".

Segundo o despacho do delegado na solicitação, o investigado "vem tendo sérios problemas de relacionamento com mulheres no ambiente de trabalho, sendo que, em liberdade, expõe a perigo às vidas delas, e consequentemente, à ordem pública".

Dois promotores do Ministério Público de São Paulo foram escalados para acompanhar os desdobramentos do caso.

Em entrevista a Universa, Gabriela afirmou que se sentia aliviada com a decisão da Justiça. Ela disse que acredita na possibilidade de seu colega não aceitar ser comandado por mulheres, já que ele vinha demonstrando descontentamento no trabalho desde 2019, quando uma mulher assumiu o cargo de chefia da Procuradoria-geral do município — cargo até então historicamente ocupado por homens.

Gabriela assumiu o cargo em 2021, sendo a segunda mulher na chefia da área.

Não tolere violência

O Ligue 190 é o número de emergência indicado para quem estiver presenciando uma situação de agressão. A Polícia Militar poderá agir imediatamente e levar o agressor a uma delegacia.

Também é possível pedir ajuda e se informar pelo número 180, do governo federal, criado para mulheres que estão ando por situações de violência. A Central de Atendimento à Mulher funciona em todo o país e também no exterior, 24 horas por dia. A ligação é gratuita.

O Ligue 180 recebe denúncias, dá orientação de especialistas e encaminhamento para serviços de proteção e auxílio psicológico. Também é possível acionar esse serviço pelo WhatsApp. Nesse caso, e o (61) 99656-5008.

Errata: este conteúdo foi atualizado
Diferentemente do que o texto informava, Rodrigo Garcia é filiado ao PSDB, e não ao Democratas.