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

Rodrigo Mattos

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Mattos: Vojvoda está na frente de Renato com 10% do dinheiro para futebol

25/10/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Enquanto técnico do Grêmio, Renato Gaúcho dizia que, quando lhe dessem um time de R$ 200 milhões, poderiam cobrar um futebol bonito. Não estava destituído de razão ao relacionar o valor investido ao futebol praticado e resultados. Há estudos que demonstram que há relação direta entre a tabela de campeonatos de pontos corridos e o dinheiro no banco.

Ao assumir o Flamengo, clube mais rico do país, Renato assumia para si a exigência de praticar um futebol de acordo com o valor investido. Não é o que se verifica quando chegamos no quarto final do Brasileiro.

Com o encerramento da rodada deste final de semana, o Flamengo acumula 46 pontos no Brasileiro. São dois pontos a menos do que o Fortaleza. É necessário ressalvar que o time rubro-negro tem três jogos a menos na tabela por conta de jogos atrasados. É provável, portanto, que ultrae o rival cearense, embora não por grande distância.

E qual a diferença de investimento do time de Renato e o de Juan Pablo Vojvoda? Bom, sob o ponto de vista de valor em contratações, não existe nem comparação. O Flamengo atual é um elenco que já era caro - Everton Ribeiro, Vitinho. E depois disso injetou um investimento de R$ 200 milhões. No terceiro ano, novo aporte para atletas como Michael e Léo Pereira.

Mas vamos comparar o padrão de gastos com salários durante a temporada. Pelos números financeiros até o meio do ano, o Flamengo vai acabar a temporada com R$ 362 milhões em gastos com salários e direitos de imagens. Isso em um time que deve faturar acima de R$ 1 bilhão na temporada.

Já o orçamento do Fortaleza prevê um gasto de R$ 36,6 milhões com salários e direitos de imagem em 2021. O total de receita prevista para a temporada é de R$ 94 milhões.

Em resumo, o Flamengo tem dez vezes o dinheiro do Fortaleza, seja em receita, seja em dinheiro investido no futebol. Até porque são dois clubes com istrações que mantêm os gastos dentro do possível dentro do orçamento.

Diante deste cenário, fica claro que Vojvoda gera um rendimento para seu time bem acima do que se permitira prever pelo dinheiro disponível. Em compensação, Renato, com o maior orçamento do Brasil, perdeu do Fluminense e viu o Atlético-MG se distanciar em 13 pontos na liderança do Brasileiro.

É verdade que há ressalvas já que nem sempre o técnico teve seus titulares por conta da bizarrice das datas-Fifa coincidentes com jogos do Brasileiro. Mas seu elenco é recheado por três temporadas de investimento que lhe permitiriam manter ao menos um padrão.

"Ah, mas Renato está na final da Libertadores e possivelmente chegará à decisão da Copa do Brasil" Verdade, o Brasileiro, no entanto, é o termômetro ideal de medição de rendimento de times na temporada. Libertadores e Copa do Brasileiro, como mata-matas, são íveis do imponderável, desde tabela favorável a uma bola que bate na trave e não entra.

Com seu time de R$ 360 milhões, Renato até agora só foi capaz de apresentar um futebol de milhões quanto tinha seus titulares. Com os reservas, foi uma bolinha de dez centavos. O custo-benefício de Renato não é grande coisa.