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

Tales Faria

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Com Braga Netto em campanha, Bolsonaro rechaça candidatos do centrão a vice

Bolsonaro conversa com ministro da Defesa, Walter Braga Netto, durante agem de desfile de tanques em blindados por Brasília   - ANTONIO MOLINA/FOTOARENA/FOTOARENA/ESTADÃO CONTEÚDO
Bolsonaro conversa com ministro da Defesa, Walter Braga Netto, durante agem de desfile de tanques em blindados por Brasília Imagem: ANTONIO MOLINA/FOTOARENA/FOTOARENA/ESTADÃO CONTEÚDO

Chefe da Sucursal de Brasília do UOL

14/03/2022 13h59

Receba os novos posts desta coluna no seu e-mail

Email inválido

O presidente Jair Bolsonaro resolveu rechaçar as pressões do centrão para entregar ao partido a vaga de vice em sua chapa pela reeleição. Nos bastidores do governo, já se dá como certo que o posto será do ministro da Defesa, general Braga Netto.

A verdade é que Braga Netto está em plena campanha nos bastidores do Planalto para ser ungido pelo presidente. E parece ter a preferência do chefe. Enfraquecido junto à opinião pública, Bolsonaro vê no general subordinado uma chave para blindá-lo junto ao militares.

No mínimo para lançar temores nos adversários de que, se não for reeleito em outubro, poderá tentar dar um golpe de Estado, com o apoio de integrantes da caserna, especialmente aqueles a quem ungiu com cargos e verbas durante seu governo.

Quanto ao centrão, Bolsonaro continua querendo e precisando do apoio do grupo no Congresso. Principal partido do centrão, o PP tem tentado dois nomes para o a vaga de vice na chapa de Bolsonaro.

O ideal para o partido seria colocar lá o chefe da Casa Civil do Planalto, ministro Ciro Nogueira, que é presidente nacional da sigla. Mas também deixou no tabuleiro um nome mais palatável, a ministra da Agricultura, Tereza Cristina (PP-MS).

Bolsonaro, no entanto, tem descartado os dois nomes. Acha que seria dar poder demais ao partido que já comanda o Congresso. Ficaria uma situação semelhante à da ex-presidente Dilma Rousseff.

A petista tinha como vice Michel Temer, que também presidia o MDB, partido que então integrava o centrão e era a grande força do Congresso. Quando Dilma se enfraqueceu, abriu o apetite do MDB pelo impeachment. Ela foi afastada e o vive, Michel Temer, assumiu o comando do governo.

O que Bolsonaro não vê é que também corre risco ao ter como vice um general que, como ministro da Defesa, terá acabado de sair do comando de todas as três Forças Armadas.

O presidente adora se mostrar autoritário e com total controle sobre os subordinados. Mas, se não conseguir melhorar o governo num eventual segundo mandato - como ocorreu com Dilma - pode acabar ameaçado pelo impeachment novamente.

Nesse caso, só teria como salvação se deixar tutelar pelos militares, entregando, na prática, o comando do eventual segundo governo ao general.

Braga Netto, por sua vez, está empolgado com a possibilidade de ser vice. Tanto que procurou o atual ocupante do posto, Hamilton Mourão, para saber se contaria com sua aprovação ou se haveria algum mal estar entre os dois.

Mourão declarou ao site Metrópoles que não via problema, abrindo espaço para o companheiro de caserna continuar em campanha.