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

Em ato com 110 mil pessoas em SP, manifestantes gritam por uma vida "sem catraca"

Manifestantes fecham os dois sentidos da avenida Paulista, na região central de São Paulo - Gabriela Biló/Futura Press
Manifestantes fecham os dois sentidos da avenida Paulista, na região central de São Paulo Imagem: Gabriela Biló/Futura Press

Débora Melo, Guilherme Balza, Janaina Garcia e Marivaldo Carvalho

Do UOL, em São Paulo

20/06/2013 17h37Atualizada em 20/06/2013 23h25

Ao menos 110 mil manifestantes, segundo medição do Datafolha, voltaram a interditar a avenida Paulista e a avenida 23 de Maio, na região central de São Paulo, na noite desta quinta-feira (20), durante o sétimo ato contra o transporte público. Segundo a PM, 100 mil pessoas participaram do ato. Em uma eata considerada pacífica, em que o saldo final foi de um ferido e três pessoa detida, apenas um princípio de tumulto entre manifestantes contra a presença de partidos políticos e militantes causou confusão.

Em determinado momento, o grupo se dividiu e uma se dirigiu à Câmara municipal enquanto outra foi para a frente da Alesp (Assembleia Legislativa de São Paulo), mas logo também se dispersaram.

Manifestante é socorrido após receber paulada

Em entrevista ao UOL, o MPL (Movimento e Livre) afirmou que por volta das 21h30 não estava mais à frente do protesto. "O movimento deixou a manifestação porque ela já cumpriu a obrigação dela, que era comemorar a queda da tarifa", afirmou Lucas Monteiro, um dos integrantes do movimento.

Questionado se o ato de hoje seria o último organizado pelo movimento, ele respondeu: "não é a última manifestação; é a última contra o aumento da tarifa. Vamos continuar nos mobilizando para a tarifa zero".

Com o recente anúncio da redução do preço da agem dos ônibus, trens e metrôs, os participantes foram às ruas para levantar outras bandeiras. O grito de guerra que marcou os últimos seis atos realizados na cidade, "se a tarifa não baixar, a cidade vai parar", foi substituído e os participantes aram a gritar "por uma vida sem catraca". O "vem pra rua vem, contra o aumento" também ganhou uma nova versão: "vem pra rua vem, contra a tarifa."

Para a assistente istrativa Carolina de Souza, 22, que participa do ato, não basta reduzir o preço da agem. "É preciso melhorar a qualidade do transporte público, além de garantir transporte gratuito para os estudantes."

Já a auxiliar istrativa Amanda Amorim, 21, aproveita o ato para pedir "melhores condições de saúde e de educação". "Quero um sistema de transporte com padrão Fifa", ironiza.

A advogada e drag queen Tchaka, que esteve nas seis manifestações anteriores, disse ser "contra o [presidente da Comissão de Direitos Humanos da Câmara] Marco Feliciano e contra todos os outros Felicianos que votaram a favor do [projeto] da cura gay", declara. "Quem está doente não são os gays, mas os políticos corruptos e machistas e a elite que não vêm à rua por transporte público de qualidade".

Paulistanos comemoram tarifa e defendem mais protestos

O grupo se concentrou na praça do Ciclista e saiu em caminhada pela avenida Paulista, sentido Paraíso. Por volta das 18h30,  o grupo chegou na avenida 23 de Maio, sentido aeroporto.

De acordo com a PM, um grupo de cerca de 1.000 pessoas também fez um protesto na estação Santana do Metrô de São Paulo. Já no Grajaú, cerca de 30 protestaram na altura do número 100 da av. Delmira Marin. A marginal Tietê chegou a ser interditada na altura do Anhembi no sentido rodovia Castello Branco, mas logo foi liberada.

Princípio de tumulto

De acordo com a PM, o único detido foi por estar com um coquetel molotov na esquina da Paulista com a rua Augusta. O clima ficou tenso entre militantes do PSOL, PT, PCR e PCO e manifestantes. Enquanto os participantes gritavam "sem partido", os partidários respondiam "sem fascismo".

Uma pequena confusão entre os manifestantes que são contrários a participação dos partidos no ato e os militantes, na altura da alameda Campinas, deixou um homem ferido, que foi socorrido por policiais militares. Aproximadamente três bandeiras do PT foram queimadas, de acordo com a repórter Janaina Garcia.

A manifestante Fátima Sandalhel, ligada ao movimento Consulta Popular, contou à repórter Débora Melo que, por estar vestindo uma camiseta vermelha, foi confundida com militantes do PT e acabou sendo hostilizada. Ela afirma que não faz parte do partido, mas defende a presença do partido no ato. "Usar uma camisa vermelha é um direito meu como cidadã. Isso é antidemocrático? Isso é um absurdo", desabafou. A PM afirmou ter reforçado o policiamento da região central com 3.000 homens.

Incitação à violência

Na avenida Paulista, a repórter Janaina Garcia flagrou o momento em que um grupo de estudantes orientava crianças a proferir palavras contra policiais militares.

Elas seguravam placas com frases como "fim da PM" e "fim da repressão policial". Um dos jovens, filmando os pequenos, orientou "grita aí, vamos pôr fogo no busão"; "vamos atacar a PM".