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

Presidente do PTB pede retirada de grupo de Jefferson da sede do partido

Gaciela Nienov ao lado de Roberto Jefferson. Ela deixa o camando do partido após ter aúdios de Whatsapp vazados. Foto: Arquivo PTB - Arquivo PTB
Gaciela Nienov ao lado de Roberto Jefferson. Ela deixa o camando do partido após ter aúdios de Whatsapp vazados. Foto: Arquivo PTB Imagem: Arquivo PTB

Rafael Neves

Do UOL, em Brasília

01/02/2022 18h19

A presidente do PTB, Graciela Nienov, entrou no TSE (Tribunal Superior Eleitoral) para pedir a reintegração de posse do diretório nacional do partido, em Brasília. A dirigente contesta a decisão do presidente de honra da legenda, o ex-deputado Roberto Jefferson, de demiti-la do comando da agremiação, no último domingo.

Segundo o processo apresentado pela defesa de Nienov, "pessoas do grupo político do ex-presidente [Jefferson] estão de posse do escritório" da sigla na capital federal. Eles pedem ao TSE que mande desocupar o local, "inclusive com a garantia de força policial", e bloqueie as senhas dos partidários de Jefferson aos sistemas da Justiça Eleitoral.

Jefferson está em prisão domiciliar desde o dia 24, por ordem do ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal). Ele ou mais de cinco meses em Bangu 8, no Rio, detido por ameaças a ministros da Corte e suspeita de envolvimento em uma milícia digital que atenta contra a democracia.

No último domingo, o político bolsonarista anunciou a saída de Graciela Nienov da presidência nacional da sigla. Ao TSE, contudo, Nienov argumenta que Jefferson foi afastado do comando do partido por decisão de Moraes, em novembro, "tendo sido substituído definitivamente" por ela em convenção nacional da legenda.

Jefferson anunciou a saída de Nienov da sigla após a divulgação de áudios vazados de um grupo de WhatsApp em que ela supostamente afirma ter marcado reunião com Moraes. "Graciela me desqualificou, me traiu e quis apagar o meu legado e as minhas lutas", afirmou em carta o ex-deputado.

A briga

Na prática, Nienov está à frente do PTB desde agosto, quando Jefferson foi preso. Em novembro, ela foi eleita para a presidência por unanimidade e com apoio de Jefferson, que foi transformado em presidente de honra e escreveu uma carta da prisão celebrando a escolha.

No domingo, porém, Jefferson divulgou uma carta em que se identifica como um "preso político" e critica a filha, Cristiane Brasil, que o ex-deputado também acusa de tê-lo traído.

A ex-deputada, que chegou a ser ministra no governo Temer, anunciou em dezembro a desfiliação do PTB em meio a uma disputa com Nienov. "Para deixar claro: não voltaria ao partido nem que o meu pai me pedisse perdão de joelhos", disse ela após a publicação da carta do pai.