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

Jamil Chade

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Suíços ajudarão a restaurar relógio histórico destruído por golpistas

Relógio de D. João 6° será restaurado após ataques de 8 de janeiro - Kleyton Amorim/UOL
Relógio de D. João 6° será restaurado após ataques de 8 de janeiro Imagem: Kleyton Amorim/UOL

Colunista do UOL

16/02/2023 17h57

Receba os novos posts desta coluna no seu e-mail

Email inválido

Especialistas suíços vão ajudar o governo brasileiro a restaurar o relógio histórico danificado em 8 de janeiro por grupos bolsonaristas. Os artesãos do país alpino vão trabalhar com curadores e profissionais brasileiros na recuperação do objeto do século 17 e que estava no Palácio do Planalto.

Em uma nota divulgada nesta quinta-feira, o governo brasileiro revelou que a oferta veio da embaixada da Suíça no Brasil. Os suíços acumulam séculos de experiência e tradição no setor da relojoaria, que representa um importante pilar da indústria do país europeu.

O UOL apurou que as conversas entre os suíços e o Ministério da Cultura começaram ainda no final do mês ado, por uma iniciativa do embaixador Pietro Lazzeri,

O relógio histórico Balthasar Martinot Boulle pertenceu a D. João VI, que recebeu a peça de presente da corte sa e levou ao Brasil em 1808. Existem apenas dois exemplares do relógio. Um deles está no palácio de Versalhes, na França. Ou outro ficava exposto no Palácio do Planalto, em Brasília. No dia 8 de janeiro, quando as sedes do três poderes na capital foram invadidas, um dos itens destruídos foi o relógio.

Segundo nota divulgada pela embaixada da Suíça no Brasil, os graves acontecimentos "despertaram profunda emoção na Suíça, assim como uma forte solidariedade com as instituições e a democracia brasileira".

"A embaixada da Suíça em Brasília apresentou às autoridades brasileiras (Presidência da República, Ministério da Cultura e IPHAN) uma iniciativa de restauração do patrimônio histórico danificado, parte fundamental da identidade e da memória do país", afirmou.

De acordo com o governo europeu, um produtor suíço de relógios de "longa tradição e experiência" ofereceu o apoio de alguns dos maiores especialistas e artesãos para a restauração da peça.

Segundo o governo, os detalhes da cooperação ainda estão sendo definidos.

"Numa primeira avaliação, levando em conta os graves danos sofridos e as características e complexidade do relógio, será necessário o engajamento de um conjunto de especialistas", disseram os suíços.

Até o final do mês, especialistas suíços farão uma visita ao Brasil e, sob supervisão de curadores e especialistas brasileiros, avaliarão a dimensão do estrago. A visita ainda servirá para definir um cronograma para as diferentes etapas de restauração do relógio.

"A Suíça e o Brasil têm relações históricas de amizade e cooperação baseadas sobre valores comuns. A colaboração que decorre da nobre missão de proteger o patrimônio histórico e artístico é um elemento emblemático que reforçará ainda mais a amizade entre os nossos dois países", indicou a nota da embaixada da Suíça no Brasil.