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

Ataques ao PT e a Marília fazem eleição do Recife ter "climão" na esquerda

Primos de 2º grau, João Campos (PSB) e Marília Arraes (PT) disputam a Prefeitura do Recife - Reprodução/Facebook
Primos de 2º grau, João Campos (PSB) e Marília Arraes (PT) disputam a Prefeitura do Recife Imagem: Reprodução/Facebook

Carlos Madeiro

Colaboração para o UOL, em Maceió

25/11/2020 04h00

Os ataques da campanha do PSB ao PT no Recife abriram uma temporada de intrigas entre partidos de esquerda no segundo turno das eleições 2020.

Lideranças neutras até então resolveram expor uma divisão que havia sido silenciosa, bem na reta final de disputa, e criaram um verdadeiro "climão" entre lideranças, com farpas públicas nos últimos dias.

Segundo o mais recente levantamento do Datafolha, Marília aparece com 55% das intenções de votos válidos contra 45% de João Campos.

Em desvantagem, a campanha de Campos tem mirado no antipetismo em busca do voto mais à direita. O duelo é visto como um possível cenário antecipado para a disputa presidencial em 2022.

Neste fim de semana, um apoio em especial deu o que falar: o do deputado federal Túlio Gadêlha (PDT), que postou foto de Marília no domingo e declarou seu voto à petista, inclusive criticando a não candidatura pedetista.

Túlio foi além: denunciou também pelo Twitter que seu chefe de gabinete teria sido procurado pela campanha do PSB para "negociar" seu silêncio no segundo turno. Em seguida, o chefe de gabinete negou que tenha existido esse diálogo, mas Gadêlha reiterou a crítica e disse que "é comum pessoas voltarem atrás no que dizem diante de pressão".

O apoio revoltou as lideranças nacionais do partido, que vieram ao Recife no domingo para participar de atos com Campos. O PDT não só compõe a chapa como indicou a vice, Isabella de Roldão, rifando de última hora o nome de Gadêlha da disputa.

"Quem do PDT não tiver com essa chapa não tem mais o que fazer no PDT. O nosso partido não é espaço para traíra! Nós não temos espaço para traíra! A nossa opção eterna, o nosso compromisso é de palavra, é de honra, não é de vaidade", disse o presidente nacional da sigla, Carlos Lupi.

Em outro ato de "infidelidade", o ex-prefeito João Paulo desafiou o PCdoB e anunciou apoio a Marília, indo contra o partido —que está coligado com João.

O PCdoB é presidido nacionalmente por Luciana Santos, que é vice-governadora, eleita com Paulo Câmara (PSB) em 2018.

Em carta pública, o ex-prefeito —que governou o Recife entre 2001 e 2008 e foi ao segundo turno na eleição do Recife em 2016 pelo PT— considerou "deploráveis os ataques ao PT" feitos pela campanha do PSB.

"Sinto-me na obrigação de repudiar esse tipo de atitude política, que não constrói, não fortalece a disputa democrática em nosso estado e enfraquece as forças do campo progressista. Respeito o PT e a sua história. Não podemos aceitar a negação da grande contribuição do PT na vida democrática do Brasil, nas conquistas sociais e dos maiores avanços na gestão pública não só no Recife e em Pernambuco, do qual fiz parte e me orgulho, como no Brasil, com os governos Lula e Dilma", afirmou ele.

PT na mira

Na última semana, cartazes e panfletos apócrifos foram espalhados no Recife com ataques a Marília e sua vinculação com o partido. Em uma das peças, intitulada "Cristão de verdade não vota em Marília", a candidata é citada como política que "pertence ao PT, que persegue os cristãos em todo o Brasil".

Em propaganda nas rádios e na TV, o programa de João Campos traz ataques ao PT ao criticar a atitude do partido contra o ex-governador Miguel Arraes, que é avô de Marília e bisavô de João. "O PT o chamava de caduco e Pinochet de Pernambuco", diz a peça.

A Justiça Eleitoral determinou que a campanha de Campos retirasse do ar uma propaganda que acusava a petista de ser contra o Prouni municipal e contra a Bíblia.

Os ataques fizeram com que a campanha de Marília ganhasse apoio de petistas dissidentes, que se viram na obrigação de defender o partido.

Marília, ressalte-se, só foi candidata no Recife após intervenção nacional do PT, que derrubou a decisão do diretório municipal de apoiar João Campos na disputa do Recife.

O senador Humberto Costa (PT-PE) —que inicialmente também era a favor da coligação do PT com PSB em torno de Campos— usou as redes sociais nesta segunda-feira para criticar o tom adotado pela campanha do PSB.

"Essa postura, além de desinformar e desviar o debate sobre os reais problemas da nossa cidade, é extremamente destrutiva para o campo progressista", afirma.

Ataques a uma campanha que cresce

Para o cientista político Adriano Oliveira, da UFPE (Universidade Federal de Pernambuco), a vantagem de Marília nas pesquisas foi determinante para que apoios públicos de nomes de esquerda começassem a aparecer na reta final da campanha.

"Vejo esses atos como um movimento de uma campanha que cresce", afirma.

Oliveira explica que, apesar de enxergar os gestos como positivos para Marília, eles não devem trazer grandes impactos eleitorais. "Traz sentimento de crescimento e união. Mas não significa algo, necessariamente, na prática. Porém, o sentimento é importante", diz.