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

Argentina se classifica para Copa após empate sem gols com Brasil

17/11/2021 08h30

SAN JUAN, Argentina (Reuters) - A Argentina empatou em 0 x 0 em casa com o Brasil em um jogo tenso na terça-feira, mas os resultados de outras partidas das eliminatórias sul-americanas garantiram aos argentinos uma vaga na Copa do Mundo do ano que vem no Catar.

O Brasil, que garantiu sua vaga no Mundial na semana ada, lidera as eliminatórias sul-americanas para a Copa com 35 pontos e a Argentina tem 29, seis a mais que o Equador, terceiro colocado.

As quatro primeiras colocadas se classificam automaticamente e a quinta colocada disputará uma repescagem intercontinental.

Nem mesmo os jogadores argentinos sabiam que tinham se classificado para o Mundial até bem depois da partida em San Juan. Foi somente depois que Equador, Peru e Bolívia registraram vitórias na noite de terça que os argentinos ficaram matematicamente seguros de seu lugar no Catar.

A boa notícia veio depois de um jogo divertido e disputado na região oeste da Argentina.

Nenhum dos dois times conseguiu se impor em um jogo equilibrado. O empate sem gols significa que a Argentina está agora invicta a 27 partidas invicta, uma sequência que se estende por mais de dois anos.

Na última vez que Brasil e Argentina haviam se enfrentado, a ação durou apenas cinco minutos. O jogo em São Paulo foi interrompido por funcionários da Agência Nacional de Vigilância Sanitária que entraram em campo para retirar jogadores argentinos acusados de não respeitarem as normas sanitárias brasileiras para conter a disseminação da Covid-19.

A partida de terça foi cercada de grande expectativa e, embora não tenha tido gols, não lhe faltou emoção.

Ao lado de Vinicius Jr. e Raphinha na frente, o Brasil começou com Matheus Cunha no lugar de Neymar, seu artilheiro que não viajou à Argentina em meio a preocupações com uma lesão na coxa.

Vinicius Jr. teve boa chance quando ficou cara-a-cara com goleiro, mas mandou para fora aos 17 minutos. Alisson, por sua vez, fez grande defesa em tentativa de Rodrigo De Paul para ajudar a garantir o empate a cinco minutos do intervalo.

O jogo se abriu ainda mais no segundo tempo, com Fred e Vinicius Jr. chegando perto pelo Brasil.

O astro argentino Lionel Messi, que iniciou sua primeira partida como titular desde outubro, teve atuação discreta até os minutos finais, quando forçou Alisson a fazer grande defesa.

"Eu dei tudo o que pude", disse Messi. "Este foi um jogo muito intenso... Já faz um tempo que estou fora (lesionado) e não é fácil jogar em um jogo que exige este tipo de ritmo", disse.

"Sabíamos que ia ser assim, uma partida que dura e difícil de ser disputada."

(Reportagem de Andrew Downie)