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

Trump assina memorando para excluir imigrantes irregulares do censo nos EUA

Medida implica grandes questões legais, e provavelmente causará disputas judiciais - JONATHAN ERNST
Medida implica grandes questões legais, e provavelmente causará disputas judiciais Imagem: JONATHAN ERNST

Da Reuters, em Washington (EUA)

21/07/2020 14h57

O presidente dos Estados Unidos, Donald Trump, assinou hoje um memorando que visa evitar que imigrantes que estão no país ilegalmente sejam contados quando os distritos congressuais norte-americanos forem reformulados na próxima rodada de reagrupamento distrital.

Um memorando da Casa Branca assinado por Trump disse que será uma política dos EUA excluir da contagem usada para os distritos os imigrantes que não estão legalmente no país.

Especialistas no Censo dos EUA e advogados dizem que a ação é legalmente dúbia e que provavelmente beneficiará o Partido Republicano de Trump eliminando a ampla população não-branca de imigrantes ilegais no país.

O reagrupamento distrital ocorre tanto no nível estadual, para desenhar mapas para os Legislativos estaduais, quanto no nível federal, para desenhar mapas de partilha de distritos congressuais pelo país.

Defensores dos distritos exclusivos para cidadãos argumentam que cada voto deve ter o mesmo peso. Se um distrito tem muito menos eleitores habilitados do que outro, dizem, cada voto ali tem mais influência no desfecho das eleições.

Democratas e defensores dos direitos dos imigrantes dizem que incluir aqueles que não votam garante que os líderes eleitos representam todos que dependem de serviços públicos, como escolas e coleta de lixo, independentemente de estarem habilitados ou não a votar.

Mas a medida implica grandes questões legais, e provavelmente causará disputas judiciais. Distritos congressuais só para cidadãos são vistos como potencialmente legais para distritos eleitorais estaduais, mas a Constituição diz explicitamente que a partilha congressual deveria se basear no "número total de pessoas" em cada Estado. Diversas leis federais reforçaram esta interpretação, e a Suprema Corte a manteve.

Outra dúvida é como o governo Trump vai obter dados sobre imigrantes sem documentação — o Censo de 2020 não pergunta aos entrevistados se são cidadãos, legalizados ou não.