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

Lei em Campo

FIFA dará ajuda bilionária ao futebol em crise, mas cobrará transparência

25/06/2020 15h34

Receba os novos posts desta coluna no seu e-mail

Email inválido

Andrei Kampff

O Conselho da FIFA aprovou nesta quinta (25), por unanimidade, o Plano de Assistência que disponibilizará até US$ 1,5 bilhão em socorro a comunidade do futebol que a por dificuldades em função da pandemia do coronavírus. O projeto foi elaborado pela entidade em parceria com as confederações.

Importante, para receber o recurso serão exigidos mecanismos de transparência e governança.

O projeto foi definido em três estágios.

Nas duas primeiras etapas do plano, a FIFA prevê a liberação imediata de todos os pagamentos de custos operacionais a prazo para as associações membros e, posteriormente, a oportunidade de transformar os subsídios de desenvolvimento a prazo em fundos de alívio operacional COVID-19 - com um mínimo de 50 % dos fundos liberados para alocação no futebol feminino.

Na terceira fase, aprovada pelo Conselho nesta quinta (24), será fornecido mais apoio financeiro por meio de um sistema de doações e empréstimos.

O site da entidade explica:

- Subsídios : um subsídio de solidariedade universal de US $ 1 milhão será disponibilizado a todas as associações membros e um subsídio adicional de US $ 500.000 será alocado especificamente para o futebol feminino. Além disso, cada confederação receberá uma doação de US $ 2 milhões.

- Empréstimos : as associações membros poderão solicitar empréstimos sem juros no valor de até 35% de suas receitas anuais auditadas. Por uma questão de solidariedade, um empréstimo mínimo de US $ 500.000 estará disponível e um máximo de US $ 5 milhões. Além disso, cada confederação terá o a um empréstimo de até US $ 4 milhões.

Agora, algo fundamental.

Para garantir resultados efetivos do plano, haverá um rigoroso sobre a destinação do dinheiro. A entidade cobrará auditoria e regras claras de pagamentos de empréstimos, além de transparência na gestão do dinheiro, A FIFA também criará um comitê para supervisionar e istrar o Plano de Assistência. Olli Rehn, vice-presidente de Governança da FIFA, foi nomeado o líder desse comitê.

Ou seja, libera recurso, mas cobra uma contraprestação. Parece algo simples e básico. Mas não é o que se costuma ver nas relações do futebol brasileiro.

É só dar uma olhada no PL 1013, que está sendo analisado pelo Congresso. Ele dá um longo período de carência para os clubes pagarem as parcelas do Profut, em função da crise provocada pela pandemia.

Até aí, tudo bem. O problema é que não há contraprestação. Pelo contrário, durante o período regras de transparência são afrouxadas.

Ou seja, um verniz de socorro que só alimenta velhas e nocivas práticas de gestão no esporte.

A FIFA, a ponta da cadeia do sistema federativo, o detentora dos rumos do futebol mostrou o caminho.

É só seguir.

Nos siga nas redes sociais: @leiemcampo