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

Libertadores - 2020

Palmeiras domina River, faz 3 a 0 e sai na frente por final da Libertadores

Do UOL, em São Paulo

05/01/2021 23h24

O Palmeiras dominou o River Plate (ARG) e venceu a primeira semifinal da Copa Libertadores por 3 a 0, na Argentina. Rony, Luiz Adriano e Viña fizeram os gols nesta grande atuação alviverde, que atropelou o time da casa, um adversário muito temido no continente pelo trabalho de seis anos construído pelo técnico Marcelo Gallardo.

O resultado deixa o Verdão em situação confortável para voltar a uma final de Libertadores. O time pode até perder por dois gols de diferença na terça que vem (12), no Allianz Parque, que mesmo assim chega à decisão, marcada para o próximo dia 30, no Maracanã. Gols marcados fora de casa são considerados critério de desempate.

O Verdão já é finalista da Copa do Brasil e ainda disputa o Campeonato Brasileiro. No sábado (9), vai visitar o Sport na Ilha do Retiro, pela 29ª rodada da competição nacional, mas o técnico Abel Ferreira deve poupar titulares.

O melhor: Rony abre o caminho

Eleito o melhor jogador de três partidas nesta Libertadores, Rony começou a abrir o caminho da grande vitória palmeirense em Buenos Aires. Ele aproveitou o erro de Armani e chutou firme, cruzado, no momento do jogo em que o Palmeiras pouco atacava. Foi o quinto gol dele nas últimas seis partidas na competição. O "cara" do Verdão na Libertadores! Os garotos Patrick de Paula, Danilo e Gabriel Menino jogaram muito, também.

O pior: Carrascal dá pontapé e é expulso

O River Plate voltou para o segundo tempo com problemas e a situação ficou ainda pior a partir da expulsão de Carrascal. O camisa 8 deu um pontapé em Gabriel Menino em um lance sem perigo e recebeu o cartão vermelho imediatamente, aos 14 minutos do segundo tempo. A partir desse momento, o time argentino se desconcentrou e ainda viu o placar ficar ainda mais dilatado.

Empereur atua de 'surpresa'

Alan Empereur soube que iria atuar apenas dez minutos antes de a partida começar. Luan estava escalado para jogar ao lado de Gustavo Gómez, mas sentiu dores na região lombar durante o aquecimento e acabou vetado. O camisa 6 entrou e teve atuação segura, apesar da reclamação de torcedores nas redes sociais que gostariam de ver Kuscevic como titular.

Atuação do River Plate

A equipe de Marcelo Gallardo começou o jogo do jeito que gosta: tocando a bola, buscando espaços pelo chão, e até iniciou com duas boas oportunidades em cinco minutos. Os argentinos, porém, sofreram diante de um problema antigo: a transição defensiva. Vulnerável em contragolpes do Palmeiras, o time foi desmoronando aos poucos em sua casa e poderia ter perdido até por mais. O segundo tempo foi amplamente dominado pelo Verdão.

Atuação do Palmeiras

Concentradíssimo no primeiro tempo, o Palmeiras melhorou muito a partir do momento que Gabriel Menino ou a fechar uma linha de cinco na defesa. Com a vantagem no primeiro tempo, o time voltou atuando de forma agressiva depois do intervalo e cansou de criar chances roubando a bola do River já no campo de ataque. A estratégia de Abel Ferreira foi atuar sem a bola e com uma saída rápida para o ataque. Deu muito certo. Grande atuação alviverde, que poderia ter saído com uma goleada.

Cronologia do jogo

O jogo começou com o River tendo perto de 70% da posse de bola e tocando para entrar na defesa do Palmeiras pelo chão. Aos cinco minutos, Weverton fez a primeira grande defesa, na finalização de Carrascal. Quando começou a conseguir contra-atacar melhor, o Verdão abriu o placar, com Rony, aos 27, depois de uma saída ruim do goleiro Armani. Gustavo Scarpa chegou a fazer 2 a 0, mas Luiz Adriano estava impedido no início da jogada.

Após o intervalo, o jogo foi todo do Palmeiras. Luiz Adriano fez um excelente pivô aos dois minutos, carregou do meio-campo até a área do River e tocou com tranquilidade para fazer 2 a 0. Depois da expulsão de Carrascal, o time fez o terceiro com Viña, de cabeça, aos 16, e teve mais chances para ampliar, com Raphael Veiga, Breno Lopes e Gabriel Menino.

FICHA TÉCNICA
RIVER PLATE (ARG) 0 x 3 PALMEIRAS

Local: Estádio Libertadores da América, em Buenos Aires (ARG)
Data: 5 de janeiro de 2021, terça-feira
Horário: 21h30 (de Brasília)
Árbitro: Leodán González (URU)
Assistentes: Nicolas Taran (URU) e Carlos Barreiro (URU)
VAR: Julio Bascuñán (CHI)
Cartões amarelos: Borré, Poncio, De La Cruz (RIV); Gustavo Gómez, Patrick de Paula, Danilo, Emerson Santos, Abel Ferreira (PAL)
Cartão vermelho: Carrascal (RIV)

GOLS: Rony, aos 27 minutos do primeiro tempo (0-1); Luiz Adriano, aos dois minutos do segundo tempo (0-2); Viña, aos 16 minutos do segundo tempo (0-3)

RIVER PLATE: Armani; Montiel, Rojas, Pinola e Casco (Girotti); Nacho Fernández (Álvarez), Pérez (Díaz) e De La Cruz; Suárez (Poncio), Borré e Carrascal. Técnico: Marcelo Gallardo

PALMEIRAS: Weverton; Marcos Rocha, Gustavo Gómez, Alan Empereur e Viña; Danilo (Zé Rafael), Patrick de Paula (Emerson Santos) e Gabriel Menino; Gustavo Scarpa (Raphael Veiga), Rony (Breno Lopes) e Luiz Adriano (Willian). Técnico: Abel Ferreira