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

Torcida do Brasil chega a palco da estreia na Copa reforçada por asiáticos

O torcedor nepalês Dil Bahadur Karki antes de Brasil x Sérvia, pela Copa do Mundo - Igor Siqueira/UOL
O torcedor nepalês Dil Bahadur Karki antes de Brasil x Sérvia, pela Copa do Mundo Imagem: Igor Siqueira/UOL

DO UOL, em Doha

24/11/2022 13h51

Classificação e Jogos

A torcida brasileira estará reforçada para a estreia na Copa do Mundo, contra a Sérvia, hoje (24). Com a movimentação intensa ao redor do estádio Lusail, palco da partida que começa às 16h (de Brasília), foi possível ver que o apoio à seleção comandada por Tite será reforçado por muitos torcedores de países asiáticos. Uma tendência já vista nas ruas e que se comprova na arena.

Índia, Bangladesh, Arábia Saudita, Líbano foram alguns dos países de origem de diversos torcedores brasileiros identificados pelo UOL Esporte na caminhada do boulevard próximo ao estádio até a arquibancada.

O motorista nepalês Dil Bahadur Karki, de 31 anos, mora em Doha, no Qatar, e veio a caráter para o jogo. Tirou do armário roupas típicas do Nepal, com direito a um chapéu, e mesclou a bandeira do seu país com a do Brasil.

"É o meu time favorito. Na escola, eu li sobre o Brasil. Gosto de Pelé, Ronaldinho e Neymar", disse ele, que arriscou um placar de 3 a 0 para o jogo contra a Sérvia.

O libanês Rayan Zwein, antes de Brasil x Sérvia pela Copa do Mundo - Igor Siqueira/UOL - Igor Siqueira/UOL
O libanês Rayan Zwein, antes de Brasil x Sérvia pela Copa do Mundo
Imagem: Igor Siqueira/UOL

O libanês Rayan Zwein, de 24 anos, é fisioterapeuta e fã do volante Casemiro. Não por acaso veste a camisa de número 5. A iração pelo jogador vem a reboque da paixão pelo Real Madrid. Mas ele nem sabe explicar direito a razão de torcer pelo Brasil.

"Meu país obviamente não se classifica. Eu apoio o Brasil desde 2002. Eu simplesmente adoro eles. No futebol, você não consegue dizer o motivo. Até mesmo com os clubes. Você ama o time e torce por ele", disse Rayan.

Mas até mesmo torcedores de origem europeia apareceram no jogo para torcer pelo Brasil contra a Sérvia.

A bósnia Dzenana Sulic e a sérvia Ana Ostojic antes de Brasil x Sérvia, pela Copa do Mundo - Igor Siqueira/UOL - Igor Siqueira/UOL
A bósnia Dzenana Sulic e a sérvia Ana Ostojic antes de Brasil x Sérvia, pela Copa do Mundo
Imagem: Igor Siqueira/UOL

Dzenana Sulic e Ana Ostojic são amigas e caminhavam tranquilamente pelos arredores do Lusail quando foram abordadas em inglês pelo UOL Esporte. Ana estava envolta em uma bandeira sérvia e Dzenana vestia a camisa amarela do Brasil. A resposta de Ana veio em português.

Sérvia, ela é casada com um brasileiro, vive no Qatar há cerca de uma década e tem planos de morar em São Paulo. Mas a amiga torce pelo Brasil por outras razões: é bósnia. O país dos Balcãs se tornou independente em 1992 da antiga Iugoslávia, que atualmente é a Sérvia. Ana não se incomoda com a rivalidade histórica trazida para o futebol. Diz que a amiga estava fazendo uma piada com ela.

O estádio Lusail tem capacidade para mais de 80 mil torcedores. Desse jeito, a maioria estará mesmo apoiando o Brasil.