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

Ricardo Feltrin

"Lincham sem nem considerar a dúvida", diz Marcius Melhem

O ator, redator e humorista Marcius Melhem - Reprodução
O ator, redator e humorista Marcius Melhem Imagem: Reprodução

Colunista do UOL

06/12/2020 15h12

Em nota enviada à coluna, neste domingo (06), o ator e humorista Marcius Melhem se defendeu de ataques e críticas que vem recebendo desde a denúncia de assédio moral e sexual por Dani Calabresa contra ele.

Na nota ele se refere à coluna sobre o caso, publicada aqui ontem.

A notícia a respeito da denúncia foi publicada pela primeira vez no ano ado, pelo colunista Leo Dias, então membro da equipe do UOL.

Na semana ada o assunto ganhou fôlego novamente após nova publicação da revista "piauí", que trouxe mais detalhes sobre o caso.

Por meio de sua defesa, dirigindo-se a esta coluna, Melhem ite ter cometido muitos erros, mas diz ser vítima de um "linchamento" feito com acusações em "off" baseadas em "motivações inconfessáveis" (esta coluna publicou informações em off a pedido dos entrevistados, que temem se expor).

Por sua conduta, Melhem, hoje com 48 anos, deixou a Globo em agosto após 17 anos na casa. Mas, os problemas, tudo indica, ainda estão longe de terminar.

Ele está se defendendo pelas vias legais e anunciou que entrará com ações contra Dani Calabresa e a defesa dela.

Veja a íntegra da nota enviada pela defesa do humorista à coluna:

"Li sua análise baseada em fontes anônimas de que de autor dedicado virei um "predador" que encurrala mulheres nos corredores da TV ao me tornar executivo, há 3 anos.

O off é um recurso consagrado, mas poucas vezes na história foi usado tão sem parcimônia para destruir uma pessoa sem abrir espaço para a dúvida e o direito de defesa. Permita-me, por favor, chamar sua atenção para alguns pontos.

1 - Eu não fui executivo da TV Globo por três anos, mas por um ano e meio.

2 - Na matéria da Folha, assinada pela colunista Mônica Bergamo, está dito que a maioria das situações relatadas, inclusive a da Dani Calabresa, teria acontecido antes de eu ser diretor. E agora esse grupo do off diz que eu teria mudado e me tornado um predador quando me tornei executivo da empresa.

3 - A expressão "encurralar vítimas em corredores" tem sido repetida a todo momento. Conheci poucos lugares no mundo com mais câmeras do que a Rede Globo. Que corredores são esses? Ninguém a por eles? Jamais isso foi visto ou relatado? Na revista "Piauí" me acusaram, em off, de invadir o camarim do Projac para ver a Dani Calabresa de maiô em uma gravação que, na verdade, aconteceu sem minha presença, em ambiente externo, a vários quilômetros do Projac.

4 - Seu texto adjetiva a matéria da "Piauí" como "brilhante". É uma opinião, devo respeitá-la, mas, se for possível, permita-me dizer que o fato de ter muitos detalhes não a torna verdadeira. Aliás, a Mônica Bergamo, citada na "Piauí", foi ao Twitter no mesmo dia explicar que a pequena parte que citava ela estava errada. Imagine a minha parte!

Ricardo, muitos foram meus erros. Quero reconhecê-los e me responsabilizar por eles. Mas, permita-me fazer um apelo à consciência daqueles que lincham sem considerar o direito à dúvida, baseados em uma narrativa sem provas e sem considerar a hipótese de haver motivações inconfessáveis por trás de acusações anônimas."

Outro lado 2 - Globo

"A Globo não comenta questões de "compliance", mas reafirma que todo relato de assédio, moral ou sexual, é apurado criteriosamente assim que a empresa toma conhecimento. A Globo não tolera comportamentos abusivos em suas equipes e incentiva que qualquer abuso seja denunciado.

Neste sentido, mantém um canal aberto para denúncias de violação às regras do Código de Ética do Grupo Globo. Por esse Código, assumimos o compromisso de sigilo do processo, assim como o de investigar, não fazer comentários sobre as apurações e tomar as medidas cabíveis, que podem ir de uma advertência até o desligamento do colaborador. Mesmo nas hipóteses de desligamento, as razões de "compliance" não são tornadas públicas.

Somos muito criteriosos para que os estilos de gestão estejam adequados aos comportamentos e posturas que a Globo quer incentivar e para que as medidas adotadas estejam de acordo com o que foi apurado. Não foi diferente nesse caso. O acolhimento e a empatia com quem relata situações de violação do Código de Ética são pontos essenciais do programa de "compliance" da empresa.

Isso não quer dizer que os processos de "compliance" sejam estáticos. Ao contrário.

Eles evoluem constantemente para acompanhar as discussões da sociedade. As práticas e as avaliações são revistas o tempo inteiro, assim como são propostas e acolhidas sugestões de melhoria nos mecanismos de comunicação interna. A própria sociedade está se transformando e a empresa acompanha esse processo."

Ricardo Feltrin no Twitter, Facebook, Instagram e site Ooops