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

Em hospital, Bolsonaro diz que Davos foi um "sucesso" e lamenta Brumadinho

Reprodução
Imagem: Reprodução

Luciana Amaral

Do UOL, em Brasília

27/01/2019 16h48

Sentado em uma cama hospitalar e vestido com roupa de paciente, o presidente Jair Bolsonaro (PSL) divulgou na tarde deste domingo (27) vídeo em que relembra a semana no Fórum Econômico Mundial, em Davos, na Suíça e o sobrevoo de helicóptero após rompimento de barragem da Vale em Brumadinho (MG)

Ele também agradeceu o apoio recebido antes da cirurgia à qual será submetido na segunda-feira (28).

Bolsonaro voou de Brasília para São Paulo na manhã deste domingo e se internou no hospital Albert Einstein. A partir das 7h de segunda, Bolsonaro será submetido a uma operação para reconstruir o trânsito intestinal. A duração prevista para o procedimento é de três a quatro horas. 

O objetivo é que a bolsa coletora da colostomia seja retirada e o seu intestino retome o fluxo normal dos alimentos. O presidente sofreu um ataque a faca em Juiz de Fora (MG), durante a campanha eleitoral, em 6 de setembro do ano ado.

"Sucesso" em Davos

No vídeo, Bolsonaro avaliou sua participação no Fórum Econômico Mundial junto à comitiva brasileira como um "sucesso". Ele relatou ter conversado com chefes de Estado, empresários e economistas de todo o mundo.

"Tenham certeza: todos gostam do Brasil. O Brasil será uma grande nação com toda a certeza", disse.

No evento, Bolsonaro discursou por menos de seis minutos em sessão plenária, se encontrou com autoridades e manteve encontros bilaterais com chefes de Estado.

Ele também cancelou uma entrevista coletiva à imprensa menos de uma hora antes do horário marcado. A assessoria de imprensa da Presidência deu mais de uma versão para o cancelamento. Houve quem alegasse cansaço de Bolsonaro, enquanto outro assessor culpou um suposto "mal comportamento" de repórteres.

Segundo especialistas ouvidos pelo UOL, sua agem não foi ruim, mas também não superou as expectativas.

Rompimento em Brumadinho: "barbaridade"

Em seguida, Bolsonaro classificou o rompimento de barragem da Vale em Brumadinho como uma "barbaridade". No sábado (26), acompanhado de uma comitiva, ele sobrevoou a região afetada pela tragédia.

"Algo que afeta a todos nós. E nós somos solidários aos familiares das vítimas", falou, acrescentando que ministros estão tomando providências na tentativa de minimizar os danos do ocorrido.

Presidente agradece apoio para operação

Ao final, Bolsonaro agradeceu o apoio que tem recebido antes da cirurgia. Ele explicou rapidamente como será a operação e disse esperar que todo o procedimento transcorra conforme o esperado pela equipe médica.

"Se Deus quiser, correrá tudo muito bem. Meu muito obrigado a todos vocês mais uma vez e obrigado também pelas orações. O Brasil é nosso", concluiu.