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

TSE arquiva ação de Bolsonaro contra Haddad por show de Roger Waters

Roger Waters exibe protesto contra Jair Bolsonaro em show em São Paulo - Reprodução/Twitter
Roger Waters exibe protesto contra Jair Bolsonaro em show em São Paulo Imagem: Reprodução/Twitter

Felipe Amorim

Do UOL, em Brasília

13/12/2018 10h32

O TSE (Tribunal Superior Eleitoral) decidiu arquivar nesta quinta-feira (13) a ação movida pela campanha do presidente eleito, Jair Bolsonaro (PSL), contra seu adversário no segundo turno, Fernando Haddad (PT), que envolvia o cantor Roger Waters, ex-líder do Pink Floyd.

Na ação, o petista era acusado de ter sido beneficiado de forma irregular durante a campanha por críticas a Bolsonaro feitas por Roger Waters durante sua turnê pelo Brasil.

Em seu voto, o relator da ação, o ministro Jorge Mussi, afirmou não haver provas da ligação entre a campanha de Haddad e a realização dos shows no país com o objetivo de atacar Bolsonaro, e defendeu a liberdade de expressão do artista como uma garantia da democracia.

O voto de Mussi foi acompanhado por unanimidade pelos outros seis ministros do TSE.

"A mera repercussão nas páginas de campanha e nas redes sociais dos candidatos representados das mensagens veiculadas pelo artista no show em nada comprova a existência de acordo prévio nem de prévio consentimento para tal realização", disse Mussi.

"A liberdade de expressão representa não apenas garantia fundamental constitucionalmente assegurada, como também requisito inerente ao Estado Democrático de Direito", afirmou o relator.

Para Mussi, também não há provas de que as críticas de Roger Waters tiveram o poder de influenciar no resultado das eleições.

Entenda o caso

Apesar de Haddad ter sido derrotado nas urnas, a ação, se fosse julgada procedente, poderia levar à inelegibilidade dele e de sua candidata a vice, Manuela D'Ávila (PCdoB).

Roger Waters fez shows em diferentes capitais brasileiras no mês de outubro, em datas entre a realização do primeiro e do segundo turno de votação das eleições presidenciais.

Nos shows, uma projeção no telão listava Bolsonaro como um líder "neofacista", em conjunto com outras lideranças, como a sa Marine Le Pen e o húngaro Viktor Orbán.

O cantor também projetou no telão a expressão #EleNão, que foi utilizada por críticos de Bolsonaro durante a campanha para pregar o voto contra o candidato do PSL.

O público dos shows de Waters costumou ficar dividido face às críticas a Bolsonaro, ora com gritos de "ele, não", ora com vaias e xingamentos ao cantor.

Na ação, os advogados do PSL afirmam que "por meio de reiterados shows se pôs em prática ostensiva e poderosa propaganda eleitoral negativa contra o candidato requerente, Jair Bolsonaro".