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

Chico Alves

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

PL que permite a banco tomar casa de devedor terá dificuldade no Senado

1º.mar.2019 - Fachada do Congresso Nacional, sede da Câmara e do Senado - Roque de Sá / Agência Senado
1º.mar.2019 - Fachada do Congresso Nacional, sede da Câmara e do Senado Imagem: Roque de Sá / Agência Senado

Colunista do UOL

04/06/2022 04h00

Aprovado na Câmara dos Deputados na quarta-feira (1º), o Projeto de Lei de autoria do governo que permite a penhora de imóveis únicos para quitação de dívidas de empréstimo com bancos não terá trâmite favorável no Senado. Seis senadores de quatro legendas ouvidos pela coluna se colocaram contra o texto e quase todos disseram que não será fácil aprová-lo na Casa.

Na prática, o projeto permite o uso de um imóvel como garantia para mais de um empréstimo, com juros mais baixos. O governo propõe a criação das Instituições Gestoras de Garantia (IGGs), que facultariam a bancos e instituições financeiras a penhora da casa usada como garantia, mesmo que seja o único imóvel do devedor. Isso acontece em países como os Estados Unidos, onde muitas pessoas pobres perdem a moradia para instituições financeiras, o que no Brasil é proibido por lei.

Para o senador Renan Calheiros (MDB-AL), a proposta é um retrocesso. "Esse impedimento da penhora do único imóvel residencial foi algo conseguido no governo Sarney, nos anos 80. Estamos dando os atrás", critica ele. "Assuntos polêmicos como esse não podem ser votados sem amplo debate com a sociedade, seria muito ruim"..

Álvaro Dias (Podemos-PA) lembra que quando foi governador do Paraná ajudou pequenos produtores rurais que, por causa de uma estiagem, não puderam pagar suas dívidas e os bancos estavam prestes a leiloar os imóveis. Dias instituiu um programa de salvação que alongou o prazo da dívida e a transferiu para o banco do estado.

"ei a defender intransigentemente a impenhorabilidade do bem único de família. Votarei contra e haverá resistência no Senado daqueles que têm uma visão mais social", critica o senador paranaense. "Acho essa proposta inissível".

De saída, o senador Marcelo Castro (MDB-PI) argumenta que o projeto é inconstitucional e acredita que o trâmite não será simples. "Sou contra. Esse texto terá muita dificuldade para ser aprovado na Casa", acredita. Eliziane Gama (Cidadania/MA) tem a mesma impressão: "Esse projeto não a, deve ter uma mobilização contra".

Randolfe Rodrigues (Rede/AP) é outro que tem avaliação de que a proposta encontrará muitas barreiras no Senado. "Acho que esse PL terá muita dificuldade para ser aprovado", diz ele.