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

Sem provas, Marina diz que Dilma e João Santana 'inventaram' fake news

Do UOL, em São Paulo

06/05/2020 16h33

Marina Silva (Rede-AC) fez duras críticas a Jair Bolsonaro (sem partido), mas, hoje, ao UOL Entrevista, a ex-ministra do Meio Ambiente também afirmou, sem provas, que as fake news teriam sido inventadas por Dilma Rousseff (PT) e o publicitário João Santana antes do mandato do atual presidente da República. A conversa foi conduzida pelo colunista Tales Faria.

"Quando ela [Dilma] foi para a Casa Civil, tivemos divergências, mas nada mais do que isso. Tivemos um debate civilizado. Mas em 2014, a campanha da DIlma inaugurou as fake news. Eles tiveram algo similar ao 'gabinete do ódio'. Quem inaugurou as fake news foram Dilma e João Santana. Isso está mais do que comprovado", afirmou Marina, embora não tenha apresentado provas.

"O [Donald] Trump veio depois. O João Santana diz isso em seu próprio livro, ele dedica uma parte para dizer da reunião que tiveram, da decisão que tomaram, de me enfrentar não em uma disputa democrática, mas em uma disputa fraudulenta. É fraude falar mentira, é fraude usar dinheiro roubado para ganhar uma eleição. Então foram eles que inventaram isso", acusou.

"Chega de rótulos", diz Marina, que critica PT e PSDB

Marina não poupou Jair Bolsonaro durante a entrevista ao UOL, mas tratou os governos anteriores, em especial os de PT e PSDB, como "culpados" pelo surgimento e crescimento do bolsonarismo nos últimos anos.

"Mesmo assim, eu não tenho raiva. Eu sinto dor pelo que aconteceu. Eles [PT e PSDB] decepcionaram de tal forma, que acabaram chocando esse ovo terrível que se chama Bolsonaro", lamentou.

A ex-senadora disse acreditar que não há, neste momento do país, uma "esquerda" unificada ideologicamente, e, com base nisto, defendeu que movimentos de oposição a Bolsonaro deveriam se unir sem estes "rótulos".

"Há as esquerdas que se juntaram com Haddad, com Renan Calheiros... Existem variações nesse contexto. Eu acho que a união deve ser através do Brasil atual. Chega de rótulos", disse Marina, aproveitando para explicar por que não fala se ainda quer ser candidata no futuro.

"Eu já fui candidata três vezes. Paguei o preço. Agradeço ao povo brasileiro. Mas, nesse contexto, a pior coisa que temos que fazer é discutir candidatura agora. Terminamos a eleição, e o Ciro [Gomes, PDT] disse: 'sou candidato'. Mas era outro momento. O que eu quero é discutir o Brasil agora."

"Estamos brigando por respiradores e por máscaras [no combate ao coronavírus]. Então, esse novo contexto é algo que merece ser debatido, por méritos, e não por rótulos. Eu acho que podemos debater o Brasil. O PT fez uma escolha: escolha de que não houve corrupção. E quando não se faz autocritica...", criticou.