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

Preocupação com Neymar e papo de Tite com Gabigol marcam treino da seleção

Neymar caído no gramado após dividida - Reprodução/CBF TV
Neymar caído no gramado após dividida Imagem: Reprodução/CBF TV

Gabriel Carneiro

Do UOL, em São Paulo

01/06/2021 17h29

Tite comandou hoje (1) mais um treino da seleção brasileira que se prepara para enfrentar o Equador na sexta-feira, às 21h30, pela sétima rodada das Eliminatórias da Copa do Mundo do Qatar. Todos os 25 jogadores convocados já estão na Granja Comary, mas Rodrigo Caio, Thiago Silva e Everton Ribeiro não participaram das atividades abertas transmitidas pela CBF TV.

Entre os que estiveram em campo, dois destaques: Neymar precisou de atendimento médico durante dois minutos e meio após uma dividida forte com Danilo, mas depois retornou e completou o treinamento sem restrições; e Gabigol teve uma conversa ao pé do ouvido com o técnico Tite durante a paralisação dos trabalhos em razão do susto com Neymar.

Neymar foi desfalque da seleção brasileira em metade dos jogos depois da Copa do Mundo da Rússia na maioria das vezes por problemas médicos, por isso a queda em campo e a necessidade de atendimento durante o treino chamam atenção.

A transmissão da CBF TV, realizada para dar o às imagens de treino para imprensa e torcedores em tempos de pandemia, só mostrou o lançamento longo de Marquinhos e Neymar no chão depois da dividida com Danilo. Depois, a filmagem foi congelada no centro do gramado com o treino parado. Daí foi possível ver Tite conversando com seu auxiliar Cléber Xavier e depois com Gabigol. Quando o treino recomeçou foi informado que o jogador em atendimento era Neymar.

Gabigol - Lucas Figueiredo/CBF - Lucas Figueiredo/CBF
Gabigol durante treino da seleção brasileira; hoje (1), ele treinou ao lado de Richarlison e Vini Jr.
Imagem: Lucas Figueiredo/CBF

Tite comandou hoje um treinamento técnico em espaço reduzido, com dez jogadores e duas pequenas balizas de cada lado em dois tempos de cerca de dez minutos. É uma atividade rápida, intensa, que trabalha a transição ofensiva e a velocidade na tomada de decisões. Como o treinador só tinha 19 jogadores de linha disponíveis, chamou o jovem zagueiro Luan Patrick, do Athletico-PR, para completar.

No primeiro time foram escalados Danilo, Éder Militão, Felipe e Renan Lodi; Casemiro, Douglas Luiz e Lucas Paquetá; Richarlison, Vini Jr e Gabigol. Já no outro, também sem goleiro, Emerson, Luan Patrick, Marquinhos e Alex Sandro; Fabinho, Fred e Roberto Firmino; Éverton, Neymar e Gabriel Jesus.

Não houve qualquer indicação de titulares ou reservas e logo depois deste treinamento a transmissão foi encerrada enquanto os jogadores assistiam a um vídeo ainda no gramado. Ainda haveria um treinamento tático, mas Tite decidiu fazer mistério na escalação.

Thiago Silva, Ederson e Gabriel Jesus se apresentaram entre ontem e hoje à Granja Comary, mas o zagueiro não fica à disposição para as rodadas das Eliminatórias e só deve ter condições de jogo na Copa América. Rodrigo Caio e Everton Ribeiro, que jogaram no domingo, não participaram do treino de hoje por desgaste físico, mas pelo menos o zagueiro apareceu no gramado para treinar com o preparador físico Fábio Mahseredjian. A tendência é que todos, exceto Thiago Silva, possam jogar na sexta-feira.

O Brasil treina amanhã de manhã na Granja Comary e de tarde embarca para Porto Alegre, palco do jogo.