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

Quem tem que resolver bloqueios de caminhoneiros é Bolsonaro, diz PT

Do UOL, em São Paulo

31/10/2022 19h20Atualizada em 31/10/2022 20h08

A presidente do PT, Gleisi Hoffmann, disse hoje que a responsabilidade sobre a solução dos atos de caminhoneiros deflagrados pelo país é do presidente Jair Bolsonaro (PL), derrotado pelo petista Luiz Inácio Lula da Silva nas eleições.

Quero lembrar que quem preside o Brasil neste momento é Jair Messias Bolsonaro. A responsabilidade sobre isso é dele e dos órgãos que ele governa. Ele tem que resolver isso para não prejudicar a população."
Gleisi Hoffmann, presidente do PT, em entrevista a jornalistas

Não tenho nada com isso. Nas redes sociais, muitos críticos petistas aram a relacionar os atos bolsonaristas a Lula. O PT rechaça. A avaliação do entorno de Lula é que se trata de um movimento político contra o petista.

"Sei que outros movimentos estão se formando, me disseram que houve invasão no Ceasa do Rio de Janeiro e estão que isso é por que o Lula ganhou... Só quero deixar claro que a responsabilidade para conduzir a solução desse tipo de situação que está havendo é do governo, tanto de governadores como do presidente da República", disse a petista.

Após a divulgação da vitória do ex-presidente, caminhoneiros bolsonaristas fecharam trechos de rodovias em pelo menos 16 estados para contestar o resultado das eleições — foram registrados ao menos 136 bloqueios registrados nas estradas federais, segundo la Polícia Rodoviária Federal.

Vídeos compartilhados nas redes sociais e informações oficiais das concessionárias das estradas apontam a ação dos manifestantes logo após a vitória de Lula.

Alguns motoristas usaram seus próprios caminhões de carga para bloquear as vias. Em outros lugares, pneus também foram queimados.

Sem comentários. Lula foi eleito na noite de ontem com 50,90% dos votos válidos, contra 49,10% de Bolsonaro. É a primeira vez que alguém chega ao terceiro mandato no Planalto e a primeiro vez que o ocupante do cargo perde o pleito.

O resultado foi oficializado pouco antes das 20h ontem. Bolsonaro ainda não reconheceu o resultado nem ligou para Lula. Para o PT, o comportamento do presidente estimula esses atos.

"Esses bloqueios são eminentemente políticos, não são bloqueios que têm reivindicação econômica, são bloqueios políticos -e estão causando prejuízos para o Brasil e para a população brasileira", afirmou Gleisi.