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

MC Gui e Arcrebiano declaram guerra e trocam ofensas: 'Você não tem peito'

A Fazenda 2021: MC Gui e Arcrebiano discutem e trocam ofensas - Reprodução/PlayPlus
A Fazenda 2021: MC Gui e Arcrebiano discutem e trocam ofensas Imagem: Reprodução/PlayPlus

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

29/10/2021 19h23Atualizada em 29/10/2021 19h30

Após discutir com Rico Melquiades em "A Fazenda 13" (RecordTV), Arcrebiano se envolveu em uma discussão com MC Gui. No papo, o funkeiro pediu para o ex-BBB não se intrometer nas amizades dele no programa, dizendo que Bil estava incomodado com a aproximação entre ele e Dayane. Já Arcrebiano disse que o cantor se aproximou da modelo por interesse.

MC Gui estava incomodado após Arcrebiano citar a aproximação entre ele e Dayane durante uma dinâmica em "Hora do Faro" e acusou o peão de fazer jogo sujo, de criticá-lo pelas costas e não ter coragem de colocar outros participantes na roça.

Você não tem peito. Você tem argumento pra colocar um monte de gente na roça. Você foi lá e me colocou porque tá incomodado que eu me aproximei da sua maior adversária no jogo. Pelo amor de Deus. [...] Eu sou homem, eu me aproximo de quem eu quiser. MC Gui

Bil disse que teria colocado Dayane na roça, mas não queria focar somente em sua rivalidade com a peoa durante o jogo, além de dizer que Gui é inteligente, manipulador e estrategista. MC Gui se incomodou por ter sido chamado de manipulador e pediu para o colega justificar a fala. Arcrebiano, então, encerrou o assunto sem explicar o adjetivo usado.

"Seja homem. Quando você meter um argumento, você sustenta", pediu o MC. "Não fica fazendo seu joguinho medíocre. Sua experiência de reality ficou."

Os dois se afastaram por alguns segundos, mas logo em seguida, MC Gui disse que Arcrebiano ficou sem falar com ele por três dias e voltou a falar normalmente após vê-lo voltar da roça.

"Vai sorrir lá pra casa do caralh*. Pra cima de mim não. Tomar no seu c*", xingou o cantor. "Vai você, tomar no meio do seu c*", rebateu Bil.

Os dois, então, declararam guerra até o final do programa.

"Eu falo na tua cara. Agora você vai sustentar daqui até o final do programa", disse MC Gui.

"Eu sustento. Tô nem aí", disse Arcrebiano.

Após eliminação de Tati Quebra Barraco, quem merece vencer o reality?

Enquete encerrada

Total de 59405 votos
27,42%
Antonio Chahestian/Record TV