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

Presa por ser reconhecida pelo cabelo, modelo é absolvida após quase 3 anos

A modelo Bárbara Querino, Babiy, foi presa após ser reconhecida "pelo cabelo" - Reprodução Instagram
A modelo Bárbara Querino, Babiy, foi presa após ser reconhecida "pelo cabelo" Imagem: Reprodução Instagram

De Universa, em São Paulo

13/05/2020 18h45Atualizada em 14/05/2020 10h02

Quase três anos após ter sido fichada por um crime que não cometeu, a modelo e dançarina Barbara Querino publicou nas redes sociais a sua absolvição. "Notícia mais que incrível", escreveu no Twitter hoje à tarde, acrescentando uma imagem da decisão judicial. Reconhecida como cúmplice de um roubo, em 2017, por pessoas que a identificaram pelo cabelo cacheado, ela vem denunciando o racismo desde que deixou a prisão.

Na decisão, o desembargador do Tribunal de Justiça de São Paulo, Guilherme Souza Nucci, considerou peculiar o reconhecimento da modelo já que o cabelo dela não apresenta nenhum traço diferencial que a pudesse identificar.

"A primeira identificação da acusada pelas vítimas ocorreu, em circunstâncias pouco esclarecidas (vítimas vizinhas de condomínio do delegado), por meio de fotografias enviadas pelo aplicativo "WhatsApp", quando os ofendidos reconheceram Bárbara em razão de seu cabelo, circunstância, no mínimo, peculiar, sobretudo pela ausência de traços diferenciais no cabelo da referida acusada", escreveu ele na decisão.

Em novembro de 2017, Babiy, como é conhecida nas redes sociais, foi fichada sob a acusação de ter participado de um roubo de carro, em São Paulo, que havia ocorrido dois meses antes e que também envolvia seu irmão e um primo. Ela foi reconhecida pelas vítimas do assalto por fotos enviadas via WhatsApp.

Em entrevista concedida ao UOL no ano ado, Babiy relatou: "Ela (a vítima) falou que reconheceu o meu cabelo. Sendo que aqui em São Paulo o que você mais vê é um cabelo igual ao meu". A modelo falou sobre justiça brasileira e racismo na série "Retrato".

No entanto, na ocasião do crime, Babiy estava no Guarujá, litoral paulista, a cerca de 100 km da capital. Em janeiro de 2018, ela foi presa e cumpriu um ano e sete meses de pena no regime fechado. Mesmo apresentando fotografias na praia e contando com depoimentos de amigos que a acompanharam na viagem.

Em agosto de 2018, Bárbara foi condenada a cinco anos e quatro meses por assalto a mão armada. O juiz do caso afirmou que as imagens dela em redes sociais eram "provas imprecisas", pois delas não se poderia extrair data ou horário.

A modelo só deixou a prisão em setembro de 2019, após cumprir dois sextos da pena, para cumprir o restante da condenação em casa, no regime aberto. Ela recorreu do caso em segunda instância e obteve a resposta hoje.

"Por fim, a ré Bárbara também infirmou a prática do crime, apresentando um álibi no sentido de que estaria em Guarujá desde o dia 9 de setembro de 2017, sendo impossível estar no local dos fatos no dia seguinte", declarou Nucci na decisão.