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

Irmã do cantor Anderson Leonardo presta depoimento após acusação de estupro

Riane Oliveira, irmã de Anderson Leonardo, chegando hoje para depor - Tati Campbell/UOL
Riane Oliveira, irmã de Anderson Leonardo, chegando hoje para depor Imagem: Tati Campbell/UOL

Tatiana Campbell

Colaboração para Splash, no Rio

10/02/2021 15h53

A irmã do cantor Anderson Leonardo chegou por volta das 15h30 para prestar depoimento na 33ª DP (Delegacia de Polícia), em Realengo, na Zona Oeste do Rio de Janeiro. Riane Oliveira, que estava acompanhada do advogado e amigos, será ouvida pelos agentes no caso que investiga um suposto estupro cometido pelo artista contra um jovem de 21 anos.

Riane esteve em um evento com o rapaz na noite seguinte em que os dois se relacionaram em um motel da Zona Oeste da cidade. A ideia da Polícia Civil é entender como era a relação entre o jovem e Anderson, além de saber como a suposta vítima estava durante o show, se ele comentou algo sobre a noite anterior.

A Polícia confirmou que foram encontrados vestígios de sangue e sêmen em uma peça íntima do jovem. No entanto, não foi informado se o material colhido pelos agentes é compatível com o DNA do cantor. O artista nega que tenha cometido o crime, mas confessou que teve relação sexual com a suposta vítima.

Ainda de acordo com a Polícia Civil, ontem, o gerente e funcionários do motel foram ouvidos e negaram qualquer anormalidade. Os investigadores não descartam a possibilidade de uma acareação entre Anderson Leonardo e a suposta vítima.

A irmã de Anderson foi ouvida pelos agentes por cerca de três horas e deixou a delegacia pouco depois das 18h30 sem falar com a imprensa. Segundo Reginaldo Guilherme, titular da 33ª DP, o depoimento de Riane foi fundamental para mostrar a relação entre o jovem e o cantor do grupo Molejo.

"Foi muito importante na medida que ela esclarece que após o fato alegado pela vítima, a mesma continuou a frequentar todos os shows do cantor como se nada tivesse ocorrido. Vão ser tomados novos depoimentos no decorrer dessa investigação, se for necessário tanto a [suposta] vítima quanto o cantor poderão ser ouvidos novamente", explicou o delegado.

Riane Oliveira apresentou, segundo a polícia, uma grande quantidade de material que foi juntado aos autos e será encaminhado à Justiça. O delegado disse que eram vídeos em que o rapaz comparece aos shows do cantor.

Segundo a denúncia do jovem, o suposto crime teria ocorrido na madrugada do dia 11 de dezembro. No mesmo dia, à noite, o jovem foi a um evento do artista.

"No dia do fato alegado por ele, no mesmo dia ele foi no show com a irmã do Anderson e lá se portou como se nada tivesse acontecido. No depoimento a Riane disse que ele não comentou nada com ela, que ele dançou, brincou e se portou como se nada anormal tivesse acontecido", disse Reginaldo.

Segundo a Polícia Civil, outras testemunhas serão ouvidas e, se no final do inquérito for comprovado que o rapaz mentiu sobre o suposto estupro, ele pode responder por dois crimes: falsa comunicação de crime e denunciação caluniosa.