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

'Ataques de 8/1 são consequência de discurso de ódio nas redes', diz AGU

Jorge Messias, advogado-geral da União, durante evento de 30 anos do órgão - Divulgação
Jorge Messias, advogado-geral da União, durante evento de 30 anos do órgão Imagem: Divulgação

Do UOL, em Brasília

07/03/2023 12h08

O advogado-geral da União, Jorge Messias, afirmou hoje que os atos golpistas de 8 de janeiro foram "consequência direta" da difusão de discursos de ódio e mentiras nas plataformas de redes sociais.

Em discurso durante evento de 30 anos da instituição, o advogado-geral afirmou que a pasta não ficará "omissa" frente aos ataques.

"Estou seguro de que os ataques realizados no dia 8 de janeiro são consequência direta dos discursos de ódio e das mentiras deliberadas divulgadas por diferentes canais de comunicação, em especial pelas redes sociais", afirmou Messias.

Não podemos ser omissos diante desses graves fatos que, em última análise, objetivam inverter os rumos da civilização, colocando-a em perigo."
Jorge Messias, advogado-geral da União

A fala foi acompanhada pelo ministro Alexandre de Moraes, presidente do TSE (Tribunal Superior Eleitoral), que tem defendido nas últimas semanas a necessidade de uma regulamentação das plataformas de redes sociais de forma a coibir a difusão de discursos golpistas.

Na semana ada, em audiência com representantes das redes, Moraes afirmou que as plataformas foram "instrumentalizadas" durante os ataques às sedes dos três Poderes e cobrou participação das empresas na discussão sobre eventual regulamentação.

Messias também defendeu a criação da Procuradoria Nacional de Defesa da Democracia. Anunciada em sua posse, em janeiro, o projeto ainda não saiu do papel e enfrentou críticas sobre limites de sua atuação, especialmente no combate à desinformação nas redes.

O AGU justificou a necessidade do órgão após os ataques golpistas, e que neste momento, a pasta ainda debate como a Procuradoria vai atuar.

"A barbárie protagonizada nessa fatídica data, com a destruição dos prédios-sede dos Poderes da República e de objetos de valor histórico inestimável, mostrou o quanto é necessário que o Estado possua uma estrutura que dê respostas e cobre responsabilidades pelas violações de bens jurídicos de alto valor social", afirmou.

Apesar dos atos bárbaros, nossa democracia restou inabalada."
Jorge Messias

Moraes exalta democracia no Brasil 'apesar de turbulências e problemas'

O ministro Alexandre de Moraes, presidente do TSE (Tribunal Superior Eleitoral), exaltou o período de estabilidade democrática no Brasil, mesmo com as "turbulências e problemas" vividos no país nos últimos anos.

"Eu falando isso até parece estranho. São 35 anos que, mesmo com todas as turbulências e problemas vividos no Brasil, o Estado Democrático de Direito venceu", afirmou Moraes. "O Estado Democrático de Direito prevaleceu. A democracia saiu vitoriosa nestes quase 35 anos de Constituição Federal."

Moraes também elogiou a AGU, afirmando se tratar de um órgão que defende a União, e não "pessoas transitórias" em cargos do governo. No ado, a pasta defendeu o então presidente Jair Bolsonaro (PL) e aliados em investigações no Supremo.

O país só evolui quando suas instituições são fortes. O país só sobrevive às crises quando suas instituições são maiores que as pessoas que ocupam seus cargos."
Alexandre de Moraes, ministro do STF e presidente do TSE