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

Justiça suspende portaria que aumenta limite de compra de munição

João Wainer/Folhapress
Imagem: João Wainer/Folhapress

Do UOL, em São Paulo

11/06/2020 19h38Atualizada em 12/06/2020 07h57

A Justiça Federal suspendeu hoje a portaria do governo federal que aumentou, em abril, o limite de compra de munição para quem tem arma de fogo registrada. A portaria foi publicada por ordem do presidente Jair Bolsonaro (sem partido) e eleva o número de projéteis permitidos mensalmente por registro de arma de pessoa física.

De acordo com a portaria, ficavam estabelecidos os seguintes limites de compra, por arma de fogo:

  • até 300 unidades de munição esportiva calibre .22 de fogo circular;
  • até 200 unidades de munição de caça e esportiva nos calibres 12, 16, 20, 24, 28, 32, 36 e 9.1mm; e
  • até 50 unidades das demais munições de calibre permitido.

Antes da portaria, a quantidade máxima permitida era de 200 unidades por ano. A portaria também indicava que os quantitativos mensais previstos poderiam ser acumulados dentro de um ano.

A decisão liminar da 25ª Vara Cível Federal de São Paulo foi feita após pedido do deputado federal Ivan Valente (PSOL-SP), que entrou com a ação após o jornal O Estado de S. Paulo revelar que um oficial exonerado teria participado da elaboração do parecer técnico que foi usada como base.

Nesta semana, a Justiça intimou Bolsonaro, por meio da Advocacia-Geral da União, a dar explicações sobre a publicação da portaria.

O juiz federal Djalma Gomes declarou que a portaria tem vícios que a deixam nula, "tornando inválido o processo de sua formação, tanto por falta de competência do emissor do 'parecer' produzido para subsidiar a edição da Portaria Interministerial quanto por ausência de motivação".

O despacho ainda analisa que a quantidade de munições íveis de aquisição tem, por decorrência, "o aumento da letalidade no meio social", o que vai de encontro com o Estatuto de Desarmamento.

A decisão cita ainda dois momentos da reunião ministerial realizada no dia 22 de abril, no Palácio do Planalto, para contextualizar as circunstâncias.

A primeira foi o presidente Jair Bolsonaro (sem partido) defender a necessidade de que o "povo se arme"; a outra foi uma declaração do chefe do Executivo aos ministros da Defesa e da Justiça e Segurança Pública.

"Peço ao Fernando [Azevedo e Silva] e ao [Sergio] Moro que, por favor, assinem essa portaria hoje que eu quero dar um puta recado para esses bostas."

O juiz federal Djalma Gomes também salientou que "o ato é formalmente viciado" por não ter colhido parecer do Comando do Exército.

O ex-ministro Sérgio Moro revelou ao Estadão, em entrevista no dia 24 de maio, que não se opôs ao presidente para não abrir um novo "flanco" de conflito no momento em que tentava evitar a troca no comando da Polícia Federal, o que ele considera que daria margem para uma interferência indevida no órgão.

"A portaria elaborada no MD (Ministério da Defesa) foi assinada por conta da pressão do PR (Presidente da República) e naquele momento eu não poderia abrir outro flanco de conflito com o PR", explicou na época.

Errata: este conteúdo foi atualizado
Diferentemente do informado em versão anterior deste texto, os limites de compra estabelecidos pela portaria eram mensais, e não anuais. A informação foi corrigida.