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

'Revoltante', diz George Clooney sobre acidente em filme de Alec Baldwin

George Clooney deu seu parecer sobre a tragédia de "Rust" - Henry Nicholls
George Clooney deu seu parecer sobre a tragédia de 'Rust' Imagem: Henry Nicholls

Colaboração para Splash

16/11/2021 15h11

O acidente que matou a diretora de fotografia Halyna Hutchins nos bastidores de "Rust", filme produzido e protagonizado por Alec Baldwin, 63 anos, continua dando o que falar na mídia internacional.

Nesta semana, foi a vez de o astro hollywoodiano George Clooney, 60, dar sua opinião a respeito dos fatos que levaram à tragédia com Halyna, vítima de um disparo feito por Baldwin com uma arma cênica que não deveria estar carregada.

"Não conheço o Alec tão bem assim. Tenho lido as notícias e já decidiram que o errado da história é o assistente de realização [David Halls]. Mas, durante os 40 anos que tenho estado nos sets, a pessoa responsável pela arma foi a pessoa dos adereços ou o armeiro, ponto final", destacou Clooney, em entrevista ao podcast "WTF", do comediante e ator Marc Maron.

Ele também criticou as terminologias usadas durante as gravações de "Rust" para o manejo de armas no set.

Nunca ouvi o termo arma fria. Literalmente, eles estão falando sobre coisas das quais nunca ouvi falar. É simplesmente irritante. Sempre que recebo um revólver [com uma câmara de seis cartuchos], aponta-se para o chão e dispara-se. Seis vezes. Sempre.

"Toda vez que recebo uma arma em um set, toda vez que eles me entregam uma arma, eu olho para ela, eu abro, mostro para a pessoa para a qual estou apontando, nós mostramos para a equipe", acrescentou o protagonista de filmes como "Onze Homens e um Segredo" (2001).

"Todo mundo faz isso, todo mundo sabe. Talvez o Alec até tenha feito, mas o problema é que as dummies [balas de festim] são manhosas. Elas se parecem como as balas verdadeiras, mas têm um pequeno buraco na parte de trás, por onde alguém tirou a pólvora", esclareceu ainda.

Na visão de Clooney, a produção do longa tem parte da responsabilidade pela tragédia ocorrida.

"Por que este filme de baixo orçamento, com produtores novatos, não contrataria para armeiro uma pessoa com experiência? Havia munição verdadeira misturada com falsa na mochila dela! Isto é uma loucura, é revoltante! Uma pessoa de 24 anos provavelmente não deveria, com tão pouca experiência, estar à frente de um departamento de armas", detonou, numa alusão à armeira responsável pelo filme, a jovem Hannah Gutiérrez-Reed.