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

Helicóptero que transportava Boechat sofreu pane mecânica, diz Polícia Civil

Helicóptero tentou pousar na rodovia e colidiu com caminhão, segundo PM - Reprodução/Globo News
Helicóptero tentou pousar na rodovia e colidiu com caminhão, segundo PM Imagem: Reprodução/Globo News

Felipe Resk

15/02/2019 23h33Atualizada em 16/02/2019 17h17

O helicóptero que transportava o jornalista Ricardo Boechat, 66, sofreu uma pane mecânica antes de cair na rodovia Anhanguera, em São Paulo, apontam informações preliminares da Polícia Civil. O inquérito policial não deve responsabilizar criminalmente nenhum dos envolvidos. O piloto Ronaldo Quattrucci, 56, também morreu no acidente.

A queda aconteceu na última segunda-feira (11). "Houve uma pane mecânica. Quer dizer, não há de se falar que o cara ia por um remold lá no motor ou sei lá onde, montar na aeronave e subir", afirmou à reportagem o delegado Luiz Roberto Hellmeister, responsável pelo inquérito na Polícia Civil. Os investigadores aguardam laudos para confirmar as circunstâncias do acidente.

Vídeo mostra queda de helicóptero com Boechat

UOL Notícias

Quattrucci era sócio majoritário da empresa RQ Serviços Aéreos Especializados, com sede em São Paulo. "Ele era dono da aeronave e único piloto da empresa. Ficou comprovado por profissionais da área que ele fez todo procedimento de pouso de emergência", disse Hellmeister.

Para o delegado, as investigações, até o momento, apontam para possível responsabilidade istrativa --e não criminal-- de pessoas vinculadas à empresa. Dois dias após a tragédia, a Agência Nacional de Aviação Civil (Anac) suspendeu a RQ Serviços Aéreos por haver "indícios" que ela prestava serviços de táxi-aéreo sem autorização.

A versão foi confirmada à Polícia Civil, nesta sexta-feira (15), pelo filho e sócio do piloto, o nutricionista Rodrigo Quattrucci, de 23 anos, detentor de menos de 2% das ações da RQ Serviços Aéreos. Segundo as investigações, ele só teria ido quatro vezes na empresa desde a fundação, em março de 2004.

Na delegacia, ele informou que a aeronave não tinha seguro. Havia apenas seguro para os tripulantes, que teria sido posto à disposição de familiares das vítimas e do motorista do caminhão em que o helicóptero colidiu.

Boechat morreu por politraumatismo

Laudo do Instituto Médico Legal (IML) apontou que Boechat morreu em decorrência de politraumatismo provocado pela queda do helicóptero. De acordo com o documento, o jornalista sofreu traumatismos torácico e abdominal, "caracterizando politraumatismo, com carbonização secundária".

O exame não apontou indícios de que Boechat inspirou fuligem ou fumaça antes de morrer. "(Foi detectada) uma concentração abaixo de 10% de carboxihemoglobina (intoxicação por monóxido de carbono) no sangue, o que indica que a vítima já se encontrava em óbito antes da exposição ao gás", afirma o laudo. O corpo do jornalista foi reconhecido pela arcada dentária.

Ricardo Boechat morreu por politraumatismo

redetv