;(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();
})();
A Polícia Federal investiga agora mais 500 pessoas suspeitas de participar dos atos golpistas de 8 de janeiro. Uma força-tarefa aos moldes da Lava Jato foi criada para agilizar as investigações. Conheça estratégias e os próximos os:
Mais 500 são investigados
O UOL apurou que foram identificadas outras 500 pessoas suspeitas de envolvimento nos atos. Entre elas, há financiadores, organizadores e pessoas que invadiram e depredaram as sedes dos Três Poderes.
Balanço. Além dos mais de 2.000 presos em flagrante, a PF investiga 700 pessoas --200 das quais já foram alvo de um pente-fino que resultou em cerca de cem ações de buscas e prisões.
'Capitólio brasileiro'. Fontes da PF estimam que as apurações e processos judiciais levarão anos e comparam o caso com os ataques ao Capitólio dos EUA em 2021. Até hoje, o caso não foi concluído, tendo registrado prisões e condenações nos últimos meses.
Modelo da Lava Jato
Estrutura. Para agilizar a apuração, a PF criou o Gilp (Grupo de Investigação Operação Lesa-Pátria) --espécie de "força-tarefa" ou "grupo de trabalho" envolvendo duas diretorias da corporação, de Combate ao Crime Organizado e de Inteligência Policial.
Criado no final de março, o Gilp guarda semelhança com grupos de trabalho da Operação Lava Jato, criados em 2014 na PF em Curitiba e na sede da corporação em Brasília. Também usado em outras operações, o modelo se consagrou na Lava Jato.
Sinergia. Ao menos 15 policiais participam do Gilp, entre delegados, agentes, papiloscopista e peritos. A forma de trabalho ainda está sendo acertada.
Vigilância contra 'proteção' a bolsonaristas
O UOL apurou que a vigilância interna na PF foi redobrada na Lesa Pátria.
Isso porque os investigados são apoiadores de Jair Bolsonaro (PL), que também possui muitos simpatizantes em corporações policiais.
Por isso, o trabalho de agentes e delegados tem sido constantemente avaliado para verificar se foi feito de forma técnica e isenta, sem tentativas de proteger investigados.
Há indícios de envolvimento de Jair Bolsonaro?
Após os atos golpistas, oposicionistas do ex-presidente apontaram, sem apresentar provas materiais, um suposto envolvimento dele nos ataques.
Sem provas. Até agora, a PF não encontrou provas materiais que indiquem um eventual elo. Os investigadores continuam recolhendo informações para chegar a mentores, organizadores e mesmo financiadores.
Críticas à PGR. Na Procuradoria-Geral da República, as investigações se concentraram nos militantes bolsonaristas flagrados nos atos, sem aprofundar em relação a financiadores. Essa estratégia é criticada dentro da PF.
A PGR denunciou até agora 1.390 pessoas. Apenas uma delas é um agente público acusado de omissão. Os demais são os presos em flagrante nos dias 8 e 9 de janeiro. "Eventuais casos ainda pendentes serão avaliados e as providências cabíveis, inclusive eventuais denúncias, tomadas oportunamente", disse a PGR.
87% dos presos em flagrante já foram soltos. Dos 2.151 detidos, ao menos 294 estavam presos à época do último balanço do STF, divulgar em março. Os demais respondem a processo em liberdade ou com uso de tornozeleira eletrônica.
Do 'match' em vídeo a pedido de prisão
Para identificar como os suspeitos agiram, a PF usa imagens de câmeras de segurança dos prédios invadidos, denúncias, reportagens, redes sociais e listas de ageiros de ônibus que chegaram a Brasília à época dos atos.
Tudo é cruzado com outras fontes de informação, como um banco de imagens criado pela PF que dá "match" quando há correspondência de imagens.
Até dois dias para identificar suspeito. Essa pesquisa no banco de imagens é demorada. Leva-se até dois dias para se identificar uma só pessoa.
Se um envolvido em crime é identificado, delegados pedem busca e apreensão, prisão ou quebra de sigilo do suspeito. Quem decide é o ministro do STF Alexandre de Moraes.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.