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

Um ano após "caso Neymar", Najila Trindade é absolvida de fraude processual

Najila Trindade foi absolvida de crime de fraude processual mais de 1 ano após "caso Neymar" - Reprodução/SBT
Najila Trindade foi absolvida de crime de fraude processual mais de 1 ano após "caso Neymar" Imagem: Reprodução/SBT

Karla Torralba

Do UOL, em São Paulo

19/11/2020 04h00

Najila Trindade, que acusou Neymar de estupro há pouco mais de um ano, foi absolvida do crime de fraude processual no último dia 17. Após o arquivamento do que ficou conhecido como "o caso Neymar" em 2019, a modelo foi denunciada pelo Ministério Público acusada de ter atrapalhado as investigações da polícia dificultando o a possíveis provas e forjando um suposto arrombamento no apartamento onde morava na zona sul de São Paulo.

Durante as investigações da acusação de estupro contra Neymar, Najila Trindade afirmou que seu apartamento havia sido arrombado e um tablet com imagens que auxiliariam a polícia nas investigações teria sido levado. O ex-marido da modelo, Estivens Alves, chegou a fazer imagens do local após a suposta invasão e também foi denunciado pela promotoria pelo mesmo crime.

A Justiça aceitou a denúncia contra os dois em setembro de 2019, mas agora a modelo foi absolvida junto com o ex-marido. O UOL Esporte teve o à sentença da juíza Ana Lucia Fernandes Queiroga, que entendeu que não houve crime nas ações dos dois na época.

"Não seria razoável supor que o acusado, com intuito de adulterar o local de um delito, filmasse o próprio crime que cometia, o que indica que de fato foi ao local apenas para pegar pertences da acusada Najila, que naquele momento não poderia permanecer em sua residência", diz um trecho da sentença.

O ex-marido de Najila havia afirmado na época que foi ao apartamento da modelo para buscar pertences do filho do casal.

A juíza ainda entendeu que em nenhum momento Najila apagou imagens ou mudou senhas de um segundo tablet para atrapalhar as investigações policiais. Esse segundo aparelho seria do filho pequeno da modelo.

"Registre-se, ainda, que o ato de apagar dados de aparelhos eletrônicos, ou trocar senhas, são corriqueiros nos dias atuais, não se podendo dizer que tal conduta, por si só, configure uma inovação artificial com objetivo de induzir a erro perito ou juiz, mesmo porque, os réus não eram alvo da investigação que ocorria no inquérito policial naquele momento", afirma a magistrada.

O UOL Esporte tentou contato com o advogado de Najila, Cosme Araújo, mas não obteve retorno.

Najila Trindade registrou boletim de ocorrência acusando Neymar de estupro no final de maio de 2019 após encontro amoroso em Paris (França). Com a repercussão do caso, a modelo deixou a casa onde vivia em São Paulo. As investigações se arrastaram até agosto de 2019, quando a polícia civil de São Paulo decidiu arquivar a acusação.

Dias depois, a polícia anunciou que indiciaria Najila por fraude processual, denunciação caluniosa e extorsão. Em setembro, o Ministério Público denunciou Najila por fraude processual e denunciação caluniosa. A Justiça, no entanto, aceitou apenas a denúncia de fraude processual.