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

Salles reduz poder de multar dos fiscais do Ibama

Arquivo - Publicação das mudanças ocorre no momento em que Salles é acusado pelo chefe da PF no Amazonas de atuar para favorecer madeireiros ilegais e grileiros - Gabriela Biló/Estadão Conteúdo
Arquivo - Publicação das mudanças ocorre no momento em que Salles é acusado pelo chefe da PF no Amazonas de atuar para favorecer madeireiros ilegais e grileiros Imagem: Gabriela Biló/Estadão Conteúdo

André Borges

16/04/2021 09h16

Em mais uma investida para rever as regras sobre multas aplicadas contra crimes ambientais, o ministro do Meio Ambiente, Ricardo Salles, determinou novas mudanças no processo de apuração dessas autuações. Agora, as infrações terão de ar por autorização de um superior do agente de fiscalização que aplicar a punição, antes de serem confirmadas, ando por fases que, até então, incluíam a tramitação anterior com os próprios fiscais.

Hoje há cerca de 130 mil processos de infração ambiental no Ibama, que somam aproximadamente R$ 30 bilhões em multas. A publicação das mudanças ocorre no momento em que Ricardo Salles é acusado pelo chefe da Polícia Federal no Amazonas, Alexandre Saraiva, de atuar para favorecer madeireiros ilegais e grileiros de terras. O ministro não quer comentar o assunto.

As alterações nas regras sobre multas foram publicadas ontem em uma Instrução Normativa Conjunta assinada por Ricardo Salles e pelos presidentes do Ibama, Eduardo Fortunato Bim, e do ICMBio (Instituto Chico Mendes de Biodiversidade), Fernando Lorencini.

A avaliação de especialistas é de que a nova norma dá mais poder de decisão sobre as multas às "autoridades hierarquicamente superiores", ignorando procedimentos anteriores que devem ser realizados pelos próprios fiscais. Além disso, prevê prazos mínimos de cinco dias para análises de infrações istrativas, o que praticamente inviabiliza o trabalho, dada a complexidade de muitas autuações. "A instrução normativa recém-publicada reduz a autonomia dos fiscais sobre a lavratura dos autos e concentra poder em um superior hierárquico não definido", avalia a especialista sênior da organização Observatório do Clima, Suely Araújo.

Ex-presidente do Ibama, ela afirma que o texto elimina a atuação da equipe de fiscais e a fase de análise de conformidade jurídica antes da realização de audiência de conciliação com o autuado. Pela nova regra, essa análise será realizada pelos próprios conciliadores.

"Além disso, a instrução normativa estabelece prazos inexequíveis. O prazo de cinco dias consta em vários dispositivos. A intenção parece ser, no futuro, punir os próprios servidores, porque o governo sabe que esses prazos não serão cumpridos", explicou. De forma geral, a avaliação é de que o texto agrava os problemas do decreto que criou a conciliação ambiental - o de n.º 9.760/2019. "Mas a intenção é esta mesmo: o desmonte da política ambiental e de seus instrumentos", comentou a especialista.

Questionado, Ricardo Salles negou que as mudanças vão engessar o trabalho dos agentes. "Não é nada disso. Quem faz a confirmação dos atos é o diretor técnico ambiental. Já é assim hoje em dia, porém sem prazo", declarou. O Ibama não divulga dados, mas o Estadão apurou que milhares de multas estão prescrevendo todos os dias porque os processos estão paralisados.

As informações são do jornal O Estado de S. Paulo.