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

Constança Rezende

'Sou militante, sim', diz presidente da OAB, em resposta a Sergio Moro

Retrato de Felipe Santa Cruz, Presidente da OAB - Fernando Moraes/UOL
Retrato de Felipe Santa Cruz, Presidente da OAB Imagem: Fernando Moraes/UOL

Colunista do UOL

13/12/2019 02h00

Em novo embate com o governo, o presidente da OAB (Ordem dos Advogados do Brasil), Felipe Santa Cruz, disse que o ministro da Justiça e Segurança Pública, Sergio Moro, só aceita conversar com quem ele concorda. Também afirmou ser "militante com muito orgulho" e que não pretende mudar.

A declaração foi dada ao UOL um dia após Moro afirmar que não receberá o chefe da OAB enquanto este, segundo ele, mantiver uma postura de "militante político-partidário".

"Sou militante, mesmo. Sou militante de Direitos Humanos, das causas das mulheres, dos negros, e tenho muito orgulho disso. Por isso, eles não gostam de mim. Não deixarei de ser militante dessas causas, não sou obrigado. Esse é o papel da OAB", disse o presidente da ordem,

Santa Cruz contou nunca ter sido recebido por Moro, apesar de ter pedido oficialmente duas vezes. O advogado ressaltou que, até no período da ditadura militar, a OAB dialogava com o governo, mesmo tendo uma posição contrária.

A polêmica entre Moro e Santa Cruz começou após a imprensa ter divulgado, na manhã desta quarta-feira, 11, que o presidente da OAB disse que apoiadores do presidente Jair Bolsonaro (sem partido) têm "desvio de caráter". Em resposta, Moro disse que só atenderia Santa Cruz se este retirasse as ofensas ao presidente e seus eleitores.

Por sua vez, o presidente da OAB disse que foi mal interpretado e que não se referiu a todos eleitores de Bolsonaro, mas aos que o elegeram por concordar com os seus ataques às minorias. Apesar disso, afirmou que não pretende se retratar.

"Acho que o presidente atrai o apoio dessas pessoas pró ditadura, pró racismo, mas obviamente essa não é a totalidade dos eleitores dele. Não vou retratar-me porque ele não nega esses posicionamentos. O que eu me preocupo é com a potencialização desse grupo que representa o retrocesso, que ignora a luta das mulheres, as causas ambientais", disse.

A discussão é mais um capítulo da rusga de Santa Cruz com o governo Bolsonaro. Em julho, o presidente atacou Santa Cruz afirmando que poderia "contar a verdade" sobre como seu pai, Fernando Santa Cruz, desapareceu durante a Ditadura Militar. "Um dia, se o presidente da OAB quiser saber como é que o pai dele desapareceu no período militar, eu conto pra ele. Ele não vai querer ouvir a verdade", afirmou Bolsonaro.

Bolsonaro também alegou que o pai de Santa Cruz foi supostamente assassinado por integrantes da Ação Popular (AP) — grupo de esquerda que atuava contra o regime militar.