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

Coach ligado a Jair Renan é preso por fraude em comércio de armas, diz site

Maciel Carvalho, advogado e instrutor de tiro preso no DF por falsificar F para adquirir armas - Reprodução/Facebook
Maciel Carvalho, advogado e instrutor de tiro preso no DF por falsificar F para adquirir armas Imagem: Reprodução/Facebook

Do UOL, em São Paulo

05/01/2023 10h46Atualizada em 05/01/2023 16h09

A Polícia Civil do Distrito Federal prendeu em flagrante hoje, por posse e comércio ilegal de armas de fogo, um influenciador digital acusado de falsificar um F para adquirir armas como CAC (registro de Colecionador, Atirador Desportivo e Caçador).

Segundo o portal Metrópoles, o preso é Maciel Carvalho, advogado e empresário que também usa as redes sociais para divulgar trabalhos como instrutor de tiro.

Ele já atuou tanto como advogado como uma espécie de coach de imagem para Jair Renan Bolsonaro, filho do ex-presidente da República Jair Bolsonaro (PL).

O que motivou a prisão

  • A Polícia Civil afirmou que ele estava em liberdade provisória e que mentiu um F para conseguir comprar armas
  • Com um dos F's falsos, ele conseguiu um certificado de CAC
  • Foram cumpridos três mandados de busca e apreensão em Águas Claras e em duas salas comerciais no Setor de Indústrias Gráficas, também em Brasília
  • Nas salas comerciais, funcionava "uma loja de armas, munições e órios"
  • Ele irá responder por crimes de falsificação de documentos, estelionato, organização criminosa, peculato, lavagem de dinheiro, corrupção ativa, uso de documento falso e disparo de arma de fogo
  • Os crimes podem levá-lo a ser condenado em até 19 anos de reclusão

O delegado Wisllei Salomão, coordenador da Corf (Coordenação de Repressão aos Crimes Contra o Consumidor, a Ordem Tributária e a Fraudes), afirmou que o influenciador adquiriu diversas armas de fogo com o documento de CAC e as revendia por meio das redes.

Na ação de hoje, os policiais apreenderam diversas armas de fogo, munições, aparelhos celulares, computadores e documentos diversos Nota da Polícia Civil

Armas apreendidas na casa de influenciador que mentiu F para adquirir armas como CAC - Divulgação/Polícia Civil do DF - Divulgação/Polícia Civil do DF
Armas apreendidas na casa de influenciador que mentiu F para adquirir armas como CAC
Imagem: Divulgação/Polícia Civil do DF

O UOL tenta contato com a Academia de Tiro 357, na qual Maciel atuava como instrutor, e com Jair Renan Bolsonaro. O texto será atualizado caso haja retorno.

A relação entre Maciel e Jair Renan

Tanto na página pessoal quanto na página da escola de tiro, Maciel aparece com o uniforme de "instrutor" ao conduzir treinamentos com armas.

Em uma das publicações, destaca o dia em que esteve com o filho de Bolsonaro.

Em uma entrevista concedida ao portal Metrópoles em julho de 2022, Maciel apareceu como novo advogado e empresário de Jair Renan.

Na ocasião, o filho 04 do ex-presidente Bolsonaro atribuiu ao advogado uma nova estratégia de imagem nas redes — com mais fotos de terno e gravata e frases motivacionais.