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

Esse conteúdo é antigo

Ação no Jacarezinho deveria ser 'profundamente investigada', diz sociólogo

Do UOL, em São Paulo

11/05/2021 10h33Atualizada em 11/05/2021 13h48

O cientista social Paulo César Ramos e o coronel reformado José Vicente defenderam hoje uma ampla apuração do que aconteceu na operação na comunidade do Jacarezinho, no Rio de Janeiro, e que resultou na morte de 28 pessoas, entre elas, um policial.

"Gostaria que os policiais responsáveis pelas mortes e que a operação como um todo fosse profundamente investigada e cada um dos agentes públicos envolvidos nesse processo fossem responsabilizados, a despeito da não responsabilização dos agentes públicos quando eventos como esse costumam acontecer", disse Ramos durante o UOL Debate, apresentado por Fabíola Cidral. A jornalista Cecília Olliveira, idealizadora e diretora da plataforma Fogo Cruzado, também participou da conversa.

Para Ramos, a repercussão do caso aumenta as chances de que "os agentes envolvidos no processo sejam responsabilizados". Mas, segundo o cientista social, o ocorrido é a "ponta do iceberg de um conflito mais enraizado". "Um conflito dessa monta nunca envolve um vetor institucional. Com certeza existem outros autores", completou.

O Jacarezinho pode ser o ponto de inflexão para a segurança do Rio de Janeiro como foi o Carandiru e a Favela Naval para São Paulo.
José Vicente, coronel reformado da Polícia Militar

Para o coronel José Vicente, o ocorrido na última semana no Rio é comparável a dois episódios emblemáticos de violência policial em São Paulo, a morte de 111 detentos após uma rebelião no presídio do Carandiru, em 1992, e as cenas da favela Naval, na cidade de Diadema (SP), onde grupos de policiais foram filmados batendo, torturando, extorquindo e até matando pessoas.

"O Jacarezinho pode ser o ponto de inflexão para a segurança do Rio de Janeiro como foi o Carandiru e a Favela Naval para São Paulo. A partir desse evento, principalmente [o que ocorreu] na Favela Naval, uma reiterada ação de violência de policiais, a polícia tomou um rumo diferente que tornou a Polícia Militar uma referência internacional de atividade profissional, treinamento e tecnologia", afirmou.

Vicente espera que a perícia "faça uma rigorosa apuração, não sobre se as vítimas eram criminosos", pois isso "não autoriza que eles sejam mortos em uma operação", e afirma ver uma saída política para policiais envolvidos no caso.

"Nós estamos observando que há uma saída política por policiais envolvidos na operação ou responsáveis por ela, assim como autoridades de Brasília, desculpando a ação porque eram todos bandidos e mereciam morrer de toda forma. Foram executados mesmo sem pena de morte no país. Acho importante que seja um marco", completou.

Na opinião da jornalista Cecília Olliveira, a questão a pela falta de serviços de educação, saúde e cultura nas comunidades.

Quando você pega e analisa o Jacarezinho como ele é, vê que falta absolutamente tudo. A única coisa que tem ali regularmente é a polícia. Você não tem escolas boas, bons postos de saúde, equipamentos de cultura, e de creche para mães que precisam trabalhar. Tudo isso é desorganizado naquele bairro. Então o que você espera que dê certo?
Cecília Olliveira, jornalista

"A gente viu que essa operação tem uma série de descoordenações: a motivação mudou, o número de mortos mudou, está tudo mudando", disse a jornalista. "A imprensa vai investigando, solta uma coisa, muda mais um detalhe que a polícia apresentou."