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

Bragantino bate o Palmeiras com hat-Trick de Ytalo e briga pela liderança

Diego Iwata Lima

De São Paulo

23/06/2021 20h57

O Red Bull Bragantino venceu o Palmeiras por 3 a 1, em Bragança Paulista pelo Campeonato Brasileiro. Com dois gols na primeira etapa, os anfitriões souberam controlar o jogo para ficar com os três pontos e vencer o rival da capital pela primeira vez em seis jogos.

Mesmo no fim do jogo, quando o Palmeiras, já com um gol no placar, ficou com quatro atacantes, o time dirigido por Maldonado conseguiu sair da pressão para matar o jogo com o terceiro gol.

Ytalo foi o nome do jogo, com os três gols da equipe de Bragança. Pelo lado do Palmeiras, Scarpa, mais uma vez, foi o melhor. Mas foi pouco.

Goleiro substituto falhou no primeiro gol do Bragantino

Raphael Veiga perdeu a bola na saída de jogo do Palmeiras e, após troca de e, Arthur bateu de esquerda de fora da área, sem força. Vinícius Silvestre, aparentemente com a visão atrapalhada por Renan, caiu atrasado e rebateu a bola para frente. Ytalo, esperto, só empurrou para as redes.

Bragantino sufoca o Palmeiras em seu campo defensivo

Marcando a saída de jogo do Palmeiras quase na linha da grande área, o Red Bull Bragantino forçou o erro do Palmeiras no primeiro tempo, deixando Renan e Vinícius Silvestre em situação complicada mais de uma vez.

Palmeiras começou a dominar o jogo a partir dos 30 do 1º tempo

Com o resultado favorável, o Bragantino recuou um pouco, e o Palmeiras começou a crescer no jogo. Pela direita, com Scarpa e Rocha, o Palmeiras pressionou o time da casa e tentou chegar tanto pelo alto, com Deyverson, como pelo chão, principalmente com Scarpa. O meia, aliás, foi mais uma vez o grande nome do time.

Bragantino amplia após erro no meio-campo

O Palmeiras deixou Helinho receber no círculo central e, com as linhas muito altas, viu Ytalo partir com a bola após o e, deixar Felipe Melo muito para trás na corrida e bater na saída de Vinícius para fazer 2 a 0.

Palmeiras volta com só um "lateral-direito"

Marcos Rocha e Mayke se revezaram pela direita do Palmeiras, alternando ações ofensivas e defensivas.No lugar de Rocha, Breno Lopes voltou para a segunda etapa. O Palmeiras, como na primeira etapa, seguiu dominando o jogo e chegando mais. Mas a dificuldade de vazar Cleiton seguia.

Breno Lopes faz um golaço após cruzamento de Victor Luís

O Palmeiras, enfim, transformou seu volume de jogo em gol, aos 20 da segunda etapa. Scarpa viu Victor Luis desmarcado. O lateral cruzou com perfeição para o outro lado da área, e Breno Lopes, com muita categoria, bateu de chapa, alta, sem chance para Cleiton.

Abel foi para o tudo ou nada na reta final do jogo

Sem outro remédio, Abel Ferreira colocou seu time totalmente para frente nos 15 minutos finais do jogo. O Palmeiras terminou o jogo com Breno Lopes, Luiz Adriano, Wesley e Rony em campo ao mesmo tempo, com Scarpa pela ala e Veiga na criação.

Ytalo fez o terceiro e matou o Palmeiras

Quando o empate do Palmeiras parecia questão de tempo, o Bragantino fez o terceiro e matou o Palmeiras. Edimar cruzou da esquerda e encontrou Arthur do outro lado da área. O ex-palmeirense escorou a bola e Ytalo, que acompanhava a jogada pelo meio da área, mesmo desequilibrado, colocou na rede.

RED BULL BRAGANTINO X PALMEIRAS

CAMPEONATO BRASILEIRO - 1º TURNO

Local: Estádio Nabi Abi Chedid

Árbitro: Luiz Flávio de Oliveira-SP

Gols: Ytalo (3) (BRA), Breno Lopes (PAL)

Cartões Amarelos: Cleiton e Aderlan (BRA), Marcos Rocha (PAL)

Red Bull Bragantino: Cleiton, Aderlan (Rafael), Natan, Fabrício Bruno e Weverson (Edimar); Raul, Evangelista e Ramires; Artur, Ytalo e Helinho (Cuello). Técnico: Maldonado

Palmeiras: Vinícius Silvestre; Marcos Rocha (Breno Lopes), Felipe Melo e Renan; Mayke, Danilo Barbosa (Gabriel Menino), Raphael Veiga, Gustavo Scarpa e Victor Luís (Rony); Willian (Wesley) e Deyverson (Luiz Adriano). Técnico: Abel Ferreira