;(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();
})();
A modelo foi a escolhida, e ao anunciar sua escolha, Rico chamou a peoa de "cobra caninana" por várias vezes. O 'apelido carinhoso' já foi citado outras vezes na sede e ficou entre um dos termos mais falados no Twitter. Mas, afinal, o que é uma cobra caninana? Splash explica.
Serpente agressiva
Caninana é uma espécie de serpente agressiva, pode assustar, mas não possui nenhum tipo de veneno e pode atingir no máximo 2,50 de comprimento.
De acordo com o especialista, a caninana é uma cobra que costuma rastejar por vários quilômetros em busca de comida, mas está sempre nos entornos da mata. "Eventualmente, ela pode até aparecer dentro de casa", disse ele.
No quarto da sede, em conversa com peões, Rico deu sua própria explicação: "É a pior cobra, caninana".
A cobra caninana ficou famosa em 'A Fazenda 13'
Imagem: Marcelo Duarte/Divulgação
Confira todas as roças já formadas na 13ª edição de 'A Fazenda'
1 / 13
Aline e MC Gui saíram juntos
A Fazenda 2021: Aline e MC Gui foram eliminados na primeira roça especial
Reprodução/Playplus
2 / 13
Liziane saiu na 1ª roça
Nego do Borel foi indicado pelo fazendeiro e o mais votado para permanecer no jogo. Liziane Gutierrez, a eliminada, foi a mais votada da casa e Solange foi puxada da baia.
Reprodução/Playplus
3 / 13
Mussunzinho saiu na 2ª roça
Mussunzinho foi indicado pelo fazendeiro e eliminado da vez. Com o poder das chamas, Bil Araújo recebeu os votos da casa e foi para roça. Dayane Mello sobrou no resta um e foi a mais votada para continuar no jogo.
Reprodução/Playplus
4 / 13
Erika saiu na terceira roça
Erika Schneider , a eliminada da semana, foi a mais votada pela casa. Já Tiago Piquilo sobrou no resta um e depois foi o mais votado para continuar no programa. Dayane Mello parou na roça por conta do poder da chama.
Reprodução/Playplus
5 / 13
Victor foi o quarto eliminado
Gui Araujo foi indicado pelo fazendeiro direto para a roça. Aline Mineiro foi a mais votada da casa e a mais votada para continuar na competição. Victor Pecoraro, que foi puxado da baia, saiu do reality.
Reprodução/Playplus
6 / 13
Lary foi a 5ª elimininada
A Fazenda 2021: Lary Bottino é eliminada da 5ªroça
Reprodução/Playplus
7 / 13
Tati foi a 6ª eliminada
Gui Araújo foi indicação do fazendeiro, Rico o mais votado da casa e puxou Tati da baia para a roça.
Reprodução/Playplus
8 / 13
Erasmo foi o 7º eliminado
Erasmo foi puxado da roça, Rico o indicado da fazendeira e o mais votado para ficar no jogo.
Reprodução/Playplus
9 / 13
Tiago foi o 8º eliminado
Dayane foi indicada pela fazendeira, Sthe a mais votada da casa e Tiago foi o puxado pela baia...
Reprodução/Playplus
10 / 13
Valentina foi a 9ª eliminada
Aline Mineiro foi indicada pelo líder Gui Araujo. Solange sobrou no resta um e Valentina foi para roça pelo poder da chama.
Reprodução/Playplus
11 / 13
Gui Araujo foi o 10º eliminado
A Fazenda 2021: Gui Araujo foi o décimo eliminado
Reprodução/Playplus
12 / 13
Dayane foi a 11º eliminada
Dayane foi puxada da baia após Rico ser o mais votado da casa. Marina fez sua estreia na roça sendo a mais votada do público.
Reprodução/Playplus
13 / 13
Mileide foi a 12º eliminada
A Fazenda 2021: Mileide foi a 12ª eliminada
Reprodução/Playplus
Quem deve se livrar da roça e virar o fazendeiro da semana?