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

Rússia aprova diplomacia e diz que exercícios militares estão perto do fim

Agência de notícias russa informou que diplomatas anunciarão decisão do presidente da Rússia, Vladimir Putin, em breve - Thibault Camus/Pool via Reuters
Agência de notícias russa informou que diplomatas anunciarão decisão do presidente da Rússia, Vladimir Putin, em breve Imagem: Thibault Camus/Pool via Reuters

Do UOL*, em São Paulo

14/02/2022 12h21Atualizada em 14/02/2022 12h33

Duas reuniões televisionadas entre o presidente da Rússia, Vladimir Putin, e ministros mostraram hoje que o Kremlin vai tentar manter um caminho diplomático e encerrará em breve os exercícios militares na fronteira com a Ucrânia, que alimentavam temores de que uma invasão estaria próxima.

Putin se encontrou com o ministro das Relações Exteriores, Sergei Lavrov, e o da defesa, Sergei Shoigu.

De acordo com a agência russa RIA, Putin aprovou a sugestão de Lavrov para continuar as conversas com autoridades de outros países para conseguir as garantias de segurança que Moscou está buscando. O governo russo não quer que a vizinha Ucrânia ingresse na Otan (Organização do Tratado Atlântico Norte), aliança militar ocidental liderada pelos Estados Unidos. Segundo a RIA, os diplomatas russos estariam finalizando o anúncio da resposta.

Shoigu informou que alguns dos exercícios militares do país já terminaram e outros estão chegando ao fim. A Rússia vinha conduzindo treinamentos militares conjuntos com Belarus, país na fronteira norte com a Ucrânia.

'Chance de acordo'

Putin, e o ministro das Relações Exteriores Lavrov se reuniram npara debater as respostas que devem ser dadas aos países ocidentais por conta da crise na fronteira ucraniana.

Segundo a transmissão do encontro, repercutido pelas agências de notícias estatais, Putin destacou que a expansão da Organização do Tratado do Atlântico Norte (Otan) para o leste europeu "é infinita e muito perigosa" e que esse avanço vem apenas "às custas das ex-repúblicas soviéticas, incluindo a Ucrânia".

Por sua vez, Lavrov ressaltou ao presidente que "há chances" de fechar um acordo com os países ocidentais sobre a crise.

"Enquanto ministro das Relações Exteriores, preciso dizer que sempre há uma possibilidade de resolver os problemas que precisam ser resolvidos. As oportunidades de diálogo não foram exauridas", acrescentou.

Os russos acusam os países ocidentais, em especial os Estados Unidos, de fazerem "histeria e alarmismo" sobre um ataque russo à Ucrânia, que não estaria nos planos. Por sua vez, os ocidentais dizem que uma invasão militar "pode acontecer a qualquer momento".

Para Putin, a Otan é uma ameaça à segurança da Rússia por sua expansão na região. Por isso, o presidente quer uma declaração formal de que a Ucrânia nunca vai se filiar à aliança.

'Relações com EUA estão no chão'

Apesar de sinalização de Putin, o Kremlin disse mais cedo que as relações entre a Rússia e os Estados Unidos "estão no chão". A afirmação foi do porta-voz do governo russo, Dmitry Peskov, em entrevista à RIA.

Segundo ele, é positivo que os presidentes Joe Biden e Vladimir Putin estejam conversando, mas há muita tensão entre os países.

"Os chefes de Estado estão dialogando, e isso é positivo porque há alguns anos havia zero diálogo, não havia qualquer contato", disse Peskov em entrevista à agência.

"Mas de resto, infelizmente, nas relações bilaterais, só podemos falar em pontos negativos. Estamos em um ponto muito, muito baixo. As relações estão no chão".

Bolsonaro embarca hoje para a Rússia

O presidente Jair Bolsonaro (PL) embarca hoje para a Rússia. Ele deve ter encontros com Putin, empresários e lideranças locais. Ele foi aconselhado por auxiliares a adiar ou cancelar a viagem, mas manteve o compromisso mesmo assim.

Segundo um porta-voz russo, Putin debaterá com Bolsonaro 'temas atuais'. "Além de relações bilaterais [...], será também uma boa ocasião para uma troca de opiniões sobre temas atuais que estão na ordem global do dia", afirmou.

*Com Reuters e Ansa