;(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; // 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(); })();
PUBLICIDADE
Topo

Fórmula 1

Pole de Lando Norris confirma renascimento da McLaren após nove anos

Lando Norris comemora sua pole position no GP da Rússia, a primeira de sua carreira na F-1  - McLaren
Lando Norris comemora sua pole position no GP da Rússia, a primeira de sua carreira na F-1 Imagem: McLaren

Talyta Vespa

Do UOL, em São Paulo

25/09/2021 11h49

Após a forte chuva que cancelou o terceiro treino livre do GP da Rússia, os pilotos voltaram ao Autódromo de Sóchi para a pole position. Lando Norris foi quem fez o melhor tempo depois de uma aposta bastante arriscada, seguido de Sainz, da Ferrari. Por mais que Hamilton tenha mantido o aproveitamento nas duas primeiras etapas, o britânico teve problemas no final do Q3 e perdeu a primeira colocação. A surpreendente conquista do piloto inglês da McLaren foi a primeira de sua carreira —e o primeiro da McLaren desde 2012.

Norris é jovem, tem apenas 21 anos e é uma das promessas da McLaren para as próximas temporadas. Ele chegou à equipe em 2019, período em que o time ava por reformulações em relação a parcerias. A McLaren havia acabado de fechar com a Renault para a fabricação de motores —depois de um período desastroso com a Honda no comando da criação. Os carros da equipe também aram por mudanças e, junto à chegada do piloto prodígio, começaram a protagonizar uma nova fase da equipe.

Norris ficava atrás de Carlos Sainz Jr, piloto mais experiente que ou a integrar a McLaren no mesmo ano que ele. Entretanto, o bom desempenho do jovem britânico fez com que ele superasse o colega. Em 2020, o espanhol foi anunciado como reforço da Ferrari para a temporada de 2021.

A saída de Sainz não foi a razão da ascensão de Norris. Com a troca de equipe, a McLaren trouxe o australiano Daniel Ricciardo, que inicialmente ocuparia a posição de primeiro piloto da equipe. Entretanto, os melhores números do jovem Norris fizeram com que ele ocue, pelo menos por ora, esse posto.

No primeiro trimestre do ano em que estreou como piloto da McLaren, Norris fez seus primeiros oito pontos da carreira. Ele terminou em sexto no GP de Barém. Na Bélgica, pouco depois, conseguiria mais um feito —a quinta colocação, que seria a melhor de sua trajetória até então. Porém, teve, na última volta da corrida, problemas no motor que o fizeram terminar a prova em 11º, sem pontos.

Não demorou que Lando Norris subisse ao pódio. Em julho de 2020, o fez pela primeira vez ao chegar na terceira colocação no GP da Áustria. O feito fez com que o britânico se tornasse o terceiro piloto mais jovem da história a subir no pódio. Ele tinha 20 anos. No ano ado, terminou o campeonato na 9ª posição, com 97 pontos. Carlos Sainz Jr, seu companheiro de equipe à época e amigo, teve apenas oito pontos a mais que o colega.

Hoje, pouco mais de um ano depois do primeiro pódio, Norris conquista sua primeira pole. "É uma sensação incrível. Não sei o que dizer. Você nunca pensa que vai conseguir uma pole até realmente conseguir, mas aqui estamos. Tenho que agradecer muito ao time. Não é realmente o que esperávamos, mas aproveitamos ao máximo!", disse ele ao deixar a pista.

O britânico da McLaren aproveitou um descuido de Lewis Hamilton durante o Q3 ao entrar no boxe para a troca de pneus. Diante da situação que, praticamente, tirava o vice-líder da temporada da briga, Norris aproveitou a última volta e deixou Carlos Sainz Jr. com a segunda colocação no grid de largada.

Fórmula 1