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

Renda Brasil de R$ 300 exigirá redução de despesas ou de beneficiários

Novo programa deve ir além de unir Bolsa Família, abono salarial, Farmácia Popular e seguro defeso - Gabriela Biló/Estadão Conteúdo
Novo programa deve ir além de unir Bolsa Família, abono salarial, Farmácia Popular e seguro defeso Imagem: Gabriela Biló/Estadão Conteúdo

25/08/2020 16h22Atualizada em 25/08/2020 16h58

Um benefício de R$ 300 ou mais para o Renda Brasil exigirá corte adicional de despesas para além da unificação do Bolsa Família, abono salarial, Farmácia Popular e seguro defeso. Adicionalmente, para atender os desejos do presidente Jair Bolsonaro (sem partido), as discussões giram em torno da quantidade de novas famílias que deverão ser contempladas, disseram duas fontes da equipe econômica.

Originalmente, o time do ministro Paulo Guedes apresentou ao presidente uma proposta para fusão desses programas, o que representaria um acréscimo de cerca de R$ 21 bilhões anuais ao orçamento do Bolsa Família, que contempla hoje cerca de 14 milhões de famílias a um custo de de R$ 30 bilhões, em média, por ano.

Segundo uma fonte da equipe econômica, essa fórmula seria considerada mais viável politicamente e, do ponto de vista fiscal, representaria um nascimento do Renda Brasil já aderente à regra do teto de gastos. O programa teria um orçamento maior que o do Bolsa Família, mas sem a criação de despesas adicionais, sendo alimentado unicamente pela focalização promovida.

O desenho garantiria um benefício de cerca de R$ 250, acima da média de R$ 190 do Bolsa Família. Bolsonaro, contudo, sinalizou a intenção de fixar um valor maior para o Renda Brasil. Com o ime, o lançamento do programa, originalmente prometido para hoje, acabou sendo suspenso, ainda sem data para ser apresentado.

Uma segunda fonte da equipe de Guedes pontuou que é possível estipular um valor maior desde que o governo avance em "ações mais amargas", que necessariamente envolvam corte de despesas ou desindexação de gastos obrigatórios.

O objetivo é apresentar uma lista das despesas íveis de corte para que o Congresso Nacional, por meio das lideranças do governo, avalie o que é possível ser feito.

"Tem que reduzir uma despesa para criar espaço fiscal e no teto para aumentar outra despesa, no caso o Renda Brasil", afirmou a fonte, frisando que, por essa razão, não é possível garantir uma cobertura maior para o programa apenas com o fim de benefícios fiscais (como deduções no Imposto de Renda, por exemplo), que representariam um incremento nas receitas.

Diante do nó, o debate no momento está mais focado na calibragem da base, isto é, no número de famílias que entrarão no programa, acrescentou a fonte. Isso porque, com um acréscimo menor de novos beneficiários, será possível aumentar o valor do benefício sem mexer em temas considerados mais politicamente sensíveis.

Outro ponto na mesa é que a equipe econômica quer que o valor do novo programa seja bem similar ao que será pago na extensão do auxílio emergencial neste ano.

Bolsonaro afirmou recentemente que o auxílio será prorrogado até dezembro, mas disse não saber ainda sob qual valor. No patamar atual de R$ 600, o auxílio tem um custo de cerca de R$ 50 bilhões — e sua extensão nesses moldes é considerada alta e inviável pela equipe econômica.