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

Como convocados à seleção olímpica podem ficar sem medalha no futebol

Treino da seleção olímpica no CT do Palmeiras, em São Paulo - Divulgação/CBF
Treino da seleção olímpica no CT do Palmeiras, em São Paulo Imagem: Divulgação/CBF

Igor Siqueira

Do UOL, no Rio de Janeiro

14/07/2021 04h00

Estar convocado para a seleção olímpica de futebol não é garantia de medalha para todos os jogadores, ainda que o Brasil alcance o pódio com as equipes masculina e feminina em Tóquio. Por mais que a Fifa tenha ampliado a lista de inscritos de 18 para 22 atletas no torneio de futebol, a diretriz seguida pelo Comitê Olímpico Internacional (COI) pode deixar alguém de mãos abanando.

Segundo nota do COI enviada ao UOL Esporte, para estar elegível a receber uma medalha no futebol, "um jogador terá que aparecer na súmula de pelo menos uma partida oficial ao longo da competição".

Isso pode ser um problema para quem ficar fora do banco de reservas. Apesar da permissão de 22 inscritos, os técnicos só podem relacionar 18 atletas por cada jogo. O que a Fifa fez para atingir o número de 22 jogadores na competição foi "promover" os quatro nomes que seriam selecionados apenas para a lista alternativa.

Na delegação, obrigatoriamente há três goleiros. No caso da seleção masculina, o titular será Santos, do Athletico. O reserva é Brenner, do Grêmio. O terceiro goleiro, chamado por último, é Lucão, do Vasco. Se não houver um revezamento, um deles pode ficar sem medalha.

Considerando como a lista do técnico André Jardine se construiu, é possível que na estreia um dos quatro zagueiros fique fora do banco. Nino e Diego Carlos são os prováveis titulares. Bruno Fuchs foi a opção para a lista suplementar, mas ganhou, teoricamente, um lugar na fila com o corte de Gabriel Magalhães. Jardine, então, completou o quarteto com Ricardo Graça, do Vasco. No meio-campo, o corte de Douglas Augusto gerou outra lacuna, mas essa ainda não foi preenchida. Quem for chamado, é um candidato a ficar fora do banco na estreia contra a Alemanha, dia 22, em Yokohama.

Entre as convocadas por Pia Sundhage para a seleção feminina, as opções para o gol são Bárbara, Letícia e Aline Reis. A primeira costuma ser a titular. Inicialmente, a lista suplementar tinha, além de Aline, a meia-atacante Andressa Alves, a lateral Letícia Santos e a atacante Giovana Costa. A estreia da seleção feminina é dia 21, contra a China.

Na nota enviada ao UOL, o COI reforçou que "os times têm mais flexibilidade na seleção da equipe para cada partida, mas caso um atleta não apareça em alguma lista de jogo, ele não estará elegível para receber a medalha".

Em 2016, até os atletas que ficaram na lista de suplentes receberam posteriormente a medalha de ouro conquistada pela seleção masculina. Os agraciados foram o atacante Felipe Vizeu, o goleiro Jean, o zagueiro Gustavo Henrique e o meia-atacante Valdivia. Segundo a CBF, as medalhas enviadas eram originais, enviadas pelo COI.