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

CNJ diz que há 4.895 presos por condenações de 2ª instância no Brasil

Gil Ferreira/SCO/STF
Imagem: Gil Ferreira/SCO/STF

Felipe Amorim

Do UOL, em Brasília

16/10/2019 11h13

O Conselho Nacional de Justiça (CNJ) emitiu uma nota oficial hoje dizendo que foram expedidos 4.895 mandados de prisão pelo segundo grau dos Tribunais Regionais Federais e dos Tribunais de Justiça. O dado foi extraído do Banco Nacional de Monitoramento de Prisões (BNMP).

Assim, este é o total de casos que a princípio, segundo a CNJ, pode ser afetado pelo julgamento das ADCs 43, 44 e 54, que será iniciado pelo Supremo Tribunal Federal (STF) amanhã. Porém, vale a ressalva de que o BNMP é atualizado com informações readas pelos tribunais de todo o país, nem sempre atualizadas de modo sincronizado, podendo haver imprecisões.

"É importante destacar que apenas as prisões decretadas exclusivamente em razão de condenação em segunda instância são objeto das ADCs. Tendo em conta esse esclarecimento, e extraindo-se dados corretos do BNMP para os casos exclusiva e potencialmente afetados pelas ADCs, foram expedidos apenas 4.895 mandados de prisão pelo segundo grau dos Tribunais Regionais Federais e dos Tribunais de Justiça", diz o comunicado.

O CNJ ainda explica que uma possível reversão do entendimento do STF, que atualmente permite a prisão após condenação em segunda instância, não seria a garantia de liberdade de forma automática.

"Ainda assim, é relevante observar que, em uma eventual decisão do plenário do STF diversa do entendimento atual, nem todo o universo dos 4.895 presos seria beneficiado. Isso porque continuaria sendo possível aos juízos, avaliando as peculiaridades de cada caso, sob a égide do mesmo artigo 312 do P, determinar a prisão cautelar", explica o comunicado.

Em dezembro do ano ado, o presidente do STF, Dias Toffoli, chegou a citar dados do CNJ que apontariam um total de 169 mil presos após condenação em segunda instância. Toffoli mencionou o dado ao suspender a decisão do ministro Marco Aurélio Mello que colocaria em liberdade os presos em segunda instância até que o Supremo julgasse o tema de forma definitiva.

O número do CNJ citado por Toffoli na verdade abrange todos os casos de prisões cautelares, que podem ser decretadas em qualquer fase do processo, e não apenas os condenados em segunda instância.