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

Por que é complicado obter detalhes da condenação de Cuca por estupro em 87

Pedro Lopes

Do UOL, em São Paulo

21/04/2023 04h00

A contratação de Cuca pelo Corinthians, anunciada na quinta-feira (20), irritou torcedores nas redes sociais. No centro da revolta está a condenação do treinador a 15 meses de prisão por estupro de Sandra Pfaffli, de 13 anos, em um hotel em Berna, na Suíça, em 1987, quando ainda era jogador de Grêmio.

Outros três atletas do time gaúcho também foram condenados: o ex-goleiro Eduardo, o ex-zagueiro Henrique e o ex-atacante Fernando. Os detalhes do que aconteceu naquela noite não são, até hoje, conhecidos no Brasil. O que se tem da história é reconstruído pela versão dos próprios acusados que retornaram e alguns recortes de jornais da época.

Uma visita profissional a Berna em 2019 para participar de um festival de jornalismo virou uma oportunidade de tentar desvendar o mistério que cerca a condenação e entender toda a fundamentação por trás da decisão. Cuca nega ter cometido qualquer violência, e diz que a pena se justifica, em parte, por não ter tido a oportunidade de se defender — o julgamento aconteceu quando os gremistas já tinham retornado ao Brasil.

Contei a história a uma jornalista local que conheci durante a viagem: um famoso treinador e ex-jogador brasileiro tinha sido condenado no país dela pelo estupro de uma menor de idade, mas voltou ao Brasil antes de cumprir qualquer pena. Aqui trabalhava livremente nos maiores clubes do país. Estarrecida, ela topou me ajudar.

Meses depois, quando eu já tinha retornado ao Brasil, localizamos os processos — estavam na corte criminal de Berna-Mitteland. O o aos detalhes, entretanto, esbarrava na lei de proteção de dados da Suíça. Oficialmente, a corte informou que se tratava de um procedimento criminal altamente pessoal e que, por isso, a proteção aos dados era particularmente forte. A liberação só seria possível em três cenários: por força de lei que assim obrigasse, com uma decisão judicial determinando ou com autorização expressa da vítima.

Explicamos a um funcionário do tribunal que a ideia era esclarecer essa história no Brasil. O que se sabia aqui é que um dos treinadores mais famosos do país tinha no seu ado uma condenação por estupro. Ele negava o crime, e não havia detalhes ou dados para confrontar as versões. Nem mesmo a íntegra da sentença era conhecida por aqui. O funcionário disse que tentaria localizar Sandra para pedir autorização de o à decisão e a documentos.

Essa autorização não veio. O retorno informal foi de que a mulher, mais de 30 anos depois, não queria ser encontrada — algo comum em eventos traumáticos como o crime de estupro. Oficialmente, a corte enviou uma carta; ela diz que o pedido de informações não atende a nenhum dos três requisitos previstos em lei para a liberação do o e, por isso, foi negado.

Em entrevista à colunista do UOL Marilia Ruiz, Cuca diz ser completamente inocente do crime. Nos depoimentos de 1987, reproduzidos tanto pela imprensa brasileira como pela europeia, Sandra narrou ter sido segurada a força por quatro jogadores do Grêmio. Na Suíça, os detalhes do processo permanecem protegidos por fortes e invioláveis mecanismos de proteção à vítima.