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

Surpresa, esperança, silêncio: militância segue decisão sobre Lula no STF

Diante de sede da Polícia Federal em Curitiba, militância pró-Lula aguarda julgamento do STF sobre a soltura do ex-presidente - Vinicius Konchinski/UOL
Diante de sede da Polícia Federal em Curitiba, militância pró-Lula aguarda julgamento do STF sobre a soltura do ex-presidente Imagem: Vinicius Konchinski/UOL

Vinicius Konchinski

Colaboração para o UOL, em Curitiba

25/06/2019 21h46

Da surpresa à frustração, o julgamento que poderia libertar Luiz Inácio Lula da Silva (PT) hoje, adiado pelo STF (Supremo Tribunal Federal) para depois de agosto, gerou um carrossel de emoções entre os militantes instalados em Curitiba, nas imediações do prédio da Polícia Federal onde o ex-presidente cumpre pena pelo caso do tríplex do Guarujá.

Durante o dia, tambores chegaram a ser retirados dos depósitos e festejavam a possibilidade dos apoiadores assistirem à saída de Lula da carceragem. Ao fim da noite, com a decisão do STF de postergar o julgamento e manter Lula preso até lá, o silêncio tomou conta do ambiente.

Caravanas dão meia-volta

Há duas semanas, quando o STF agendou para hoje o julgamento de um recurso de Lula, caravanas começaram a ser organizadas: cinco ônibus foram fretados para trazer integrantes do MST (Movimento dos Trabalhadores Sem Terra) à capital paranaense, e outros três para compor uma caravana vinda Brasília.

Mas ontem, após a Corte retirar da agenda esse julgamento (que voltou a ser inserido hoje), os ônibus de Brasília desistiram de partir. E alguns membros do MST que já tinham chegado a Curitiba voltaram para casa. A desesperança tomou a Vigília Lula Livre.

Surpresa

Sem o julgamento na agenda do STF, a terça-feira começou como um dia qualquer na vigília. Apoiadores cumprimentaram o ex-presidente com o tradicional grito de "bom dia".

Logo após do "boa tarde", a notícia de que o STF julgaria o recurso de Lula surpreendeu: em rodas de conversa, todos olhavam os celulares em busca de mais informações.

Pouco a pouco, a animação contagiou a todos presentes e mais militantes foram convocados para acompanhar o julgamento.

Por um momento, mais de cem pessoas estiveram reunidas, e a tenda da vigília se tornou pequena. Os militantes se espalharam pelo entorno da sede da PF em Curitiba.

Silêncio

Como o julgamento não foi transmitido via TV, um locutor improvisado lia as notícias sobre o julgamento para os demais presentes.

Por um momento, o placar no STF chegou a marcar 2 a 1 a favor da soltura -ainda que provisória-- do ex-presidente. Mas Celso de Mello e Cármen Lúcia votaram contra, e a liberdade de Lula foi negada.

O locutor anunciou a decisão, e grande parte dos militantes, que até então cantava, rapidamente deixou o espaço. Os que permaneceram acenderam velas ou gritaram palavras de ordem.

Ainda houve os que seguiram no local até dar a hora de gritar "boa noite" ao ex-presidente, que reuniram-se novamente para gritar "boa noite" ao ex-presidente, que cumpre 8 anos, 10 meses e 20 dias de prisão. Vários choraram.