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

Secretário da Previdência usa fama repentina para falar sobre a reforma

Adriana Fernandes e Idiana Tomazelli

Brasília

18/03/2019 07h42

Alçado aos tópicos mais comentados do Twitter no dia da apresentação da reforma da Previdência, o secretário adjunto especial de Previdência e Trabalho, Bruno Bianco Leal, converteu sua fama repentina em instrumento de propaganda e defesa da proposta que ajudou a elaborar. Em seu perfil recém-criado na rede social, ele já acumula 11,3 mil seguidores que recebem até "videoaulas" sobre a situação catastrófica das contas da Previdência.

No episódio mais recente, foi Bianco quem saiu em defesa da reforma e desafiou publicamente Ciro Gomes, terceiro colocado nas últimas eleições presidenciais, a provar a veracidade de uma informação divulgada pelo ex-candidato - que acabou desmentida pelo governo. A missão faz parte da estratégia de comunicação do governo para vencer a batalha pela aprovação da proposta no Congresso.

Em 20 de fevereiro deste ano, enquanto integrantes da equipe econômica anunciavam em uma entrevista de mais de quatro horas uma ampla proposta de mudança na vida e na aposentadoria de todos os brasileiros, Bianco virou assunto nas redes devido à sua voz mais aguda. A característica, que ele carrega desde o nascimento, se deve a um hiato nas pregas vocais, que acaba deixando o ar ar em meio às cordas durante a fala.

A pessoas próximas, Bianco demonstrou não ter se importado com o entusiasmo dos internautas, que chegaram a compará-lo a Mickey, personagem da Disney. Pelo contrário, virou o jogo a seu favor e se engajou na tarefa de usar o sucesso nas redes para angariar apoiadores da proposta entre a população e "neutralizar" informações falsas que acabam sendo disseminadas na internet.

Após o episódio, técnicos comentaram nos corredores que Bianco chegou a receber mensagens de apoio de fonoaudiólogos e atribuiu a repercussão ao fato de que as pessoas se identificam quando alguém deixa as inseguranças de lado para encarar um desafio. Falar em público para ele nem chega a ser novidade: graduado e com mestrado em Direito, ele dá aulas há dez anos.

O secretário acabou caindo nas graças também dos agentes do mercado financeiro, que ligam para a sede da Secretaria Especial pedindo nominalmente por uma agenda com Bianco. Na equipe econômica, a expectativa é que ele use a experiência adquirida durante as discussões da reforma do ex-presidente Michel Temer, quando já integrava o governo, para ajudar nas negociações técnicas e evitar os erros anteriores.

Slime da Previdência

Na esteira dessa popularidade, ele participou de um programa humorístico de rádio e já gravou nove vídeos publicados em seu Twitter - os últimos dois bateram recorde de visualizações e contaram com a participação da filha mais velha, Lara, de seis anos. Juntos, os dois fazem massa de modelar enquanto ele explica a situação das finanças do INSS e do regime dos servidores públicos.

Bianco tem 37 anos e é procurador federal da Advocacia-Geral da União (AGU). Partiu dele a iniciativa de acabar com a aposentadoria especial dos políticos (que permite benefícios de até R$ 33,7 mil mensais) e de estabelecer que todos os novos eleitos assem a contribuir para o INSS, como qualquer brasileiro. As informações são do jornal O Estado de S. Paulo.

Entenda a proposta de reforma da Previdência em 10 pontos

UOL Notícias