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

Após série de ataques a Macron, Bolsonaro muda tom e faz elogios à França

"Não tem por que Brasil e França se distanciarem. Temos que ser amigos", disse Bolsonaro em discurso - Aloísio Maurício/Fotoarena/Estadão Conteúdo
"Não tem por que Brasil e França se distanciarem. Temos que ser amigos", disse Bolsonaro em discurso Imagem: Aloísio Maurício/Fotoarena/Estadão Conteúdo

Do UOL, em São Paulo

09/02/2021 19h14Atualizada em 09/02/2021 20h46

O presidente Jair Bolsonaro (sem partido) fez hoje um aceno à França, menos de um mês depois de ter feito — novos — ataques ao presidente Emmanuel Macron. Bolsonaro chamou o país europeu de "vizinho", em referência à Guiana sa, e elogiou o Grupo Carrefour, francês, pelo apoio ao programa "Adote 1 Parque".

"Não tem por que Brasil e França se distanciarem. Afinal de contas, somos vizinhos. A maior fronteira da França é o Brasil, até botei aqui [na mão] para não esquecer: 730 quilômetros de fronteira. Temos que ser amigos", disse o presidente durante cerimônia no Palácio do Planalto, que também contou com a presença dos ministros Paulo Guedes (Economia), Ricardo Salles (Meio Ambiente) e Tereza Cristina (Agricultura).

O "Adote 1 Parque" foi criado com o objetivo de atrair recursos para custear a conservação dos parques da Amazônia Legal, em uma aposta para diminuir o desmatamento na região e melhorar a imagem da política ambiental brasileira. O Carrefour, citado por Bolsonaro, foi a primeira empresa a aderir ao programa, tendo "adotado" o parque da Reserva Extrativista do Lago do Cuniã, em Rondônia.

O tom usado hoje pelo presidente é diferente do usado muitas vezes pelo presidente para se referir à França ou a Macron. Recentemente, durante uma de suas lives semanais, Bolsonaro disse que o presidente francês falou "besteira" quando criticou o desmatamento no Brasil e, em tom de ironia, ofereceu mudas de árvores para reflorestar o país europeu.

Dois dias antes, em uma rede social, Macron havia atribuído a devastação da Amazônia ao plantio da soja e defendido que a Europa cultive o grão por conta própria para não depender da produção do Brasil.

"Fica falando besteira aí, 'seu' Macron, não conhece nem o seu país e fica dando pitaco aqui no Brasil", atacou Bolsonaro. "Não precisa dar dinheiro para nós, não. Nós vamos dar muda de árvore para você replantar aí, reflorestar aí. Quer reflorestar o seu país? Nós estamos à disposição para colaborar nesse sentido".

O presidente brasileiro também já apoiou um comentário ofensivo feito à esposa de Macron, Brigitte, por um seguidor no Facebook. A postagem trazia uma foto da primeira-dama sa e de Michelle Bolsonaro, com os dizeres "entende agora por que Macron persegue Bolsonaro?", sugerindo que as críticas do francês ao brasileiro seriam motivadas por inveja de sua esposa.

Negação

Durante seu discurso, Bolsonaro também voltou a dizer, sem apresentar dados, que o Brasil é um dos países que mais preservam o meio ambiente, mas reconheceu que é "difícil" cuidar da Amazônia e que, por isso, recursos de empresas privadas são necessários. "Venham nos ajudar", pediu o presidente.

Os números oficiais, porém, contestam a fala de Bolsonaro. Um relatório da ONG WWF Internacional divulgado em janeiro colocou o Brasil entre os que mais desmataram florestas e outros ecossistemas entre 2000 e 2018, o que coloca o país em estado de alerta para a possibilidade de ser o local de origem de novas zoonoses, como a covid-19.

Além disso, segundo dados do INPE (Instituto Nacional de Pesquisas Espaciais), 2020 foi o ano com maior número de focos de incêndio — 22.116 — identificados no Pantanal desde o início da série histórica, em 1998, tendo registrado mais que o dobro de queimadas em relação a 2019 (10.025).

Para além da questão ambiental, o desmatamento é uma ameaça à conclusão do acordo de livre comércio entre a União Europeia e o Mercosul, à medida que países como a França acusam o governo brasileiro de ser leniente com a devastação.

"Nossa casa está queimando. Literalmente. A floresta amazônica — os pulmões que produzem 20% do oxigênio de nosso planeta — está em chamas. É uma crise internacional. Membros do G7, vamos discutir essa emergência de primeira ordem em dois dias!", disse Macron em agosto de 2019, pouco antes da reunião da cúpula dos sete países mais avançados do mundo.

(Com Reuters)