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

Fluminense

Odair culpa pouco tempo após empate na Sul-Americana: "Mágica ninguém faz"

Caio Blois

Do UOL, no Rio de Janeiro (RJ)

05/02/2020 00h58

O Fluminense frustrou a torcida e saiu do Maracanã com um empate com gosto de derrota na estreia na Copa Sul-Americana. O 1 a 1 com o Unión La Calera (CHI), em uma atuação ruim, deixou os chilenos em vantagem para o jogo da volta, no dia 18. O técnico Odair Hellmann lamentou o resultado. Apesar de reconhecer que este é um problema de todos, o treinador falou sobre as dificuldades do início de trabalho com pouco tempo para treinos com o elenco à disposição no Tricolor.

"Quando falo sobre isso não estou dando desculpa. O jogo já acabou e não tem mais o que fazer. Mas mágica ninguém faz. Pergunte a qualquer profissional. Mágica ninguém faz. Com sete treinamentos, jogo de três em três dias, é difícil. Mas é para todos, portanto temos que superar. Tivemos alguns problemas de lesão, inscrição, acontece. Como todos sabem é uma construção de uma equipe nova. Só produzindo isso que vamos conseguir resultados. Só evoluindo que os resultados vão vir. Os resultados vão vir agora se produzimos muito, mesmo com as dificuldades. A gente precisa, está e vai encontrar soluções para as dificuldades. O grupo tem trabalhado muito e dado resposta positiva para o tempo que a gente tem. Já tem superado as expectativas", afirmou Odair, em coletiva.

O técnico, entretanto, lembrou que os resultados até agora são bons, e que chegará o momento de cobrar pelo rendimento, o que para ele é primordial. Odair pediu calma e mostrou confiança que o Flu reverterá o resultado no Chile.

"Os resultados, se pegarmos, são seis jogos, com quatro vitórias, um empate e uma derrota. É um empate ruim, jogo decisivo. E uma derrota ruim, pois já poderia ter classificado. A gente sabe disso, mas é preciso ter calma. Se não a gente a a querer dar um o maior que a perna e ter mais dificuldade ainda. E eu falei das dificuldades nas vitórias. Nós precisamos responder com resultado e tentando o melhor desempenho, com a ideia bem constituída, estamos perto de ter o melhor resultado. Teoricamente a vantagem era nossa, mas empatamos o jogo. E teoricamente vamos para lá sem nada resolvido. Temos todas as condições de nos classificarmos, mas precisaremos repetir esse segundo tempo. Aí, com certeza, teremos grandes possibilidades de fazer o resultado e sairmos de lá com a classificação", opinou.

Outra lamentação por parte do treinador foi sobre o gol sofrido, que começou em uma jogada de lateral do La Calera. Para Odair, o Fluminense melhorou muito no segundo tempo e impediu contra-ataques, mas a falha comprometeu o jogo que "estava controlado".

"No primeiro tempo não conseguimos com a posse de bola criar as chances para vencer um bloco baixo e finalizar. No segundo, foi bem diferente. Além da posse, produzimos situações claras de gol, mesmo antes de abrir o placar. Fizemos o gol, e o jogo estava controlado. Como estratégia, foi proveitoso. A estrutura coletiva produziu para que eles não fossem ao ataque. Mas tomamos um gol de cobrança de lateral. Evitamos o contra-ataque, tínhamos volume, criamos chances. Ainda estamos colocando jogadores em campo. Que pena que num jogo que o adversário se propôs a defender, eles conseguiram achar um gol. Vamos ficar com o que saiu de bom do primeiro tempo. Espero que a gente consiga fazer 90 minutos como fizemos no segundo tempo", disse.

A opção por jogar sem uma referência no ataque no primeiro tempo foi explicada pelo treinador. Marcos Paulo e Evanílson, opções utilizadas no segundo tempo, não reuniam condições de atuar os 90 minutos. Odair revelou que a dupla, originalmente, nem teria condições de jogo, mas o trabalho do departamento médico, da fisioterapia e da fisiologia possibilitou que eles estivessem à disposição.

"Marcos Paulo e Evanílson fizeram apenas três treinos com bola. É que o departamento médico, a fisioterapia e a fisiologia fizeram um trabalho fantástico. Não era nem para eles estarem em campo. Com apenas três treinos, não participando integralmente de todos, olha a dificuldade que é. A gente poderia iniciar com eles, mas por todo o processo, por não ter feito pré-temporada, eles sentiriam. Talvez nem jogassem 45 minutos. Os dois sentiram o segundo tempo. Se fosse no primeiro, seria ainda pior. Que bom que eles conseguiram jogar e dar boa resposta. Foi tudo bem pensado, planejado, deu certo e quero parabenizar publicamente os departamentos pela recuperação dos jogadores", revelou.

A partida de volta será no dia 18 de fevereiro, às 19h15 (de Brasília), no Nicolás Chahuán Nazar, em La Calera, no Chile. Quem vencer a para a segunda fase. Empate por dois ou mais gols classifica o Flu, e um resultado igual ao da ida leva a decisão para os pênaltis. Antes disso, no domingo, o Tricolor volta o foco para o Carioca e faz clássico com Botafogo, às 16h, no Maracanã.

Fluminense