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

PM acusa colegas de difamação por montagem do filho com emoji de berinjela

Em foto original, soldado tinha filho nas mãos - Reprodução/Instagram
Em foto original, soldado tinha filho nas mãos Imagem: Reprodução/Instagram

Do UOL, em São Paulo

28/05/2021 11h42Atualizada em 31/05/2021 12h36

Um soldado da Polícia Militar de São Paulo está acusando um sargento de difamação por fazer insinuações a respeito de sua sexualidade, após uma foto de seu filho recém-nascido ser compartilhada em uma montagem com um emoji de berinjela. A figura é muito usada para se referir ao órgão sexual masculino em conversas por mensagem de texto.

Em vídeo publicado ontem nas redes sociais, Guilherme Ferreira, do 13º Batalhão, da Companhia Tática Nova Luz, disse que parte das ofensas partiram de um sargento da PM.

O soldado, que também é fisiculturista e possui uma dieta restrita, contou que o episódio aconteceu após ele fazer um vídeo no Instagram afirmando que estava com vontade de comer berinjela.

Eu estou em um campeonato em vista e quem conhece sabe que a gente tem vontade de comer coisas fora da dieta, é normal. E, recentemente, eu fiz um stories falando que eu estava com vontade de comer uma berinjela. Aí uma certa pessoa pegou o meu vídeo e começou a espalhar, tentando atingir a minha sexualidade, falando que eu sou gay por causa da berinjela."

chat - Reprodução/Instagram - Reprodução/Instagram
Em conversa, sargento da PMESP publica mensagens ofensivas
Imagem: Reprodução/Instagram

Segundo o soldado, o autor das ofensas publicou as mensagens em um grupo com outros policiais militares. Em prints divulgados por Guilherme, o sargento compartilha figuras homofóbicas para falar sobre o soldado.

É mesaniversário do meu filho, eu estava junto com a minha família comemorando e me deparo com esse print, essa conversa. A pessoa tentando usar da sexualidade [para me ofender]. Isso é um desrespeito a mim, um desrespeito a pessoas de ambas sexualidades."

O soldado, que é casado, afirmou que é heterossexual e casado com uma mulher. "É um ato totalmente desnecessário", defendeu Guilherme. "Para um cara estar na figura de sargento, ele representa um pelotão, ele deveria dar exemplo para a tropa, ser um espelho também para a sociedade. Essa brincadeira não tem graça nenhuma."

Guilherme ainda disse que prestará boletim de ocorrência sobre a situação.

O UOL entrou em contato com a Polícia Militar de São Paulo, que afirmou ser "uma instituição legalista" e que "não compactua com nenhum tipo de discriminação."

A instituição também disse que Guilherme Ferreira ainda não formalizou a denúncia, mas que "o comandante do 13º Batalhão de Polícia Militar Metropolitano, ao tomar conhecimento do vídeo, imediatamente instaurou Inquérito Policial Militar para apurar os fatos."