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

Itapecerica da Serra decreta luto de três dias após mortes em desabamento

Ao todo, nove pessoas que eram funcionárias da empresa morreram após o desabamento - EVERALDO SILVA/FUTURA PRESS/FUTURA PRESS/ESTADÃO CONTEÚDO
Ao todo, nove pessoas que eram funcionárias da empresa morreram após o desabamento Imagem: EVERALDO SILVA/FUTURA PRESS/FUTURA PRESS/ESTADÃO CONTEÚDO

20/09/2022 19h32Atualizada em 20/09/2022 21h17

O prefeito de Itapacerica da Serra, Francisco Nakano, decretou luto de três dias na cidade após o desabamento de um auditório da empresa de cointêineres Multiteiner, localizada na Estrada Ferreira Guedes. O acidente, ocorrido por volta das 8h55 de hoje (20) provocou a morte de nove pessoas e ferimentos em 31. Destas, 28 precisaram ser levadas para hospitais da região e três ficaram feridas de forma leve.

Sete dos feridos foram encaminhados ao Hospital Geral de Pirajussura e estão em estado estável. Mais duas pessoas ainda serão encaminhadas ao local, informou a Secretaria Estadual de Saúde. Já para o Hospital Geral de Itapecerica da Serra foram levadas seis pessoas. Duas já tiveram alta, uma a por cirurgia e três estão em observação.

Os demais feridos foram encaminhados para os prontos-socorros do Jardim Jacira e para o de Embu das Artes. O estado de saúde deles não foi informado.

Os demais feridos foram encaminhados para os prontos-socorros do Jardim Jacira e para o de Embu das Artes. O estado de saúde deles não foi informado.

A Secretaria Estadual de Segurança Pública informou que uma parede localizada dentro do auditório da empresa desabou. Na hora, 64 pessoas estavam no local em uma reunião com políticos. Um deles era Jones Donizetti, candidato a deputado estadual pelo Solidariedade.

Nas redes sociais, Donizetti informou que foi convidado a conhecer a empresa e estava se despedindo dos trabalhadores quando parte da estrutura de concreto [do auditório onde eles estavam] se rompeu, deixando-os presos aos escombros. Ele ficou ferido. Quatro integrantes de sua equipe também ficaram presas aos escombros e tiveram que ser encaminhadas a hospitais da região.

De acordo com testemunhas, o lugar onde os trabalhadores estavam reunidos era um auditório, que ficava em uma espécie de mezanino com diversas cadeiras.

Em nota à imprensa, a prefeitura de Itapecerica da Serra informou que o projeto do local, que tinha sido aprovado anteriormente pela Companhia Ambiental do Estado de São Paulo (Cetesb), foi "irregularmente alterado" e que a regularização das mudanças junto aos órgãos públicos ainda estava em trâmite.

A Agência Brasil não conseguiu contato com a empresa Multiteiner.