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

Guerra da Rússia-Ucrânia

Notícias do conflito entre Rússia e Ucrânia


Brasileiro que atua em Kiev usou bandeira neonazista em ato pró-Bolsonaro

Herculano Barreto Filho

Do UOL, em São Paulo

08/03/2022 04h00

Um brasileiro que diz integrar "uma pequena força auxiliar da polícia" tem registrado a sua participação de apoio às forças ucranianas em meio ao conflito com as tropas russas na capital Kiev. Em vídeo publicado em um grupo do Telegram com 18 mil seguidores, o instrutor de tiro Alex Silva, 47, mostrou uma ronda armada feita na área residencial da cidade.

Silva, que mora há sete anos no país invadido e é casado com uma ucraniana, treina paramilitares conhecidos como "mercenários de guerra" e se envolveu em uma polêmica ao ser flagrado em manifestações pró-Bolsonaro em 2020, em São Paulo, com uma bandeira ultranacionalista ligada à extrema-direita identificada como símbolo neonazista.

O episódio foi apontado como um dos elementos que deram início ao tumulto entre apoiadores do presidente Jair Bolsonaro (PL) e membros de torcidas organizadas que defendiam a democracia na avenida Paulista.

Ex-apoiador de Bolsonaro, Silva hoje critica a postura do presidente do Brasil pelo fato de ele não se opor ao presidente russo Vladimir Putin, apontam vídeos recentes. O UOL tenta entrar em contato com ele pelo Telegram desde segunda-feira (7), mas não obteve resposta.

'Situação bem tensa', diz Silva em ronda em Kiev

O vídeo de Silva, registrado na última sexta-feira (4), começa com o disparo de uma sirene, acionada na capital Kiev quando há bombardeios.

De capacete, óculos, proteção no rosto e uma mochila às costas, o brasileiro então olha rapidamente ao redor. Alex Silva mora há sete anos no país, onde atua como instrutor de tiro e de treinamentos na área de segurança.

A situação aqui realmente está bem tensa. A gente está fazendo uma patrulha aqui na rua... Ajudando os civis. Tem muita gente aqui tentando buscar abrigo. E o alarme está soando aqui. A gente está fazendo esse trabalho de ajudar a evacuar os civis. De escoltar civis aos abrigos"
Alex Silva, voluntário brasileiro na Ucrânia

Em seguida, Alex retoma a gravação. Desta vez, mostrando o patrulhamento. É possível ver um colega de patrulha armado com uma arma de grosso calibre descendo uma escada. Outros dois homens caminham à frente.

"A gente está fazendo um trabalho de policiar alguns bairros. Somos uma pequena força auxiliar da polícia. Esse é um trabalho que a gente vem realizando aqui diariamente", descreve o voluntário brasileiro, que ainda cita um trabalho de arrecadação de alimentos, agasalhos e remédios doados à população.

Brasileiros mostram base militar

Em uma das imagens registradas por um alegado voluntário brasileiro nesta sexta-feira (4), é possível ver o que ele diz serem acampamentos de militares ucranianos na fronteira com a Polônia, protegidos por um arame farpado. "Já tô no alojamento pra descansar. Essa aqui é a base militar", afirma outro brasileiro.

Mais cedo, ele enviou áudios ao grupo para relatar o que via e as suas primeiras percepções, enquanto dizia estar em uma fila para alistamento na fronteira com a Polônia. "O povo aqui foi de boa, mano. Tá ajudando todo mundo quem quer comparecer", disse.

Na soma dos grupos, cerca de 500 brasileiros estão se mobilizando por meio de WhatsApp, Telegram e em redes sociais para se alistar à Legião Internacional de Defesa do Território, criada pelo governo ucraniano em meio ao conflito com as tropas russas. Mais de cem pessoas formalizaram contato junto à Embaixada da Ucrânia no Brasil.

Polêmica em 2020

Segundo reportagem publicada pela Folha de S.Paulo de 2020, Silva foi ao ato em São Paulo enrolado em uma bandeira usada pelo Pravyi Sektor, organização paramilitar extremista criada em 2013 na Ucrânia que acabou virando partido político. Na ocasião, negou envolvimento formal com o grupo ou a identificação com movimentos neonazistas e disse ter sido atacado.

"É uma bandeira antiga, usada desde o século 16. O preto simboliza a terra ucraniana, que é muito fértil, e o vermelho é o sangue dos heróis. Não tem nada de nazista", disse à Folha.

Ainda de acordo com a publicação, Silva foi ao Brasil em março de 2020 para tentar abrir uma filial da academia de tiro e de táticas militares onde atuava em Kiev, capital ucraniana. Mas ficou retido no país por ao menos três meses devido à pandemia e acabou participando do ato pró-Bolsonaro.

Segundo a Folha, Silva saiu do Brasil há cerca de 20 anos para trabalhar como instrutor de segurança nos EUA, Inglaterra, País de Gales e Polônia.

E disse que grande parte dos seus clientes em cursos de tiro e de táticas militares são "contratados privados" que participam de conflitos, conhecidos como mercenários de guerra. O brasileiro integra um grupo paramilitar que atua como uma espécie de linha auxiliar do governo da Ucrânia na luta contra rebeldes no leste do país comandados pela Rússia, diz a reportagem.