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

Criança recém-operada do coração é flagrada vivendo dentro de lixão em PE

Ministério Público encontrou famílias vivendo em situação degradante em um lixão de Floresta, cidade no sertão de Pernambuco - Marcus Antonius/Acervo FPI/PE
Ministério Público encontrou famílias vivendo em situação degradante em um lixão de Floresta, cidade no sertão de Pernambuco
Imagem: Marcus Antonius/Acervo FPI/PE

Carlos Madeiro

Colaboração para o UOL, em Maceió

20/07/2019 04h01

Uma ação dos Ministérios Públicos estadual e federal em Pernambuco flagrou anteontem famílias morando em situação degradante no lixão de Floresta, no Sertão. Uma menina de 12 anos que havia ado por uma cirurgia cardíaca recente no Recife foi retirada do local.

A pouco mais de 400 quilômetros da capital, a cidade de Floresta é ponto de partida de um dos canais da transposição do rio São Francisco. As famílias vivem da venda de material reciclável recolhido no local.

A garota resgatada morava com a família em uma habitação feita de papelão e foi encaminhada no mesmo dia para o hospital da cidade.

Segundo o MPF, a criança "corria risco de vida em razão do ambiente poluído em que se encontrava, contrariando a recomendação médica para o pós-operatório."

Ministério Público localiza famílias vivendo no lixão de Floresta, sertão de Pernambuco  - Marcus Antonius/Acervo FPI/PE - Marcus Antonius/Acervo FPI/PE
Ministério Público localiza famílias vivendo no lixão de Floresta, sertão de Pernambuco
Imagem: Marcus Antonius/Acervo FPI/PE

A equipe da Fiscalização Preventiva Integrada (FPI) da bacia do rio São Francisco entrou em contato com o prefeito da cidade, Ricardo Ferraz (PRP), e com secretários municipais.

Eles foram cobrados por solucionar a situação. Foi sugerido um levantamento sobre todos os moradores do lixão, além da adoção de medidas, em caráter emergencial, para retirar todas as pessoas do local.

"Em seguida, o poder público deve auxiliá-los a formar cooperativas para que eles desempenhem sua atividade profissional de forma adequada, com o uso de equipamentos de segurança e inclusão na cadeia da coleta seletiva, que ainda não existe em Floresta", pediu a FPI.

O MP de Pernambuco ainda pede a proibição do o e da permanência das pessoas no lixão. "O terreno está muito degradado, e o lixão, apesar de ser cercado, não tem controle de o", disse Maria do Rosário Malheiros, coordenadora da equipe Saneamento e servidora do MP.

Ainda segundo a FPI, os gestores públicos que acompanharam a visita se comprometeram a encaminhar, nos próximos dias, equipes do Centro de Referência em Assistência Social e do Conselho Tutelar para avaliar a situação das famílias e, em especial, das crianças.