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

Ronaldo condena esquema de manipulações, mas defende casas de apostas

Ronaldo Fenômeno se pronunciou sobre os esquemas de apostas no futebol brasileiro - Reprodução
Ronaldo Fenômeno se pronunciou sobre os esquemas de apostas no futebol brasileiro Imagem: Reprodução

Colaboração para o UOL, em São Paulo

13/05/2023 12h24

Após os casos de esquemas de aposta explodirem no futebol na última semana, Ronaldo, dono da SAF do Cruzeiro, se manifestou através de uma nota publicada em suas redes sociais; veja.

Caso no Cruzeiro

A Raposa tem um jogador nomeado pelo Ministério Público por envolvimento com as manipulações. O volante Richard já foi afastado da equipe profissional na última quarta-feira.

O atleta, apesar de ainda não ser investigado pela operação Penalidade Máxima, aparece em conversas com apostadores. As mensagens estão anexadas à denúncia do MP.

Apesar da polêmica e da maioria da torcida concordar com o afastamento do jogador, no próprio post de Ronaldo é pedido o retorno do jogador.

Pronunciamento de Ronaldo

O ex-jogador lamentou as manipulações, relembrando que esse tipo de ação também prejudica pessoas não envolvidas e, principalmente, a torcida.

Ronaldo também elogiou a operação policial que vem sendo feita com auxílio dos clubes para que o afastamento imediato dos envolvidos seja feito o quanto antes.

Por fim, ele defendeu o mercado de apostas, que levanta bilhões de reais e é legalizado no Brasil, reforçando que as casas de aposta também são vítimas desses esquemas fraudulentos.

O que aconteceu?

Nos últimos dias, se tornou público pelo Ministério Público de Goiás a Operação Penalidade Máxima, que investiga esquemas de manipulação de jogos de futebol através de apostas.

Os esquemas para fraudar ações dos jogos partiam de quadrilhas que aliciavam jogadores para que alguma ação escolhida pelos apostadores acontecesse durante uma partida. Os jogadores que aceitavam, ganhavam uma parte do dinheiro.

Pelo menos 15 jogadores já foram denunciados pela Operação. Alguns clubes já afastaram os nomes envolvidos na investigação.

A CBF garantiu que o futebol brasileiro não vai sofrer pausa para que a Operação aconteça. A Confederação também garantiu colaboração no que for preciso para ajudar o MP.