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

Relatora no STF vota para barrar produção de dossiês sobre 'antifascistas'

Felipe Amorim e Marcelo Oliveira

Do UOL, em Brasília e em São Paulo

19/08/2020 19h08Atualizada em 19/08/2020 22h46

Em julgamento na tarde de hoje no STF (Supremo Tribunal Federal), a ministra Cármen Lúcia votou contra a produção pelo Ministério da Justiça de um dossiê sobre servidores identificados com o movimento antifascista. A existência do documento foi revelada pelo UOL, em julho.

Em seu voto, a ministra, que é relatora da ação, defendeu a suspensão de todos os atos do governo ligados à produção e compartilhamento de informações sobre atividades políticas de cidadãos e servidores públicos.

"Não se demonstra legitimidade da atuação de órgão estatal de investigar e de compartilhar informações de participantes de movimento político, aqui chamado antifascistas, a pretexto de se cuidar de atividade de inteligência, sem se observar o devido processo legal", afirmou a ministra.

"Não compete a ninguém fazer dossiês contra quem quer que seja ou instalar procedimento de cunho inquisitorial", disse Cármen Lúcia.

Após o voto da ministra, o julgamento foi suspenso e será retomado na sessão de amanhã.

O STF está julgando a ação da Rede Sustentabilidade contra a produção do relatório. Na ação, a Rede acusa o governo de promover o "aparelhamento estatal" com o objetivo de realizar "perseguições políticas e ideológicas".

Reportagem do UOL revelou a produção pelo Ministério da Justiça de um relatório sigiloso sobre 579 servidores federais e estaduais de segurança identificados como integrantes do "movimento antifascismo" e também três professores universitários. O documento foi produzido pela Seopi (Secretaria de Operações Integradas), unidade da pasta subordinada ao ministro André Mendonça.

A Rede pede que seja vedada a produção de relatórios do tipo, que o Ministério da Justiça envie para análise do STF os relatórios já produzidos e que seja determinada a abertura de inquérito pela Polícia Federal para verificar se houve crime no episódio.

Em seu voto, Cármen Lúcia atendeu apenas o primeiro ponto, defendendo a suspensão da produção e utilização de relatórios do tipo.

A ministra rebateu o argumento defendido pelo procurador-geral da República, Augusto Aras, e também pela AGU (Advocacia-Geral da União) de que não haveria ilegalidade no relatório pois as informações não seriam utilizadas em investigações criminais.

"Nem se tenha como aceitável, como nas informações inicialmente apresentadas, que os dados colhidos nas atividades de inteligência não seriam utilizados para persecução penal", disse a ministra.

"No direito constitucional, o uso ou abuso da máquina estatal, mais ainda, para a colheita de informações de servidores com postura política contrária a qualquer governo caracteriza, sim, desvio de finalidade, pelo menos em tese"
Cármen Lúcia, ministra do STF

Na sessão de hoje, Aras afirmou que o Ministério Público não ite "espionagem" de opositores políticos, mas disse não ver ilegalidade no documento produzido pelo Ministério da Justiça.

No julgamento, Aras representa a opinião do Ministério Público sobre o tema. Apenas os votos dos ministros do STF serão contabilizados para alcançar o resultado do julgamento.

O advogado-geral da União, José Levi, argumentou que o governo federal não apoia qualquer tipo de "totalitarismo".

A ministra também rebateu a afirmação da AGU e do Ministério da Justiça de que atividade de inteligência é realizada pelo Ministério desde 2011, quando foi criada uma unidade ligada à Copa e às Olimpíadas. Cármen citou que o ministro André Mendonça informou no processo ter tido conhecimento sobre o dossiê pela imprensa.

"Os relatórios, portanto, não vinham de muito tempo", disse a ministra, que elogiou o trabalho da imprensa.

"Benza Deus a imprensa livre do meu país, benza Deus que temos ainda Judiciário que tem conhecimento disso e que dá a importância devida para a garantia da democracia", afirmou.

O que é uma ADPF?

A ação proposta pela Rede é uma ADPF (arguição de descumprimento de preceito fundamental). As ADPFs são ações que visam evitar ou corrigir lesões à Constituição, causadas por ação ou omissão do Poder Público, como é o caso do dossiê, segundo o partido autor da ação. A ADPF também pode ser proposta sobre normas municipais e estaduais ou para analisar se uma lei anterior à Constituição de 1988 é compatível com a atual lei máxima do país.

As decisões em ADPFs têm efeito vinculante, ou seja, valem para casos semelhantes pelo país. Esse tipo de ação pode ser proposto pelo presidente da República, Câmara dos Deputados, Senado Federal, assembleias legislativas, PGR, governadores, Conselho Federal da OAB, partidos políticos com representação no Congresso e centrais sindicais.