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

Brasil joga 70 minutos com um a menos e só empata com a Costa do Marfim

Bruno Guimarães tenta jogada pela seleção brasileira olímpica contra a Costa do Marfim, em jogo hoje (25) - Lucas Figueiredo/CBF
Bruno Guimarães tenta jogada pela seleção brasileira olímpica contra a Costa do Marfim, em jogo hoje (25) Imagem: Lucas Figueiredo/CBF

Gabriel Carneiro

Do UOL, em São Paulo

25/07/2021 07h26

Depois de golear a Alemanha na estreia do futebol masculino nas Olimpíadas de Tóquio, a seleção brasileira não saiu do empate em 0 a 0 com a Costa do Marfim, hoje (25), no Estádio Internacional de Yokohama. As duas equipes ficam com quatro pontos no Grupo D, mas o Brasil lidera pelo saldo de dois gols contra um.

O Brasil atuou 70 minutos com um jogador a menos pela expulsão do volante Douglas Luiz aos 13 do primeiro tempo. Os africanos também tiveram um vermelho de Kouassi, mas só aos 34 da etapa complementar.

Agora, a terceira rodada que decide tudo será na quarta-feira (28), às 5h (de Brasília). O Brasil enfrenta a Arábia Saudita em Saitama, enquanto a Costa do Marfim tem pela frente a Alemanha, em Miyagi.

Ponto de equilíbrio

Claudinho - Francois Nel/Getty Images - Francois Nel/Getty Images
Claudinho tenta lance em partida do Brasil contra a Costa do Marfim pelas Olimpíadas
Imagem: Francois Nel/Getty Images

Melhor jogador do Brasileirão no ano ado, Claudinho tem uma função tática que envolve alguma liberdade na seleção olímpica. Ele é um meia pela esquerda que pode aparecer no centro quando Arana faz o apoio, mas hoje teve essa autonomia impossibilitada pela expulsão de Douglas Luiz. Recuado a segundo volante para ajudar Bruno Guimarães, ele manteve o alto nível de desempenho e foi responsável por clarear o jogo do meio para frente e criar chances para o Brasil com bom domínio, velocidade e iniciativa que rendeu boas finalizações aos 31 e 36 do segundo tempo.

Expulsão precoce

Douglas Luiz - Francois Nel/Getty Images - Francois Nel/Getty Images
Douglas Luiz, em partida do Brasil contra Costa do Marfim, pelas Olimpíadas de Tóquio-2020
Imagem: Francois Nel/Getty Images

Por mais que torcedores brasileiros tenham contestado a expulsão do volante Douglas Luiz aos 13 minutos do primeiro tempo, foi um lance em que ele fez tudo errado: não conseguiu dominar depois de receber um e no meio-campo, cedeu o contra-ataque para a Costa do Marfim, perdeu na velocidade e fez a falta em Youssouf Dao que rendeu o cartão vermelho e complicou a atuação do Brasil em Yokohama.

Jogo truncado

Richarlison - Lucas Figueiredo/CBF - Lucas Figueiredo/CBF
Richarlison tenta jogada pela seleção brasileira olímpica contra a Costa do Marfim
Imagem: Lucas Figueiredo/CBF

A Costa do Marfim começou o jogo mais recuada com uma linha de cinco defensores, consciente da ofensividade da seleção brasileira. O jeito encontrado pelo técnico André Jardine para lidar com isso foi recuar o volante Douglas Luiz para fazer a saída de bola junto com os zagueiros Nino e Diego Carlos e soltar os laterais Daniel Alves e Guilherme Arana para aumentar o número de jogadores no ataque. A estratégia era promissora, mas justamente Douglas Luiz foi expulso logo aos 13 minutos do primeiro tempo e o plano tático precisou ser todo mexido.

O cartão vermelho foi mostrado pelo árbitro Ismael Elfath depois de consulta ao VAR — no campo, tinha sido só amarelo. Duglas Luiz derrubou Youssouf Dao quase na entrada da área num contra-ataque rápido em que perdeu na velocidade. O Brasil manteve a mesma formação com um jogador a menos, mas segurou os laterais e naturalmente ficou mais recuada. Mesmo assim, não correu grandes riscos no primeiro tempo. Santos fez boas defesas em finalizações de Kessie e Amad Diallo e não muito mais do que isso.

Jardine decidiu não fazer mudanças no intervalo, mas o Brasil melhorou sua postura no segundo tempo, manteve mais posse de bola e começou a criar chances. Antony apareceu na linha de fundo depois de um chapéu em Ismael Diallo, mas foi desarmado, e Matheus Cunha teve boas oportunidades seguidas depois de uma enfiada de Claudinho e um cruzamento de Bruno Guimarães. Claudinho e Guilherme Arana também tiveram boas chances, mas o gol não saiu.

A tônica do segundo tempo foi um jogo de muita segurança defensiva do Brasil, já que os marfinenses não souberam construir chances de gol, e ofensividade com as entradas de três atacantes. Um deles, Paulinho, até tentou cavar um pênalti nos acréscimos. Não foi por falta de vontade.

FICHA TÉCNICA
BRASIL 0 x 0 COSTA DO MARFIM

Competição: Jogos Olímpicos de Tóquio, 2ª rodada do Grupo D
Local: Estádio Internacional de Yokohama, em Yokohama (Japão)
Data/hora: 25 de julho de 2021 (domingo), às 5h30 (de Brasília)
Árbitro: Ismael Elfath (Estados Unidos)
Assistentes: Corey Parker e Kyle Atkins (ambos dos Estados Unidos)
VAR: Edvin Jurisevic (Estados Unidos)
Cartões amarelos: Ismael Diallo, Kouassi (Costa do Marfim, duas vezes)
Cartões vermelhos: Douglas Luiz (Brasil), Kouassi (Costa do Marfim)

BRASIL: Santos; Daniel Alves, Nino, Diego Carlos e Guilherme Arana; Douglas Luiz, Bruno Guimarães, Antony (Malcom, aos 28/2ºT) e Claudinho; Richarlison (Paulinho, aos 33/2ºT) e Matheus Cunha (Gabriel Martinelli, aos 28/2ºT). Técnico: André Jardine.

COSTA DO MARFIM: Tape Ira; Zie Ouattara (Kouau, aos 17/2ºT), Singo, Dabila, Eric Bailly e Ismael Diallo; Kouassi, Max Gradel (Idrissa Doumbia, aos 46/2ºT), Franck Kessie (Kader Keita, aos 46/2ºT) e Amad Diallo (Kouame, aos 17/2ºT); Youssouf Dao (Timite, aos 29/2ºT). Técnico: Soualiho Haidara.