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

Esse conteúdo é antigo

'Voltaremos de alguma forma', diz Trump em despedida

Do UOL, em São Paulo*

20/01/2021 11h08Atualizada em 20/01/2021 19h46

Donald Trump fez um discurso de despedida na manhã de hoje da presidência dos Estados Unidos com elogios ao seu próprio governo, dizendo que "voltará de alguma forma". Ele embarcou no Air Force One rumo a seu resort em Mar-a-Lago, na Flórida, onde chegou por volta de 13h40 (horário de Brasília).

Antes de voar, Trump participou de uma cerimônia na base aérea de Andrews, onde fez um discurso carregado de elogios ao próprio governo. Falando em "números impressionantes" na economia e "milagre" no desenvolvimento de vacinas contra covid-19 em nove meses, ele se despediu dos apoiadores presentes prometendo retornar.

"Nós concretizamos tanta coisa juntos", disse Trump pouco antes de embarcar no avião Air Force One com destino à Flórida, sua nova residência. "Eu sempre lutarei por vocês. Voltaremos de alguma forma", completou, diante de um público que acompanhou seu embarque". Nos veremos em breve. Muito obrigado", disse.

Trump já havia avisado que não ficaria em Washington para a cerimônia de posse de seu sucessor, Joe Biden, que aconteceu nesta tarde, com início às 14h (horário de Brasília).

Mais cedo, Trump deixou a Casa Branca de helicóptero. Ao lado da primeira-dama Melania, Trump caminhou pelo tapete vermelho e parou no jardim da Casa Branca para uma rápida despedida antes de embarcar. Ele disse que o seu mandato foi de "quatro anos fantásticos" e que, para ele, representaram a grande "honra" de sua vida.

Donald Trump vai se instalar na residência luxuosa de Mar-a-Lago, em Palm Beach, na Flórida. Toda a sua família também vai morar no mesmo estado.

Melania e Trump - Noam Galai/Getty Images - Noam Galai/Getty Images
Melania e Donald Trump chegam ao Aeroporto Internacional de Palm Beach, na Flórida
Imagem: Noam Galai/Getty Images

Sem citar nome de Biden

No discurso, mais uma vez Trump não citou o nome de seu sucessor, Joe Biden. Mas desejou sorte, dizendo que deixou a base para que o democrata realizada uma boa istração.

"Desejo à nova istração muita sorte e muito sucesso. Acho que eles terão grande sucesso. Eles têm a base para fazer algo muito espetacular", disse.

Referindo-se mais uma vez ao novo coronavírus como "vírus chinês", Trump disse que a pandemia atrapalhou os resultados finais de seu governo, dizendo que foi preciso "se reconstruir duas vezes".

"Deixamos o país numa boa posição apesar da grande praga que nos atingiu", disse.

(Com AFP e RFI)