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

Diogo Schelp

OPINIÃO

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

O que Bolsonaro não vetou na nova lei e pode ser usado contra ele

Jair Bolsonaro participa da cerimônia de inauguração do Complexo de Captação e Tratamento de Água  - Alan Santos/PR
Jair Bolsonaro participa da cerimônia de inauguração do Complexo de Captação e Tratamento de Água Imagem: Alan Santos/PR

Colunista do UOL

02/09/2021 14h07

Ao sancionar a lei que revoga a anacrônica Lei de Segurança Nacional (LSN), promulgada em 1983, durante a ditadura militar, e que a substitui com novos artigos acrescentados ao Código Penal, o presidente Jair Bolsonaro tratou de vetar quatro trechos em causa própria. São vetos inaceitáveis, que precisam ser derrubados pelo Congresso Nacional. Mas há pontos não vetados por Bolsonaro que são um avanço na defesa da democracia — e que podem ser usados contra ele.

Os trechos vetados por Bolsonaro são: 1) o que criminaliza a disseminação de fake news em eleições; 2) o que permite a partidos políticos oferecer denúncia por crimes contra a democracia no processo eleitoral, caso o Ministério Público se omita; 3) que tipifica como crime impedir, por meios violentos ou com ameaças, manifestações pacíficas; 4) e o que aumenta a pena, para qualquer um dos novos crimes, caso os infratores estejam armados e se forem funcionários públicos ou militares.

São vetos em causa própria porque: 1) fake news é o métier de Bolsonaro e ele já está inclusive sendo investigado por isso; 2) ele ou a maior parte do seu governo contando com a omissão do Ministério Público, na figura do procurador-geral da República, Augusto Aras; 3) tem pavor de manifestações contrárias a ele, e já disse antes que poderia usar a força para contê-las; 4) sua campanha para armar a população para "defender a liberdade" perderia sentido se atentados contra a democracia com o uso de armas de fogo for um agravante, assim como não lhe interessa aumentar a pena para militares, com os quais espera contar em uma eventual aventura golpista.

Mesmo que esses vetos não sejam derrubados pelos congressistas, no entanto, outros trechos que permaneceram no substituto da LSN, relativos aos crimes contra o Estado Democrático de Direito, podem ser usados contra Bolsonaro caso ele tente romper com a ordem institucional.

Em um dos artigos acrescentados ao Código Penal, por exemplo, se estabelece uma pena de quatro a oito anos de reclusão para quem tentar, com violência ou grave ameaça, "abolir o Estado Democrático de Direito, impedindo ou restringindo o exercício dos poderes constitucionais".

Em outro artigo, "impedir ou perturbar a eleição ou a aferição de seu resultado, mediante violação indevida de mecanismos de segurança do sistema eletrônico de votação estabelecido pela Justiça Eleitoral" resulta em uma pena de três a seis anos de reclusão e multa.

Também se acrescentou ao artigo 286 do Código Penal, sobre incitação ao crime, a mesma pena de três a seis meses de reclusão ou multa para quem estimula, publicamente, "animosidade entre as Forças Armadas, ou delas contra os poderes constitucionais, as instituições civis ou a sociedade".

Esses artigos permitirão punir situações que Bolsonaro ou alguns de seus apoiadores já estão criando ou ameaçam criar, como intervir militarmente no Poder Judiciário ou no Legislativo, atrapalhar a contagem de votos nas eleições de 2022 e incitar conflitos entre as Forças Armadas e outras instituições.

De resto, a revogação da LSN permitirá extinguir processos abertos a pedido do governo contra cidadãos que fizeram críticas ao presidente, eliminando-se, assim, um instrumento de censura.