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

"Só quem morreu pode apoiar Bolsonaro", diz octogenária sobre foto de idosa

A aposentada Maguy Labrunir, 80, em ato pela educação no centro do Rio - Marina Lang/UOL
A aposentada Maguy Labrunir, 80, em ato pela educação no centro do Rio Imagem: Marina Lang/UOL

Marina Lang

Colaboração para o UOL, no Rio

30/05/2019 20h17

Descansando em um banco de praça após percorrer o trajeto entre a Igreja da Candelária e a Cinelândia --por onde ou manifestação de estudantes em defesa à educação--, a aposentada Maguy Labrunir, 80, não poupou críticas ao presidente Jair Bolsonaro (PSL) e ao seu governo.

Ela comentou o fato de o presidente ter compartilhado no Twitter, no último domingo (26), uma foto de uma idosa se manifestando supostamente em prol do governo --a mulher, entretanto, já morreu e a foto é de um protesto pelo impeachment da ex-presidente Dilma Rousseff (PT) em 2015. A família da idosa considerou o post uma homenagem feita pelo presidente.

"Eu acho um absurdo ele pegar a foto de uma coroa que já morreu dizendo que ela a apoia. Só quem já morreu pode apoiar esse indivíduo", disparou a manifestante octogenária.

Ostentando um adesivo escrito "+ livros, - armas" e outro com os dizeres "eu luto pela educação", ela explicou ao UOL o porquê de ter ido ao ato hoje. "Eu queria me manifestar. Esse governo é um horror. Então eu sou a favor da educação, contra esse corte, contra tudo o que ele está fazendo. A falta de proteção ao meio ambiente. Tudo o que ele está fazendo está errado", criticou a idosa.

Mais cedo, a enfermeira Irene Melo, 68, afirmou que Bolsonaro "sacaneia a 3ª idade" ao postar a foto da idosa que já morreu.

"Fico indignada por ele ter colocado uma pessoa que já morreu. Não foi fazendo homenagem, não. Ele quis dizer que tinha idoso ali. Ele está sacaneando a própria terceira idade. Eu estou aqui por livre e espontânea vontade, não estou forçada a nada. Estou aqui com a bandeira que eu fiz porque sou de uma geração que fazia tudo", defendeu. "É muito importante estarmos na rua na minha idade porque nós temos a experiência da ditadura. Houve ditadura, sim", acrescentou a manifestante.

2º protesto em 15 dias

Estudantes voltaram hoje ao centro do Rio para protestar contra os bloqueios de verba para a educação. Além de atacar o congelamento de recursos, os manifestantes fazem críticas a outras propostas e atos do governo Bolsonaro, como a Reforma da Previdência e a flexibilização do porte e posse de armas. Cartazes ironizam Bolsonaro e ministros de seu governo, que também estampam panos de chão à venda por R$ 10.

Por volta das 19h, organizadores estimaram o público em 100 mil manifestantes (número abaixo dos 150 mil estimados pelo Sindicato Estadual dos Profissionais da Educação do RJ no primeiro ato, do dia 15), e a Polícia Militar não contabilizou o total de participantes.

Os estudantes se concentraram na tarde de hoje em frente à Igreja da Candelária, na avenida Presidente Vargas. A manifestação tomou a avenida Rio Branco rumo à Cinelândia, onde chegou por volta das 19h20.