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

Músico perde flauta de R$ 119 mil no metrô; instrumento foi dado pela avó

Donald Rabin com a flauta no último Natal; ele esqueceu o item em um vagão do metrô de Chicago - Reprodução/Facebook
Donald Rabin com a flauta no último Natal; ele esqueceu o item em um vagão do metrô de Chicago Imagem: Reprodução/Facebook

Colaboração para Nossa, em São Paulo

04/02/2021 14h27

Um turista esqueceu uma flauta de US$ 22 mil (equivalente a R$ 119 mil) em um metrô de Chicago (EUA), na sexta-feira (29). Não obstante o valor financeiro, Donald Rabin tinha um carinho especial pelo instrumento, que foi comprado com o dinheiro da herança da sua avó falecida. Na esperança de recuperá-lo, o músico de 23 anos iniciou uma campanha nas redes sociais para divulgar o item perdido.

As portas do trem já haviam se fechado quando Donald percebeu que deixou o instrumento valioso entre um assento e a parede do metrô. "Eu tentei subir as escadas correndo para fazer uma baldeação, e assim que subi as escadas, pensei, 'ah meu Deus, meu Deus, meu instrumento se foi'", relatou o músico para a CNN Internacional.

Flautista há 11 anos e estudante de graduação no Conservatório de Boston, Donald afirma que a flauta não é apenas parte de sua carreira, como também uma extensão de seu corpo: "É como outro membro, é como um órgão. Eu me sinto muito estranho agora sem ela".

O jovem músico estava a caminho de Sanit Louis, no estado do Missouri, quando decidiu fazer ar por Chicago para conhecer a cidade.

Donald conta que fez tudo o que pôde para encontrar sua flauta assim que percebeu que ela havia sumido. Além de entrar em contato com as autoridades metroviárias, ele ou a noite pelos vagões da linha em que perdeu a flauta, na esperança dela cruzar o seu caminho novamente.

De acordo com ele, a flauta tem um enorme valor sentimental por ter sido um presente de sua avó. "Quando minha avó morreu de câncer em 2016, ela deixou em seu testamento que eu poderia usar a herança para comprar uma flauta. Isso é algo que sempre foi muito especial para mim", disse.

Em um apelo feito nas redes sociais para divulgar a flauta perdida, Donald escreveu que o instrumento é seu sustento e que ele está fazendo tudo o que pode para recuperá-la.

Na terça-feira (2), Rabin deixou Chicago e voltou para Boston. Ele disse que continua trabalhando com o Departamento de Polícia de Chicago para localizar o instrumento perdido.

"O final perfeito é para mim é estar reunido com a minha segunda metade", ponderou. "E ser capaz de trazer alegria de volta ao mundo com minha flauta, uma nota de cada vez", completou.