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

'Missão é não deixar o PT governar SP', diz Rodrigo em último compromisso

Rodrigo Garcia (PSDB) participa de último ato antes do primeiro turno - Divulgação
Rodrigo Garcia (PSDB) participa de último ato antes do primeiro turno Imagem: Divulgação

Do UOL, em São Paulo

01/10/2022 14h17Atualizada em 01/10/2022 19h38

Em busca dos votos de eleitores indecisos, o governador de São Paulo, Rodrigo Garcia (PSDB), visitou hoje, véspera da eleição, centros populares, participou de duas carreatas e disse que sua missão é "não deixar o PT governar São Paulo".

Em terceiro lugar nas pesquisas, Rodrigo, que concorre à reeleição, tem pregado o voto útil contra o PT para tentar chegar ao segundo turno.

"Queremos mostrar que a nossa missão é não deixar o PT governar esse estado nos próximos quatro anos para que São Paulo continue seguindo em frente, seguindo em paz", disse o candidato.

Alfinetada nos adversários. O tucano priorizou hoje o corpo a corpo com eleitores e criticou, de forma indireta, seus adversários repetindo não ter padrinho político — Fernando Haddad (PT) e Tarcísio de Freitas (Republicanos) contam com o apoio do ex-presidente Luiz Inácio Lula da Silva (PT) e do presidente Jair Bolsonaro (PL), respectivamente.

"Corpo a corpo é o momento que o candidato está ao lado da população, a população que faz suas críticas, sugestões. Gosto muito disso, a boa política exige que a gente esteja ao lado da população. Não estou aqui com padrinho político, estou ao lado do povo", disse.

Ao longo da campanha, Rodrigo se colocou como um candidato "independente", buscando se desvencilhar da imagem de João Doria (PSDB), seu antecessor, que deixou o Palácio dos Bandeirantes com alto índice de rejeição.

Prefeito de São Paulo, Ricardo Nunes (MDB), acompanhou o candidato tucano ao governo de SP, Rodrigo Garcia - Stella Borges/UOL - Stella Borges/UOL
Prefeito de São Paulo, Ricardo Nunes (MDB), acompanhou o candidato tucano ao governo de SP, Rodrigo Garcia
Imagem: Stella Borges/UOL

Carreatas e cachorro-quente. De manhã, Rodrigo participou de uma carreata com vans de transporte escolar no bairro de Santo Amaro, zona sul da capital, ao lado do candidato ao Senado Edson Aparecido (MDB) e do vereador paulistano Milton Leite (União Brasil).

Depois, o candidato seguiu para um centro popular de compras em Osasco, na Grande São Paulo, onde fez uma caminhada ao lado de apoiadores e comeu cachorro-quente, iguaria tradicional da cidade.

Rodrigo ainda fez uma caminhada em um shopping do Brás, centro de compras na capital paulista, ao lado do prefeito de São Paulo, Ricardo Nunes (MDB), e distribuiu colinhas com seu número. À tarde, ele participou de uma carreata em São Bernardo do Campo ao lado do prefeito da cidade, Orlando Morando (PSDB), e de candidatos a deputados.

Indecisos e "máquina de prefeitos". Aliados do governador apostam numa virada dele amanhã, com a ajuda do que chamam de "máquina de prefeitos" —mais de 500 estão alinhados com ele.

Pesquisas divulgadas hoje pelo Datafolha e Ipec (Inteligência em Pesquisa e Consultoria Estratégica) mostram que o segundo turno pelo governo de São Paulo deve ser disputado por Haddad e Tarcísio.

No entanto, a campanha crê que o voto útil antipetista pode levar o tucano ao 2º turno. O levantamento feito pelo Datafolha aponta que Haddad perdeu a vantagem que tinha em relação a Rodrigo num possível segundo turno, e os dois empatam tecnicamente. Já Tarcísio perde para o petista numa eventual segunda etapa.

A pesquisa espontânea também mostra que 34% dos eleitores ainda não escolheram um candidato o que, para os tucanos, reforça o quadro de indefinição na disputa pelo Palácio dos Bandeirantes.