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

Elize Matsunaga lembra tapa antes de matar o marido: 'Atira, sua fraca'

Cena do documentário "Elize Matsunaga: Era Uma Vez um Crime", da Netflix - Divulgação/Netflix
Cena do documentário 'Elize Matsunaga: Era Uma Vez um Crime', da Netflix Imagem: Divulgação/Netflix

Felipe Pinheiro

De Splash, em São Paulo

05/07/2021 15h33

Traição, detetive particular, agressão física. Uma filha em jogo. Pela primeira vez, Elize Matsunaga falou publicamente sobre ter matado e esquartejado o marido, Marcos Matsunaga, em um crime que chocou o Brasil. A entrevista foi produzida pela Netflix para o documentário "Elize Matsunaga: Era Uma Vez um Crime", que estreia na próxima quinta-feira (8).

Alerta de Spoiler Splash - Arte UOL - Arte UOL
Imagem: Arte UOL

A produção de quatro episódios começa com a primeira saída temporária de Elize do presídio feminino de Tremembé em 2019, cerca de sete anos após o crime. Em seu depoimento, a viúva do herdeiro do império Yoki relembra momentos felizes do casamento e de como a relação entrou em crise após o nascimento de uma filha.

Antes da gravidez, ela havia descoberto uma traição após ver mensagens entre Marcos e a amante. Elize o confrontou, mas ele negou e ela decidiu se separar. Em meio a esta crise no casamento, ela faz um novo exame que confirma a gestação. Ao se lembrar de quando contou ao empresário que ele seria pai, Elize chora:

Quando dei a notícia [da gravidez], ele chorou, me pediu perdão. Ele se ajoelhou, me pediu desculpa e falou que não faria mais aquilo.

A segunda traição

Seis meses após o nascimento do bebê, Elize a a desconfiar de uma nova traição e contrata um detetive particular. Imagens de Marcos Matsunaga com uma amante no restaurante japonês frequentado por Elize com o empresário a abala profundamente.

Ela decide, então, novamente se separar e revela ao empresário sobre o detetive particular. Segundo Elize, Marcos teria dito a ela:

Você acha que alguém da sua reputação vai encontrar um príncipe encantado? Eu conheço homem. Você só vai encontrar alguém para comer a sua b*****. Nessas palavras. Dessa forma.

De acordo com Elize, o empresário a ameaçou interná-la e ela teve medo de nunca mais voltar a ver a filha.

Elize Matsunaga - Divulgação/Netflix - Divulgação/Netflix
Elize Matsunaga em cena do documentário que chega à Netflix na próxima quinta (8)
Imagem: Divulgação/Netflix

O crime

Uma nova discussão tem início na mesa de jantar. São deste dia as imagens das câmeras do circuito interno do prédio de Marcos Matsunaga no elevador com uma pizza, naquela em que foi a última vez em que ele foi visto vivo. Elize fala sobre o detetive particular e da traição.

Eu lembro que ele me deu um tapa no rosto e ele nunca tinha feito isso. Ele negava aquilo de forma tão extrema e me colocava numa situação de culpada. Será que estou doida mesmo?.