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

Flamengo

Como Arrascaeta curou dores na coxa com tratamento na coluna no Flamengo

Arrascaeta comemora após marcar pelo Flamengo no jogo contra o Goiás - Alexandre Vidal/Flamengo
Arrascaeta comemora após marcar pelo Flamengo no jogo contra o Goiás Imagem: Alexandre Vidal/Flamengo

Leo Burlá

Do UOL, no Rio de Janeiro

20/01/2021 04h00

Autor de um dos gols na vitória por 3 a 0 sobre o Goiás, Arrascaeta contou com a ajuda da ciência para estar inteiro em campo e recolocar o Flamengo nos trilhos da briga pelo título do Campeonato Brasileiro.

Antes do duelo contra os goianos, o uruguaio ou dias reclamando de muitas dores nos músculos posteriores da coxa. Investiga daqui, examina dali e o fisioterapeuta Mário Peixoto, no clube desde 2011, descobriu que o incômodo do meia tinha origem em um problema na coluna cervical.

O profissional, que é pós-graduando em osteopatia, técnica que consiste na manipulação das articulações, viu que um dos nervos cranianos do meia causava o desequilíbrio. A partir daí, um tratamento localizado colocou fim ao problema e deu ao técnico Rogério Ceni um dos seus principais jogadores em totais condições.

"Ele estava com essa questão arrastada há uma semana, se sentindo bastante cansado no pós-jogo e no pós-treino. Sabendo da importância da coluna para a manutenção de todo corpo, avaliei e vi que ele estava com um problema na cervical alta. Dali parte o nervo vago, muito importante para a recuperação, pois é responsável pela manutenção da frequência cardíaca, do funcionamento vísceras e da parte respiratória. Se tiver algum bloqueio neste trajeto, pode ter a recuperação alterada", disse Peixoto ao UOL Esporte.

O diagnóstico precoce do problema foi importante para o tratamento e recuperação, mas o profissional afirma que é importante que o jogador entenda o funcionamento do seu corpo e e a perceber que toda a máquina está interligada:

"Quando o atleta chega, a gente avalia e conversa para tentarmos entender como o corpo dele funciona. É importante ele entender o funcionamento do corpo, entender o que são algumas dores. Entendendo que a coluna dele é importante, vai se cuidar mais, vai fazer trabalho diferenciado de manutenção. Uma queixa muscular pode ter várias origens, a abordagem tem de ser geral."

Arrascaeta confessa surpresa com o resultado da análise clínica. O atleta, considerado um dos que têm capacidade mais rápida de recuperação em todo elenco do Fla, experimenta uma melhora de suas condições físicas na hora da decisão.

"O Mário teve essa percepção, mexeu na minha coluna e ajudou demais. Minha recuperação melhorou muito após os exercícios. Tenho certeza que ali ele impediu que eu estourasse a minha musculatura, eu nem fazia ideia que as dores poderiam ser consequência da minha cervical. Este bastidor as pessoas não ficam sabendo, mas faz uma diferença muito grande", explicou o rubro-negro, que completou:

"Todo jogador de alta performance convive com dor, mas eles [fisioterapeutas] nos ajudam a amenizar isso para podermos treinar e jogar. Não adianta só ter a melhor estrutura, o clube tem profissionais de alta qualidade também, assim como o Mário."

Com corpo são e mente sã, após o triunfo na última rodada, os atuais campeões miram mais uma decisão na briga pelo título. A cinco pontos do líder São Paulo, o Fla encara amanhã (21) o Palmeiras, às 19h, no Mané Garrincha. Na briga pela taça, os rubro-negros se preparam para estarem inteiros na hora da decisão.

Flamengo