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

PR: TRF permite que responsáveis por PCDs registrem carros em seus nomes

TRF4 determina que responsáveis por PCDs da região de Londrina, no Paraná, registrem carros adquiridos com isenção de impostos em seus nomes - Rubens Cavallari/Folhapress
TRF4 determina que responsáveis por PCDs da região de Londrina, no Paraná, registrem carros adquiridos com isenção de impostos em seus nomes Imagem: Rubens Cavallari/Folhapress

Do UOL, em São Paulo

02/10/2020 19h36

O TRF4 (Tribunal Regional da 4ª Região) confirmou a ação civil pública movida pelo MPF (Ministério Público Federal) permitindo o registro de veículos adquiridos com isenção de impostos (IPI ou ICMS) em nome dos representantes legais de PCDS (pessoas com deficiência) em casos em que a aquisição tenha sido financiada com recursos próprio, no norte do Paraná.

A medida é válida para os municípios que fazem parte da Subseção Judiciária de Londrina, sendo eles: Londrina, Alvorada do Sul, Arapongas, Assaí, Bela Vista do Paraíso, Cambé, Centenário do Sul, Congonhinhas, Cornélio Procópio, Figueira, Florestópolis, Guaraci, Ibiporã, Jaguapitã, Jataizinho, Leópolis, Miraselva, Nova América da Colina, Nova Fátima, Nova Santa Bárbara, Pitangueiras, Porecatu, Prado Ferreira, Primeiro de Maio, Rancho Alegre, Rolândia, Santa Cecília do Pavão, Santa Mariana, Santo Antônio do Paraíso, São Jerônimo da Serra, São Sebastião da Amoreira, Sapopema, Sertaneja, Sertanópolis, Tamarana e Uraí.

O MPF ajuizou a ação questionando uma medida do Detran-PR (Departamento de Trânsito do Paraná) onde afirmava que o Certificado de Registro de Veículos de automóveis adquiridos com a isenção pudesse ser expedido somente em nome do próprio beneficiário, não permitindo que o registro se desse em nome de pessoa responsável.

Esta exigência, segundo o Ministério Público, fazia com que no momento da revenda do automóvel, fosse necessária uma autorização judicial para transferir o bem, por estar cadastrado em nome de menor de idade.

"O direito de responsáveis por menores com deficiência foi respeitado em detrimento ao excesso de burocracias institucionais que criavam empecilhos para a aplicação da lei", diz o procurador da República em Londrina Luiz Antônio Ximenes Cibin.