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

Bolsonaro irá à Cúpula das Américas e se encontrará com Biden, diz Itamaraty

26/05/2022 11h20

Por Lisandra Paraguassu

BRASÍLIA (Reuters) - O presidente Jair Bolsonaro irá a Cúpula das Américas, em Los Angeles, e terá um encontro bilateral com o presidente dos Estados Unidos, Joe Biden, informou oficialmente nesta quinta-feira o Ministério das Relações Exteriores.

Até a visita do enviado especial norte-americano Chris Dodd ao Brasil, na última terça-feira, Bolsonaro havia decidido não comparecer à Cúpula, que acontece nos dias 9 e 10 de junho. De acordo com fontes ouvidas pela Reuters, com a Cúpula esvaziada, a intenção do presidente era permanecer no Brasil para cuidar de assuntos internos.

A visita de Dodd e a proposta de uma reunião bilateral com Biden mudaram o cenário. A avaliação no Palácio do Planalto é que seria um gesto de boa vontade em um momento em que o governo norte-americano tenta salvar a Cúpula de um esvaziamento total. Até o momento, os presidentes da Argentina e do México já informaram que não comparecerão, em protesto pela ausência de convites à Venezuela e à Cuba.

"Há de fato uma preocupação de que o evento ficasse esvaziado, sem os líderes do Brasil, México e Argentina", disse a fonte.

O encontro com Biden serve, também, para tentar melhorar a imagem de Bolsonaro interna e externamente. Visto como um presidente isolado do mundo, Bolsonaro é acusado por seus opositores de rebaixar a posição internacional do Brasil.

Este será o primeiro contato direto entre Bolsonaro e Biden. Fã declarado do antecessor de Biden, Donald Trump, o presidente brasileiro não escondeu a torcida pelo republicano nas eleições norte-americanas de 2020 e foi o último chefe de Estado de um país com relações próximas com os EUA a cumprimentar Biden pela eleição, após chegar a fazer eco às acusações infundadas de Trump de fraude eleitoral.

Desde então, as relações entre Brasil e EUA esfriaram, mesmo mantendo negociações diplomáticas em várias áreas. Cobranças em relação ao desmatamento da Amazônia e, mais recentemente, os avisos que chegaram ao Planalto de que o país poderia sofrer sanções em caso de ruptura democrática não ajudaram a melhorar a relação.

A reunião bilateral é vista no Itamaraty como uma oportunidade para aparar arestas. Não há expectativa de que assuntos polêmicos sejam tratados pelos dois presidentes.

Em entrevista à CNN Brasil, Bolsonaro comentou a viagem.

"Será uma reunião bilateral, reservada, em que a gente vai reatar para valer nosso relacionamento. Os governos são ageiros, mas os países são eternos. Há interesse dele (Joe Biden) em conversar conosco. Nós temos um bom relacionamento com todos os países", afirmou.