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

Copa do Brasil - 2023

São Paulo flerta com vexame em casa, mas vence Sport nos pênaltis e avança

Do UOL, em São Paulo

01/06/2023 21h47

O São Paulo sofreu dentro de um Morumbi com quase 50 mil pessoas e perdeu para o Sport por 3 a 1 — de virada e com gol pernambucano no último minuto —, mas usou os pênaltis para evitar o vexame e avançar às quartas de final da Copa do Brasil graças à vantagem de dois gols construída no jogo de ida.

Com o resultado, o técnico Dorival Júnior perdeu a invencibilidade de 11 partidas que tinha desde que sucedeu Rogério Ceni no comando do clube paulista. Apesar disto, viu seu clube embolsar R$ 4,3 milhões por ter ado de fase.

Os times voltam a jogar neste domingo (4). O São Paulo vai a Porto Alegre encarar o Grêmio pelo Campeonato Brasileiro, enquanto o Sport, pela Série B, mede forças com o Londrina no Paraná.

Como foi o jogo

Os mandantes controlaram o adversário durante quase todo o 1° tempo e inauguraram o marcador com Michel Araújo, mas bobearam e cederam o empate ao Sport, com Alisson Cassiano, pouco antes do intervalo.

Na metade final, os visitantes exploraram a bola alta, viraram o jogo rapidamente e levaram a disputa para os pênaltis no último minuto com Sabino, autor dos últimos dois gols do confronto.

Gols e destaques

Início morno. Atuando com o regulamento debaixo do braço, os donos da casa não aceleraram o ritmo de imediato e optaram por neutralizar ataques do Sport. O único lance perigoso da partida antes dos 15 minutos saiu com Caio Paulista, que obrigou Renan a trabalhar após e de Michel Araújo.

Renan salva o Sport duas vezes. O São Paulo entrou no jogo aos poucos e conseguiu levar, de fato, perigo ao gol adversário. Alisson, em cabeceio aos 17 minutos, e Calleri, em chute de esquerda aos 22, pararam em Renan, que fez dois milagres e evitou o pior para a equipe pernambucana.

Golaço de Michel Araújo. O gol que abriu o placar saiu pouco tempo depois. Em linda trama pela direita, Michel Araújo recebeu de Luciano, deixou Rafael Thyere no chão em um drible desconcertante já dentro da área e deslocou o goleiro rival, que desta vez não conseguiu defender: 1 a 0.

Sport acorda e empata. A desvantagem obrigou o time visitante a atacar o São Paulo de qualquer maneira em busca da sobrevivência na Copa do Brasil... e foi na bola parada que o Sport empatou: após a zaga paulista afastar um escanteio, Felipinho bateu forte de primeira e viu Rafael espalmar. O zagueiro Alisson Cassiano fez as vezes de centroavante, empurrou para o gol e deixou tudo igual antes do intervalo: 1 a 1.

Alisson Cassiano (à direita) marcou de rebote e igualou marcador no Morumbi - Ettore Chiereguini/AGIF - Ettore Chiereguini/AGIF
Alisson Cassiano (à direita) marcou de rebote e igualou marcador no Morumbi
Imagem: Ettore Chiereguini/AGIF

Virada em nova bola parada. O Sport voltou para o 2° tempo elétrico e, aos seis minutos, conseguiu virar — de novo na bola parada. Em escanteio cobrado por Jorginho, o zagueiro Sabino se antecipou, desviou e deu nova esperança ao torcedor da equipe de Enderson Moreira: 2 a 1.

Nervosismo no Morumbi. Ainda em vantagem no placar agregado, o São Paulo ou a errar es na tentativa de esfriar a reação pernambucana. Diante da tensão, Dorival fez três trocas de uma vez — em uma delas, colocou o zagueiro Arboleda, que voltou após duas semanas, em campo.

Pressão aérea de um lado, cadência do outro. Desesperado por mais um gol para levar a disputa pela vaga nas quartas aos pênaltis, o Sport usou e abusou das jogadas pelo alto e viu o adversário diminuir completamente o ritmo ofensivo.

Sabino, herói, faz no último minuto. O Sport repetiu a fórmula dos dois primeiros gols e conseguiu igualar a disputa com Sabino já no último minuto do duelo. Mais uma vez após cobrança de escanteio, o zagueiro, de cabeça, desviou a bola para as redes de Rafael, silenciou o Morumbi e levou o confronto para os pênaltis: 3 a 1.

Alisson se lamenta durante São Paulo x Sport, jogo da Copa do Brasil - Ettore Chiereguini/AGIF - Ettore Chiereguini/AGIF
Alisson se lamenta durante São Paulo x Sport, jogo da Copa do Brasil
Imagem: Ettore Chiereguini/AGIF

Eficiência e alívio são-paulino. Nas penalidades, melhor para os donos da casa, que converteram as cinco cobranças — Luciano Juba, por outro lado, desperdiçou para o Sport. O resultado dramático colocou o São Paulo na próxima fase da Copa do Brasil.

FICHA TÉCNICA
SÃO PAULO 1(5)x(3) 3 SPORT

Data e horário: 1° de junho de 2023, às 19h30 (de Brasília)
Motivo: volta das oitavas de final da Copa do Brasil
Local: Morumbi, em São Paulo (SP)
Árbitro: Wagner do Nascimento Magalhães (RJ)
Assistentes: Luanderson Lima dos Santos (BA) e Thiago Henrique Neto Correa Farinha (RJ)
VAR: Igor Junio Benevenuto de Oliveira (MG)
Cartões amarelos: Gabriel Santos (SPT)
Cartões vermelhos: não houve
Público: 49.752
Renda: R$ 2.494.311,00
Gols: Michel Araújo (SAO), aos 26 min do 1° tempo; Alisson Cassiano (SPT), aos 44 min do 1° tempo; Sabino (SPT), aos 6 min do 2° tempo e aos 49 min do 2° tempo

SÃO PAULO: Rafael; Rafinha, Diego Costa (Arboleda), Beraldo e Caio Paulista; Pablo Maia, Gabriel Neves (Wellington Rato), Michel Araújo (David) e Alisson (Jhegson Méndez); Luciano (Marcos Paulo) e Calleri. Técnico: Dorival Júnior

SPORT: Renan; Eduardo (Kayke), Rafael Thyere, Sabino, Alisson Cassiano (Edinho) e Felipinho; Ronaldo (João Igor), Fábio Matheus e Jorginho (Gabriel Santos); Luciano Juba e Fabrício Daniel. Técnico: Enderson Moreira