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

Bolsonaro contraria Guedes e nega que taxará compras de Shopee e Shein

Bolsonaro ressaltou ainda que para possíveis irregularidades, nesse serviço ou outros, "a saída deve ser a fiscalização, não o aumento de impostos" - Reuters
Bolsonaro ressaltou ainda que para possíveis irregularidades, nesse serviço ou outros, 'a saída deve ser a fiscalização, não o aumento de impostos' Imagem: Reuters

Do UOL, em São Paulo*

21/05/2022 15h55

O presidente Jair Bolsonaro disse neste sábado que não pretende medida provisória para taxação de compras por aplicativos, rebatendo, segundo ele, informações que teriam circulado na imprensa.

"Não ei nenhuma MP para taxar compras por aplicativos de comércio virtual como Shopee, AliExpress, Shein, etc como grande parte da mídia vem divulgando", afirmou em publicações em suas redes sociais. Ele ressaltou ainda que para possíveis irregularidades, nesse serviço ou outros, "a saída deve ser a fiscalização, não o aumento de impostos".

A fala de Bolsonaro vem numa linha contrária à sinalizada esta semana pelo seu ministro da Economia, Paulo Guedes, para quem, o digitax (imposto para compras digitais) deve ser uma saída para "equalizar o jogo". Na quinta-feira, durante o seminário "Perspectivas econômicas do Brasil", promovido pela Arko Advice e o Traders Club, o ministro foi questionado justamente sobre esse tema.

Guedes explicou que sua equipe está trabalhando na construção de um imposto digital junto com a Organização para Cooperação e Desenvolvimento Econômico (OCDE). "Nosso time está trabalhando .em digitax com a OCDE", disse. "A China é capitalismo selvagem. Está praticando Adam Smith: a por baixa da aduana, isso é século XVIII, não tem salário mínimo lá."

Segundo Guedes, o "camelódromo virtual" existe mesmo e é "maciço". "Tem todo tipo de fraude lá, mas queremos que a regra do jogo seja igual para todo mundo. É uma fraude porque falsifica o valor do bem. Tem algo acontecendo e que temos que olhar. Acho que estamos entrando no mundo digital cada vez mais."

A saída, de acordo com o ministro, é o surgimento do digitax para equalizar o jogo. "Não sei como será feito. Tem países querendo jogar imposto muito alto. Vamos ter que entrar nisso", disse. Segundo ele, os governos precisam atuar de forma nivelada. "É o massacre da serra elétrica que estamos assistindo hoje."

*Com Reuters e Estadão Conteúdo