Файловый менеджер - Редактировать - /home/jogoso94/public_html/jogos/dunk_digger/scripts/main.js
�азад
function k(b,a,c,d){b.u.Hb(b.kb,a,c,d,void 0)}function l(b,a,c,d){b.u.ma?k(b,a,c,d):b.u.Ae()._OnMessageFromDOM({type:"event",component:b.kb,handler:a,dispatchOpts:d||null,data:c,responseId:null})}function n(b,a,c){b.u.D(b.kb,a,c)}function t(b,a){for(const [c,d]of a)n(b,c,d)}function u(b){b.Sb||(b.u.te(b.Rd),b.Sb=!0)}window.cb=class{constructor(b,a){this.u=b;this.kb=a;this.Sb=!1;this.Rd=()=>this.La()}cd(){}La(){}};function aa(b){-1!==b.$a&&(self.clearTimeout(b.$a),b.$a=-1)} window.qe=class{constructor(b){this.Ic=b;this.Oe=5;this.$a=-1;this.Vb=-Infinity;this.Sd=()=>{this.$a=-1;this.Vb=Date.now();this.pb=!0;this.Ic();this.pb=!1};this.ud=this.pb=!1}j(){aa(this);this.Sd=this.Ic=null}};"use strict";function ba(b,a){n(b,"get-element",c=>{const d=b.ka.get(c.elementId);return a(d,c)})} window.hf=class extends self.cb{constructor(b,a){super(b,a);this.ka=new Map;this.Hc=!0;t(this,[["create",()=>{throw Error("required override");}],["destroy",c=>{c=c.elementId;const d=this.ka.get(c);this.Hc&&d.parentElement.removeChild(d);this.ka.delete(c)}],["set-visible",c=>{this.Hc&&(this.ka.get(c.elementId).style.display=c.isVisible?"":"none")}],["update-position",c=>{if(this.Hc){var d=this.ka.get(c.elementId);d.style.left=c.left+"px";d.style.top=c.top+"px";d.style.width=c.width+"px";d.style.height= c.height+"px";c=c.fontSize;null!==c&&(d.style.fontSize=c+"em")}}],["update-state",c=>{this.ka.get(c.elementId);throw Error("required override");}],["focus",c=>this.Cc(c)],["set-css-style",c=>{const d=this.ka.get(c.elementId),e=c.prop;c=c.val;e.startsWith("--")?d.style.setProperty(e,c):d.style[e]=c}],["set-attribute",c=>{this.ka.get(c.elementId).setAttribute(c.name,c.val)}],["remove-attribute",c=>{this.ka.get(c.elementId).removeAttribute(c.name)}]]);ba(this,c=>c)}Cc(b){var a=this.ka.get(b.elementId); b.focus?a.focus():a.blur()}};"use strict";const ca=/(iphone|ipod|ipad|macos|macintosh|mac os x)/i.test(navigator.userAgent),v=/android/i.test(navigator.userAgent);let da=0;function w(b){const a=document.createElement("script");a.async=!1;a.type="module";return b.Ye?new Promise(c=>{const d="c3_resolve_"+da;++da;self[d]=c;a.textContent=b.bf+`\n\nself["${d}"]();`;document.head.appendChild(a)}):new Promise((c,d)=>{a.onload=c;a.onerror=d;a.src=b;document.head.appendChild(a)})}let ea=!1,fa=!1; function ha(){if(!ea){try{new Worker("blob://",{get type(){fa=!0}})}catch(b){}ea=!0}return fa}let y=new Audio;const ia={"audio/webm; codecs=opus":!!y.canPlayType("audio/webm; codecs=opus"),"audio/ogg; codecs=opus":!!y.canPlayType("audio/ogg; codecs=opus"),"audio/webm; codecs=vorbis":!!y.canPlayType("audio/webm; codecs=vorbis"),"audio/ogg; codecs=vorbis":!!y.canPlayType("audio/ogg; codecs=vorbis"),"audio/mp4":!!y.canPlayType("audio/mp4"),"audio/mpeg":!!y.canPlayType("audio/mpeg")};y=null; async function ja(b){b=await ma(b);return(new TextDecoder("utf-8")).decode(b)}function ma(b){return new Promise((a,c)=>{const d=new FileReader;d.onload=e=>a(e.target.result);d.onerror=e=>c(e);d.readAsArrayBuffer(b)})}const B=[];let D=0;window.RealFile=window.File;const E=[],F=new Map,G=new Map;let na=0;const oa=[];self.runOnStartup=function(b){if("function"!==typeof b)throw Error("runOnStartup called without a function");oa.push(b)};const pa=new Set(["cordova","playable-ad","instant-games"]); let qa=!1; window.Aa=class b{constructor(a){this.ma=a.df;this.va=null;this.ba="";this.Ya=a.af;this.Db={};this.Ra=this.ta=null;this.Qb=[];this.J=this.wa=null;this.Qc=!1;this.yd=0;this.rb=null;this.Xa=-1;this.Te=()=>this.He();this.Wa=[];this.A=a.Td;this.Tb="file"===location.protocol.substr(0,4);!this.ma||"undefined"!==typeof OffscreenCanvas&&navigator.userActivation&&ha()||(this.ma=!1);if("playable-ad"===this.A||"instant-games"===this.A)this.ma=!1;if("cordova"===this.A&&this.ma)if(v){const c=/Chrome\/(\d+)/i.exec(navigator.userAgent);c&& 90<=parseInt(c[1],10)||(this.ma=!1)}else this.ma=!1;this.Xb=this.qa=null;"html5"!==this.A||window.isSecureContext||console.warn("[Construct] Warning: the browser indicates this is not a secure context. Some features may be unavailable. Use secure (HTTPS) hosting to ensure all features are available.");this.D("runtime","cordova-fetch-local-file",c=>this.De(c));this.D("runtime","create-job-worker",()=>this.Ee());"cordova"===this.A?document.addEventListener("deviceready",()=>this.nd(a)):this.nd(a)}j(){this.vc(); this.va&&(this.va=this.va.onmessage=null);this.ta&&(this.ta.terminate(),this.ta=null);this.Ra&&(this.Ra.j(),this.Ra=null);this.J&&(this.J.parentElement.removeChild(this.J),this.J=null)}ne(){return ca&&"cordova"===this.A}rc(){const a=navigator.userAgent;return ca&&pa.has(this.A)||navigator.standalone||/crios\/|fxios\/|edgios\//i.test(a)}le(){return v}hd(){return v&&pa.has(this.A)}async nd(a){"macos-wkwebview"===this.A&&this.Fc({type:"ready"});if("playable-ad"===this.A){this.qa=self.c3_base64files; this.Xb={};await this.we();for(let d=0,e=a.ab.length;d<e;++d){var c=a.ab[d];this.Xb.hasOwnProperty(c)?a.ab[d]={Ye:!0,bf:this.Xb[c]}:this.qa.hasOwnProperty(c)&&(a.ab[d]=URL.createObjectURL(this.qa[c]))}}a.$e?this.ba=a.$e:(c=location.origin,this.ba=("null"===c?"file:///":c)+location.pathname,c=this.ba.lastIndexOf("/"),-1!==c&&(this.ba=this.ba.substr(0,c+1)));a.ff&&(this.Db=a.ff);c=new MessageChannel;this.va=c.port1;this.va.onmessage=d=>this._OnMessageFromRuntime(d.data);window.c3_addPortMessageHandler&& window.c3_addPortMessageHandler(d=>this.Ge(d));this.rb=new self.oe(this);await ra(this.rb);"object"===typeof window.StatusBar&&window.StatusBar.hide();if("object"===typeof window.AndroidFullScreen)try{await new Promise((d,e)=>{window.AndroidFullScreen.immersiveMode(d,e)})}catch(d){console.error("Failed to enter Android immersive mode: ",d)}this.ma?await this.Ce(a,c.port2):await this.Be(a,c.port2)}xc(a){a=this.Db.hasOwnProperty(a)?this.Db[a]:a.endsWith("/workermain.js")&&this.Db.hasOwnProperty("workermain.js")? this.Db["workermain.js"]:"playable-ad"===this.A&&this.qa.hasOwnProperty(a)?this.qa[a]:a;a instanceof Blob&&(a=URL.createObjectURL(a));return a}async mc(a,c,d){if(a.startsWith("blob:"))return new Worker(a,d);if("cordova"===this.A&&this.Tb)return a=await this.Fb(d.Xe?a:this.Ya+a),new Worker(URL.createObjectURL(new Blob([a],{type:"application/javascript"})),d);a=new URL(a,c);if(location.origin!==a.origin){a=await fetch(a);if(!a.ok)throw Error("failed to fetch worker script");a=await a.blob();return new Worker(URL.createObjectURL(a), d)}return new Worker(a,d)}oa(){return Math.max(window.innerWidth,1)}ga(){return Math.max(window.innerHeight,1)}md(a){var c=this.ba,d=location.href,e=this.oa(),f=this.ga(),g=window.devicePixelRatio,h=b.gb(),m=a.nf,q=window.cr_previewImageBlobs||this.qa,p=window.cr_previewProjectFileBlobs,z=window.cr_previewProjectFiles,x=window.lf||"";a=a.Td;var r=(new URLSearchParams(self.location.search)).has("debug"),A=this.rb;return{runtimeBaseUrl:c,previewUrl:d,windowInnerWidth:e,windowInnerHeight:f,devicePixelRatio:g, isFullscreen:h,projectData:m,previewImageBlobs:q,previewProjectFileBlobs:p,previewProjectFileSWUrls:z,swClientId:x,exportType:a,isDebug:r,ife:!!self.mf,jobScheduler:{inputPort:A.Pc,outputPort:A.Wc,maxNumWorkers:A.Qe},supportedAudioFormats:ia,opusWasmScriptUrl:window.cr_opusWasmScriptUrl||this.Ya+"opus.wasm.js",opusWasmBinaryUrl:window.cr_opusWasmBinaryUrl||this.Ya+"opus.wasm.wasm",isFileProtocol:this.Tb,isiOSCordova:this.ne(),isiOSWebView:this.rc(),isFBInstantAvailable:"undefined"!==typeof self.FBInstant}}async Ce(a, c){const d=this.xc(a.ef);"preview"===this.A?(this.ta=new Worker("previewworker.js",{type:"module",name:"Runtime"}),await new Promise((h,m)=>{const q=p=>{this.ta.removeEventListener("message",q);p.data&&"ok"===p.data.type?h():m()};this.ta.addEventListener("message",q);this.ta.postMessage({type:"construct-worker-init","import":(new URL(d,this.ba)).toString()})})):this.ta=await this.mc(d,this.ba,{type:"module",name:"Runtime",Xe:!0});this.J=document.createElement("canvas");this.J.style.display="none"; const e=this.J.transferControlToOffscreen();document.body.appendChild(this.J);window.c3canvas=this.J;self.C3_InsertHTMLPlaceholders&&self.C3_InsertHTMLPlaceholders();let f=a.bd||[],g=a.ab;f=await Promise.all(f.map(h=>this.Ma(h)));g=await Promise.all(g.map(h=>this.Ma(h)));if("cordova"===this.A)for(let h=0,m=a.kc.length;h<m;++h){const q=a.kc[h],p=q[0];if(p===a.$c||"scriptsInEvents.js"===p||p.endsWith("/scriptsInEvents.js"))q[1]=await this.Ma(p)}this.ta.postMessage(Object.assign(this.md(a),{type:"init-runtime", isInWorker:!0,messagePort:c,canvas:e,workerDependencyScripts:f,engineScripts:g,projectScripts:a.kc,mainProjectScript:a.$c,projectScriptsStatus:self.C3_ProjectScriptsStatus}),[c,e,...sa(this.rb)]);this.Qb=E.map(h=>new h(this));this.ld();ta(this.wa);self.c3_callFunction=(h,m)=>{var q=this.wa;return q.u.kd(q.kb,"js-invoke-function",{name:h,params:m},void 0,void 0)};"preview"===this.A&&(self.goToLastErrorScript=()=>this.Hb("runtime","go-to-last-error-script"))}async Be(a,c){this.J=document.createElement("canvas"); this.J.style.display="none";document.body.appendChild(this.J);window.c3canvas=this.J;self.C3_InsertHTMLPlaceholders&&self.C3_InsertHTMLPlaceholders();this.Qb=E.map(g=>new g(this));this.ld();var d=a.ab.map(g=>"string"===typeof g?(new URL(g,this.ba)).toString():g);Array.isArray(a.bd)&&d.unshift(...a.bd);d=await Promise.all(d.map(g=>this.Ma(g)));await Promise.all(d.map(g=>w(g)));d=self.C3_ProjectScriptsStatus;const e=a.$c,f=a.kc;for(let [g,h]of f)if(h||(h=g),g===e)try{h=await this.Ma(h),await w(h),"preview"!== this.A||d[g]||this.pd(g,"main script did not run to completion")}catch(m){this.pd(g,m)}else if("scriptsInEvents.js"===g||g.endsWith("/scriptsInEvents.js"))h=await this.Ma(h),await w(h);"preview"===this.A&&"object"!==typeof self.gf.jf?(this.Lb(),console.error("[C3 runtime] Failed to load JavaScript code used in events. Check all your JavaScript code has valid syntax."),alert("Failed to load JavaScript code used in events. Check all your JavaScript code has valid syntax.")):(a=Object.assign(this.md(a), {isInWorker:!1,messagePort:c,canvas:this.J,runOnStartupFunctions:oa}),ta(this.wa),this.od(),this.Ra=self.C3_CreateRuntime(a),await self.C3_InitRuntime(this.Ra,a))}pd(a,c){this.Lb();console.error(`[Preview] Failed to load project main script (${a}): `,c);alert(`Failed to load project main script (${a}). Check all your JavaScript code has valid syntax. Press F12 and check the console for error details.`)}od(){this.Lb()}Lb(){const a=window.Ve;a&&(a.parentElement.removeChild(a),window.Ve=null)}async Ee(){const a= await ua(this.rb);return{outputPort:a,transferables:[a]}}Ae(){if(this.ma)throw Error("not available in worker mode");return this.Ra}Hb(a,c,d,e,f){this.va.postMessage({type:"event",component:a,handler:c,dispatchOpts:e||null,data:d,responseId:null},f)}kd(a,c,d,e,f){const g=na++,h=new Promise((m,q)=>{G.set(g,{resolve:m,reject:q})});this.va.postMessage({type:"event",component:a,handler:c,dispatchOpts:e||null,data:d,responseId:g},f);return h}_OnMessageFromRuntime(a){const c=a.type;if("event"===c)return this.Fe(a); if("result"===c)this.Ie(a);else if("runtime-ready"===c)this.Je();else if("alert-error"===c)this.Lb(),alert(a.message);else if("creating-runtime"===c)this.od();else throw Error(`unknown message '${c}'`);}Fe(a){const c=a.component,d=a.handler,e=a.data,f=a.responseId;if(a=F.get(c))if(a=a.get(d)){var g=null;try{g=a(e)}catch(h){console.error(`Exception in '${c}' handler '${d}':`,h);null!==f&&this.Kb(f,!1,""+h);return}if(null===f)return g;g&&g.then?g.then(h=>this.Kb(f,!0,h)).catch(h=>{console.error(`Rejection from '${c}' handler '${d}':`, h);this.Kb(f,!1,""+h)}):this.Kb(f,!0,g)}else console.warn(`[DOM] No handler '${d}' for component '${c}'`);else console.warn(`[DOM] No event handlers for component '${c}'`)}Kb(a,c,d){let e;d&&d.transferables&&(e=d.transferables);this.va.postMessage({type:"result",responseId:a,isOk:c,result:d},e)}Ie(a){const c=a.responseId,d=a.isOk;a=a.result;const e=G.get(c);d?e.resolve(a):e.reject(a);G.delete(c)}D(a,c,d){let e=F.get(a);e||(e=new Map,F.set(a,e));if(e.has(c))throw Error(`[DOM] Component '${a}' already has handler '${c}'`); e.set(c,d)}static Eb(a){if(E.includes(a))throw Error("DOM handler already added");E.push(a)}ld(){for(const a of this.Qb)if("runtime"===a.kb){this.wa=a;return}throw Error("cannot find runtime DOM handler");}Ge(a){this.Hb("debugger","message",a)}Je(){for(const a of this.Qb)a.cd()}static gb(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||qa)}static Mb(a){qa=!!a}te(a){this.Wa.push(a);this.Ec()}Le(a){a=this.Wa.indexOf(a);if(-1===a)throw Error("invalid callback"); this.Wa.splice(a,1);this.Wa.length||this.vc()}Ec(){-1===this.Xa&&this.Wa.length&&(this.Xa=requestAnimationFrame(this.Te))}vc(){-1!==this.Xa&&(cancelAnimationFrame(this.Xa),this.Xa=-1)}He(){this.Xa=-1;for(const a of this.Wa)a();this.Ec()}Ca(a){this.wa.Ca(a)}Ka(a){this.wa.Ka(a)}Dc(){this.wa.Dc()}Jb(a){this.wa.Jb(a)}me(){return!!ia["audio/webm; codecs=opus"]}async Me(a){a=await this.kd("runtime","opus-decode",{arrayBuffer:a},null,[a]);return new Float32Array(a)}re(a){this.Qc=!0;this.yd=a}ke(a){return/^(?:[a-z\-]+:)?\/\//.test(a)|| "data:"===a.substr(0,5)||"blob:"===a.substr(0,5)}jd(a){return!this.ke(a)}async Ma(a){return"cordova"===this.A&&(a.startsWith("file:")||this.Tb&&this.jd(a))?(a.startsWith(this.ba)&&(a=a.substr(this.ba.length)),a=await this.Fb(a),URL.createObjectURL(new Blob([a],{type:"application/javascript"}))):a}async De(a){const c=a.filename;switch(a.as){case "text":return await this.je(c);case "buffer":return await this.Fb(c);default:throw Error("unsupported type");}}fd(a){const c=window.cordova.file.applicationDirectory+ "www/"+a;return new Promise((d,e)=>{window.resolveLocalFileSystemURL(c,f=>{f.file(d,e)},e)})}async je(a){a=await this.fd(a);return await ja(a)}wc(){if(B.length&&!(8<=D)){D++;var a=B.shift();this.xe(a.filename,a.cf,a.We)}}Fb(a){return new Promise((c,d)=>{B.push({filename:a,cf:e=>{D--;this.wc();c(e)},We:e=>{D--;this.wc();d(e)}});this.wc()})}async xe(a,c,d){try{const e=await this.fd(a),f=await ma(e);c(f)}catch(e){d(e)}}Fc(a){if("windows-webview2"===this.A)window.chrome.webview.postMessage(JSON.stringify(a)); else if("macos-wkwebview"===this.A)window.webkit.messageHandlers.C3Wrapper.postMessage(JSON.stringify(a));else throw Error("cannot send wrapper message");}async we(){const a=[];for(const [c,d]of Object.entries(this.qa))a.push(this.ve(c,d));await Promise.all(a)}async ve(a,c){if("object"===typeof c)this.qa[a]=new Blob([c.str],{type:c.type}),this.Xb[a]=c.str;else{let d=await this.ze(c);d||(d=this.ye(c));this.qa[a]=d}}async ze(a){try{return await (await fetch(a)).blob()}catch(c){return console.warn("Failed to fetch a data: URI. Falling back to a slower workaround. This is probably because the Content Security Policy unnecessarily blocked it. Allow data: URIs in your CSP to avoid this.", c),null}}ye(a){a=this.Ke(a);return this.ue(a.data,a.Ze)}Ke(a){var c=a.indexOf(",");if(0>c)throw new URIError("expected comma in data: uri");var d=a.substring(c+1);c=a.substring(5,c).split(";");a=c[0]||"";const e=c[2];d="base64"===c[1]||"base64"===e?atob(d):decodeURIComponent(d);return{Ze:a,data:d}}ue(a,c){var d=a.length;let e=d>>2,f=new Uint8Array(d),g=new Uint32Array(f.buffer,0,e),h,m;for(m=h=0;h<e;++h)g[h]=a.charCodeAt(m++)|a.charCodeAt(m++)<<8|a.charCodeAt(m++)<<16|a.charCodeAt(m++)<<24;for(d&= 3;d--;)f[m]=a.charCodeAt(m),++m;return new Blob([f],{type:c})}};"use strict";const H=self.Aa;function va(b){return b.sourceCapabilities&&b.sourceCapabilities.firesTouchEvents||b.originalEvent&&b.originalEvent.sourceCapabilities&&b.originalEvent.sourceCapabilities.firesTouchEvents}const wa=new Map([["OSLeft","MetaLeft"],["OSRight","MetaRight"]]),I={dispatchRuntimeEvent:!0,dispatchUserScriptEvent:!0},xa={dispatchUserScriptEvent:!0},J={dispatchRuntimeEvent:!0}; function ya(b){return new Promise((a,c)=>{const d=document.createElement("link");d.onload=()=>a(d);d.onerror=e=>c(e);d.rel="stylesheet";d.href=b;document.head.appendChild(d)})}function za(b){return new Promise((a,c)=>{const d=new Image;d.onload=()=>a(d);d.onerror=e=>c(e);d.src=b})}async function K(b){b=URL.createObjectURL(b);try{return await za(b)}finally{URL.revokeObjectURL(b)}} function Ba(b){return new Promise((a,c)=>{let d=new FileReader;d.onload=e=>a(e.target.result);d.onerror=e=>c(e);d.readAsText(b)})} async function Ca(b,a,c){if(!/firefox/i.test(navigator.userAgent))return await K(b);var d=await Ba(b);d=(new DOMParser).parseFromString(d,"image/svg+xml");const e=d.documentElement;if(e.hasAttribute("width")&&e.hasAttribute("height")){const f=e.getAttribute("width"),g=e.getAttribute("height");if(!f.includes("%")&&!g.includes("%"))return await K(b)}e.setAttribute("width",a+"px");e.setAttribute("height",c+"px");d=(new XMLSerializer).serializeToString(d);b=new Blob([d],{type:"image/svg+xml"});return await K(b)} function Da(b){do{if(b.parentNode&&b.hasAttribute("contenteditable"))return!0;b=b.parentNode}while(b);return!1}const Ea=new Set(["input","textarea","datalist","select"]),Fa=new Set(["canvas","body","html"]);function L(b){Fa.has(b.target.tagName.toLowerCase())&&b.preventDefault()}function Ga(b){(b.metaKey||b.ctrlKey)&&b.preventDefault()} self.C3_GetSvgImageSize=async function(b){b=await K(b);if(0<b.width&&0<b.height)return[b.width,b.height];b.style.position="absolute";b.style.left="0px";b.style.top="0px";b.style.visibility="hidden";document.body.appendChild(b);const a=b.getBoundingClientRect();document.body.removeChild(b);return[a.width,a.height]};self.C3_RasterSvgImageBlob=async function(b,a,c,d,e){b=await Ca(b,a,c);const f=document.createElement("canvas");f.width=d;f.height=e;f.getContext("2d").drawImage(b,0,0,a,c);return f}; let Ha=!1;document.addEventListener("pause",()=>Ha=!0);document.addEventListener("resume",()=>Ha=!1);function ta(b){b.xd=!0;b.Tc=b.u.oa();b.sb=b.u.ga()}async function Ia(b){var a=b.imageBitmapOpts;b=await self.C3_RasterSvgImageBlob(b.blob,b.imageWidth,b.imageHeight,b.surfaceWidth,b.surfaceHeight);a=a?await createImageBitmap(b,a):await createImageBitmap(b);return{imageBitmap:a,transferables:[a]}}async function Ja(b){return await self.C3_GetSvgImageSize(b.blob)} function Ka(b){window.c3_postToMessagePort&&(b.from="runtime",window.c3_postToMessagePort(b))}function La(b){self.setTimeout(()=>{b.wd=!0},1E3);"cordova"===b.u.A?(document.addEventListener("pause",()=>Ma(b,!0)),document.addEventListener("resume",()=>Ma(b,!1))):document.addEventListener("visibilitychange",()=>Ma(b,document.hidden));return{isSuspended:!(!document.hidden&&!Ha)}} function Na(b){b.rd||(b.rd=!0,window.addEventListener("deviceorientation",a=>{b.Z||k(b,"deviceorientation",{absolute:!!a.absolute,alpha:a.alpha||0,beta:a.beta||0,gamma:a.gamma||0,timeStamp:a.timeStamp,webkitCompassHeading:a.webkitCompassHeading,webkitCompassAccuracy:a.webkitCompassAccuracy},I)}),window.addEventListener("deviceorientationabsolute",a=>{b.Z||k(b,"deviceorientationabsolute",{absolute:!!a.absolute,alpha:a.alpha||0,beta:a.beta||0,gamma:a.gamma||0,timeStamp:a.timeStamp},I)}))} function Oa(b){b.qd||(b.qd=!0,window.addEventListener("devicemotion",a=>{if(!b.Z){var c=null,d=a.acceleration;d&&(c={x:d.x||0,y:d.y||0,z:d.z||0});d=null;var e=a.accelerationIncludingGravity;e&&(d={x:e.x||0,y:e.y||0,z:e.z||0});e=null;var f=a.rotationRate;f&&(e={alpha:f.alpha||0,beta:f.beta||0,gamma:f.gamma||0});k(b,"devicemotion",{acceleration:c,accelerationIncludingGravity:d,rotationRate:e,interval:a.interval,timeStamp:a.timeStamp},I)}}))}async function Pa(b){await ya(b.url)} function Qa(b,a){b.zd=a.message;-1===b.Lc&&(b.Lc=setTimeout(()=>{b.Lc=-1;const c=document.getElementById("exportToVideoMessage");c&&(c.textContent=b.zd)},250))}function M(b){if(!b.Z){var a=H.gb();a&&"any"!==b.Yc&&Ra(b);k(b,"fullscreenchange",{isFullscreen:a,innerWidth:b.oa(),innerHeight:b.ga()})}}function Sa(b,a){console.warn("[Construct] Fullscreen request failed: ",a);k(b,"fullscreenerror",{isFullscreen:H.gb(),innerWidth:b.oa(),innerHeight:b.ga()})} function Ma(b,a){a?b.u.vc():b.u.Ec();k(b,"visibilitychange",{hidden:a})}function Ta(b,a,c){"Backspace"===c.key&&L(c);if(!b.Z){var d=wa.get(c.code)||c.code;l(b,a,{code:d,key:c.key,which:c.which,repeat:c.repeat,altKey:c.altKey,ctrlKey:c.ctrlKey,metaKey:c.metaKey,shiftKey:c.shiftKey,timeStamp:c.timeStamp},I)}} function Ua(b,a,c,d){b.Z||va(c)||l(b,a,{button:c.button,buttons:c.buttons,clientX:c.clientX,clientY:c.clientY+b.ca,pageX:c.pageX,pageY:c.pageY+b.ca,movementX:c.movementX||0,movementY:c.movementY||0,timeStamp:c.timeStamp},d)}function Va(b){window!==window.top&&window.focus();Wa(b.target)&&document.activeElement&&!Wa(document.activeElement)&&document.activeElement.blur()} function N(b,a,c){if(!b.Z){if(b.Ab&&"pointermove"!==a){var d=b.Ab;d.pb||(aa(d),d.Vb=Date.now())}d=0;"mouse"===c.pointerType&&(d=b.xb);l(b,a,{pointerId:c.pointerId,pointerType:c.pointerType,button:c.button,buttons:c.buttons,lastButtons:d,clientX:c.clientX,clientY:c.clientY+b.ca,pageX:c.pageX,pageY:c.pageY+b.ca,movementX:(c.movementX||0)+b.dc,movementY:(c.movementY||0)+b.ec,width:c.width||0,height:c.height||0,pressure:c.pressure||0,tangentialPressure:c.tangentialPressure||0,tiltX:c.tiltX||0,tiltY:c.tiltY|| 0,twist:c.twist||0,timeStamp:c.timeStamp},I);b.dc=0;b.ec=0;"mouse"===c.pointerType&&(d="mousemove","pointerdown"===a?d="mousedown":"pointerup"===a&&(d="mouseup"),Ua(b,d,c,xa),b.xb=c.buttons)}} function Xa(b,a,c){if(!b.Z&&!va(c)){var d=b.xb;"pointerdown"===a&&0!==d?a="pointermove":"pointerup"===a&&0!==c.buttons&&(a="pointermove");l(b,a,{pointerId:1,pointerType:"mouse",button:c.button,buttons:c.buttons,lastButtons:d,clientX:c.clientX,clientY:c.clientY+b.ca,pageX:c.pageX,pageY:c.pageY+b.ca,movementX:c.movementX||0,movementY:c.movementY||0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,timeStamp:c.timeStamp},I);b.xb=c.buttons;Ua(b,c.type,c,xa)}} function O(b,a,c){if(!b.Z)for(let d=0,e=c.changedTouches.length;d<e;++d){const f=c.changedTouches[d];l(b,a,{pointerId:f.identifier,pointerType:"touch",button:0,buttons:0,lastButtons:0,clientX:f.clientX,clientY:f.clientY+b.ca,pageX:f.pageX,pageY:f.pageY+b.ca,movementX:c.movementX||0,movementY:c.movementY||0,width:2*(f.radiusX||f.webkitRadiusX||0),height:2*(f.radiusY||f.webkitRadiusY||0),pressure:f.force||f.webkitForce||0,tangentialPressure:0,tiltX:0,tiltY:0,twist:f.rotationAngle||0,timeStamp:c.timeStamp}, I)}}function Ya(b,a,c){document.body.style.transform="";b.ca=0;if(0<c){var d=document.activeElement;d&&(d=d.getBoundingClientRect(),a=(d.top+d.bottom)/2-(a-c)/2,a>c&&(a=c),0>a&&(a=0),0<a&&(document.body.style.transform=`translateY(${-a}px)`,b.ca=a))}}function Za(b,a,c,d){const e=b.oa(),f=b.ga();b.Za=-1;e!=a||f!=c?k(b,"window-resize",{innerWidth:e,innerHeight:f,devicePixelRatio:window.devicePixelRatio,isFullscreen:H.gb()}):10>d&&$a(b,e,f,d+1)} function $a(b,a,c,d){-1!==b.Za&&clearTimeout(b.Za);b.Za=setTimeout(()=>Za(b,a,c,d),48)} function Ra(b){b=b.Yc;if(screen.orientation&&screen.orientation.lock)screen.orientation.lock(b).catch(a=>console.warn("[Construct] Failed to lock orientation: ",a));else try{let a=!1;screen.lockOrientation?a=screen.lockOrientation(b):screen.webkitLockOrientation?a=screen.webkitLockOrientation(b):screen.mozLockOrientation?a=screen.mozLockOrientation(b):screen.msLockOrientation&&(a=screen.msLockOrientation(b));a||console.warn("[Construct] Failed to lock orientation")}catch(a){console.warn("[Construct] Failed to lock orientation: ", a)}}function Wa(b){return!b||b===document||b===window||b===document.body||"canvas"===b.tagName.toLowerCase()} H.Eb(class extends self.cb{constructor(b){super(b,"runtime");this.Ed=!0;this.xd=!1;this.Za=-1;this.Yc="any";this.qd=this.rd=!1;this.Fa=null;this.Z=!1;this.zd="";this.Lc=-1;this.Qa=this.Ab=null;this.ec=this.dc=0;this.wd=!1;this.Tc=b.oa();this.sb=b.ga();this.ca=this.Cb=0;b.D("canvas","update-size",d=>{var e=this.u;e.Qc||(e=e.J,e.style.width=d.styleWidth+"px",e.style.height=d.styleHeight+"px",e.style.marginLeft=d.marginLeft+"px",e.style.marginTop=d.marginTop+"px",document.documentElement.style.setProperty("--construct-scale", d.displayScale),this.Ed&&(e.style.display="",this.Ed=!1))});b.D("runtime","invoke-download",d=>{const e=d.url;d=d.filename;const f=document.createElement("a"),g=document.body;f.textContent=d;f.href=e;f.download=d;g.appendChild(f);f.click();g.removeChild(f)});b.D("runtime","raster-svg-image",d=>Ia(d));b.D("runtime","get-svg-image-size",d=>Ja(d));b.D("runtime","set-target-orientation",d=>{this.Yc=d.targetOrientation});b.D("runtime","register-sw",()=>{window.C3_RegisterSW&&window.C3_RegisterSW()});b.D("runtime", "post-to-debugger",d=>Ka(d));b.D("runtime","go-to-script",d=>Ka(d));b.D("runtime","before-start-ticking",()=>La(this));b.D("runtime","debug-highlight",d=>{if(d.show){this.Fa||(this.Fa=document.createElement("div"),this.Fa.id="inspectOutline",document.body.appendChild(this.Fa));var e=this.Fa;e.style.display="";e.style.left=d.left-1+"px";e.style.top=d.top-1+"px";e.style.width=d.width+2+"px";e.style.height=d.height+2+"px";e.textContent=d.name}else this.Fa&&(this.Fa.style.display="none")});b.D("runtime", "enable-device-orientation",()=>Na(this));b.D("runtime","enable-device-motion",()=>Oa(this));b.D("runtime","add-stylesheet",d=>Pa(d));b.D("runtime","script-create-worker",d=>{const e=d.port2;(new Worker(d.url,d.opts)).postMessage({type:"construct-worker-init",port2:e},[e])});b.D("runtime","alert",d=>this.Ac(d));b.D("runtime","hide-cordova-splash",()=>{navigator.splashscreen&&navigator.splashscreen.hide&&navigator.splashscreen.hide()});b.D("runtime","set-exporting-to-video",d=>{this.Z=!0;const e=document.createElement("h1"); e.id="exportToVideoMessage";e.textContent=d.message;document.body.prepend(e);document.body.classList.add("exportingToVideo");this.u.J.style.display="";this.u.re(d.duration)});b.D("runtime","export-to-video-progress",d=>Qa(this,d));b.D("runtime","exported-to-video",d=>{window.Ue({type:"exported-video",blob:d.blob,time:d.time})});b.D("runtime","exported-to-image-sequence",d=>{window.Ue({type:"exported-image-sequence",blobArr:d.blobArr,time:d.time,gif:d.gif})});const a=new Set(["input","textarea","datalist"]); window.addEventListener("contextmenu",d=>{const e=d.target;a.has(e.tagName.toLowerCase())||Da(e)||d.preventDefault()});const c=b.J;window.addEventListener("selectstart",L);window.addEventListener("gesturehold",L);c.addEventListener("selectstart",L);c.addEventListener("gesturehold",L);window.addEventListener("touchstart",L,{passive:!1});"undefined"!==typeof PointerEvent?(window.addEventListener("pointerdown",L,{passive:!1}),c.addEventListener("pointerdown",L)):c.addEventListener("touchstart",L);this.xb= 0;window.addEventListener("mousedown",d=>{1===d.button&&d.preventDefault()});window.addEventListener("mousewheel",Ga,{passive:!1});window.addEventListener("wheel",Ga,{passive:!1});window.addEventListener("resize",()=>{a:{if(!this.Z&&this.xd){var d=this.oa();var e=this.ga();if(this.u.hd()){if(this.wd){if(this.Tc===d&&e<this.sb){this.Cb=this.sb-e;Ya(this,this.sb,this.Cb);d=void 0;break a}0<this.Cb&&(this.Cb=0,Ya(this,e,this.Cb))}this.Tc=d;this.sb=e}k(this,"window-resize",{innerWidth:d,innerHeight:e, devicePixelRatio:window.devicePixelRatio,isFullscreen:H.gb()});this.u.rc()&&(-1!==this.Za&&clearTimeout(this.Za),Za(this,d,e,0))}d=void 0}return d});window.addEventListener("fullscreenchange",()=>M(this));window.addEventListener("webkitfullscreenchange",()=>M(this));window.addEventListener("mozfullscreenchange",()=>M(this));window.addEventListener("fullscreenerror",d=>Sa(this,d));window.addEventListener("webkitfullscreenerror",d=>Sa(this,d));window.addEventListener("mozfullscreenerror",d=>Sa(this, d));if(b.rc())if(window.visualViewport){let d=Infinity;window.visualViewport.addEventListener("resize",()=>{const e=window.visualViewport.height;e>d&&(document.scrollingElement.scrollTop=0);d=e})}else window.addEventListener("focusout",()=>{{const f=document.activeElement;if(f){var d=f.tagName.toLowerCase();var e=new Set("email number password search tel text url".split(" "));d="textarea"===d?!0:"input"===d?e.has(f.type.toLowerCase()||"text"):Da(f)}else d=!1}d||(document.scrollingElement.scrollTop= 0)});self.C3WrapperOnMessage=d=>{"entered-fullscreen"===d?(H.Mb(!0),M(this)):"exited-fullscreen"===d?(H.Mb(!1),M(this)):console.warn("Unknown wrapper message: ",d)};this.Sa=new Set;this.Zb=new WeakSet;this.ua=!1}cd(){window.addEventListener("focus",()=>{k(this,"window-focus",null,J)});window.addEventListener("blur",()=>{try{var a=window.parent&&window.parent.document.hasFocus()}catch(c){a=!1}k(this,"window-blur",{parentHasFocus:a},J);this.xb=0});window.addEventListener("focusin",a=>{a=a.target;(Ea.has(a.tagName.toLowerCase())|| Da(a))&&k(this,"keyboard-blur",null,J)});window.addEventListener("keydown",a=>Ta(this,"keydown",a));window.addEventListener("keyup",a=>Ta(this,"keyup",a));window.addEventListener("dblclick",a=>Ua(this,"dblclick",a,I));window.addEventListener("wheel",a=>{this.Z||k(this,"wheel",{clientX:a.clientX,clientY:a.clientY+this.ca,pageX:a.pageX,pageY:a.pageY+this.ca,deltaX:a.deltaX,deltaY:a.deltaY,deltaZ:a.deltaZ,deltaMode:a.deltaMode,timeStamp:a.timeStamp},I)});"undefined"!==typeof PointerEvent?(window.addEventListener("pointerdown", a=>{Va(a);N(this,"pointerdown",a)}),this.u.ma&&"undefined"!==typeof window.onpointerrawupdate&&self===self.top?(this.Ab=new self.qe(()=>{N(this,"pointermove",this.Qa);this.Qa=null}),this.Ab.ud=!0,window.addEventListener("pointerrawupdate",a=>{this.Qa&&(this.dc+=this.Qa.movementX||0,this.ec+=this.Qa.movementY||0);this.Qa=a;a=this.Ab;if(-1===a.$a){var c=Date.now(),d=c-a.Vb,e=a.Oe;d>=e&&a.ud?(a.Vb=c,a.pb=!0,a.Ic(),a.pb=!1):a.$a=self.setTimeout(a.Sd,Math.max(e-d,4))}})):window.addEventListener("pointermove", a=>N(this,"pointermove",a)),window.addEventListener("pointerup",a=>N(this,"pointerup",a)),window.addEventListener("pointercancel",a=>N(this,"pointercancel",a))):(window.addEventListener("mousedown",a=>{Va(a);Xa(this,"pointerdown",a)}),window.addEventListener("mousemove",a=>Xa(this,"pointermove",a)),window.addEventListener("mouseup",a=>Xa(this,"pointerup",a)),window.addEventListener("touchstart",a=>{Va(a);O(this,"pointerdown",a)}),window.addEventListener("touchmove",a=>O(this,"pointermove",a)),window.addEventListener("touchend", a=>O(this,"pointerup",a)),window.addEventListener("touchcancel",a=>O(this,"pointercancel",a)));const b=()=>this.Dc();window.addEventListener("pointerup",b,!0);window.addEventListener("touchend",b,!0);window.addEventListener("click",b,!0);window.addEventListener("keydown",b,!0);window.addEventListener("gamepadconnected",b,!0);this.u.le()&&!this.u.hd()&&navigator.virtualKeyboard&&(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener("geometrychange",()=>{Ya(this,this.ga(), navigator.virtualKeyboard.boundingRect.height)}))}oa(){return this.u.oa()}ga(){return this.u.ga()}Dc(){var b=[...this.Sa];this.Sa.clear();if(!this.ua)for(const a of b)(b=a.play())&&b.catch(()=>{this.Zb.has(a)||this.Sa.add(a)})}Ca(b){if("function"!==typeof b.play)throw Error("missing play function");this.Zb.delete(b);let a;try{a=b.play()}catch(c){this.Sa.add(b);return}a&&a.catch(()=>{this.Zb.has(b)||this.Sa.add(b)})}Ka(b){this.Sa.delete(b);this.Zb.add(b)}Jb(b){this.ua=!!b}Ac(b){alert(b.message)}}); "use strict";async function ra(b){if(b.Ne)throw Error("already initialised");b.Ne=!0;var a=b.xa.xc(("playable-ad"===b.xa.A?b.xa.Ya:"")+"dispatchworker.js");b.Kc=await b.xa.mc(a,b.jb,{name:"DispatchWorker"});a=new MessageChannel;b.Pc=a.port1;b.Kc.postMessage({type:"_init","in-port":a.port2},[a.port2]);b.Wc=await ua(b)}function sa(b){return[b.Pc,b.Wc]} async function ua(b){const a=b.Fd.length;var c=b.xa.xc(("playable-ad"===b.xa.A?b.xa.Ya:"")+"jobworker.js");c=await b.xa.mc(c,b.jb,{name:"JobWorker"+a});const d=new MessageChannel,e=new MessageChannel;b.Kc.postMessage({type:"_addJobWorker",port:d.port1},[d.port1]);c.postMessage({type:"init",number:a,"dispatch-port":d.port2,"output-port":e.port2},[d.port2,e.port2]);b.Fd.push(c);return e.port1} self.oe=class{constructor(b){this.xa=b;this.jb=b.ba;this.jb="preview"===b.A?this.jb+"workers/":this.jb+b.Ya;this.Qe=Math.min(navigator.hardwareConcurrency||2,16);this.Kc=null;this.Fd=[];this.Wc=this.Pc=null}};"use strict";window.C3_IsSupported&&(window.c3_runtimeInterface=new self.Aa({df:!0,ef:"workermain.js",ab:["scripts/c3runtime.js"],kc:[],$c:"",af:"scripts/",bd:["box2d.wasm.js"],Td:"html5"}));"use strict"; async function ab(b,a){a=a.type;let c=!0;0===a?c=await db():1===a&&(c=await eb());k(b,"permission-result",{type:a,result:c})}async function db(){if(!self.DeviceOrientationEvent||!self.DeviceOrientationEvent.requestPermission)return!0;try{return"granted"===await self.DeviceOrientationEvent.requestPermission()}catch(b){return console.warn("[Touch] Failed to request orientation permission: ",b),!1}} async function eb(){if(!self.DeviceMotionEvent||!self.DeviceMotionEvent.requestPermission)return!0;try{return"granted"===await self.DeviceMotionEvent.requestPermission()}catch(b){return console.warn("[Touch] Failed to request motion permission: ",b),!1}}self.Aa.Eb(class extends self.cb{constructor(b){super(b,"touch");n(this,"request-permission",a=>ab(this,a))}});"use strict";function fb(){} function gb(b){window.C3_RegisterSW&&window.OfflineClientInfo&&window.OfflineClientInfo.SetMessageCallback(a=>k(b,"sw-message",a.data))} function hb(b){b=b.orientation;if(screen.orientation&&screen.orientation.lock)screen.orientation.lock(b).catch(a=>console.warn("[Construct] Failed to lock orientation: ",a));else try{let a=!1;screen.lockOrientation?a=screen.lockOrientation(b):screen.webkitLockOrientation?a=screen.webkitLockOrientation(b):screen.mozLockOrientation?a=screen.mozLockOrientation(b):screen.msLockOrientation&&(a=screen.msLockOrientation(b));a||console.warn("[Construct] Failed to lock orientation")}catch(a){console.warn("[Construct] Failed to lock orientation: ", a)}} self.Aa.Eb(class extends self.cb{constructor(b){super(b,"browser");this.A="";t(this,[["get-initial-state",a=>{this.A=a.exportType;return{location:location.toString(),isOnline:!!navigator.onLine,referrer:document.referrer,title:document.title,isCookieEnabled:!!navigator.cookieEnabled,screenWidth:screen.width,screenHeight:screen.height,windowOuterWidth:window.outerWidth,windowOuterHeight:window.outerHeight,isConstructArcade:"undefined"!==typeof window.is_scirra_arcade}}],["ready-for-sw-messages",()=> gb(this)],["alert",a=>this.Ac(a)],["close",()=>{navigator.app&&navigator.app.exitApp?navigator.app.exitApp():navigator.device&&navigator.device.exitApp?navigator.device.exitApp():window.close()}],["set-focus",a=>this.Cc(a)],["vibrate",a=>{navigator.vibrate&&navigator.vibrate(a.pattern)}],["lock-orientation",a=>hb(a)],["unlock-orientation",()=>{try{screen.orientation&&screen.orientation.unlock?screen.orientation.unlock():screen.unlockOrientation?screen.unlockOrientation():screen.webkitUnlockOrientation? screen.webkitUnlockOrientation():screen.mozUnlockOrientation?screen.mozUnlockOrientation():screen.msUnlockOrientation&&screen.msUnlockOrientation()}catch(a){}}],["navigate",a=>{var c=a.type;if("back"===c)navigator.app&&navigator.app.backHistory?navigator.app.backHistory():window.history.back();else if("forward"===c)window.history.forward();else if("reload"===c)location.reload();else if("url"===c){c=a.url;const d=a.target;a=a.exportType;self.cordova&&self.cordova.InAppBrowser?self.cordova.InAppBrowser.open(c, "_system"):"preview"===a||"windows-webview2"===a?window.open(c,"_blank"):this.kf||(2===d?window.top.location=c:1===d?window.parent.location=c:window.location=c)}else"new-window"===c&&(c=a.url,a=a.tag,self.cordova&&self.cordova.InAppBrowser?self.cordova.InAppBrowser.open(c,"_system"):window.open(c,a))}],["request-fullscreen",a=>{if("windows-webview2"===this.A||"macos-wkwebview"===this.A)self.Aa.Mb(!0),this.u.Fc({type:"set-fullscreen",fullscreen:!0});else{const c={navigationUI:"auto"};a=a.navUI;1=== a?c.navigationUI="hide":2===a&&(c.navigationUI="show");a=document.documentElement;let d;a.requestFullscreen?d=a.requestFullscreen(c):a.mozRequestFullScreen?d=a.mozRequestFullScreen(c):a.msRequestFullscreen?d=a.msRequestFullscreen(c):a.webkitRequestFullScreen&&(d="undefined"!==typeof Element.ALLOW_KEYBOARD_INPUT?a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):a.webkitRequestFullScreen());d instanceof Promise&&d.catch(fb)}}],["exit-fullscreen",()=>{if("windows-webview2"===this.A||"macos-wkwebview"=== this.A)self.Aa.Mb(!1),this.u.Fc({type:"set-fullscreen",fullscreen:!1});else{let a;document.exitFullscreen?a=document.exitFullscreen():document.mozCancelFullScreen?a=document.mozCancelFullScreen():document.msExitFullscreen?a=document.msExitFullscreen():document.webkitCancelFullScreen&&(a=document.webkitCancelFullScreen());a instanceof Promise&&a.catch(fb)}}],["set-hash",a=>{location.hash=a.hash}],["set-document-css-style",a=>{const c=a.prop,d=a.value;var e=a.selector;a=a["is-all"];try{if(e)if(a)var f= Array.from(document.querySelectorAll(e));else{var g=document.querySelector(e);f=g?[g]:[]}else f=[document.documentElement];e=f;for(const h of e)c.startsWith("--")?h.style.setProperty(c,d):h.style[c]=d}catch(h){console.warn("[Browser] Failed to set style: ",h)}}],["get-document-css-style",a=>{{const d=a.prop;a=a.selector;try{const e=document.querySelector(a);var c=e?{isOk:!0,result:window.getComputedStyle(e).getPropertyValue(d)}:{isOk:!1}}catch(e){console.warn("[Browser] Failed to get style: ",e), c={isOk:!1}}}return c}]]);window.addEventListener("online",()=>{k(this,"online-state",{isOnline:!0})});window.addEventListener("offline",()=>{k(this,"online-state",{isOnline:!1})});window.addEventListener("hashchange",()=>{k(this,"hashchange",{location:location.toString()})});document.addEventListener("backbutton",()=>{k(this,"backbutton")})}Ac(b){alert(b.message)}Cc(b){b=b.isFocus;if("nwjs"===this.A){const a="nwjs"===this.A?nw.Window.get():null;b?a.focus():a.blur()}else b?window.focus():window.blur()}}); "use strict";const ib=180/Math.PI; async function jb(b,a){if(a.isiOSCordova||a.isSafari)b.bc=!0;b.Zc=a.timeScaleMode;b.Kd=["equalpower","HRTF","soundfield"][a.panningModel];b.vd=["linear","inverse","exponential"][a.distanceModel];b.Ld=a.refDistance;b.Jd=a.maxDistance;b.Nd=a.rolloffFactor;if(b.u.Qc)b.bc=!0,b.g=new OfflineAudioContext({numberOfChannels:2,sampleRate:48E3,length:Math.ceil(48E3*b.u.yd)});else{var c={latencyHint:a.latencyHint};b.Qd||(c.sampleRate=48E3);if("undefined"!==typeof AudioContext)b.g=new AudioContext(c);else if("undefined"!== typeof webkitAudioContext)b.g=new webkitAudioContext(c);else throw Error("Web Audio API not supported");kb(b);b.g.onstatechange=()=>{"running"!==b.g.state&&kb(b);k(b,"audiocontext-state",{audioContextState:b.g.state})}}b.Oa=b.g.createGain();b.Oa.connect(b.g.destination);c=a.listenerPos;b.aa[0]=c[0];b.aa[1]=c[1];b.aa[2]=c[2];b.g.listener.setPosition(c[0],c[1],c[2]);b.g.listener.setOrientation(0,0,1,0,-1,0);self.C3_GetAudioContextCurrentTime=()=>b.g.currentTime;try{await Promise.all(a.preloadList.map(d=> P(b,d.originalUrl,d.url,d.type,!1)))}catch(d){console.error("[Construct] Preloading sounds failed: ",d)}return{sampleRate:b.g.sampleRate,audioContextState:b.g.state,outputLatency:b.g.outputLatency||0}} async function lb(b,a){var c=a.originalUrl;const d=a.url,e=a.type,f=a.isMusic,g=a.tag,h=a.isLooping,m=a.vol,q=a.pos,p=a.panning,z=a.stereoPan;let x=a.off;0<x&&!a.trueClock&&(b.g.getOutputTimestamp?(a=b.g.getOutputTimestamp(),x=x-a.performanceTime/1E3+a.contextTime):x=x-performance.now()/1E3+b.g.currentTime);b.Gd=g;mb(b,g);try{b.$=await nb(b,c,d,e,g,f);if(p){Q(b.$,!0);var r=b.$,A=p.innerAngle,ka=p.outerAngle,la=p.outerGain;if(r.qb){ob(r,p.x,p.y,p.angle);var C=self.bb.se;r.ra[0]!==C(A)&&(r.ra[0]=C(A), r.F.coneInnerAngle=C(A));r.ra[1]!==C(ka)&&(r.ra[1]=C(ka),r.F.coneOuterAngle=C(ka));r.ra[2]!==la&&(r.ra[2]=la,r.F.coneOuterGain=la)}p.hasOwnProperty("uid")&&(b.$.pa=p.uid)}else"number"===typeof z&&0!==z?(R(b.$,!0),pb(b.$,z)):(Q(b.$,!1),R(b.$,!1));b.$.Play(h,m,q,x)}catch(Ab){console.error("[Construct] Audio: error starting playback: ",Ab);return}finally{c=b.zb.get(g);if(!c)throw Error("expected pending tag");c.ad--;0===c.ad&&(c.resolve(),b.zb.delete(g))}u(b)} async function qb(b,a){var c=a.tag;const d=a.vol,e=a.duration;a=a.stopOnEnd;await rb(b,c);for(const p of S(b,c)){c=p;var f=d,g=e,h=a;if(!c.Pa){var m=c.G.gain;m.cancelScheduledValues(0);var q=c.s.g.currentTime;g=q+g;m.setValueAtTime(m.value,q);m.linearRampToValueAtTime(f,g);c.Ia=f;c.nb=g;c.Pd=h}}T(b)}async function sb(b,a){const c=a.tag;a=a.rate;await rb(b,c);for(const d of S(b,c))b=d,b.la!==a&&(b.la=a,b.Da())} async function tb(b,a){const c=a.tag;a=a.pos;await rb(b,c);for(const d of S(b,c))d.sc(a)}async function ub(b,a){const c=a.originalUrl,d=a.url,e=a.type;a=a.isMusic;try{await nb(b,c,d,e,"",a)}catch(f){console.error("[Construct] Audio: error preloading: ",f)}}async function vb(b,a){if(a=await P(b,"",a.url,a.type,a.isMusic,!0))a.j(),a=b.ia.indexOf(a),-1!==a&&b.ia.splice(a,1)} async function wb(b,a){var c=a.type,d=a.tag,e=a.params;if("filter"===c)e=new self.Zd(b,...e);else if("delay"===c)e=new self.Xd(b,...e);else if("convolution"===c){c=null;try{c=await P(b,a.bufferOriginalUrl,a.bufferUrl,a.bufferType,!1)}catch(g){console.log("[Construct] Audio: error loading convolution: ",g);return}c=e=new self.Wd(b,c.ha,...e);var f=a.bufferType;c.sd=a.bufferOriginalUrl;c.td=f}else if("flanger"===c)e=new self.$d(b,...e);else if("phaser"===c)e=new self.be(b,...e);else if("gain"===c)e= new self.ae(b,...e);else if("stereopan"===c)e=new self.de(b,...e);else if("tremolo"===c)e=new self.ee(b,...e);else if("ringmod"===c)e=new self.ce(b,...e);else if("distortion"===c)e=new self.Yd(b,...e);else if("compressor"===c)e=new self.Vd(b,...e);else if("analyser"===c)e=new self.Ud(b,...e);else throw Error("invalid effect type");a=e;d=d.toLowerCase();e=b.ja.get(d);e||(e=[],b.ja.set(d,e));a.Dd=e.length;a.ea=d;e.push(a);xb(b,d);yb(b)} async function zb(b,a){const c=a.saveLoadMode;if(3!==c){var d=[];for(const e of b.I)e.za()&&1===c||!e.za()&&2===c?d.push(e):e.j();b.I=d}for(const e of b.ja.values())for(const f of e)f.j();b.ja.clear();b.ic=a.timeScale;b.Mc=a.gameTime;d=a.listenerPos;b.aa[0]=d[0];b.aa[1]=d[1];b.aa[2]=d[2];b.g.listener.setPosition(d[0],d[1],d[2]);b.ua=a.isSilent;b.u.Jb(b.ua);b.Yb=a.masterVolume;b.Oa.gain.value=b.Yb;d=[];for(const e of Object.values(a.effects))d.push(Promise.all(e.map(f=>wb(b,f))));await Promise.all(d); await Promise.all(a.playing.map(e=>Bb(b,e,c)));T(b)}async function Cb(b,a){try{const c=b.g.suspend(a.time);b.Cd?b.g.resume():(b.g.startRendering().then(d=>{const e=[];for(let f=0,g=d.numberOfChannels;f<g;++f){const h=d.getChannelData(f);e.push(h.buffer)}b.u.Hb("runtime","offline-audio-render-completed",{duration:d.duration,length:d.length,numberOfChannels:d.numberOfChannels,sampleRate:d.sampleRate,channelData:e},null,e)}).catch(d=>Db(d)),b.Cd=!0);await c}catch(c){Db(c)}} function kb(b){b.Rb||(b.Oc=!1,window.addEventListener("pointerup",b.ya,!0),window.addEventListener("touchend",b.ya,!0),window.addEventListener("click",b.ya,!0),window.addEventListener("keydown",b.ya,!0),b.Rb=!0)} async function P(b,a,c,d,e,f){for(var g of b.ia)if(g.fb()===c)return await Eb(g),g;if(f)return null;if(e&&(b.bc||b.Bd)){f=0;for(let h=0,m=b.ia.length;h<m;++h)g=b.ia[h],b.ia[f]=g,g.za()?g.j():++f;b.ia.length=f}f="audio/webm; codecs=opus"===d&&!b.Qd;e&&f&&(b.Bd=!0);c=!e||b.bc||f?new self.he(b,a,c,d,e,f):new self.fe(b,a,c,d,e);b.ia.push(c);await Eb(c);b.Id.has(a)||(k(b,"buffer-metadata",{originalUrl:a,duration:c.fa()}),b.Id.add(a));return c} function Fb(b,a){return(a=b.ja.get(a.toLowerCase()))?a[0].N():b.na()}function xb(b,a){let c=b.na();var d=b.ja.get(a);if(d&&d.length){c=d[0].N();for(let f=0,g=d.length;f<g;++f){var e=d[f];f+1===g?e.S(b.na()):e.S(d[f+1].N())}}for(const f of S(b,a))d=c,e=f.da||f.F||f.G,e.disconnect(),e.connect(d);b.Ga&&b.Uc===a&&(b.Ga.disconnect(),b.Ga.connect(c))} function*S(b,a){if(a)for(const c of b.I)b=c.ea,(b.length!==a.length?0:b===a||b.toLowerCase()===a.toLowerCase())&&(yield c);else b.$&&!b.$.U()&&(yield b.$)}function Gb(b,a,c){return c?b.u.Me(a).then(d=>{const e=b.g.createBuffer(1,d.length,48E3);e.getChannelData(0).set(d);return e}):new Promise((d,e)=>{b.g.decodeAudioData(a,d,e)})}function Hb(b,a){let c=0;for(let d=0,e=b.I.length;d<e;++d){const f=b.I[d];b.I[c]=f;f.O===a?f.j():++c}b.I.length=c} async function nb(b,a,c,d,e,f){for(const g of b.I)if(g.fb()===c&&(g.lc()||f))return g.ea=e,g;a=await P(b,a,c,d,f);e="html5"===a.Gc?new self.ge(a.s,a,e):new self.ie(a.s,a,e);b.I.push(e);return e}function mb(b,a){let c=b.zb.get(a);if(!c){let d=null;c={ad:0,promise:new Promise(e=>d=e),resolve:d};b.zb.set(a,c)}c.ad++}function rb(b,a){a||(a=b.Gd);return(b=b.zb.get(a))?b.promise:Promise.resolve()}function T(b){if(0<b.Na.size)u(b);else for(const a of b.I)if(!a.H&&!a.U()){u(b);break}} function Ib(b,a,c,d){k(b,"trigger",{type:a,tag:c,aiid:d})}function yb(b){b.Rc||(b.Rc=!0,Promise.resolve().then(()=>Jb(b)))}function Jb(b){const a={};for(const [c,d]of b.ja)a[c]=d.map(e=>e.eb());k(b,"fxstate",{fxstate:a});b.Rc=!1} async function Bb(b,a,c){if(3!==c){var d=a.bufferOriginalUrl,e=a.bufferUrl,f=a.bufferType,g=a.isMusic,h=a.tag,m=a.isLooping,q=a.volume,p=a.playbackTime;if(!g||1!==c)if(g||2!==c){c=null;try{c=await nb(b,d,e,f,h,g)}catch(z){console.error("[Construct] Audio: error loading audio state: ",z);return}b=c;(d=a.pan)?(Q(b,!0),e=b.F,f=d.pos,b.Ua[0]=f[0],b.Ua[1]=f[1],b.Ua[2]=f[2],f=d.orient,b.Ta[0]=f[0],b.Ta[1]=f[1],b.Ta[2]=f[2],e.setPosition(...b.Ua),e.setOrientation(...b.Ta),b.ra[0]=d.cia,b.ra[1]=d.coa,b.ra[2]= d.cog,e.coneInnerAngle=d.cia,e.coneOuterAngle=d.coa,e.coneOuterGain=d.cog,b.pa=d.uid):Q(b,!1);b=c;d=a.stereoPan;"number"!==typeof d?R(b,!1):(R(b,!0),pb(b,d));c.Play(m,q,p,0);a.isPlaying||c.hb();c.zc(a)}}}function Db(b){console.error("[Audio] Offline rendering error: ",b)} self.bb=class extends self.cb{constructor(b){super(b,"audio");this.Oa=this.g=null;this.Rb=this.Oc=!1;this.ya=()=>{if(!this.Oc){var a=this.g;"suspended"===a.state&&a.resume&&a.resume();var c=a.createBuffer(1,220,22050),d=a.createBufferSource();d.buffer=c;d.connect(a.destination);d.start(0);"running"===a.state&&this.Rb&&(this.Oc=!0,window.removeEventListener("pointerup",this.ya,!0),window.removeEventListener("touchend",this.ya,!0),window.removeEventListener("click",this.ya,!0),window.removeEventListener("keydown", this.ya,!0),this.Rb=!1)}};this.ia=[];this.I=[];this.$=null;this.Gd="";this.Id=new Set;this.Hd=-1;this.zb=new Map;this.Yb=1;this.ua=!1;this.Zc=0;this.ic=1;this.Mc=0;this.Kd="HRTF";this.vd="inverse";this.Ld=600;this.Jd=1E4;this.Nd=1;this.aa=[0,0,0];this.Bd=this.bc=!1;this.Qd=this.u.me();this.ja=new Map;this.Na=new Set;this.Cd=this.Rc=!1;this.Uc="";this.Ga=null;self.C3Audio_OnMicrophoneStream=(a,c)=>{this.Ga&&this.Ga.disconnect();this.Uc=c.toLowerCase();this.Ga=this.g.createMediaStreamSource(a);this.Ga.connect(Fb(this, this.Uc))};this.Pb=null;self.C3Audio_GetOutputStream=()=>{this.Pb||(this.Pb=this.g.createMediaStreamDestination(),this.Oa.connect(this.Pb));return this.Pb.stream};self.C3Audio_DOMInterface=this;t(this,[["create-audio-context",a=>jb(this,a)],["play",a=>lb(this,a)],["stop",a=>{a=a.tag;for(const c of S(this,a))c.Ba()}],["stop-all",()=>{for(const a of this.I)a.Ba()}],["set-paused",a=>{const c=a.tag;a=a.paused;for(const d of S(this,c))a?d.hb():d.Ib();T(this)}],["set-volume",a=>{const c=a.tag;a=a.vol;for(const d of S(this, c))U(d,a)}],["fade-volume",a=>qb(this,a)],["set-master-volume",a=>{this.Yb=a.vol;this.Oa.gain.value=this.Yb}],["set-muted",a=>{const c=a.tag;a=a.isMuted;for(const d of S(this,c))Kb(d,a)}],["set-silent",a=>{this.ua=a.isSilent;this.u.Jb(this.ua);for(const c of this.I)c.Nb()}],["set-looping",a=>{const c=a.tag;a=a.isLooping;for(const d of S(this,c))d.tc(a)}],["set-playback-rate",a=>sb(this,a)],["set-stereo-pan",a=>{const c=a.tag;a=a.p;for(const d of S(this,c))R(d,!0),pb(d,a)}],["seek",a=>tb(this,a)], ["preload",a=>ub(this,a)],["unload",a=>vb(this,a)],["unload-all",()=>{for(const a of this.ia)a.j();this.ia.length=0}],["set-suspended",a=>{a=a.isSuspended;!a&&this.g.resume&&this.g.resume();for(const c of this.I)c.uc(a);a&&this.g.suspend&&this.g.suspend()}],["add-effect",a=>wb(this,a)],["set-effect-param",a=>{const c=a.index,d=a.param,e=a.value,f=a.ramp,g=a.time;a=this.ja.get(a.tag);!a||0>c||c>=a.length||(a[c].Y(d,e,f,g),yb(this))}],["remove-effects",a=>{a=a.tag.toLowerCase();const c=this.ja.get(a); if(c&&c.length){for(const d of c)d.j();this.ja.delete(a);xb(this,a)}}],["tick",a=>{this.ic=a.timeScale;this.Mc=a.gameTime;this.Hd=a.tickCount;if(0!==this.Zc)for(var c of this.I)c.Da();!(c=a.listenerPos)||this.aa[0]===c[0]&&this.aa[1]===c[1]&&this.aa[2]===c[2]||(this.aa[0]=c[0],this.aa[1]=c[1],this.aa[2]=c[2],this.g.listener.setPosition(c[0],c[1],c[2]));for(const d of a.instPans){a=d.uid;for(const e of this.I)e.pa===a&&ob(e,d.x,d.y,d.angle)}}],["load-state",a=>zb(this,a)],["offline-render-audio",a=> Cb(this,a)],["offline-render-finish",()=>{this.g.resume()}]])}V(){return this.g}na(){return this.Oa}Gb(){return this.ua}Ca(b){this.u.Ca(b)}Ka(b){this.u.Ka(b)}La(){for(var b of this.Na)b.La();b=this.g.currentTime;for(var a of this.I)a.La(b);a=this.I.filter(c=>!c.H&&!c.U()).map(c=>c.eb());k(this,"state",{tickCount:this.Hd,outputLatency:this.g.outputLatency||0,audioInstances:a,analysers:[...this.Na].map(c=>({tag:c.ea,index:c.Dd,peak:c.Va,rms:c.Md,binCount:c.l.frequencyBinCount,freqBins:c.Ad}))});0=== a.length&&0===this.Na.size&&this.Sb&&(this.u.Le(this.Rd),this.Sb=!1)}static se(b){return b*ib}static gd(b){return Math.max(Math.min(Math.pow(10,b/20),1),0)}static pe(b){return Math.log(Math.max(Math.min(b,1),0))/Math.log(10)*20}};self.Aa.Eb(self.bb);"use strict";function Eb(b){b.Wb||(b.Wb=b.yc());return b.Wb}self.dd=class{constructor(b,a,c,d,e){this.s=b;this.Se=a;this.Ha=c;this.R=d;this.Pe=e;this.Gc="";this.Wb=null}j(){this.Wb=this.s=null}yc(){}V(){return this.s.V()}oc(){return this.Se}fb(){return this.Ha}nc(){return this.R}za(){return this.Pe}fa(){}}; "use strict"; self.fe=class extends self.dd{constructor(b,a,c,d,e){super(b,a,c,d,e);this.Gc="html5";this.M=new Audio;this.M.crossOrigin="anonymous";this.M.autoplay=!1;this.M.preload="auto";this.tb=this.ub=null;this.M.addEventListener("canplaythrough",()=>!0);this.yb=this.V().createGain();this.wb=null;this.M.addEventListener("canplay",()=>{this.ub&&(this.ub(),this.tb=this.ub=null);!this.wb&&this.M&&(this.wb=this.V().createMediaElementSource(this.M),this.wb.connect(this.yb))});this.onended=null;this.M.addEventListener("ended",()=> {if(this.onended)this.onended()});this.M.addEventListener("error",f=>{console.error(`[Construct] Audio '${this.Ha}' error: `,f);this.tb&&(this.tb(f),this.tb=this.ub=null)})}j(){Hb(this.s,this);this.yb.disconnect();this.yb=null;this.wb.disconnect();this.wb=null;this.M&&!this.M.paused&&this.M.pause();this.M=this.onended=null;super.j()}yc(){return new Promise((b,a)=>{this.ub=b;this.tb=a;this.M.src=this.Ha})}T(){return this.M}fa(){return this.M.duration}};"use strict"; async function Lb(b){if(b.Ea)return b.Ea;var a=b.s.u;if("cordova"===a.A&&a.jd(b.Ha)&&a.Tb)b.Ea=await a.Fb(b.Ha);else{a=await fetch(b.Ha);if(!a.ok)throw Error(`error fetching audio data: ${a.status} ${a.statusText}`);b.Ea=await a.arrayBuffer()}}async function Mb(b){if(b.ha)return b.ha;b.ha=await Gb(b.s,b.Ea,b.Re);b.Ea=null} self.he=class extends self.dd{constructor(b,a,c,d,e,f){super(b,a,c,d,e);this.Gc="webaudio";this.ha=this.Ea=null;this.Re=!!f}j(){Hb(this.s,this);this.ha=this.Ea=null;super.j()}async yc(){try{await Lb(this),await Mb(this)}catch(b){console.error(`[Construct] Failed to load audio '${this.Ha}': `,b)}}fa(){return this.ha?this.ha.duration:0}};"use strict";let Nb=0; function Q(b,a){a=!!a;b.qb!==a&&(b.qb=a,b.qb?(R(b,!1),b.F||(b.F=b.V().createPanner(),b.F.panningModel=b.s.Kd,b.F.distanceModel=b.s.vd,b.F.refDistance=b.s.Ld,b.F.maxDistance=b.s.Jd,b.F.rolloffFactor=b.s.Nd),b.G.disconnect(),b.G.connect(b.F),b.F.connect(b.na())):(b.F.disconnect(),b.G.disconnect(),b.G.connect(b.na())))} function R(b,a){a=!!a;b.Ub!==a&&(b.Ub=a,b.Ub?(Q(b,!1),b.da=b.V().createStereoPanner(),b.G.disconnect(),b.G.connect(b.da),b.da.connect(b.na())):(b.da.disconnect(),b.da=null,b.G.disconnect(),b.G.connect(b.na())))}function pb(b,a){b.Ub&&b.Xc!==a&&(b.da.pan.value=a,b.Xc=a)}function U(b,a){b.Ia=a;b.G.gain.cancelScheduledValues(0);b.nb=-1;b.G.gain.value=b.pc()}function Kb(b,a){a=!!a;b.Pa!==a&&(b.Pa=a,b.Nb())} function ob(b,a,c,d){if(b.qb){var e=b.Ua,f=b.Ta,g=Math.cos(d);d=Math.sin(d);if(e[0]!==a||e[1]!==c||0!==e[2])e[0]=a,e[1]=c,e[2]=0,b.F.setPosition(...e);if(f[0]!==g||f[1]!==d||0!==f[2])f[0]=g,f[1]=d,f[2]=0,b.F.setOrientation(...f)}}function V(b){return b.Sc?b.s.Mc:performance.now()/1E3} self.ed=class{constructor(b,a,c){this.s=b;this.O=a;this.ea=c;this.Ob=Nb++;this.G=this.V().createGain();this.G.connect(this.na());this.F=null;this.qb=!1;this.Ua=[0,0,0];this.Ta=[0,0,0];this.ra=[0,0,0];this.da=null;this.Ub=!1;this.Xc=0;this.H=!0;this.X=this.sa=this.K=!1;this.Ia=1;this.Pa=!1;this.la=1;b=this.s.Zc;this.Sc=1===b&&!this.za()||2===b;this.nb=this.pa=-1;this.Pd=!1}j(){this.O=this.s=null;this.F&&(this.F.disconnect(),this.F=null);this.da&&(this.da.disconnect(),this.da=null);this.G.disconnect(); this.G=null}V(){return this.s.V()}na(){return Fb(this.s,this.ea)}oc(){return this.O.oc()}fb(){return this.O.fb()}nc(){return this.O.nc()}za(){return this.O.za()}U(){}lc(){}IsPlaying(){return!this.H&&!this.K&&!this.U()}Ja(){}fa(){return this.O.fa()}Play(){}Ba(){}hb(){}Ib(){}La(b){-1!==this.nb&&b>=this.nb&&(this.nb=-1,this.Pd&&this.Ba(),Ib(this.s,"fade-ended",this.ea,this.Ob))}pc(){const b=this.Ia;return isFinite(b)?b:0}Gb(){return this.s.Gb()}Nb(){}tc(){}Da(){}sc(){}uc(){}qc(){}eb(){var b=this.Ob, a=this.ea,c=this.fa(),d=this.Ia,e=this.IsPlaying();if(this.F){var f=this.F;f={pos:this.Ua,orient:this.Ta,cia:f.coneInnerAngle,coa:f.coneOuterAngle,cog:f.coneOuterGain,uid:this.pa}}else f=null;return{aiid:b,tag:a,duration:c,volume:d,isPlaying:e,playbackTime:this.Ja(),playbackRate:this.la,uid:this.pa,bufferOriginalUrl:this.oc(),bufferUrl:"",bufferType:this.nc(),isMusic:this.za(),isLooping:this.X,isMuted:this.Pa,resumePosition:this.qc(),pan:f,stereoPan:this.da?this.Xc:null}}zc(b){var a=b.playbackRate; this.la!==a&&(this.la=a,this.Da());Kb(this,b.isMuted)}};"use strict"; self.ge=class extends self.ed{constructor(b,a,c){super(b,a,c);this.O.yb.connect(this.G);this.O.onended=()=>this.Bc()}j(){this.Ba();this.O.yb.disconnect();super.j()}T(){return this.O.T()}Bc(){this.H=!0;this.pa=-1;Ib(this.s,"ended",this.ea,this.Ob)}U(){return this.T().ended}lc(){return this.H?!0:this.U()}Ja(){let b=this.T().currentTime;this.X||(b=Math.min(b,this.fa()));return b}Play(b,a,c){const d=this.T();1!==d.playbackRate&&(d.playbackRate=1);d.loop!==b&&(d.loop=b);U(this,a);d.muted&&(d.muted=!1); if(d.currentTime!==c)try{d.currentTime=c}catch(e){console.warn(`[Construct] Exception seeking audio '${this.O.fb()}' to position '${c}': `,e)}this.s.Ca(d);this.K=this.H=!1;this.X=b;this.la=1}Ba(){const b=this.T();b.paused||b.pause();this.s.Ka(b);this.H=!0;this.K=!1;this.pa=-1}hb(){if(!(this.K||this.H||this.U())){var b=this.T();b.paused||b.pause();this.s.Ka(b);this.K=!0}}Ib(){!this.K||this.H||this.U()||(this.s.Ca(this.T()),this.K=!1)}Nb(){this.T().muted=this.Pa||this.Gb()}tc(b){b=!!b;this.X!==b&&(this.X= b,this.T().loop=b)}Da(){let b=this.la;this.Sc&&(b*=this.s.ic);try{this.T().playbackRate=b}catch(a){console.warn(`[Construct] Unable to set playback rate '${b}':`,a)}}sc(b){if(!this.H&&!this.U())try{this.T().currentTime=b}catch(a){console.warn(`[Construct] Error seeking audio to '${b}': `,a)}}qc(){return this.Ja()}uc(b){b?this.IsPlaying()?(this.T().pause(),this.sa=!0):this.sa=!1:this.sa&&(this.s.Ca(this.T()),this.sa=!1)}};"use strict";function W(b){b.o&&b.o.disconnect();b.o=null;b.ib=null} self.ie=class extends self.ed{constructor(b,a,c){super(b,a,c);this.o=null;this.$b=d=>this.Bc(d);this.Nc=!0;this.ib=null;this.P=this.ac=this.cc=0;this.Vc=1}j(){this.Ba();W(this);this.$b=null;super.j()}Bc(b){this.K||this.sa||b.target!==this.ib||(this.H=this.Nc=!0,this.pa=-1,W(this),Ib(this.s,"ended",this.ea,this.Ob))}U(){return!this.H&&this.o&&this.o.loop||this.K?!1:this.Nc}lc(){return!this.o||this.H?!0:this.U()}Ja(){let b;b=this.K?this.P:this.ac+(V(this)-this.cc)*this.la;this.X||(b=Math.min(b,this.fa())); return b}Play(b,a,c,d){this.Vc=1;U(this,a);W(this);this.o=this.V().createBufferSource();this.o.buffer=this.O.ha;this.o.connect(this.G);this.ib=this.o;this.o.onended=this.$b;this.o.loop=b;this.o.start(d,c);this.K=this.H=this.Nc=!1;this.X=b;this.la=1;this.cc=V(this);this.ac=c}Ba(){if(this.o)try{this.o.stop(0)}catch(b){}this.H=!0;this.K=!1;this.pa=-1}hb(){this.K||this.H||this.U()||(this.P=this.Ja(),this.X&&(this.P%=this.fa()),this.K=!0,this.o.stop(0))}Ib(){!this.K||this.H||this.U()||(W(this),this.o= this.V().createBufferSource(),this.o.buffer=this.O.ha,this.o.connect(this.G),this.ib=this.o,this.o.onended=this.$b,this.o.loop=this.X,U(this,this.Ia),this.Da(),this.o.start(0,this.P),this.cc=V(this),this.ac=this.P,this.K=!1)}pc(){return super.pc()*this.Vc}Nb(){this.Vc=this.Pa||this.Gb()?0:1;U(this,this.Ia)}tc(b){b=!!b;this.X!==b&&(this.X=b,this.o&&(this.o.loop=b))}Da(){let b=this.la;this.Sc&&(b*=this.s.ic);this.o&&(this.o.playbackRate.value=b)}sc(b){this.H||this.U()||(this.K?this.P=b:(this.hb(),this.P= b,this.Ib()))}qc(){return this.P}uc(b){b?this.IsPlaying()?(this.sa=!0,this.P=this.Ja(),this.X&&(this.P%=this.fa()),this.o.stop(0)):this.sa=!1:this.sa&&(W(this),this.o=this.V().createBufferSource(),this.o.buffer=this.O.ha,this.o.connect(this.G),this.ib=this.o,this.o.onended=this.$b,this.o.loop=this.X,U(this,this.Ia),this.Da(),this.o.start(0,this.P),this.cc=V(this),this.ac=this.P,this.sa=!1)}zc(b){super.zc(b);this.P=b.resumePosition}};"use strict";function X(b){return b.g.createGain()} function Y(b,a,c,d,e){a.cancelScheduledValues(0);if(0===e)a.value=c;else switch(b=b.g.currentTime,e+=b,d){case 0:a.setValueAtTime(c,e);break;case 1:a.setValueAtTime(a.value,b);a.linearRampToValueAtTime(c,e);break;case 2:a.setValueAtTime(a.value,b),a.exponentialRampToValueAtTime(c,e)}}class Z{constructor(b){this.s=b;this.g=b.V();this.Dd=-1;this.R=this.ea="";this.m=null}j(){this.g=null}N(){}S(){}eb(){return{type:this.R,tag:this.ea,params:this.m}}} self.Zd=class extends Z{constructor(b,a,c,d,e,f,g){super(b);this.R="filter";this.m=[a,c,d,e,f,g];this.v=X(this);this.i=X(this);this.i.gain.value=g;this.h=X(this);this.h.gain.value=1-g;this.C=this.g.createBiquadFilter();this.C.type=a;this.C.frequency.value=c;this.C.detune.value=d;this.C.Q.value=e;this.C.gain.vlaue=f;this.v.connect(this.C);this.v.connect(this.h);this.C.connect(this.i)}j(){this.v.disconnect();this.C.disconnect();this.i.disconnect();this.h.disconnect();super.j()}S(b){this.i.disconnect(); this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[5]=a;Y(this,this.i.gain,a,c,d);Y(this,this.h.gain,1-a,c,d);break;case 1:this.m[1]=a;Y(this,this.C.frequency,a,c,d);break;case 2:this.m[2]=a;Y(this,this.C.detune,a,c,d);break;case 3:this.m[3]=a;Y(this,this.C.Q,a,c,d);break;case 4:this.m[4]=a,Y(this,this.C.gain,a,c,d)}}}; self.Xd=class extends Z{constructor(b,a,c,d){super(b);this.R="delay";this.m=[a,c,d];this.v=X(this);this.i=X(this);this.i.gain.value=d;this.h=X(this);this.h.gain.value=1-d;this.vb=X(this);this.W=this.g.createDelay(a);this.W.delayTime.value=a;this.mb=X(this);this.mb.gain.value=c;this.v.connect(this.vb);this.v.connect(this.h);this.vb.connect(this.i);this.vb.connect(this.W);this.W.connect(this.mb);this.mb.connect(this.vb)}j(){this.v.disconnect();this.i.disconnect();this.h.disconnect();this.vb.disconnect(); this.W.disconnect();this.mb.disconnect();super.j()}S(b){this.i.disconnect();this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){const e=self.bb.gd;switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[2]=a;Y(this,this.i.gain,a,c,d);Y(this,this.h.gain,1-a,c,d);break;case 4:this.m[1]=e(a);Y(this,this.mb.gain,e(a),c,d);break;case 5:this.m[0]=a,Y(this,this.W.delayTime,a,c,d)}}}; self.Wd=class extends Z{constructor(b,a,c,d){super(b);this.R="convolution";this.m=[c,d];this.td=this.sd="";this.v=X(this);this.i=X(this);this.i.gain.value=d;this.h=X(this);this.h.gain.value=1-d;this.lb=this.g.createConvolver();this.lb.normalize=c;this.lb.buffer=a;this.v.connect(this.lb);this.v.connect(this.h);this.lb.connect(this.i)}j(){this.v.disconnect();this.lb.disconnect();this.i.disconnect();this.h.disconnect();super.j()}S(b){this.i.disconnect();this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b, a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0),this.m[1]=a,Y(this,this.i.gain,a,c,d),Y(this,this.h.gain,1-a,c,d)}}eb(){const b=super.eb();b.bufferOriginalUrl=this.sd;b.bufferUrl="";b.bufferType=this.td;return b}}; self.$d=class extends Z{constructor(b,a,c,d,e,f){super(b);this.R="flanger";this.m=[a,c,d,e,f];this.v=X(this);this.h=X(this);this.h.gain.value=1-f/2;this.i=X(this);this.i.gain.value=f/2;this.ob=X(this);this.ob.gain.value=e;this.W=this.g.createDelay(a+c);this.W.delayTime.value=a;this.B=this.g.createOscillator();this.B.frequency.value=d;this.L=X(this);this.L.gain.value=c;this.v.connect(this.W);this.v.connect(this.h);this.W.connect(this.i);this.W.connect(this.ob);this.ob.connect(this.W);this.B.connect(this.L); this.L.connect(this.W.delayTime);this.B.start(0)}j(){this.B.stop(0);this.v.disconnect();this.W.disconnect();this.B.disconnect();this.L.disconnect();this.h.disconnect();this.i.disconnect();this.ob.disconnect();super.j()}S(b){this.i.disconnect();this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[4]=a;Y(this,this.i.gain,a/2,c,d);Y(this,this.h.gain,1-a/2,c,d);break;case 6:this.m[1]=a/1E3;Y(this,this.L.gain,a/1E3, c,d);break;case 7:this.m[2]=a;Y(this,this.B.frequency,a,c,d);break;case 8:this.m[3]=a/100,Y(this,this.ob.gain,a/100,c,d)}}}; self.be=class extends Z{constructor(b,a,c,d,e,f,g){super(b);this.R="phaser";this.m=[a,c,d,e,f,g];this.v=X(this);this.h=X(this);this.h.gain.value=1-g/2;this.i=X(this);this.i.gain.value=g/2;this.C=this.g.createBiquadFilter();this.C.type="allpass";this.C.frequency.value=a;this.C.detune.value=c;this.C.Q.value=d;this.B=this.g.createOscillator();this.B.frequency.value=f;this.L=X(this);this.L.gain.value=e;this.v.connect(this.C);this.v.connect(this.h);this.C.connect(this.i);this.B.connect(this.L);this.L.connect(this.C.frequency); this.B.start(0)}j(){this.B.stop(0);this.v.disconnect();this.C.disconnect();this.B.disconnect();this.L.disconnect();this.h.disconnect();this.i.disconnect();super.j()}S(b){this.i.disconnect();this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[5]=a;Y(this,this.i.gain,a/2,c,d);Y(this,this.h.gain,1-a/2,c,d);break;case 1:this.m[0]=a;Y(this,this.C.frequency,a,c,d);break;case 2:this.m[1]=a;Y(this,this.C.detune,a,c,d); break;case 3:this.m[2]=a;Y(this,this.C.Q,a,c,d);break;case 6:this.m[3]=a;Y(this,this.L.gain,a,c,d);break;case 7:this.m[4]=a,Y(this,this.B.frequency,a,c,d)}}};self.ae=class extends Z{constructor(b,a){super(b);this.R="gain";this.m=[a];this.l=X(this);this.l.gain.value=a}j(){this.l.disconnect();super.j()}S(b){this.l.disconnect();this.l.connect(b)}N(){return this.l}Y(b,a,c,d){const e=self.bb.gd;switch(b){case 4:this.m[0]=e(a),Y(this,this.l.gain,e(a),c,d)}}}; self.de=class extends Z{constructor(b,a){super(b);this.R="stereopan";this.m=[a];this.l=this.g.createStereoPanner();this.l.pan.value=a}j(){this.l.disconnect();super.j()}S(b){this.l.disconnect();this.l.connect(b)}N(){return this.l}Y(b,a,c,d){a=Math.min(Math.max(a/100,-1),1);switch(b){case 9:this.m[0]=a,Y(this,this.l.pan,a,c,d)}}}; self.ee=class extends Z{constructor(b,a,c){super(b);this.R="tremolo";this.m=[a,c];this.l=X(this);this.l.gain.value=1-c/2;this.B=this.g.createOscillator();this.B.frequency.value=a;this.L=X(this);this.L.gain.value=c/2;this.B.connect(this.L);this.L.connect(this.l.gain);this.B.start(0)}j(){this.B.stop(0);this.B.disconnect();this.L.disconnect();this.l.disconnect();super.j()}S(b){this.l.disconnect();this.l.connect(b)}N(){return this.l}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[1]= a;Y(this,this.l.gain,1-a/2,c,d);Y(this,this.L.gain,a/2,c,d);break;case 7:this.m[0]=a,Y(this,this.B.frequency,a,c,d)}}}; self.ce=class extends Z{constructor(b,a,c){super(b);this.R="ringmod";this.m=[a,c];this.v=X(this);this.i=X(this);this.i.gain.value=c;this.h=X(this);this.h.gain.value=1-c;this.Bb=X(this);this.Bb.gain.value=0;this.B=this.g.createOscillator();this.B.frequency.value=a;this.B.connect(this.Bb.gain);this.B.start(0);this.v.connect(this.Bb);this.v.connect(this.h);this.Bb.connect(this.i)}j(){this.B.stop(0);this.B.disconnect();this.Bb.disconnect();this.v.disconnect();this.i.disconnect();this.h.disconnect();super.j()}S(b){this.i.disconnect(); this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0);this.m[1]=a;Y(this,this.i.gain,a,c,d);Y(this,this.h.gain,1-a,c,d);break;case 7:this.m[0]=a,Y(this,this.B.frequency,a,c,d)}}}; self.Yd=class extends Z{constructor(b,a,c,d,e,f){super(b);this.R="distortion";this.m=[a,c,d,e,f];this.v=X(this);this.hc=X(this);this.fc=X(this);b=d;.01>b&&(b=.01);this.hc.gain.value=b;this.fc.gain.value=Math.pow(1/b,.6)*e;this.i=X(this);this.i.gain.value=f;this.h=X(this);this.h.gain.value=1-f;this.jc=this.g.createWaveShaper();this.Jc=new Float32Array(65536);for(e=0;32768>e;++e)f=e/32768,b=1.05*c*a-a,d=0>f?-f:f,d<a?b=d:(d=1-Math.exp(-(1/b)*(d-a)),b=a+b*d),f=b*(0>f?-1:1),this.Jc[32768+e]=f,this.Jc[32768- e-1]=-f;this.jc.curve=this.Jc;this.v.connect(this.hc);this.v.connect(this.h);this.hc.connect(this.jc);this.jc.connect(this.fc);this.fc.connect(this.i)}j(){this.v.disconnect();this.hc.disconnect();this.jc.disconnect();this.fc.disconnect();this.i.disconnect();this.h.disconnect();super.j()}S(b){this.i.disconnect();this.i.connect(b);this.h.disconnect();this.h.connect(b)}N(){return this.v}Y(b,a,c,d){switch(b){case 0:a=Math.max(Math.min(a/100,1),0),this.m[4]=a,Y(this,this.i.gain,a,c,d),Y(this,this.h.gain, 1-a,c,d)}}};self.Vd=class extends Z{constructor(b,a,c,d,e,f){super(b);this.R="compressor";this.m=[a,c,d,e,f];this.l=this.g.createDynamicsCompressor();this.l.threshold.value=a;this.l.knee.value=c;this.l.ratio.value=d;this.l.attack.value=e;this.l.release.value=f}j(){this.l.disconnect();super.j()}S(b){this.l.disconnect();this.l.connect(b)}N(){return this.l}Y(){}}; self.Ud=class extends Z{constructor(b,a,c){super(b);this.R="analyser";this.m=[a,c];this.l=this.g.createAnalyser();this.l.fftSize=a;this.l.smoothingTimeConstant=c;this.Ad=new Float32Array(this.l.frequencyBinCount);this.Od=new Uint8Array(a);this.Md=this.Va=0;b=this.s;b.Na.add(this);T(b)}j(){this.s.Na.delete(this);this.l.disconnect();super.j()}La(){this.l.getFloatFrequencyData(this.Ad);this.l.getByteTimeDomainData(this.Od);const b=this.l.fftSize;let a=this.Va=0;for(var c=0;c<b;++c){let d=(this.Od[c]- 128)/128;0>d&&(d=-d);this.Va<d&&(this.Va=d);a+=d*d}c=self.bb.pe;this.Va=c(this.Va);this.Md=c(Math.sqrt(a/b))}S(b){this.l.disconnect();this.l.connect(b)}N(){return this.l}Y(){}};
| ver. 1.4 |
Github
|
.
| PHP 8.2.29 | Генераци� �траницы: 0 |
proxy
|
phpinfo
|
�а�тройка