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

Mulher que vestia camiseta com capa do Charlie Hebdo é atacada em Londres

Patrick Pelloux, ex-colunista da "Charlie Hebdo" mostrando a capa da revista logo após o atentado de janeiro de 2015 - Martin Bureau/AFP
Patrick Pelloux, ex-colunista da 'Charlie Hebdo' mostrando a capa da revista logo após o atentado de janeiro de 2015 Imagem: Martin Bureau/AFP

26/07/2021 10h48Atualizada em 26/07/2021 11h43

Uma mulher que vestia uma camiseta estampada com uma capa da revista satírica sa Charlie Hebdo foi ferida levemente com arma branca no domingo (25) em Hyde Park, em Londres, informou a polícia, que pediu colaboração para encontrar o autor do ataque.

"A polícia recebeu uma ligação dos serviços de resgate às 15h34 de domingo por uma agressão em Speaker's Corner", em Hyde Park, explicou a polícia da capital em nota no domingo à noite.

"Os policiais que visitaram o local encontraram uma mulher de 39 anos com um corte pequeno na cabeça", acrescentou.

Em vídeos amplamente compartilhados nas redes sociais, uma pessoa vestida de preto se aproxima de uma mulher com uma camiseta que estampava o desenho de uma capa da revista satírica Charlie Hebdo. Em seguida, a mulher aparece com a cabeça sangrando, atendida por agentes de uma van policial que se encontrava ali perto.

A revista foi alvo de um ataque em 7 de janeiro de 2015, em sua sede no centro de Paris, depois de publicar caricaturas do profeta Maomé. Os autores do ataque, os irmãos Kouachi, mataram 12 pessoas e depois fugiram.

Segundo a polícia, a mulher atacada em Londres "foi atendida ali mesmo e depois foi levada a um hospital do centro de Londres". A vítima não corre perigo, segundo o corpo de segurança.

A polícia afirmou que encontrou uma faca perto da cena do crime e fez uma convocação para pedir a colaboração de eventuais testemunhas. Entretanto, pediu para evitar "especulações sobre o motivo do ataque".

"Estamos nas primeiras fases da investigação e estamos trabalhando duro para encontrarmos o responsável", insistiu.

O massacre do Charlie Hebdo gerou um intenso debate sobre a liberdade de expressão na França.

Em setembro de 2020, a revista reeditou as caricaturas do profeta, que causaram indignação entre a comunidade muçulmana.

Três semanas depois, um paquistanês feriu duas pessoas com uma faca em frente à antiga sede da revista.

Em outubro do mesmo ano, um jovem checheno decapitou um professor de ensino médio que mostrou algumas das caricaturas aos seus alunos em uma aula sobre liberdade de expressão.