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

Petição pede que boletins de ocorrência especifiquem crime de LGBTfobia

Bandeira LGBTQIA+ (Foto: Reprodução) - Reprodução / Internet
Bandeira LGBTQIA+ (Foto: Reprodução) Imagem: Reprodução / Internet

De Universa

14/02/2022 12h57Atualizada em 14/02/2022 13h14

A ONG All Out, focada no apoio jurídico à população LGBTQIA+, lançou na última quinta-feira (10), uma petição online pedindo que os crimes de LGBTfobia sejam tipificados no momento do registro do boletim de ocorrência. Atualmente, alguns estados brasileiros, tais como Minas Gerais, Mato Grosso e Paraná, não possuem esta opção de registro no sistema.

Sem esta especificação, a tipificação do crime ocorre de acordo com a agressão relacionada — como injúria, ameaça, lesão corporal, constrangimento ilegal, homicídio, entre outros. No entanto, o sistema oculta o preconceito como motivação para o crime, dificultando que os números da LGBTfobia sejam monitorados ao redor do Brasil.

"Sem as devidas identificações sobre quem ingressou com a denúncia, a população LGBTQI+ se mantém invisível aos sistemas de segurança pública e de justiça", afirma Ana Andrade, gerente sênior de campanhas da All Out para a América Latina.

A petição ainda cita uma pesquisa realizada pela própria organização, que mostra que a ausência de um campo específico no registro dos boletins de ocorrência é apenas uma entre 34 barreiras que impedem a identificação do crime por parte das instituições públicas.

O levantamento alerta para o fato que ainda existe resistência por parte das autoridades no registro do crime. Além disso, a maior parte dos casos só é investigado quando recebe a atenção da mídia — e não há esforços federais para sistematizar informações coletadas pelos estados sobre crimes de intolerância.

Sobre a LGBTfobia

Desde 2019, a Lei de Racismo, que prevê crimes cometidos por raça, cor, etnia, religião e procedência nacional engloba também a discriminação cometida em razão da orientação sexual ou identidade de gênero. A essa prática vêm sendo empregadas as nomenclaturas de homofobia, transfobia ou LGBTfobia.

No Brasil, existem poucas delegacias especializadas em crimes de ódio, mas a denúncia pode ser feita em delegacias comuns. Em São Paulo e no Rio de Janeiro, as vítimas podem buscar a Decradi (Delegacia de Crimes Raciais e Delitos de Intolerância). O delegado ou escrivão que estiver de plantão não pode recusar a abrir boletim de ocorrência quando for solicitado.