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

Paes ite quarentena frouxa e fiscalização difícil: 'Mundo de ficção'

Declaração foi dada hoje por Eduardo Paes (DEM) logo após se encontrar com o presidente Jair Bolsonaro (sem partido) - Ramon Vellasco/Futura Press/Estadão Conteúdo
Declaração foi dada hoje por Eduardo Paes (DEM) logo após se encontrar com o presidente Jair Bolsonaro (sem partido) Imagem: Ramon Vellasco/Futura Press/Estadão Conteúdo

Hanrrikson de Andrade

Do UOL, em Brasília

15/12/2020 12h43

O prefeito eleito do Rio, Eduardo Paes (DEM), fez uma defesa ponderada de medidas de restrição contra a disseminação do coronavírus e afirmou que não se pode "pedir à população [do Rio] aquilo que a gente sabe que a população não vai cumprir".

"Ficar fingindo que estabelece regra, que a gente fiscaliza e a gente vai vendo um mundo de ficção", declarou ele na manhã de hoje após encontro com o presidente Jair Bolsonaro (sem partido), no Palácio do Planalto, em Brasília.

Esta foi a primeira reunião de trabalho entre os dois após o segundo turno das eleições. Bolsonaro é um crítico de longa data do isolamento social e do fechamento do comércio nas cidades. Segundo o democrata, no entanto, não houve por parte do presidente uma tentativa de lobby para que o Rio priorize a questão da economia e mantenha suas atividades. Ele observou que esta é uma decisão do poder local, isto é, as prefeituras.

"Eu acho que é uma coisa de comunicação com a população que é muito importante. Não pode ser uma disputa entre uma medida de lockdown e uma medida de liberação total. Isso vai se adequando. As prefeituras têm esse papel. E é o que gente pretende fazer no Rio."

Paes disse que enviará técnicos de sua equipe a Salvador, cidade governada pelo também democrata ACM Neto. A ideia é fazer um estudo das iniciativas e medidas de restrição adotadas na capital baiana.

O prefeito eleito do Rio também sinalizou não ter preferência quanto à marca da vacina que será comprada pelo governo brasileiro para execução de um Plano Nacional de Imunização. Alheio às disputas políticas envolvendo a injeção de recursos no combate ao coronavírus, Paes declarou entender que o caminho seria uma "integração" entre todos os imunizantes disponíveis.

"Eu acho que esse é o caminho. Que a gente integre todos os esforços. CoronaVac, Pfizer, seja lá de onde for a vacina. Para que a gente possa atender à população, estabelecendo prioridades. O pessoal da saúde, nós precisamos voltar as nossas aulas, professores têm que ser vacinados... Enfim, as pessoas mais velhas. Todas as obviedades que a gente já conhece a partir dessa experiência."

Paes disse ter ouvido de Bolsonaro, durante a reunião, que a medida provisória que liberará R$ 20 bilhões para compra de vacinas será publicada ainda hoje.

"Nós não entramos em detalhes. O que ele disse é que estaria publicando uma medida provisória hoje, o tal dos R$ 20 bilhões aí para compra de vacinas. Isso provavelmente se iniciaria agora. Claro que não com todas as vacinas necessárias, com todas as doses necessárias nesse primeiro momento, mas me parece que o Plano Nacional de Imunização vai caminhar. Isso traz bastante conforto e espero que a gente possa avançar nessa questão."