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

"Não tenho medo de briga. Não me intimidam", diz Bebianno sobre ameaças

Ministro Gustavo Bebianno - Walterson Rosa/Folhapress, PODER
Ministro Gustavo Bebianno Imagem: Walterson Rosa/Folhapress, PODER

Gustavo Maia

Do UOL, em Brasília

18/02/2019 11h48Atualizada em 18/02/2019 12h58

Resumo da notícia

  • Presidente do PSL na eleição de 2018, Bebianno teria autorizado verba do fundo partidário para candidata laranja em PE
  • Ele negou ter responsabilidade sobre os rees do PSL, e disse ter conversado com o presidente "três vezes" durante internação
  • Carlos, filho do presidente, diz que a conversa do ministro com o pai é "mentira absoluta"
  • Bebianno mantém sua versão, e áudios de conversas dele com Bolsonaro chegam à imprensa
  • Após o vazamento, Bolsonaro decide demitir Bebianno, mas a exoneração ainda não saiu

O ministro-chefe da Secretaria-Geral da Presidência da República, Gustavo Bebianno, disse que vai devolver "em triplo", dentro da lei, as ameaças que contou ter recebido depois de ter seu número de celular divulgado por diversas pessoas, que já teriam sido identificadas por ele.

Bebianno afirmou que cada uma dessas pessoas será "surpreendida com uma ação judicial".

"Não tenho medo de briga. Não me intimidam", escreveu o ministro em mensagem enviada à reportagem do UOL.

O relato sobre as ameaças foi antecipado pela colunista Mônica Bergamo, do jornal "Folha de S.Paulo".

"Sou paciente, chato e obstinado.  Tenho muitos amigos também. Dará um certo trabalho, mas devolverei em triplo as ameaças e ofensas (dentro da lei)", disse.

Questionado sobre a natureza das ameaças, o ministro disse que não comentaria mais nada.

Segundo uma pessoa ligada ao presidente Jair Bolsonaro (PSL), Bebianno será demitido ainda hoje, em exoneração publicada em edição extra do Diário Oficial da União.

Aventada nos bastidores desde a semana ada, a demissão de Bebianno não constou no Diário Oficial publicado na madrugada de hoje. O governo pode, no entanto, publicar uma nova edição ainda nesta segunda-feira.

No sábado (16), o próprio Bebianno, pivô de uma crise política deflagrada após reportagens do jornal "Folha de S.Paulo" revelarem a existência de candidaturas laranjas de mulheres nas eleições do ano ado, quando ele presidiu interinamente o PSL, itiu que a "tendência" era a sua exoneração.

Procuradas pela reportagem, a Secretaria de Imprensa do Palácio do Planalto e a assessoria da Casa Civil, responsável pela edição dos diários oficiais, não se manifestaram sobre a possível demissão de Bebianno até o momento.

Pouco depois das 8h de hoje, o ministro da Casa Civil, Onyx Lorenzoni, foi ao Palácio da Alvorada, residência oficial do presidente. Os dois saíram juntos rumo ao Palácio do Planalto pouco depois das 9h. A agenda oficial de Bolsonaro tem apenas um compromisso às 9h --"despachos internos". 

Já a do ministro Bebianno informa apenas que "atualmente não existem compromissos agendados".

Bolsonaro deve demitir Bebianno; entenda

redetv