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

Candidatos de SP fazem campanha na periferia, mas votam no centro expandido

 Bruno Covas (PSDB) em evento de campanha no bairro Jardim Santo André, zona Leste de São Paulo - PETER LEONE/ESTADÃO CONTEÚDO
Bruno Covas (PSDB) em evento de campanha no bairro Jardim Santo André, zona Leste de São Paulo Imagem: PETER LEONE/ESTADÃO CONTEÚDO

Felipe Pereira

Do UOL, em São Paulo

14/11/2020 18h12

Durante a campanha, os quatro principais candidatos a prefeito de São Paulo concentraram seus eventos nas periferias e prometeram uma istração voltada à população mais pobre, mas no dia da eleição todos votarão em seções eleitorais no centro expandido, a região mais nobre da cidade. Como de costume, todos os concorrentes vão as urnas pela manhã.

Guilherme Boulos (PSOL) deve chegar às 10 horas ao prédio da PUC-SP, universidade que recebe estudantes de famílias abastadas. O candidato, que fez campanha dizendo morar na periferia, informação ressaltada nos debates, vota em uma universidade particular que fica no bairro de classe média alta de Perdizes.

Boulos inclusive foi estudante da PUC-SP, fez especialização em Psicologia Clínica na instituição. O quadro de alunos da universidade é composto por pessoas com perfil do eleitorado do concorrente do PSOL. As pesquisas apontam que o candidato tem melhores resultados na população com maior instrução e renda familiar.

Vietnã - ALICE VERGUEIRO/ESTADÃO CONTEÚDO - ALICE VERGUEIRO/ESTADÃO CONTEÚDO
Guilherme Boulos (PSOL), em visita a comunidade Vietnã
Imagem: ALICE VERGUEIRO/ESTADÃO CONTEÚDO

Líder nas pesquisas, o prefeito Bruno Covas vai fazer uma romaria antes de votar. Logo às 8h30 , vai aos Jardins tomar café da manhã na casa da ex-prefeita Marta Suplicy. Em seguida, encontra o ex-presidente Fernando Henrique Cardoso em Higienópolis e volta aos Jardins para conversar com governador João Doria (PSDB). Todos os CEPs são de bairros nobres de São Paulo.

Somente depois desta peregrinação entre caciques políticos, Covas vai se dirigir para seu local de votação, o Colégio Vera Cruz. Ele é considerado um dos mais tradicionais da cidade. O prefeito chega ao local de votação às 11h30 na companhia do governador e será o último candidato a votar.

Outro que vai à urna em escola tradicional é Celso Russomanno (Republicanos). A seção em que ele vota fica no Colégio Santo Américo, instituição de ensino escolhida por banqueiros e operadores de instituições financeiras da avenida Brigadeiro Faria Lima para matricular seus filhos.

Paraisópolis - Wanderley Preite Sobrinho - Wanderley Preite Sobrinho
Celso Russomanno (Republicanos) pede votos em Paraisópolis
Imagem: Wanderley Preite Sobrinho

Russomanno anunciou que deve chegar ao local por volta das 11 horas. Na sequência, é esperado que ele converse com a imprensa. O candidato começou a campanha liderando as pesquisas entre eleitores que recebem até dois salários mínimos, mas perdeu terreno e no Datafolha divulgado na quarta-feira tinha 15% de intenção de voto.

Márcio França é outro nome que fez campanha prometendo olhar para a periferia. Apresentou propostas como empréstimo de R$ 3 mil a juro zero para microempresas, universidade virtual para dar cursos técnicos e de ensino superior a quem estuda em escolas públicas.

Mas ele também vota no centro expandido. A programação da campanha informou que França deve chegar às 10 horas da manhã em um colégio no Itaim Bibi.

França - PETER LEONE/O FOTOGRÁFICO/ESTADÃO CONTEÚDO - PETER LEONE/O FOTOGRÁFICO/ESTADÃO CONTEÚDO
Márcio França (PSB) faz campanha em ocupação na zona Leste
Imagem: PETER LEONE/O FOTOGRÁFICO/ESTADÃO CONTEÚDO