;(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 recebe cotado para vaga de Moro e deve anunciar nome hoje

Guilherme Mazieiro

Do UOL, em Brasília

25/04/2020 11h55

O presidente Jair Bolsonaro (sem partido) recebeu nesta manhã um dos cotados para substituir Sergio Moro, que deixou ontem o ministério da Justiça e Segurança Pública: o policial militar da reserva que hoje chefia a a Secretaria Geral da Presidência da República, ministro Jorge Oliveira.

A expectativa de pessoas que participaram do encontro no Palácio da Alvorada é que Bolsonaro anuncie hoje o nome para o lugar de Moro.

"Acreditamos que hoje ou nas próximas horas mesmo já seja informado o nome do novo ministro da Justiça. A gente torce para que seja o ministro Jorge, um dos mais preparados. Mas a decisão é do presidente", disse o deputado federal Otoni de Paula (PSC-RJ) ao UOL.

Ele é vice-líder do governo Bolsonaro na Câmara e participou da reunião de hoje, na qual também estiveram, segundo Otoni, o ministro Augusto Heleno (Gabinete de Segurança Institucional), o chefe da Secom (Secretaria Especial de Comunicação Social) da Presidência, Fábio Wajngarten, e o secretário de Assuntos Fundiários do Ministério da Agricultura, Nabhan Garcia. Eles deixaram o Alvorada por volta das 12h de sábado.

Militar há dez anos com Bolsonaro

Ventilado como substituto de Moro desde ontem, Jorge Oliveira acompanha Bolsonaro há mais de dez anos.

Ao longo da carreira política de Bolsonaro, o major da Polícia Militar do Distrito Federal já teve funções nos gabinetes do então deputado Jair Bolsonaro e do filho Eduardo Bolsonaro (PSL-SP).

A assessoria de imprensa da Secretaria Geral confirmou que o ministro esteve no Alvorada pela manhã.

Pela manhã, Bolsonaro fez uma postagem no Twitter citando Moro. O presidente disse que enquanto o ex-ministro era atacado pelas revelações do "Vaza Jato", ele esteve ao seu lado.

Moro foi exonerado ontem da função após romper com Bolsonaro e acusar o presidente de interferir politicamente na Polícia Federal. Bolsonaro negou as acusações e rebateu o ex-juiz da Lava Jato dizendo que Moro tentou negociar uma vaga de ministro do STF (Supremo Tribunal Federal).

Para o cargo de novo diretor-geral da Polícia Federal, Alexandre Ramagem, era o mais cotado ontem pelo presidente. O potencial mandatário da corporação era diretor-geral da Abin (Agência Brasileira de Inteligência).