return async function(){let t=await(await fetch(args[1])).text(),n=t+`
self.onmessage=async(o)=>{let{recv:a,start_send:w,url:d,memory:t,wasm:n}=o.data;await wasm_bindgen({memory:t,module_or_path:n}),wasm_bindgen.__dispatch_start(w);while(!0){let r=wasm_bindgen.__dispatch_recv(a);if(!r)break;let[_,m,i,c,g]=r;await new Promise((s)=>{let e=new Worker(d);e.onmessage=({data:p})=>{switch(p){case 0:e.terminate();return;case 1:return e.postMessage({id:_,f:m,send:i,start:c,memory:t,wasm:n}),s();case 2:wasm_bindgen.__worker_send(_,i),e.terminate();return}}});while(!wasm_bindgen.__dispatch_poll_worker(g))await new Promise((s)=>setTimeout(s,0))}wasm_bindgen.__dispatch_drop(a),self.postMessage(0)};self.postMessage(1);
`,a=URL.createObjectURL(new Blob([n],{type:"text/javascript"})),o=t+`
self.onmessage=async(s)=>{let{id:a,f:n,send:o,start:r,memory:t,wasm:_}=s.data;await wasm_bindgen({memory:t,module_or_path:_});try{let e=wasm_bindgen.__worker_main(n,r);wasm_bindgen.__worker_send(a,o,e)}catch(e){self.console.error(e),self.postMessage(2);return}self.postMessage(0)};self.postMessage(1);
`,r=URL.createObjectURL(new Blob([o],{type:"text/javascript"})),i=await(await fetch(args[0])).arrayBuffer(),_=args[2],c=args[3],w=args[4],m=args[5],d=args[6],e=new Worker(a);await new Promise((s)=>{e.onmessage=({data:g})=>{if(g){s(),e.postMessage({recv:c,start_send:w,url:r,memory:_,wasm:i});return}URL.revokeObjectURL(a),URL.revokeObjectURL(r),e.terminate()}});while(!d(m))await new Promise((s)=>setTimeout(s,0))}();