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

Gabriel Vaquer

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Narrador pede desculpas por fala racista em jogo: "Sei da responsabilidade"

Paulo Cesar Ferrain: narrador pede desculpas por fala racista em transmissão de futebol feminino - Reprodução/Instagram
Paulo Cesar Ferrain: narrador pede desculpas por fala racista em transmissão de futebol feminino Imagem: Reprodução/Instagram

Colunista do UOL

26/04/2021 18h00

Narrador da transmissão de Napoli-SC x Bahia pelo Brasileirão Feminino ontem (25), quando acabou proferindo comentários racistas sobre o cabelo de zagueiras do Bahia, o narrador Paulo Cesar Ferrarin pediu desculpas para as jogadoras, no jogo exibido pela plataforma MyCujoo. O profissional ainda contou que ficou triste em ver seu nome envolvido em um caso desta natureza, por ser negro.

"Primeiramente, eu gostaria de pedir desculpas a todos, mesmo sabendo que as palavras proferidas não voltam. Mas podem me dar mais sensibilidade para evoluir como profissional e ser humano. Entendo que houve uma falta justamente disso", afirmou Ferrarin em conversa para a coluna na tarde desta segunda (26).

"Em que pese eu jamais tenha proferido uma palavra ou gesto depreciativo antes, me vi no centro de uma discussão e isso me deixou chocado justamente por ser tudo o que sempre lutei contra", pontuou o narrador. "Sei da responsabilidade que tenho por ser afrodescendente, um dos poucos em atividade em Santa Catarina e já por ter várias vezes sofrido no Brasil e fora do país", completou.

Em comunicados divulgados ontem, a CBF e o MyCujoo lamentaram a atitude dos jornalistas envolvidos na transmissão. Ambos foram afastados. No episódio, o comentarista Edson Florão destacou os "cabelos exóticos" das jogadoras do time visitante e fez uma comparação das atletas com a cantora Margareth Menezes. Minutos depois, o narrador Paulo Cezar Ferrarin defendeu o comentário do colega após questionamento de um espectador, falando que era muito "mimimi".

"Acaba tendo que rifar a bola, facilitando especialmente o sistema defensivo da equipe do Bahia, que está aí com a sua vantagem de estatura, com esses cabelos exóticos, pelo menos uma meia dúzia. A Aline tem o cabelo mais exótico me parece dessa equipe do Bahia", falou Florão. As atletas em questão são negras.

Depois, Ferrarin completou: "Verdade. Eu estava até brincando com esses cabelos, parecia a Margareth Menezes. (...) Grande abraço aqui para o Paulo (o espectador que reclamou). Oh, Paulo, que isso. A gente falou inclusive, estamos aqui com o pessoal do Bahia, das aparências. Se o Paulo achar que é um comentário xenofóbico comparar as artistas, que são maravilhosas, que a gente falou da Margareth Menezes, poderíamos citar alguém... a Daniela Mercury, outros tantos", disse Ferrarin na transmissão. "Paulão, você está fora da realidade. Elogiar os artistas da Bahia para você.... Realmente é muito mimimi, meu amigo. A gente está elogiando", concluiu.

"Voltar a transmitir futebol feminino não depende de mim", diz narrador

Sobre o afastamento, Ferrareis concordou: "Com relação ao MyCujoo e à CBF, entendo que houve um procedimento padrão de uma plataforma mundial, que trabalha única e exclusivamente com o intuito de divulgar o futebol, principalmente o feminino, e dá visibilidade maior aos talentos que até pouco tempo ninguém conhecia. A CBF fez o que uma entidade deve fazer, ela é a organizadora da competição."

Para finalizar, o profissional pediu desculpas novamente sobre o que aconteceu: "Novamente peço desculpas a todos e agradeço pela confiança que sempre me foi depositada. Voltar a transmitir o futebol feminino não depende de mim, precisa ser melhor analisado, discutido, dar tempo ao tempo. O certo é que essas palavras proferidas na transmissão nem de longe demonstram o que eu penso, e não podem apagar tudo o que tivemos o prazer de realizar até hoje, junto com outros profissionais. Estou orando para Deus e o que ele me reservou, Papai do Céu saberá o que é melhor para todos."

A coluna também procurou o comentarista Edson Florão. Até o fechamento da reportagem, não houve resposta.