(self.webpackChunk=self.webpackChunk||[]).push([[41783],{12541:function(e,t,r){function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r(29305),r(32733),r(84701),r(44962),r(26448),r(66781),r(74455),r(83810),r(78557),r(83994),r(96919),r(80808),r(83320),r(4716),r(33054),r(82281),r(23236),r(89717),r(57268),r(32650),r(34581),r(31937),r(88064),r(85486),r(4181),r(51294),r(1421),r(18750),r(50789),r(63171),r(67689),r(14715),r(39111),r(73015),r(47762),r(82367);var a=.01;"function"==typeof SubtitlesOctopusOnLoad&&SubtitlesOctopusOnLoad(),e.exports&&(e.exports=function(e){var t=!1;try{if("object"===("undefined"==typeof WebAssembly?"undefined":n(WebAssembly))&&"function"==typeof WebAssembly.instantiate){var r=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));r instanceof WebAssembly.Module&&(t=new WebAssembly.Instance(r)instanceof WebAssembly.Instance)}}catch(e){}console.log("WebAssembly support detected: "+(t?"yes":"no"));var s,o,i=this;function d(){i.setCurrentTime(i.video.currentTime+i.timeOffset)}function v(){i.setIsPaused(!1,i.video.currentTime+i.timeOffset)}function c(){i.setIsPaused(!0,i.video.currentTime+i.timeOffset)}function l(){i.video.removeEventListener("timeupdate",d,!1)}function m(){i.video.addEventListener("timeupdate",d,!1);var e=i.video.currentTime+i.timeOffset;i.setCurrentTime(e),i.renderAhead>0&&p(e,!0)}function h(){i.setRate(i.video.playbackRate)}function u(){i.setIsPaused(!0,i.video.currentTime+i.timeOffset)}function f(e){e.target.removeEventListener(e.type,f,!1),i.resize()}function p(e,t){for(var r=[],n=0,a=i.renderedItems.length;n0&&e60)console.info("seeked back too far, cleaning prerender buffer"),r=[];else{console.info("seeked backwards, need to free up some buffer");var s=0,o=.3*i.renderAhead,d=[];for(n=0,a=r.length;n=o||v.emptyFinish<0)break;d.push(v)}r=d}t&&(i.oneshotState.displayedEvent=null,i.oneshotState.nextRequestOffset=0);var c=r.length=s.eventStart&&e=0))break;if(!(c.eventStart-d=0?Math.max(d,s):-1),(!i.video.paused&&p(e)||!t||i.oneshotState.restart)&&s>=0&&Math.abs(i.oneshotState.requestNextTimestamp-s)>a&&g(s,s!==d||v),i.oneshotState.restart=!1}}function y(){var e=i.renderFramesData,t=performance.now();i.ctx.clearRect(0,0,i.canvas.width,i.canvas.height);for(var r=0;r=1?a[s]:1;var o=new ImageData(a,n.w,n.h);i.bufferCanvasCtx.putImageData(o,0,0),i.ctx.drawImage(i.bufferCanvas,n.x,n.y)}if(i.debug){var d=Math.round(performance.now()-t),v=e.blendTime;void 0!==v?console.log("render: "+Math.round(e.spentTime-v)+" ms, blend: "+Math.round(v)+" ms, draw: "+d+" ms; TOTAL="+Math.round(e.spentTime+d)+" ms"):console.log(Math.round(e.spentTime)+" ms (+ "+d+" ms draw)"),i.renderStart=performance.now()}}function k(){var e=i.renderFramesData,t=performance.now();i.ctx.clearRect(0,0,i.canvas.width,i.canvas.height);for(var r=0;r0,dropAllAnimations:i.dropAllAnimations})):i.workerError("worker not supported")},i.createCanvas=function(){i.canvas||(i.video?(i.isOurCanvas=!0,i.canvas=document.createElement("canvas"),i.canvas.className="libassjs-canvas",i.canvas.style.display="none",i.canvasParent=document.createElement("div"),i.canvasParent.className="libassjs-canvas-parent",i.canvasParent.appendChild(i.canvas),i.video.nextSibling?i.video.parentNode.insertBefore(i.canvasParent,i.video.nextSibling):i.video.parentNode.appendChild(i.canvasParent)):i.canvas||i.workerError("Don't know where to render: you should give video or canvas in options.")),i.ctx=i.canvas.getContext("2d"),i.bufferCanvas=document.createElement("canvas"),i.bufferCanvasCtx=i.bufferCanvas.getContext("2d"),i.bufferCanvas.width=1,i.bufferCanvas.height=1;var e=new Uint8ClampedArray([0,255,0,0]),t=new ImageData(e,1,1);i.bufferCanvasCtx.clearRect(0,0,1,1),i.ctx.clearRect(0,0,1,1);var r=i.ctx.getImageData(0,0,1,1).data;i.bufferCanvasCtx.putImageData(t,0,0),i.ctx.drawImage(i.bufferCanvas,0,0);var n=i.ctx.getImageData(0,0,1,1).data;i.hasAlphaBug=r[1]!=n[1],i.hasAlphaBug&&console.log("Detected a browser having issue with transparent pixels, applying workaround")},i.setVideo=function(e){i.video=e,i.video&&(i.video.addEventListener("timeupdate",d,!1),i.video.addEventListener("playing",v,!1),i.video.addEventListener("pause",c,!1),i.video.addEventListener("seeking",l,!1),i.video.addEventListener("seeked",m,!1),i.video.addEventListener("ratechange",h,!1),i.video.addEventListener("waiting",u,!1),document.addEventListener("fullscreenchange",i.resizeWithTimeout,!1),document.addEventListener("mozfullscreenchange",i.resizeWithTimeout,!1),document.addEventListener("webkitfullscreenchange",i.resizeWithTimeout,!1),document.addEventListener("msfullscreenchange",i.resizeWithTimeout,!1),window.addEventListener("resize",i.resizeWithTimeout,!1),"undefined"!=typeof ResizeObserver&&(i.ro=new ResizeObserver(i.resizeWithTimeout),i.ro.observe(i.video)),i.video.videoWidth>0?i.resize():i.video.addEventListener("loadedmetadata",f,!1))},i.getVideoPosition=function(){var e=i.video.videoWidth/i.video.videoHeight,t=i.video.offsetWidth,r=i.video.offsetHeight,n=t,a=r;return t/r>e?n=Math.floor(r*e):a=Math.floor(t/e),{width:n,height:a,x:(t-n)/2,y:(r-a)/2}},i.setSubUrl=function(e){i.subUrl=e},i.resetRenderAheadCache=function(e){if(i.renderAhead>0){var t=[];if(e&&i.oneshotState.prevHeight&&i.oneshotState.prevWidth){if(i.oneshotState.prevHeight===o&&i.oneshotState.prevWidth===s)return;var r=10,n=.3*i.renderAhead;o>=i.oneshotState.prevHeight*(1-i.resizeVariation)&&o<=i.oneshotState.prevHeight*(1+i.resizeVariation)&&s>=i.oneshotState.prevWidth*(1-i.resizeVariation)&&s<=i.oneshotState.prevWidth*(1+i.resizeVariation)&&(console.debug("viewport changes are small, leaving more of prerendered buffer"),r=30,n=.5*i.renderAhead);for(var a=i.video.currentTime+i.timeOffset+r,d=0,v=0;v=n)break;t.push(c)}}console.info("resetting prerender cache"),i.renderedItems=t,i.oneshotState.eventStart=null,i.oneshotState.iteration++,i.oneshotState.renderRequested=!1,i.oneshotState.prevHeight=o,i.oneshotState.prevWidth=s,i.oneshotState.nextRequestOffset=0,i.oneshotState.restart=!0,e||(i.oneshotState.displayedEvent=null),i.rafId||(i.rafId=window.requestAnimationFrame(b)),g(void 0,!0)}},i.renderFrameData=null,i.workerActive=!1,i.frameId=0,i.onWorkerMessage=function(e){i.workerActive||(i.workerActive=!0,i.onReadyEvent&&i.onReadyEvent());var t=e.data;switch(t.target){case"stdout":console.log(t.content);break;case"console-log":console.log.apply(console,JSON.parse(t.content));break;case"console-debug":console.debug.apply(console,JSON.parse(t.content));break;case"console-info":console.info.apply(console,JSON.parse(t.content));break;case"console-warn":console.warn.apply(console,JSON.parse(t.content));break;case"console-error":console.error.apply(console,JSON.parse(t.content));break;case"stderr":console.error(t.content);break;case"window":window[t.method]();break;case"canvas":switch(t.op){case"getContext":i.ctx=i.canvas.getContext(t.type,t.attributes);break;case"resize":i.resize(t.width,t.height);break;case"renderCanvas":i.lastRenderTimea&&i.renderedItems.push({eventStart:t.lastRenderedTime,eventFinish:t.lastRenderedTime-.001,emptyFinish:t.eventStart,viewport:t.viewport,spentTime:0,blendTime:0,items:[],animated:!1,size:0});for(var r=[],n=0,s=0,o=t.canvases.length;s0&&t.emptyFinish-t.eventStart<1/i.targetFps||t.animated){var c=t.eventStart+1/i.targetFps;t.emptyFinish=c,t.eventFinish=c,v=!0}i.renderedItems.push({eventStart:t.eventStart,eventFinish:t.eventFinish,emptyFinish:t.emptyFinish,spentTime:t.spentTime,blendTime:t.blendTime,viewport:t.viewport,items:r,animated:t.animated,size:n}),i.renderedItems.sort((function(e,t){return e.eventStart-t.eventStart})),i.oneshotState.requestNextTimestamp>=0?g(i.oneshotState.requestNextTimestamp,!0):t.eventStart<0?console.info('oneshot received "end of frames" event'):t.emptyFinish>=0?g(t.emptyFinish,v):console.info("there are no more events to prerender");break;default:throw"eh?"}break;case"tick":i.frameId=t.id,i.worker.postMessage({target:"tock",id:i.frameId});break;case"custom":if(!i.onCustomMessage)throw"Custom message received but client onCustomMessage not implemented.";i.onCustomMessage(e);break;case"setimmediate":i.worker.postMessage({target:"setimmediate"});break;case"get-events":case"get-styles":case"ready":break;default:throw"what? "+t.target}},i.resize=function(e,t,r,n){var a=null;if(r=r||0,n=n||0,(!e||!t)&&i.video){var d=function(e,t){var r=i.prescaleFactor<=0?1:i.prescaleFactor;if(t<=0||e<=0)e=0,t=0;else{var n=r<1?-1:1,a=t;n*a*r<=n*i.prescaleHeightLimit?a*=r:n*a0&&a>i.maxRenderHeight&&(a=i.maxRenderHeight),e*=a/t,t=a}return{width:e,height:t}}((a=i.getVideoPosition()).width*i.pixelRatio,a.height*i.pixelRatio);e=d.width,t=d.height;var v=i.canvasParent.getBoundingClientRect().top-i.video.getBoundingClientRect().top;r=a.y-v,n=a.x}e&&t?(null!=a&&(i.canvasParent.style.position="relative",i.canvas.style.display="block",i.canvas.style.position="absolute",i.canvas.style.width=a.width+"px",i.canvas.style.height=a.height+"px",i.canvas.style.top=r+"px",i.canvas.style.left=n+"px",i.canvas.style.pointerEvents="none"),s===e&&o===t||(i.canvas.width=e,i.canvas.height=t,s=e,o=t,i.worker.postMessage({target:"canvas",width:i.canvas.width,height:i.canvas.height}),i.resetRenderAheadCache(!0))):i.video||console.error("width or height is 0. You should specify width & height for resize.")},i.resizeWithTimeout=function(){i.resize(),setTimeout(i.resize,100)},i.runBenchmark=function(){i.worker.postMessage({target:"runBenchmark"})},i.customMessage=function(e,t){t=t||{},i.worker.postMessage({target:"custom",userData:e,preMain:t.preMain})},i.setCurrentTime=function(e){i.worker.postMessage({target:"video",currentTime:e})},i.setTrackByUrl=function(e){i.worker.postMessage({target:"set-track-by-url",url:e}),i.resetRenderAheadCache(!1)},i.setTrack=function(e){i.worker.postMessage({target:"set-track",content:e}),i.resetRenderAheadCache(!1)},i.freeTrack=function(e){i.worker.postMessage({target:"free-track"}),i.resetRenderAheadCache(!1)},i.render=i.setCurrentTime,i.setIsPaused=function(e,t){i.worker.postMessage({target:"video",isPaused:e,currentTime:t})},i.setRate=function(e){i.worker.postMessage({target:"video",rate:e})},i.dispose=function(){i.worker.postMessage({target:"destroy"}),i.worker.terminate(),i.worker.removeEventListener("message",i.onWorkerMessage),i.worker.removeEventListener("error",i.workerError),i.workerActive=!1,i.worker=null,i.video&&(i.video.removeEventListener("timeupdate",d,!1),i.video.removeEventListener("playing",v,!1),i.video.removeEventListener("pause",c,!1),i.video.removeEventListener("seeking",l,!1),i.video.removeEventListener("seeked",m,!1),i.video.removeEventListener("ratechange",h,!1),i.video.removeEventListener("waiting",u,!1),i.video.removeEventListener("loadedmetadata",f,!1),document.removeEventListener("fullscreenchange",i.resizeWithTimeout,!1),document.removeEventListener("mozfullscreenchange",i.resizeWithTimeout,!1),document.removeEventListener("webkitfullscreenchange",i.resizeWithTimeout,!1),document.removeEventListener("msfullscreenchange",i.resizeWithTimeout,!1),window.removeEventListener("resize",i.resizeWithTimeout,!1),i.video.parentNode.removeChild(i.canvasParent),i.video=null),window.cancelAnimationFrame(i.rafId),i.rafId=0,i.ro&&(i.ro.disconnect(),i.ro=null),i.onCustomMessage=null,i.onErrorEvent=null,i.onReadyEvent=null},i.fetchFromWorker=function(e,t,r){try{var n=e.target,a=setTimeout((function(){o(Error("Error: Timeout while try to fetch "+n))}),5e3),s=function(e){e.data.target==n&&(t(e.data),i.worker.removeEventListener("message",s),i.worker.removeEventListener("error",o),clearTimeout(a))},o=function(e){r(e),i.worker.removeEventListener("message",s),i.worker.removeEventListener("error",o),clearTimeout(a)};i.worker.addEventListener("message",s),i.worker.addEventListener("error",o),i.worker.postMessage(e)}catch(e){r(e)}},i.createEvent=function(e){i.worker.postMessage({target:"create-event",event:e})},i.getEvents=function(e,t){i.fetchFromWorker({target:"get-events"},(function(t){e(t.events)}),t)},i.setEvent=function(e,t){i.worker.postMessage({target:"set-event",event:e,index:t})},i.removeEvent=function(e){i.worker.postMessage({target:"remove-event",index:e})},i.createStyle=function(e){i.worker.postMessage({target:"create-style",style:e})},i.getStyles=function(e,t){i.fetchFromWorker({target:"get-styles"},(function(t){e(t.styles)}),t)},i.setStyle=function(e,t){i.worker.postMessage({target:"set-style",style:e,index:t})},i.removeStyle=function(e){i.worker.postMessage({target:"remove-style",index:e})},i.init()})}}]);