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

Ernesto Araújo anuncia criação no Itamaraty de Departamento do Agronegócio

EVARISTO SA / AFP
Imagem: EVARISTO SA / AFP

Lu Aiko Otta

Brasília

21/12/2018 13h18

O futuro chanceler, embaixador Ernesto Araújo, usou mais cedo sua conta no Twitter para anunciar que criará um Departamento do Agronegócio na estrutura do Ministério das Relações Exteriores (MRE). Segundo explicou, ele atuará em sintonia com o Ministério da Agricultura na conquista de novos mercados. "Daremos ao agro a atenção que no MRE ele nunca teve", escreveu.

Araújo relatou que "algumas negociações comerciais em curso são ruins para a agricultura", sem especificar quais nem por quê. "Vamos reorientá-las em benefício dos produtores brasileiros."

Afirmou também que a diplomacia brasileira defenderá o produtor brasileiro da pecha de ser agressor do meio ambiente. "O produtor agrícola brasileiro contribui para a preservação ambiental como em nenhum outro lugar do mundo."

Além disso, as embaixadas e a Agência Brasileira de Promoção de Exportações e Investimentos (Apex) serão direcionadas para promover os produtos agrícolas brasileiros "ativa e sistematicamente."

Casa do MST

Sem deixar de lado os comentários de cunho ideológico, Araújo afirmou que, nos governos do PT, o Itamaraty foi "a casa do MST". Agora, disse ele, "estará à disposição do produtor".

Em sua política externa, explicou ele, o Brasil não deixará de exportar soja, frango, carne e açúcar. "Mas ará a exportar também esperança e liberdade", escreveu. "O fato de ser uma potência agrícola não nos proíbe de ter ideais e de lutar por eles."

O embaixador ressaltou que "nenhum acordo comercial relevante" foi fechado nos últimos anos em que a política externa operou "sem ideais e sem identidade". Isso demonstra, no seu entendimento, que "não é pela autonegação ou pela adesão automática aos cânones do globalismo que o Brasil conquistará mercados, mas pela autoconfiança e pelo trabalho".

Enquanto o setor produtivo agrícola apoiou "maciçamente" a candidatura de Jair Bolsonaro à presidência, avaliou Araújo, "o establishment da velha política e da velha mídia quer usar o agro como pretexto para reduzir o Brasil a um país insignificante."

Na sua visão, um país "sem opinião própria" não será próspero. "Não adianta ganhar o prêmio de redação da ONU, não é isso que abre mercados nem cria empregos", disse. Ele comentou ser impressionante o "pavor do establishment" diante de um ideal. "Querem jogar a agricultura contra os ideais do povo brasileiro? Não conseguirão. O trabalho incansável, a fé, a inventividade, o patriotismo dos agricultores são a própria essência da brasilidade."

Ele concluiu dizendo que a pujança agrícola será "parte do projeto de engrandecimento do Brasil" e que a projeção de um País confiante, grande e forte servirá aos interesses da agricultura.