;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Governo conclui primeira versão de projeto para privatizar Correios em 2021

Hanrrikson de Andrade

Do UOL, em Brasília

14/10/2020 10h01

O Ministério das Comunicações encaminhou hoje à Secretaria de Assuntos Jurídicos, órgão do Palácio do Planalto, a primeira versão do projeto de lei que pretende realizar a privatização dos Correios no ano que vem.

O texto ará pelo crivo da secretaria e, na sequência, será analisado pela Casa Civil, antes de ser enviado ao Congresso Nacional. Caberá a deputados e senadores a decisão sobre a venda da estatal em 2021. A estimativa é que o negócio resulte em uma receita de R$ 15 bilhões.

O ministro das Comunicações, Fábio Faria, participou de uma reunião com o presidente Jair Bolsonaro (sem partido) na manhã de hoje. Ao fim da agenda, disse que ainda não é a "hora certa" de explicar detalhes, mas afirmou que a universalização dos Correios será mantida, seja por meio de uma estatal ou de contratos de concessão".

"A ideia é melhorar a capacidade de entrega dos Correios. Quem hoje recebe cartas, boletos ou qualquer embalagem, em qualquer lugar do país, não vai deixar de receber. A parte da universalização está mantida", disse.

Segundo o ministro, a versão inicial do projeto "trata mais de princípios do que de regras". "As regras serão debatidas no Congresso. (...) Ninguém vai fazer isso lá de uma maneira brusca. Será feito no momento certo, e o Congresso com certeza será justo em relação a esse tema", afirmou o ministro, dizendo que funcionários, lojistas e todos os afetados pela privatização terão oportunidade de dialogar com deputados e senadores.

Substituir a Anatel

Entre as medidas previstas no projeto está a criação de uma Agência Nacional de Comunicações, no lugar da atual Agência Nacional de Telecomunicações (Anatel), que ará a regular também os serviços postais.

"O projeto de lei permite que os serviços prestados no âmbito do Sistema Nacional de Serviços Postais sejam explorados em regime privado, respeitando, porém, a Constituição Federal em seu artigo 21, que estabelece à União manter o serviço postal, o que será delegado ao Operador Postal Designado no decorrer do processo de privatização dos Correios", informou o ministério em nota.

Consultoria prepara recomendações

Além do desenho do possível certame, o governo encaminhará ao Congresso o relatório de uma empresa de consultoria contratada pelo BNDES. No documento, técnicos farão uma análise do processo licitatório e elencarão recomendações. A palavra final é do Parlamento.

A consultoria já iniciou os trabalhos e deve encerrar o relatório daqui a aproximadamente 30 dias. Nesse período, o Planalto deverá avaliar o texto elaborado pelo ministério e realizar eventuais ajustes.

(Com Reuters)