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

Buscas em Brumadinho são suspensas devido à chuva

Mirthyani Bezerra e Luciana Amaral

Do UOL, em São Paulo e em Brumadinho (MG)

04/02/2019 08h07

Por causa das fortes chuvas que caem sobre Brumadinho (MG) na manhã desta segunda-feira (4), o Corpo de Bombeiros suspendeu as buscas pelas vítimas do rompimento da barragem da Vale, ocorrido no dia 25 de janeiro. 

As equipes de resgate aguardam a melhora no tempo. Segundo a corporação, por volta das 8h30 as chuvas diminuíram e uma aeronave saiu de Belo Horizonte com destino a Brumadinho para faze rum sobrevoo de avaliação e, assim, identificar se os trabalhos poderão ser retomados. As demais aeronaves permanecem em suas bases, em Belo Horizonte.
 
As equipes de resgate contam com 454 pessoas, entre quais 228 bombeiros de Minas Gerais, 64 militares da Força Nacional, 104 bombeiros de outros estados, além de 58 voluntários.

Até esse domingo (3), haviam sido identificados 114 dos 121 corpos já resgatados. Com a identificação das vítimas, começou a cair o número de desaparecidos. Ao todo, há 205 pessoas desaparecidas, 65 delas empregadas da Vale. Outras 394 pessoas foram localizadas com vida, sendo 223 dela são empregadas da Vale. 

Boato

Por volta da meia-noite do domingo para a segunda-feira, correu na cidade um boato de que uma sirene de alerta da Vale havia sido acionada, o que teria gerado apreensão de sobreviventes e equipes que trabalham no local. 

Procurada pela reportagem do UOL ainda durante a madrugada, a Polícia Militar informou que o sinal sonoro que havia soado foi de máquinas sendo acionadas e desligadas e não corresponde a sirene de alerta para desastres.

Os bombeiros confirmaram que não houve acionamento de sirenes.

"Um equipamento de uma empresa das adjacências, talvez até uma mineradora, ao ser acionado soou uma sirene, ou teria sido uma sirene de início de turno. O fato é que que não se tratar de uma sirene de alarme. É logico que uma sirene no meio da madrugada causou uma apreensão muito grande e nós tentamos levantar qual era essa situação para rear rapidamente a informação e evitar o pânico", explicou Anderson os, tenente-coronel do Corpo de Bombeiros em entrevista à BandNews FM. 

Outra barragem da Vale, a B6, chegou a ter "risco eminente" de rompimento no dia 27 de janeiro. Em vez de rejeitos de minério, a B6 possui água e fica próxima a que cedeu no dia 25. Os Corpo de Bombeiros iniciou no mesmo dia o bombeamento da água armazenada na B6 e o risco deixou de existir. 

Resgate se concentra na entrada da Vale

Band Notí­cias