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

OPINIÃO

Em vídeo com esfihas e Dolly, Levy Fidelix produz a sua Guernica eleitoral

Levy Fidelix fala com apoiadores em lanchonete - Reprodução/Redes Sociais
Levy Fidelix fala com apoiadores em lanchonete Imagem: Reprodução/Redes Sociais

Matheus Pichonelli

Colunista do UOL

10/11/2020 04h00

Levy Fidelix, candidato à Prefeitura de São Paulo pelo PRTB, o partido do vice-presidente Hamilton Mourão, tem se virado como pode para compensar sua ausência da propaganda eleitoral gratuita na TV.

Quem acompanha as postagens do líder do Partido Renovador Trabalhista Brasileiro nas redes sociais, praticamente seu único palanque em tempos de coronavírus, percebe que algo está diferente na velha música de uma nota só.

Fidelix já não é só "o homem do Aerotrem". É o candidato de Deus, da pátria e da família. Só o bigode parece ter sobrevivido aos novos tempos.

Com a nova tríade, o parceiro de Mourão chamou a atenção em uma lanchonete do Jardim Ângela no último fim de semana.

Em uma unidade de uma rede especializada em esfihas, ele se sentou à mesa com os discípulos — aliás seguidores —, e como um representante da ordem divina pediu para preparassem a refeição.

"Não vamos à churrascaria, não, como fazem os grandões", dizia um animado Fidelix em um vídeo de bastidores, antes de desengordurar o bigode com um amarrotado guardanapo de papel.

Naquele dia, o candidato vestia uma calça jeans justa, com cinto e fivela, que guardava uma camisa de manga comprida amarela, a mesma cor do boné.

Estava acompanhado de duas mulheres ostentando uma bandeira da Liga Cristã Mundial no Brasil, entidade criada pelo libanês Iskandar Riach, que se tornou um baluarte da extrema-direita no Brasil.

Imagens do general Mourão também se espalhavam pelo recinto, em meio às promoções de costela ribs, açaí na tigela e caixas de esfiha para entrega.

À primeira vista, a imagem remetia ao afresco A Última Ceia, de Da Vinci. Mas uma leitura mais detalhada faria o observador notar as semelhanças entre a imagem e a Guernica de Picasso. Só que a Guernica versão "Monty Python e o Cálice Sagrado" tinha mais elementos em cena do que podia pensar o gênio cubista.

A bandeja pela metade com limões espremidos e um um molho de pimenta aberto indicavam que os apoiadores, entre eles um sujeito de chapéu e óculos escuros à la Raul Seixas e um cover de Lampião, o Rei do Cangaço, já se refestelavam. Garrafas vazias de Guaraná Dolly completavam a cena.

Como a obra-prima do pintor espanhol, Fidelix não estava ali para decorar apartamentos nem redes de lanchonetes. Estava armado contra o inimigo.

Após dividir as esfihas com os fiéis, ele tomou a palavra. Guardou os óculos de sol na gola, perto de um microfone improvisado, e se levantou para discursar. O discurso sairia da esfiharia para entrar no Facebook.

Peito estufado, Fidelix classificou sua missão como a campanha do tostão contra o milhão sem o fundão. A rima tripla foi seguida de uma ordem: fora Covas, fora Boulos, fora Márcio França e fora Russomanno, o candidato apoiado por Jair Bolsonaro.

A maior parte dos ataques concentrava-se em Covas, líder no Ibope com 32% das intenções de voto. Aos apoiadores, Fidelix defendeu uma auditoria nas contas da prefeitura e listou os defeitos do candidato à reeleição. O maior deles: "Não ter Deus no coração".

Só que o maior inimigo não tinha carne nem osso. Era um lote de vacinas aguardadas para o combate à pandemia do coronavírus, doença que não deve eriçar os bigodes do bravo candidato, vistosos longe da máscara, como a maioria dos presentes no local.

Para Fidelix, "os mesmos de sempre" querem forçar o povo a tomar vacina, proposta rejeitada no plebiscito ali improvisado entre esfihas, limões e guaraná Dolly.

— Pode ou não pode?!

— NÃÃÃÃÃÃÃÃÃÃÃO.

Poucos, mas valentes, os seguidores mostravam afinação com o líder, que poderá trabalhar como monitor de colônia de férias para crianças se nada mais der certo em 15 de novembro. Vez ou outra ele interrompia a fala para perguntar: "É ou não é gente?".

E a gente respondia: "Ééééééééééééééééééééééééé!"

— Aqui é Deus, pátria e…

— FAMÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍAAAAAA.

Fidelix então se autoproclamou o líder das pessoas com massa encefálica naquela cidade e conclamou os fiéis a não permitirem que "estes que estão aí perpetuem este crime contra a nossa nação". O crime, claro, era obrigar a população a se imunizar, o que poderia levar ao desenvolvimento de "cânceres e outros antígenos".

Feito o pronunciamento, o aliado de Mourão, general lembrado como responsável por domar e chamar Bolsonaro à razão quando ela faltar, seguiu seus últimos dias de campanha contra tudo e contra todos, inclusive a ciência.

Ostentava 1% no último Ibope, mas quem acredita em institutos de pesquisa?

Até o fechamento deste post, o vídeo da última ceia de Levy tinha 19 mil visualizações.