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

Sinead O'Connor culpa governo da Irlanda por morte do filho: Não perdoarei

Shane O"Connor, filho de Sinead O"Connor, foi encontrado morto aos 17 anos; cantora culpa governo irlandês por morte do adolescente - Reprodução
Shane O'Connor, filho de Sinead O'Connor, foi encontrado morto aos 17 anos; cantora culpa governo irlandês por morte do adolescente Imagem: Reprodução

Colaboração para Splash, em Alagoas

09/01/2022 12h06Atualizada em 09/01/2022 15h09

A cantora Sinead O'Connor culpa o governo da Irlanda pela morte de seu filho, Shane O'Connor, de 17 anos, encontrado sem vida na sexta-feira (7) em Wicklow, após conseguir fugir do hospital onde estava internado em observação na semana ada.

Por meio de uma série de publicações no Twitter, a artista disse ter feito o reconhecimento oficial do corpo do filho e afirma que jamais irá perdoar a Irlanda pela morte de Shane. Ainda, Sinead O'Connor acusa o país europeu de mentir para o mundo ao emitir uma resposta sobre o ocorrido com o adolescente.

"Fiz a identificação formal do corpo do meu filho, Shane. Que Deus perdoe o estado irlandês, porque eu nunca perdoarei. Agora a Tusla [uma agência] quer discutir comigo 'um comunicado para a mídia', sem dúvida querendo que eu me junte aos seus esforços para fazer com que a morte do meu filho pareça que não aconteceu nas mãos do Estado", escreveu.

Sinead O'Connor diz que o serviço público [HSE, da sigla em inglês] da Irlanda divulgou uma "declaração desonesta" em resposta aos questionamentos vindos de outras partes do mundo sobre o que de fato aconteceu com Shane, e acusa o país de divulgar "um monte de mentiras", pois se "recusa em assumir a responsabilidade".

"Expressos como sempre na preocupação onipotente e falsa que afirmam ter pela privacidade das crianças que morrem sob sua guarda. Agora irei reservar um tempo para lamentar [a morte de] meu filho, mas quando estiver pronta, contarei exatamente como o estado irlandês, nas formas ignorantes, malignas, egoístas e mentirosas da Tusla e HSE, possibilitaram e facilitaram sua morte", publicou.

Por fim, ela diz que qualquer declaração feita pela Tusla sugerindo que eles "fizeram o melhor, se importaram ou sentem as mais profundas simpatias" não am de "uma armadilha de merda", e afirma que "muitas crianças estão morrendo sob a supervisão" da agência.

Ao Daily Mail, o serviço público da Irlanda informou que "não pode comentar sobre casos individuais".

Shane foi achado morto aos 17 anos

Shane O'Connor, filho de Sinead O'Connor, foi encontrado morto na última sexta-feira (07), em Wicklow, na Irlanda. A informação foi confirmada pela mãe do jovem e também pela polícia.

"Meu lindo filho Nevi'im Nesta Ali Shane O'Connor, luz da minha vida, decidiu encerrar sua luta terrena hoje e agora está com Deus. Que ele descanse em paz e ninguém siga seu exemplo. Meu bebê, eu te amo muito. Por favor, fique em paz", escreveu a cantora.

Sinead ainda declarou que pretende processar o hospital onde Shane estava internado em observação. O garoto havia conseguido escapar do local e estava desaparecido, até ser encontrado sem vida.

Shane é filho da cantora com o cantor folk Donal Lunny. Ele era um dos quatro filhos de Sinead, que ainda é mãe de Jake Reynolds, Roisin Waters e Yeshua Francis Neil Bonadio.

Caso você esteja pensando em cometer suicídio, procure ajuda especializada como o CVV e os CAPS (Centros de Atenção Psicossocial) da sua cidade.

O CVV (https://www.cvv.org.br/) funciona 24 horas por dia (inclusive aos feriados) pelo telefone 188, e também atende por e-mail, chat e pessoalmente. São mais de 120 postos de atendimento em todo o Brasil.