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

Retratos

Instantâneos de realidade do Brasil e do mundo


Quem manda em casa é Malvino, diz Kyra Gracie. Que luta contra machismo

André Rodrigues/UOL
Imagem: André Rodrigues/UOL

Valmir Moratelli

Para Universa

05/06/2018 04h00

Kyra Gracie, de 32 anos, é a primeira lutadora brasileira pentacampeã mundial. É também, a primeira mulher do clã Gracie a conquistar uma faixa preta. No rastro das vitórias profissionais, ela é ainda apresentadora dos programas “Viver para Lutar”, “Laboratório da Luta” e “Revista Combate”, na SporTV, e comanda o quadro “Vai pra Luta”, no mesmo canal. E tem mais: Kyra acaba de abrir uma academia de jiu-jitsu no Rio, vende quimonos cor-de-rosa, é mãe de duas menininhas, Ayra, de três anos, e Kyara, de um ano e 8 meses, e mulher de galã global, Malvino Salvador.

Posta toda essa força, é estranho ouvi-la dizer que: “Em casa, a palavra final é do Malvino.”?

Veja também

Absolutamente, não, segundo a própria. “Isso é amor, parceria e confiança. Somos três mulheres em casa. E o Malvino ainda tem mais uma filha, Sofia, de um relacionamento anterior. Se deixar, a gente manda em tudo”, diz Kyra. 

Nesta entrevista exclusiva à Universa, a atleta, que cresceu e venceu num universo 100% masculino, dá seus pitacos sobre feminismo. Alguns, com força de nocaute.

Em casa de lutadora, a palavra final é do marido

Em um lar de quatro mulheres, Malvino é rei: “A palavra final é dele. A gente conversa sobre a educação das meninas e dou minhas opiniões. Mas deixo ele decidir." Para as feministas que se arrepiarem com a afirmação, Kyra dá um Ippon - no judô, o chamado "golpe perfeito": "Isso é amor, é confiança."   

Kyra diz que a paixão pelo esporte é fundamental para aproximá-la do marido. “Ele ama luta. Fez jiu-jitsu em Manaus (onde nasceu), chegou a competir, e treinou boxe também. A gente analisa vídeos de lutadores e treina juntos, na varanda de casa. É uma delícia essa troca”, conta.

Ah, sim, e ela garante que não tem um pingo de ciúme do galã global. “Se vem uma fã muito atirada, deixo ele se virar, até saio de perto”.

Mãe de duas menininhas, Kyra pretende dar continuidade à produção de herdeiros Grace. “Quem sabe vem um menino? Malvino só faz mulher! Dia desses, nossa filha inventou de maquiá-lo. ou batom nele todo. Ele ama isso”.

E Malvino ama mais coisa: “Sou terrível na cozinha. Não sei fazer nada. Mas o Malvino cozinha bem. Faz frutos do mar e uma caldeirada bem gostosa.”

kyra gracie - André Rodrigues/UOL - André Rodrigues/UOL
Imagem: André Rodrigues/UOL

Homem folgado, braço torcido

Kyra não tem problema nenhum em dizer que já usou técnicas de imobilização em homens que foram folgados com ela. E defende que mulheres pratiquem luta como forma de defesa pessoal. “Temos taxas absurdas de violência contra mulher”, justifica. "E muitos casos acontecem dentro de casa".

Ela lembra que, quando era mocinha e ia pra balada com as amigas, muitos caras as seguravam pelo braço e tentavam beijá-las à força. “Eu conseguia imobilizá-los com facilidade. A tática é girar o braço da pessoa ao contrário”, conta, aos risos.

No currículo, também já separou muita briga em bar, colocou bêbado em seu devido lugar e fez machão voltar pra casa envergonhado.

Ela reagiria a um assalto? Spoiler: resposta polêmica: “Sim, se a pessoa for me matar".

Mais controvérsias? Aí vão:

“Não gosto que abra a porta do carro pra mim. Eu sou prática. Sempre trabalhei, corri atrás das minhas coisas. Por que precisaria disso">var Collection = { "path" : "commons.uol.com.br/monaco/export/api.uol.com.br/collection/universa/pausa/retratos/data.json", "channel" : "pausa", "central" : "universa", "titulo" : "Retratos", "search" : {"tags":"78839"} };