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

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Na Esplanada dos Ministérios, Bolsonaro ameaça adversários com ditadura

Colunista do UOL

07/09/2022 13h24

Receba os novos posts desta coluna no seu e-mail

Email inválido

Em seu discurso no comício que montou na Esplanada dos Ministérios de Brasília, na manhã desta quarta-feira 7 de setembro, o presidente Jair Bolsonaro (PL) fez uma verdadeira declaração de guerra contra todos aqueles que diz estarem descumprindo a Constituição.

Do palco montado no caminhão, ao lado da primeira dama e de empresários bolsonaristas como o dono da Havan, Luciano Hang, o presidente disse que, se for reeleito, levará para "dentro" das quatro linhas da Constituição "todos aqueles que ousam ficar fora delas".

O problema é o conceito do presidente sobre "as quatro linhas da Constituição", quem está dentro e quem está fora. Ele defende, por exemplo, que o artigo 142 da Constituição permite que o Exército feche o Supremo Tribunal Federal (STF). Na prática, uma defesa da ditadura.

Pela manhã, em encontro com seus ministros disse que o Brasil já ou "por momentos difíceis, mas por momentos bons".

E entre esses "momentos bons", Bolsonaro citou, entre outros, a vitória contra a Intentona Comunista, o impeachment de Dilma Rousseff e a ditadura militar de 1964, quando os adversários do regime eram acusados de subversivos contra a ordem constitucional.

"Podem ter certeza, é obrigação de todos jogarem dentro das quatro linhas da nossa Constituição. Com uma reeleição, nós traremos para dentro dessas quatro linhas todos aqueles que ousam ficar fora delas", declarou.

Bolsonaro não citou nenhum caso específico. Mas por diversas vezes já acusou a oposição e ministros do STF de jogarem "fora das quatro linhas". Acusou especialmente Alexandre de Moraes, atual presidente do Tribunal Superior Eleitoral (TSE), a quem já chamou de "canalha", os ex-presidentes da Corte Luís Roberto Barroso e Edson Fachin, e o atual vice-presidente, Ricardo Lewandoviski.

No discurso Bolsonaro afirmou que atualmente "todos sabem" o que é o governo federal, o Congresso e o Supremo Tribunal Federal. Neste momento fez uma pausa para seus apoiadores se manifestarem. A plateia bolsonarista, que conhece bem o pensamento do chefe, respondeu vaiando quando ele falou do STF.

Os seguidores radicais do bolsonarismo acreditam que, legitimado por uma eventual reeleição, o chefe poderá cumprir os pedidos expressos em algumas faixas e cartazes empunhados por alguns dos manifestantes deste Sete de Setembro, pedindo de "golpe militar com Bolsonaro no poder", volta do AI-5, fechamento do STF.

Ou seja, não foram palavras lançadas ao léu pelo presidente. Além de um ato de campanha eleitoral, o discurso de Bolsonaro foi uma ameaça explícita à oposição e aos ministros do Supremo Tribunal Federal.