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

Bolsonaro faz live na madrugada para explicar fala sobre venezuelanas

Do UOL, em São Paulo

16/10/2022 08h06Atualizada em 16/10/2022 12h27

O presidente Jair Bolsonaro (PL) fez uma transmissão ao vivo durante a madrugada de hoje para comentar o vídeo de uma fala dele sobre meninas venezuelanas que viralizou nas redes sociais.

A gravação é de uma entrevista que o chefe do Executivo deu a um podcast na sexta-feira (14), na qual ele diz que encontrou, em 2021, adolescentes da Venezuela "arrumadas para ganhar a vida" em São Sebastião, região istrativa do Distrito Federal, insinuando prostituição infantil. Nessa entrevista, o presidente também se referiu ao episódio dizendo que "pintou um clima".

Na transmissão ao vivo de hoje, Bolsonaro acusou o PT de distorcer sua declaração e disse que o ocorrido foi gravado em outra live feita por ele, e que foi retransmitida pela CNN Brasil.

"O que eu fiz naquele momento? Eu mostrei minha indignação. Eu estava na região periférica de Brasília com a minha moto. Quando eu parei, eu vi umas meninas de uns 14, 15 anos, bem arrumadas, meninas humildes. Aí eu pedi para entrar na casa delas. Entrei com umas dez pessoas comigo", disse o presidente.

"O que eu estava mostrando com aquilo? Que aquelas meninas venezuelanas que tinham fugido do seu país estavam fugindo da fome", acrescentou, sem explicar o que quis dizer quando afirmou na última sexta-feira que "rolou um clima" durante a visita.

Bolsonaro acusou PT de distorcer fala. Durante a live, o presidente Jair Bolsonaro mencionou mais de uma vez o PT como responsável por deturpar a sua declaração sobre as venezuelanas.

"O PT realmente ultraou todos os limites. É um partido que não tem qualquer compromisso com a verdade, com a dignidade da pessoa humana. [...] Vocês perderam todos os limites. Vocês mostraram em definitivo o caráter de vocês, o que vocês querem para o Brasil: é chegar ao poder a qualquer preço", afirmou Bolsonaro.

Jovem venezuelana refutou fala de Bolsonaro. Conforme mostra reportagem do UOL, uma das venezuelanas visitadas pelo presidente em São Sebastião rechaçou a fala dele e disse que a casa visitada estava fazendo uma ação social para refugiadas.

"Não tem nada a ver com o que ele está falando agora", diz a venezuelana, que pediu para ter seu nome preservado, pois teme retaliação. O UOL confirmou que ela estava no local no dia da visita do presidente.

Esse dia foi uma ação que acontecia na minha casa. Uma brasileira que fazia curso de estética vinha até aqui para fazer a prática do que estava aprendendo, de corte de cabelo, design de sobrancelha. Então, nós reuníamos um grupo de mulheres e era isso o que acontecia naquele dia." Mulher venezuelana que estava durante visita de Bolsonaro em São Sebastião

Ainda de acordo com a mulher, havia adolescentes na casa naquele dia, entre elas, sua filha e sua sobrinha.