MCPcopy Index your code
hub / github.com/google/adk-python / render

Method render

src/google/adk/cli/browser/main-3CUQG2IN.js:4196–4196  ·  view source on GitHub ↗
(e,A={})

Source from the content-addressed store, hash-verified

4194`)),!y)return null;GA=rt(y,!0)}return GA.shift()},ze={ttys:[],init(){},shutdown(){},register(y,b){ze.ttys[y]={input:[],output:[],ops:b},J.registerDevice(y,ze.stream_ops)},stream_ops:{open(y){var b=ze.ttys[y.node.rdev];if(!b)throw new J.ErrnoError(43);y.tty=b,y.seekable=!1},close(y){y.tty.ops.fsync(y.tty)},fsync(y){y.tty.ops.fsync(y.tty)},read(y,b,R,W,_){if(!y.tty||!y.tty.ops.get_char)throw new J.ErrnoError(60);for(var q=0,tA=0;tA<W;tA++){var rA;try{rA=y.tty.ops.get_char(y.tty)}catch(DA){throw new J.ErrnoError(29)}if(rA===void 0&&q===0)throw new J.ErrnoError(6);if(rA==null)break;q++,b[R+tA]=rA}return q&&(y.node.timestamp=Date.now()),q},write(y,b,R,W,_){if(!y.tty||!y.tty.ops.put_char)throw new J.ErrnoError(60);try{for(var q=0;q<W;q++)y.tty.ops.put_char(y.tty,b[R+q])}catch(tA){throw new J.ErrnoError(29)}return W&&(y.node.timestamp=Date.now()),q}},default_tty_ops:{get_char(y){return je()},put_char(y,b){b===null||b===10?(B(vt(y.output)),y.output=[]):b!=0&&y.output.push(b)},fsync(y){y.output&&y.output.length>0&&(B(vt(y.output)),y.output=[])},ioctl_tcgets(y){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(y,b,R){return 0},ioctl_tiocgwinsz(y){return[24,80]}},default_tty1_ops:{put_char(y,b){b===null||b===10?(u(vt(y.output)),y.output=[]):b!=0&&y.output.push(b)},fsync(y){y.output&&y.output.length>0&&(u(vt(y.output)),y.output=[])}}},pi=(y,b)=>{M.fill(0,y,y+b)},mn=(y,b)=>Math.ceil(y/b)*b,Sn=y=>{y=mn(y,65536);var b=$i(65536,y);return b&&pi(b,y),b},He={ops_table:null,mount(y){return He.createNode(null,"/",16895,0)},createNode(y,b,R,W){if(J.isBlkdev(R)||J.isFIFO(R))throw new J.ErrnoError(63);He.ops_table||={dir:{node:{getattr:He.node_ops.getattr,setattr:He.node_ops.setattr,lookup:He.node_ops.lookup,mknod:He.node_ops.mknod,rename:He.node_ops.rename,unlink:He.node_ops.unlink,rmdir:He.node_ops.rmdir,readdir:He.node_ops.readdir,symlink:He.node_ops.symlink},stream:{llseek:He.stream_ops.llseek}},file:{node:{getattr:He.node_ops.getattr,setattr:He.node_ops.setattr},stream:{llseek:He.stream_ops.llseek,read:He.stream_ops.read,write:He.stream_ops.write,allocate:He.stream_ops.allocate,mmap:He.stream_ops.mmap,msync:He.stream_ops.msync}},link:{node:{getattr:He.node_ops.getattr,setattr:He.node_ops.setattr,readlink:He.node_ops.readlink},stream:{}},chrdev:{node:{getattr:He.node_ops.getattr,setattr:He.node_ops.setattr},stream:J.chrdev_stream_ops}};var _=J.createNode(y,b,R,W);return J.isDir(_.mode)?(_.node_ops=He.ops_table.dir.node,_.stream_ops=He.ops_table.dir.stream,_.contents={}):J.isFile(_.mode)?(_.node_ops=He.ops_table.file.node,_.stream_ops=He.ops_table.file.stream,_.usedBytes=0,_.contents=null):J.isLink(_.mode)?(_.node_ops=He.ops_table.link.node,_.stream_ops=He.ops_table.link.stream):J.isChrdev(_.mode)&&(_.node_ops=He.ops_table.chrdev.node,_.stream_ops=He.ops_table.chrdev.stream),_.timestamp=Date.now(),y&&(y.contents[b]=_,y.timestamp=_.timestamp),_},getFileDataAsTypedArray(y){return y.contents?y.contents.subarray?y.contents.subarray(0,y.usedBytes):new Uint8Array(y.contents):new Uint8Array(0)},expandFileStorage(y,b){var R=y.contents?y.contents.length:0;if(!(R>=b)){var W=1024*1024;b=Math.max(b,R*(R<W?2:1.125)>>>0),R!=0&&(b=Math.max(b,256));var _=y.contents;y.contents=new Uint8Array(b),y.usedBytes>0&&y.contents.set(_.subarray(0,y.usedBytes),0)}},resizeFileStorage(y,b){if(y.usedBytes!=b)if(b==0)y.contents=null,y.usedBytes=0;else{var R=y.contents;y.contents=new Uint8Array(b),R&&y.contents.set(R.subarray(0,Math.min(b,y.usedBytes))),y.usedBytes=b}},node_ops:{getattr(y){var b={};return b.dev=J.isChrdev(y.mode)?y.id:1,b.ino=y.id,b.mode=y.mode,b.nlink=1,b.uid=0,b.gid=0,b.rdev=y.rdev,J.isDir(y.mode)?b.size=4096:J.isFile(y.mode)?b.size=y.usedBytes:J.isLink(y.mode)?b.size=y.link.length:b.size=0,b.atime=new Date(y.timestamp),b.mtime=new Date(y.timestamp),b.ctime=new Date(y.timestamp),b.blksize=4096,b.blocks=Math.ceil(b.size/b.blksize),b},setattr(y,b){b.mode!==void 0&&(y.mode=b.mode),b.timestamp!==void 0&&(y.timestamp=b.timestamp),b.size!==void 0&&He.resizeFileStorage(y,b.size)},lookup(y,b){throw J.genericErrors[44]},mknod(y,b,R,W){return He.createNode(y,b,R,W)},rename(y,b,R){if(J.isDir(y.mode)){var W;try{W=J.lookupNode(b,R)}catch(q){}if(W)for(var _ in W.contents)throw new J.ErrnoError(55)}delete y.parent.contents[y.name],y.parent.timestamp=Date.now(),y.name=R,b.contents[R]=y,b.timestamp=y.parent.timestamp},unlink(y,b){delete y.contents[b],y.timestamp=Date.now()},rmdir(y,b){var R=J.lookupNode(y,b);for(var W in R.contents)throw new J.ErrnoError(55);delete y.contents[b],y.timestamp=Date.now()},readdir(y){var b=[".",".."];for(var R of Object.keys(y.contents))b.push(R);return b},symlink(y,b,R){var W=He.createNode(y,b,41471,0);return W.link=R,W},readlink(y){if(!J.isLink(y.mode))throw new J.ErrnoError(28);return y.link}},stream_ops:{read(y,b,R,W,_){var q=y.node.contents;if(_>=y.node.usedBytes)return 0;var tA=Math.min(y.node.usedBytes-_,W);if(tA>8&&q.subarray)b.set(q.subarray(_,_+tA),R);else for(var rA=0;rA<tA;rA++)b[R+rA]=q[_+rA];return tA},write(y,b,R,W,_,q){if(b.buffer===k.buffer&&(q=!1),!W)return 0;var tA=y.node;if(tA.timestamp=Date.now(),b.subarray&&(!tA.contents||tA.contents.subarray)){if(q)return tA.contents=b.subarray(R,R+W),tA.usedBytes=W,W;if(tA.usedBytes===0&&_===0)return tA.contents=b.slice(R,R+W),tA.usedBytes=W,W;if(_+W<=tA.usedBytes)return tA.contents.set(b.subarray(R,R+W),_),W}if(He.expandFileStorage(tA,_+W),tA.contents.subarray&&b.subarray)tA.contents.set(b.subarray(R,R+W),_);else for(var rA=0;rA<W;rA++)tA.contents[_+rA]=b[R+rA];return tA.usedBytes=Math.max(tA.usedBytes,_+W),W},llseek(y,b,R){var W=b;if(R===1?W+=y.position:R===2&&J.isFile(y.node.mode)&&(W+=y.node.usedBytes),W<0)throw new J.ErrnoError(28);return W},allocate(y,b,R){He.expandFileStorage(y.node,b+R),y.node.usedBytes=Math.max(y.node.usedBytes,b+R)},mmap(y,b,R,W,_){if(!J.isFile(y.node.mode))throw new J.ErrnoError(43);var q,tA,rA=y.node.contents;if(!(_&2)&&rA&&rA.buffer===k.buffer)tA=!1,q=rA.byteOffset;else{if(tA=!0,q=Sn(b),!q)throw new J.ErrnoError(48);rA&&((R>0||R+b<rA.length)&&(rA.subarray?rA=rA.subarray(R,R+b):rA=Array.prototype.slice.call(rA,R,R+b)),k.set(rA,q))}return{ptr:q,allocated:tA}},msync(y,b,R,W,_){return He.stream_ops.write(y,b,0,W,R,!1),0}}},En=(y,b,R,W)=>{var _=W?"":`al ${y}`;C(y).then(q=>{b(new Uint8Array(q)),_&&bA()},q=>{if(R)R();else throw`Loading data file "${y}" failed.`}),_&&HA()},Gi=(y,b,R,W,_,q)=>{J.createDataFile(y,b,R,W,_,q)},Pi=[],gn=(y,b,R,W)=>{typeof Browser<"u"&&Browser.init();var _=!1;return Pi.forEach(q=>{_||q.canHandle(b)&&(q.handle(y,b,R,W),_=!0)}),_},Rt=(y,b,R,W,_,q,tA,rA,DA,ae)=>{var ge=b?me.resolve(oA.join2(y,b)):y;function pe(Ve){function Ue(Je){ae?.(),rA||Gi(y,b,Je,W,_,DA),q?.(),bA()}gn(Ve,ge,Ue,()=>{tA?.(),bA()})||Ue(Ve)}HA(),typeof R=="string"?En(R,pe,tA):pe(R)},Qn=y=>{var b={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},R=b[y];if(typeof R>"u")throw new Error(`Unknown file open mode: ${y}`);return R},jt=(y,b)=>{var R=0;return y&&(R|=365),b&&(R|=146),R},J={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(y){this.name="ErrnoError",this.errno=y}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(y){this.node=y}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(y){this.shared.flags=y}get position(){return this.shared.position}set position(y){this.shared.position=y}},FSNode:class{constructor(y,b,R,W){y||(y=this),this.parent=y,this.mount=y.mount,this.mounted=null,this.id=J.nextInode++,this.name=b,this.mode=R,this.node_ops={},this.stream_ops={},this.rdev=W,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(y){y?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(y){y?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return J.isDir(this.mode)}get isDevice(){return J.isChrdev(this.mode)}},lookupPath(y,b={}){if(y=me.resolve(y),!y)return{path:"",node:null};var R={follow_mount:!0,recurse_count:0};if(b=Object.assign(R,b),b.recurse_count>8)throw new J.ErrnoError(32);for(var W=y.split("/").filter(pe=>!!pe),_=J.root,q="/",tA=0;tA<W.length;tA++){var rA=tA===W.length-1;if(rA&&b.parent)break;if(_=J.lookupNode(_,W[tA]),q=oA.join2(q,W[tA]),J.isMountpoint(_)&&(!rA||rA&&b.follow_mount)&&(_=_.mounted.root),!rA||b.follow)for(var DA=0;J.isLink(_.mode);){var ae=J.readlink(q);q=me.resolve(oA.dirname(q),ae);var ge=J.lookupPath(q,{recurse_count:b.recurse_count+1});if(_=ge.node,DA++>40)throw new J.ErrnoError(32)}}return{path:q,node:_}},getPath(y){for(var b;;){if(J.isRoot(y)){var R=y.mount.mountpoint;return b?R[R.length-1]!=="/"?`${R}/${b}`:R+b:R}b=b?`${y.name}/${b}`:y.name,y=y.parent}},hashName(y,b){for(var R=0,W=0;W<b.length;W++)R=(R<<5)-R+b.charCodeAt(W)|0;return(y+R>>>0)%J.nameTable.length},hashAddNode(y){var b=J.hashName(y.parent.id,y.name);y.name_next=J.nameTable[b],J.nameTable[b]=y},hashRemoveNode(y){var b=J.hashName(y.parent.id,y.name);if(J.nameTable[b]===y)J.nameTable[b]=y.name_next;else for(var R=J.nameTable[b];R;){if(R.name_next===y){R.name_next=y.name_next;break}R=R.name_next}},lookupNode(y,b){var R=J.mayLookup(y);if(R)throw new J.ErrnoError(R);for(var W=J.hashName(y.id,b),_=J.nameTable[W];_;_=_.name_next){var q=_.name;if(_.parent.id===y.id&&q===b)return _}return J.lookup(y,b)},createNode(y,b,R,W){var _=new J.FSNode(y,b,R,W);return J.hashAddNode(_),_},destroyNode(y){J.hashRemoveNode(y)},isRoot(y){return y===y.parent},isMountpoint(y){return!!y.mounted},isFile(y){return(y&61440)===32768},isDir(y){return(y&61440)===16384},isLink(y){return(y&61440)===40960},isChrdev(y){return(y&61440)===8192},isBlkdev(y){return(y&61440)===24576},isFIFO(y){return(y&61440)===4096},isSocket(y){return(y&49152)===49152},flagsToPermissionString(y){var b=["r","w","rw"][y&3];return y&512&&(b+="w"),b},nodePermissions(y,b){return J.ignorePermissions?0:b.includes("r")&&!(y.mode&292)||b.includes("w")&&!(y.mode&146)||b.includes("x")&&!(y.mode&73)?2:0},mayLookup(y){if(!J.isDir(y.mode))return 54;var b=J.nodePermissions(y,"x");return b||(y.node_ops.lookup?0:2)},mayCreate(y,b){try{var R=J.lookupNode(y,b);return 20}catch(W){}return J.nodePermissions(y,"wx")},mayDelete(y,b,R){var W;try{W=J.lookupNode(y,b)}catch(q){return q.errno}var _=J.nodePermissions(y,"wx");if(_)return _;if(R){if(!J.isDir(W.mode))return 54;if(J.isRoot(W)||J.getPath(W)===J.cwd())return 10}else if(J.isDir(W.mode))return 31;return 0},mayOpen(y,b){return y?J.isLink(y.mode)?32:J.isDir(y.mode)&&(J.flagsToPermissionString(b)!=="r"||b&512)?31:J.nodePermissions(y,J.flagsToPermissionString(b)):44},MAX_OPEN_FDS:4096,nextfd(){for(var y=0;y<=J.MAX_OPEN_FDS;y++)if(!J.streams[y])return y;throw new J.ErrnoError(33)},getStreamChecked(y){var b=J.getStream(y);if(!b)throw new J.ErrnoError(8);return b},getStream:y=>J.streams[y],createStream(y,b=-1){return y=Object.assign(new J.FSStream,y),b==-1&&(b=J.nextfd()),y.fd=b,J.streams[b]=y,y},closeStream(y){J.streams[y]=null},dupStream(y,b=-1){var R=J.createStream(y,b);return R.stream_ops?.dup?.(R),R},chrdev_stream_ops:{open(y){var b=J.getDevice(y.node.rdev);y.stream_ops=b.stream_ops,y.stream_ops.open?.(y)},llseek(){throw new J.ErrnoError(70)}},major:y=>y>>8,minor:y=>y&255,makedev:(y,b)=>y<<8|b,registerDevice(y,b){J.devices[y]={stream_ops:b}},getDevice:y=>J.devices[y],getMounts(y){for(var b=[],R=[y];R.length;){var W=R.pop();b.push(W),R.push(...W.mounts)}return b},syncfs(y,b){typeof y=="function"&&(b=y,y=!1),J.syncFSRequests++,J.syncFSRequests>1&&u(`warning: ${J.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var R=J.getMounts(J.root.mount),W=0;function _(tA){return J.syncFSRequests--,b(tA)}function q(tA){if(tA)return q.errored?void 0:(q.errored=!0,_(tA));++W>=R.length&&_(null)}R.forEach(tA=>{if(!tA.type.syncfs)return q(null);tA.type.syncfs(tA,y,q)})},mount(y,b,R){var W=R==="/",_=!R,q;if(W&&J.root)throw new J.ErrnoError(10);if(!W&&!_){var tA=J.lookupPath(R,{follow_mount:!1});if(R=tA.path,q=tA.node,J.isMountpoint(q))throw new J.ErrnoError(10);if(!J.isDir(q.mode))throw new J.ErrnoError(54)}var rA={type:y,opts:b,mountpoint:R,mounts:[]},DA=y.mount(rA);return DA.mount=rA,rA.root=DA,W?J.root=DA:q&&(q.mounted=rA,q.mount&&q.mount.mounts.push(rA)),DA},unmount(y){var b=J.lookupPath(y,{follow_mount:!1});if(!J.isMountpoint(b.node))throw new J.ErrnoError(28);var R=b.node,W=R.mounted,_=J.getMounts(W);Object.keys(J.nameTable).forEach(tA=>{for(var rA=J.nameTable[tA];rA;){var DA=rA.name_next;_.includes(rA.mount)&&J.destroyNode(rA),rA=DA}}),R.mounted=null;var q=R.mount.mounts.indexOf(W);R.mount.mounts.splice(q,1)},lookup(y,b){return y.node_ops.lookup(y,b)},mknod(y,b,R){var W=J.lookupPath(y,{parent:!0}),_=W.node,q=oA.basename(y);if(!q||q==="."||q==="..")throw new J.ErrnoError(28);var tA=J.mayCreate(_,q);if(tA)throw new J.ErrnoError(tA);if(!_.node_ops.mknod)throw new J.ErrnoError(63);return _.node_ops.mknod(_,q,b,R)},create(y,b){return b=b!==void 0?b:438,b&=4095,b|=32768,J.mknod(y,b,0)},mkdir(y,b){return b=b!==void 0?b:511,b&=1023,b|=16384,J.mknod(y,b,0)},mkdirTree(y,b){for(var R=y.split("/"),W="",_=0;_<R.length;++_)if(R[_]){W+="/"+R[_];try{J.mkdir(W,b)}catch(q){if(q.errno!=20)throw q}}},mkdev(y,b,R){return typeof R>"u"&&(R=b,b=438),b|=8192,J.mknod(y,b,R)},symlink(y,b){if(!me.resolve(y))throw new J.ErrnoError(44);var R=J.lookupPath(b,{parent:!0}),W=R.node;if(!W)throw new J.ErrnoError(44);var _=oA.basename(b),q=J.mayCreate(W,_);if(q)throw new J.ErrnoError(q);if(!W.node_ops.symlink)throw new J.ErrnoError(63);return W.node_ops.symlink(W,_,y)},rename(y,b){var R=oA.dirname(y),W=oA.dirname(b),_=oA.basename(y),q=oA.basename(b),tA,rA,DA;if(tA=J.lookupPath(y,{parent:!0}),rA=tA.node,tA=J.lookupPath(b,{parent:!0}),DA=tA.node,!rA||!DA)throw new J.ErrnoError(44);if(rA.mount!==DA.mount)throw new J.ErrnoError(75);var ae=J.lookupNode(rA,_),ge=me.relative(y,W);if(ge.charAt(0)!==".")throw new J.ErrnoError(28);if(ge=me.relative(b,R),ge.charAt(0)!==".")throw new J.ErrnoError(55);var pe;try{pe=J.lookupNode(DA,q)}catch(Je){}if(ae!==pe){var Ve=J.isDir(ae.mode),Ue=J.mayDelete(rA,_,Ve);if(Ue)throw new J.ErrnoError(Ue);if(Ue=pe?J.mayDelete(DA,q,Ve):J.mayCreate(DA,q),Ue)throw new J.ErrnoError(Ue);if(!rA.node_ops.rename)throw new J.ErrnoError(63);if(J.isMountpoint(ae)||pe&&J.isMountpoint(pe))throw new J.ErrnoError(10);if(DA!==rA&&(Ue=J.nodePermissions(rA,"w"),Ue))throw new J.ErrnoError(Ue);J.hashRemoveNode(ae);try{rA.node_ops.rename(ae,DA,q),ae.parent=DA}catch(Je){throw Je}finally{J.hashAddNode(ae)}}},rmdir(y){var b=J.lookupPath(y,{parent:!0}),R=b.node,W=oA.basename(y),_=J.lookupNode(R,W),q=J.mayDelete(R,W,!0);if(q)throw new J.ErrnoError(q);if(!R.node_ops.rmdir)throw new J.ErrnoError(63);if(J.isMountpoint(_))throw new J.ErrnoError(10);R.node_ops.rmdir(R,W),J.destroyNode(_)},readdir(y){var b=J.lookupPath(y,{follow:!0}),R=b.node;if(!R.node_ops.readdir)throw new J.ErrnoError(54);return R.node_ops.readdir(R)},unlink(y){var b=J.lookupPath(y,{parent:!0}),R=b.node;if(!R)throw new J.ErrnoError(44);var W=oA.basename(y),_=J.lookupNode(R,W),q=J.mayDelete(R,W,!1);if(q)throw new J.ErrnoError(q);if(!R.node_ops.unlink)throw new J.ErrnoError(63);if(J.isMountpoint(_))throw new J.ErrnoError(10);R.node_ops.unlink(R,W),J.destroyNode(_)},readlink(y){var b=J.lookupPath(y),R=b.node;if(!R)throw new J.ErrnoError(44);if(!R.node_ops.readlink)throw new J.ErrnoError(28);return me.resolve(J.getPath(R.parent),R.node_ops.readlink(R))},stat(y,b){var R=J.lookupPath(y,{follow:!b}),W=R.node;if(!W)throw new J.ErrnoError(44);if(!W.node_ops.getattr)throw new J.ErrnoError(63);return W.node_ops.getattr(W)},lstat(y){return J.stat(y,!0)},chmod(y,b,R){var W;if(typeof y=="string"){var _=J.lookupPath(y,{follow:!R});W=_.node}else W=y;if(!W.node_ops.setattr)throw new J.ErrnoError(63);W.node_ops.setattr(W,{mode:b&4095|W.mode&-4096,timestamp:Date.now()})},lchmod(y,b){J.chmod(y,b,!0)},fchmod(y,b){var R=J.getStreamChecked(y);J.chmod(R.node,b)},chown(y,b,R,W){var _;if(typeof y=="string"){var q=J.lookupPath(y,{follow:!W});_=q.node}else _=y;if(!_.node_ops.setattr)throw new J.ErrnoError(63);_.node_ops.setattr(_,{timestamp:Date.now()})},lchown(y,b,R){J.chown(y,b,R,!0)},fchown(y,b,R){var W=J.getStreamChecked(y);J.chown(W.node,b,R)},truncate(y,b){if(b<0)throw new J.ErrnoError(28);var R;if(typeof y=="string"){var W=J.lookupPath(y,{follow:!0});R=W.node}else R=y;if(!R.node_ops.setattr)throw new J.ErrnoError(63);if(J.isDir(R.mode))throw new J.ErrnoError(31);if(!J.isFile(R.mode))throw new J.ErrnoError(28);var _=J.nodePermissions(R,"w");if(_)throw new J.ErrnoError(_);R.node_ops.setattr(R,{size:b,timestamp:Date.now()})},ftruncate(y,b){var R=J.getStreamChecked(y);if((R.flags&2097155)===0)throw new J.ErrnoError(28);J.truncate(R.node,b)},utime(y,b,R){var W=J.lookupPath(y,{follow:!0}),_=W.node;_.node_ops.setattr(_,{timestamp:Math.max(b,R)})},open(y,b,R){if(y==="")throw new J.ErrnoError(44);b=typeof b=="string"?Qn(b):b,b&64?(R=typeof R>"u"?438:R,R=R&4095|32768):R=0;var W;if(typeof y=="object")W=y;else{y=oA.normalize(y);try{var _=J.lookupPath(y,{follow:!(b&131072)});W=_.node}catch(DA){}}var q=!1;if(b&64)if(W){if(b&128)throw new J.ErrnoError(20)}else W=J.mknod(y,R,0),q=!0;if(!W)throw new J.ErrnoError(44);if(J.isChrdev(W.mode)&&(b&=-513),b&65536&&!J.isDir(W.mode))throw new J.ErrnoError(54);if(!q){var tA=J.mayOpen(W,b);if(tA)throw new J.ErrnoError(tA)}b&512&&!q&&J.truncate(W,0),b&=-131713;var rA=J.createStream({node:W,path:J.getPath(W),flags:b,seekable:!0,position:0,stream_ops:W.stream_ops,ungotten:[],error:!1});return rA.stream_ops.open&&rA.stream_ops.open(rA),rA},close(y){if(J.isClosed(y))throw new J.ErrnoError(8);y.getdents&&(y.getdents=null);try{y.stream_ops.close&&y.stream_ops.close(y)}catch(b){throw b}finally{J.closeStream(y.fd)}y.fd=null},isClosed(y){return y.fd===null},llseek(y,b,R){if(J.isClosed(y))throw new J.ErrnoError(8);if(!y.seekable||!y.stream_ops.llseek)throw new J.ErrnoError(70);if(R!=0&&R!=1&&R!=2)throw new J.ErrnoError(28);return y.position=y.stream_ops.llseek(y,b,R),y.ungotten=[],y.position},read(y,b,R,W,_){if(W<0||_<0)throw new J.ErrnoError(28);if(J.isClosed(y))throw new J.ErrnoError(8);if((y.flags&2097155)===1)throw new J.ErrnoError(8);if(J.isDir(y.node.mode))throw new J.ErrnoError(31);if(!y.stream_ops.read)throw new J.ErrnoError(28);var q=typeof _<"u";if(!q)_=y.position;else if(!y.seekable)throw new J.ErrnoError(70);var tA=y.stream_ops.read(y,b,R,W,_);return q||(y.position+=tA),tA},write(y,b,R,W,_,q){if(W<0||_<0)throw new J.ErrnoError(28);if(J.isClosed(y))throw new J.ErrnoError(8);if((y.flags&2097155)===0)throw new J.ErrnoError(8);if(J.isDir(y.node.mode))throw new J.ErrnoError(31);if(!y.stream_ops.write)throw new J.ErrnoError(28);y.seekable&&y.flags&1024&&J.llseek(y,0,2);var tA=typeof _<"u";if(!tA)_=y.position;else if(!y.seekable)throw new J.ErrnoError(70);var rA=y.stream_ops.write(y,b,R,W,_,q);return tA||(y.position+=rA),rA},allocate(y,b,R){if(J.isClosed(y))throw new J.ErrnoError(8);if(b<0||R<=0)throw new J.ErrnoError(28);if((y.flags&2097155)===0)throw new J.ErrnoError(8);if(!J.isFile(y.node.mode)&&!J.isDir(y.node.mode))throw new J.ErrnoError(43);if(!y.stream_ops.allocate)throw new J.ErrnoError(138);y.stream_ops.allocate(y,b,R)},mmap(y,b,R,W,_){if((W&2)!==0&&(_&2)===0&&(y.flags&2097155)!==2)throw new J.ErrnoError(2);if((y.flags&2097155)===1)throw new J.ErrnoError(2);if(!y.stream_ops.mmap)throw new J.ErrnoError(43);if(!b)throw new J.ErrnoError(28);return y.stream_ops.mmap(y,b,R,W,_)},msync(y,b,R,W,_){return y.stream_ops.msync?y.stream_ops.msync(y,b,R,W,_):0},ioctl(y,b,R){if(!y.stream_ops.ioctl)throw new J.ErrnoError(59);return y.stream_ops.ioctl(y,b,R)},readFile(y,b={}){if(b.flags=b.flags||0,b.encoding=b.encoding||"binary",b.encoding!=="utf8"&&b.encoding!=="binary")throw new Error(`Invalid encoding type "${b.encoding}"`);var R,W=J.open(y,b.flags),_=J.stat(y),q=_.size,tA=new Uint8Array(q);return J.read(W,tA,0,q,0),b.encoding==="utf8"?R=vt(tA):b.encoding==="binary"&&(R=tA),J.close(W),R},writeFile(y,b,R={}){R.flags=R.flags||577;var W=J.open(y,R.flags,R.mode);if(typeof b=="string"){var _=new Uint8Array(OA(b)+1),q=wt(b,_,0,_.length);J.write(W,_,0,q,void 0,R.canOwn)}else if(ArrayBuffer.isView(b))J.write(W,b,0,b.byteLength,void 0,R.canOwn);else throw new Error("Unsupported data type");J.close(W)},cwd:()=>J.currentPath,chdir(y){var b=J.lookupPath(y,{follow:!0});if(b.node===null)throw new J.ErrnoError(44);if(!J.isDir(b.node.mode))throw new J.ErrnoError(54);var R=J.nodePermissions(b.node,"x");if(R)throw new J.ErrnoError(R);J.currentPath=b.path},createDefaultDirectories(){J.mkdir("/tmp"),J.mkdir("/home"),J.mkdir("/home/web_user")},createDefaultDevices(){J.mkdir("/dev"),J.registerDevice(J.makedev(1,3),{read:()=>0,write:(W,_,q,tA,rA)=>tA}),J.mkdev("/dev/null",J.makedev(1,3)),ze.register(J.makedev(5,0),ze.default_tty_ops),ze.register(J.makedev(6,0),ze.default_tty1_ops),J.mkdev("/dev/tty",J.makedev(5,0)),J.mkdev("/dev/tty1",J.makedev(6,0));var y=new Uint8Array(1024),b=0,R=()=>(b===0&&(b=he(y).byteLength),y[--b]);J.createDevice("/dev","random",R),J.createDevice("/dev","urandom",R),J.mkdir("/dev/shm"),J.mkdir("/dev/shm/tmp")},createSpecialDirectories(){J.mkdir("/proc");var y=J.mkdir("/proc/self");J.mkdir("/proc/self/fd"),J.mount({mount(){var b=J.createNode(y,"fd",16895,73);return b.node_ops={lookup(R,W){var _=+W,q=J.getStreamChecked(_),tA={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>q.path}};return tA.parent=tA,tA}},b}},{},"/proc/self/fd")},createStandardStreams(y,b,R){y?J.createDevice("/dev","stdin",y):J.symlink("/dev/tty","/dev/stdin"),b?J.createDevice("/dev","stdout",null,b):J.symlink("/dev/tty","/dev/stdout"),R?J.createDevice("/dev","stderr",null,R):J.symlink("/dev/tty1","/dev/stderr"),J.open("/dev/stdin",0),J.open("/dev/stdout",1),J.open("/dev/stderr",1)},staticInit(){[44].forEach(y=>{J.genericErrors[y]=new J.ErrnoError(y),J.genericErrors[y].stack="<generic error, no stack>"}),J.nameTable=new Array(4096),J.mount(He,{},"/"),J.createDefaultDirectories(),J.createDefaultDevices(),J.createSpecialDirectories(),J.filesystems={MEMFS:He}},init(y,b,R){J.initialized=!0,J.createStandardStreams(y,b,R)},quit(){J.initialized=!1;for(var y=0;y<J.streams.length;y++){var b=J.streams[y];b&&J.close(b)}},findObject(y,b){var R=J.analyzePath(y,b);return R.exists?R.object:null},analyzePath(y,b){try{var R=J.lookupPath(y,{follow:!b});y=R.path}catch(_){}var W={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var R=J.lookupPath(y,{parent:!0});W.parentExists=!0,W.parentPath=R.path,W.parentObject=R.node,W.name=oA.basename(y),R=J.lookupPath(y,{follow:!b}),W.exists=!0,W.path=R.path,W.object=R.node,W.name=R.node.name,W.isRoot=R.path==="/"}catch(_){W.error=_.errno}return W},createPath(y,b,R,W){y=typeof y=="string"?y:J.getPath(y);for(var _=b.split("/").reverse();_.length;){var q=_.pop();if(q){var tA=oA.join2(y,q);try{J.mkdir(tA)}catch(rA){}y=tA}}return tA},createFile(y,b,R,W,_){var q=oA.join2(typeof y=="string"?y:J.getPath(y),b),tA=jt(W,_);return J.create(q,tA)},createDataFile(y,b,R,W,_,q){var tA=b;y&&(y=typeof y=="string"?y:J.getPath(y),tA=b?oA.join2(y,b):y);var rA=jt(W,_),DA=J.create(tA,rA);if(R){if(typeof R=="string"){for(var ae=new Array(R.length),ge=0,pe=R.length;ge<pe;++ge)ae[ge]=R.charCodeAt(ge);R=ae}J.chmod(DA,rA|146);var Ve=J.open(DA,577);J.write(Ve,R,0,R.length,0,q),J.close(Ve),J.chmod(DA,rA)}},createDevice(y,b,R,W){var _=oA.join2(typeof y=="string"?y:J.getPath(y),b),q=jt(!!R,!!W);J.createDevice.major??=64;var tA=J.makedev(J.createDevice.major++,0);return J.registerDevice(tA,{open(rA){rA.seekable=!1},close(rA){W?.buffer?.length&&W(10)},read(rA,DA,ae,ge,pe){for(var Ve=0,Ue=0;Ue<ge;Ue++){var Je;try{Je=R()}catch(Ei){throw new J.ErrnoError(29)}if(Je===void 0&&Ve===0)throw new J.ErrnoError(6);if(Je==null)break;Ve++,DA[ae+Ue]=Je}return Ve&&(rA.node.timestamp=Date.now()),Ve},write(rA,DA,ae,ge,pe){for(var Ve=0;Ve<ge;Ve++)try{W(DA[ae+Ve])}catch(Ue){throw new J.ErrnoError(29)}return ge&&(rA.node.timestamp=Date.now()),Ve}}),J.mkdev(_,q,tA)},forceLoadFile(y){if(y.isDevice||y.isFolder||y.link||y.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{y.contents=d(y.url),y.usedBytes=y.contents.length}catch(b){throw new J.ErrnoError(29)}},createLazyFile(y,b,R,W,_){class q{constructor(){this.lengthKnown=!1,this.chunks=[]}get(Ue){if(!(Ue>this.length-1||Ue<0)){var Je=Ue%this.chunkSize,Ei=Ue/this.chunkSize|0;return this.getter(Ei)[Je]}}setDataGetter(Ue){this.getter=Ue}cacheLength(){var Ue=new XMLHttpRequest;if(Ue.open("HEAD",R,!1),Ue.send(null),!(Ue.status>=200&&Ue.status<300||Ue.status===304))throw new Error("Couldn't load "+R+". Status: "+Ue.status);var Je=Number(Ue.getResponseHeader("Content-length")),Ei,no=(Ei=Ue.getResponseHeader("Accept-Ranges"))&&Ei==="bytes",AA=(Ei=Ue.getResponseHeader("Content-Encoding"))&&Ei==="gzip",fA=1024*1024;no||(fA=Je);var ZA=(Me,Re)=>{if(Me>Re)throw new Error("invalid range ("+Me+", "+Re+") or no bytes requested!");if(Re>Je-1)throw new Error("only "+Je+" bytes available! programmer error!");var ct=new XMLHttpRequest;if(ct.open("GET",R,!1),Je!==fA&&ct.setRequestHeader("Range","bytes="+Me+"-"+Re),ct.responseType="arraybuffer",ct.overrideMimeType&&ct.overrideMimeType("text/plain; charset=x-user-defined"),ct.send(null),!(ct.status>=200&&ct.status<300||ct.status===304))throw new Error("Couldn't load "+R+". Status: "+ct.status);return ct.response!==void 0?new Uint8Array(ct.response||[]):rt(ct.responseText||"",!0)},Ye=this;Ye.setDataGetter(Me=>{var Re=Me*fA,ct=(Me+1)*fA-1;if(ct=Math.min(ct,Je-1),typeof Ye.chunks[Me]>"u"&&(Ye.chunks[Me]=ZA(Re,ct)),typeof Ye.chunks[Me]>"u")throw new Error("doXHR failed!");return Ye.chunks[Me]}),(AA||!Je)&&(fA=Je=1,Je=this.getter(0).length,fA=Je,B("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=Je,this._chunkSize=fA,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var tA,rA}else var rA={isDevice:!1,url:R};var DA=J.createFile(y,b,rA,W,_);rA.contents?DA.contents=rA.contents:rA.url&&(DA.contents=null,DA.url=rA.url),Object.defineProperties(DA,{usedBytes:{get:function(){return this.contents.length}}});var ae={},ge=Object.keys(DA.stream_ops);ge.forEach(Ve=>{var Ue=DA.stream_ops[Ve];ae[Ve]=(...Je)=>(J.forceLoadFile(DA),Ue(...Je))});function pe(Ve,Ue,Je,Ei,no){var AA=Ve.node.contents;if(no>=AA.length)return 0;var fA=Math.min(AA.length-no,Ei);if(AA.slice)for(var ZA=0;ZA<fA;ZA++)Ue[Je+ZA]=AA[no+ZA];else for(var ZA=0;ZA<fA;ZA++)Ue[Je+ZA]=AA.get(no+ZA);return fA}return ae.read=(Ve,Ue,Je,Ei,no)=>(J.forceLoadFile(DA),pe(Ve,Ue,Je,Ei,no)),ae.mmap=(Ve,Ue,Je,Ei,no)=>{J.forceLoadFile(DA);var AA=Sn(Ue);if(!AA)throw new J.ErrnoError(48);return pe(Ve,k,AA,Ue,Je),{ptr:AA,allocated:!0}},DA.stream_ops=ae,DA}},ut={DEFAULT_POLLMASK:5,calculateAt(y,b,R){if(oA.isAbs(b))return b;var W;if(y===-100)W=J.cwd();else{var _=ut.getStreamFromFD(y);W=_.path}if(b.length==0){if(!R)throw new J.ErrnoError(44);return W}return oA.join2(W,b)},doStat(y,b,R){var W=y(b);F[R>>2]=W.dev,F[R+4>>2]=W.mode,z[R+8>>2]=W.nlink,F[R+12>>2]=W.uid,F[R+16>>2]=W.gid,F[R+20>>2]=W.rdev,X[R+24>>3]=BigInt(W.size),F[R+32>>2]=4096,F[R+36>>2]=W.blocks;var _=W.atime.getTime(),q=W.mtime.getTime(),tA=W.ctime.getTime();return X[R+40>>3]=BigInt(Math.floor(_/1e3)),z[R+48>>2]=_%1e3*1e3*1e3,X[R+56>>3]=BigInt(Math.floor(q/1e3)),z[R+64>>2]=q%1e3*1e3*1e3,X[R+72>>3]=BigInt(Math.floor(tA/1e3)),z[R+80>>2]=tA%1e3*1e3*1e3,X[R+88>>3]=BigInt(W.ino),0},doMsync(y,b,R,W,_){if(!J.isFile(b.node.mode))throw new J.ErrnoError(43);if(W&2)return 0;var q=M.slice(y,y+R);J.msync(b,q,_,R,W)},getStreamFromFD(y){var b=J.getStreamChecked(y);return b},varargs:void 0,getStr(y){var b=Ke(y);return b}};function bi(y,b,R,W){try{if(b=ut.getStr(b),b=ut.calculateAt(y,b),R&-8)return-28;var _=J.lookupPath(b,{follow:!0}),q=_.node;if(!q)return-44;var tA="";return R&4&&(tA+="r"),R&2&&(tA+="w"),R&1&&(tA+="x"),tA&&J.nodePermissions(q,tA)?-2:0}catch(rA){if(typeof J>"u"||rA.name!=="ErrnoError")throw rA;return-rA.errno}}function kn(){var y=F[+ut.varargs>>2];return ut.varargs+=4,y}var _n=kn;function Co(y,b,R){ut.varargs=R;try{var W=ut.getStreamFromFD(y);switch(b){case 0:{var _=kn();if(_<0)return-28;for(;J.streams[_];)_++;var q;return q=J.dupStream(W,_),q.fd}case 1:case 2:return 0;case 3:return W.flags;case 4:{var _=kn();return W.flags|=_,0}case 12:{var _=_n(),tA=0;return x[_+tA>>1]=2,0}case 13:case 14:return 0}return-28}catch(rA){if(typeof J>"u"||rA.name!=="ErrnoError")throw rA;return-rA.errno}}function ia(y,b){try{var R=ut.getStreamFromFD(y);return ut.doStat(J.stat,R.path,b)}catch(W){if(typeof J>"u"||W.name!=="ErrnoError")throw W;return-W.errno}}function So(y,b,R){ut.varargs=R;try{var W=ut.getStreamFromFD(y);switch(b){case 21509:return W.tty?0:-59;case 21505:{if(!W.tty)return-59;if(W.tty.ops.ioctl_tcgets){var _=W.tty.ops.ioctl_tcgets(W),q=_n();F[q>>2]=_.c_iflag||0,F[q+4>>2]=_.c_oflag||0,F[q+8>>2]=_.c_cflag||0,F[q+12>>2]=_.c_lflag||0;for(var tA=0;tA<32;tA++)k[q+tA+17]=_.c_cc[tA]||0;return 0}return 0}case 21510:case 21511:case 21512:return W.tty?0:-59;case 21506:case 21507:case 21508:{if(!W.tty)return-59;if(W.tty.ops.ioctl_tcsets){for(var q=_n(),rA=F[q>>2],DA=F[q+4>>2],ae=F[q+8>>2],ge=F[q+12>>2],pe=[],tA=0;tA<32;tA++)pe.push(k[q+tA+17]);return W.tty.ops.ioctl_tcsets(W.tty,b,{c_iflag:rA,c_oflag:DA,c_cflag:ae,c_lflag:ge,c_cc:pe})}return 0}case 21519:{if(!W.tty)return-59;var q=_n();return F[q>>2]=0,0}case 21520:return W.tty?-28:-59;case 21531:{var q=_n();return J.ioctl(W,b,q)}case 21523:{if(!W.tty)return-59;if(W.tty.ops.ioctl_tiocgwinsz){var Ve=W.tty.ops.ioctl_tiocgwinsz(W.tty),q=_n();x[q>>1]=Ve[0],x[q+2>>1]=Ve[1]}return 0}case 21524:return W.tty?0:-59;case 21515:return W.tty?0:-59;default:return-28}}catch(Ue){if(typeof J>"u"||Ue.name!=="ErrnoError")throw Ue;return-Ue.errno}}function Vo(y,b,R,W){try{b=ut.getStr(b);var _=W&256,q=W&4096;return W=W&-6401,b=ut.calculateAt(y,b,q),ut.doStat(_?J.lstat:J.stat,b,R)}catch(tA){if(typeof J>"u"||tA.name!=="ErrnoError")throw tA;return-tA.errno}}function ga(y,b,R,W){ut.varargs=W;try{b=ut.getStr(b),b=ut.calculateAt(y,b);var _=W?kn():0;return J.open(b,R,_).fd}catch(q){if(typeof J>"u"||q.name!=="ErrnoError")throw q;return-q.errno}}function Ko(y,b){try{return y=ut.getStr(y),ut.doStat(J.stat,y,b)}catch(R){if(typeof J>"u"||R.name!=="ErrnoError")throw R;return-R.errno}}var va=()=>{PA("")},ca=y=>y%4===0&&(y%100!==0||y%400===0),pa=[0,31,60,91,121,152,182,213,244,274,305,335],Uo=[0,31,59,90,120,151,181,212,243,273,304,334],de=y=>{var b=ca(y.getFullYear()),R=b?pa:Uo,W=R[y.getMonth()]+y.getDate()-1;return W},xi=9007199254740992,wn=-9007199254740992,xn=y=>y<wn||y>xi?NaN:Number(y);function na(y,b){y=xn(y);var R=new Date(y*1e3);F[b>>2]=R.getSeconds(),F[b+4>>2]=R.getMinutes(),F[b+8>>2]=R.getHours(),F[b+12>>2]=R.getDate(),F[b+16>>2]=R.getMonth(),F[b+20>>2]=R.getFullYear()-1900,F[b+24>>2]=R.getDay();var W=de(R)|0;F[b+28>>2]=W,F[b+36>>2]=-(R.getTimezoneOffset()*60);var _=new Date(R.getFullYear(),0,1),q=new Date(R.getFullYear(),6,1).getTimezoneOffset(),tA=_.getTimezoneOffset(),rA=(q!=tA&&R.getTimezoneOffset()==Math.min(tA,q))|0;F[b+32>>2]=rA}function Ra(y,b,R,W,_,q,tA){_=xn(_);try{if(isNaN(_))return 61;var rA=ut.getStreamFromFD(W),DA=J.mmap(rA,y,_,b,R),ae=DA.ptr;return F[q>>2]=DA.allocated,z[tA>>2]=ae,0}catch(ge){if(typeof J>"u"||ge.name!=="ErrnoError")throw ge;return-ge.errno}}function Oi(y,b,R,W,_,q){q=xn(q);try{var tA=ut.getStreamFromFD(_);R&2&&ut.doMsync(y,tA,b,W,q)}catch(rA){if(typeof J>"u"||rA.name!=="ErrnoError")throw rA;return-rA.errno}}var ko=(y,b,R)=>wt(y,M,b,R),ar=(y,b,R,W)=>{var _=new Date().getFullYear(),q=new Date(_,0,1),tA=new Date(_,6,1),rA=q.getTimezoneOffset(),DA=tA.getTimezoneOffset(),ae=Math.max(rA,DA);z[y>>2]=ae*60,F[b>>2]=+(rA!=DA);var ge=Ue=>{var Je=Ue>=0?"-":"+",Ei=Math.abs(Ue),no=String(Math.floor(Ei/60)).padStart(2,"0"),AA=String(Ei%60).padStart(2,"0");return`UTC${Je}${no}${AA}`},pe=ge(rA),Ve=ge(DA);DA<rA?(ko(pe,R,17),ko(Ve,W,17)):(ko(pe,W,17),ko(Ve,R,17))},To=()=>Date.now(),ja=()=>2147483648,to=y=>{var b=v.buffer,R=(y-b.byteLength+65535)/65536|0;try{return v.grow(R),Z(),1}catch(W){}},Wi=y=>{var b=M.length;y>>>=0;var R=ja();if(y>R)return!1;for(var W=1;W<=4;W*=2){var _=b*(1+.2/W);_=Math.min(_,y+100663296);var q=Math.min(R,mn(Math.max(y,_),65536)),tA=to(q);if(tA)return!0}return!1},ei={},qn=()=>s,_o=()=>{if(!_o.strings){var y=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:y,_:qn()};for(var R in ei)ei[R]===void 0?delete b[R]:b[R]=ei[R];var W=[];for(var R in b)W.push(`${R}=${b[R]}`);_o.strings=W}return _o.strings},qo=(y,b)=>{for(var R=0;R<y.length;++R)k[b++]=y.charCodeAt(R);k[b]=0},SA=(y,b)=>{var R=0;return _o().forEach((W,_)=>{var q=b+R;z[y+_*4>>2]=q,qo(W,q),R+=W.length+1}),0},ee=(y,b)=>{var R=_o();z[y>>2]=R.length;var W=0;return R.forEach(_=>W+=_.length+1),z[b>>2]=W,0},be=y=>{l(y,new Pt(y))},EA=(y,b)=>{be(y)},LA=EA;function Ce(y){try{var b=ut.getStreamFromFD(y);return J.close(b),0}catch(R){if(typeof J>"u"||R.name!=="ErrnoError")throw R;return R.errno}}var Te=(y,b,R,W)=>{for(var _=0,q=0;q<R;q++){var tA=z[b>>2],rA=z[b+4>>2];b+=8;var DA=J.read(y,k,tA,rA,W);if(DA<0)return-1;if(_+=DA,DA<rA)break;typeof W<"u"&&(W+=DA)}return _};function gt(y,b,R,W){try{var _=ut.getStreamFromFD(y),q=Te(_,b,R);return z[W>>2]=q,0}catch(tA){if(typeof J>"u"||tA.name!=="ErrnoError")throw tA;return tA.errno}}function dt(y,b,R,W){b=xn(b);try{if(isNaN(b))return 61;var _=ut.getStreamFromFD(y);return J.llseek(_,b,R),X[W>>3]=BigInt(_.position),_.getdents&&b===0&&R===0&&(_.getdents=null),0}catch(q){if(typeof J>"u"||q.name!=="ErrnoError")throw q;return q.errno}}var Ut=(y,b,R,W)=>{for(var _=0,q=0;q<R;q++){var tA=z[b>>2],rA=z[b+4>>2];b+=8;var DA=J.write(y,k,tA,rA,W);if(DA<0)return-1;if(_+=DA,DA<rA)break;typeof W<"u"&&(W+=DA)}return _};function io(y,b,R,W){try{var _=ut.getStreamFromFD(y),q=Ut(_,b,R);return z[W>>2]=q,0}catch(tA){if(typeof J>"u"||tA.name!=="ErrnoError")throw tA;return tA.errno}}var Zi=y=>{var b=t["_"+y];return b},nn=(y,b)=>{k.set(y,b)},ai=y=>Io(y),Xi=y=>{var b=OA(y)+1,R=ai(b);return ko(y,R,b),R},Na=(y,b,R,W,_)=>{var q={string:Je=>{var Ei=0;return Je!=null&&Je!==0&&(Ei=Xi(Je)),Ei},array:Je=>{var Ei=ai(Je.length);return nn(Je,Ei),Ei}};function tA(Je){return b==="string"?Ke(Je):b==="boolean"?!!Je:Je}var rA=Zi(y),DA=[],ae=0;if(W)for(var ge=0;ge<W.length;ge++){var pe=q[R[ge]];pe?(ae===0&&(ae=Pe()),DA[ge]=pe(W[ge])):DA[ge]=W[ge]}var Ve=rA(...DA);function Ue(Je){return ae!==0&&Zt(ae),tA(Je)}return Ve=Ue(Ve),Ve};J.createPreloadedFile=Rt,J.staticInit();var Vt={a:Ii,b:iA,x:bi,g:Co,w:ia,j:So,u:Vo,l:ga,v:Ko,i:va,p:na,m:Ra,n:Oi,q:ar,c:To,k:Wi,s:SA,t:ee,h:LA,f:Ce,e:gt,r:dt,d:io,o:yA},It=JA();t._viz_set_y_invert=y=>(t._viz_set_y_invert=It.A)(y),t._viz_set_reduce=y=>(t._viz_set_reduce=It.B)(y),t._viz_get_graphviz_version=()=>(t._viz_get_graphviz_version=It.C)(),t._free=y=>(t._free=It.D)(y),t._malloc=y=>(t._malloc=It.E)(y),t._viz_get_plugin_list=y=>(t._viz_get_plugin_list=It.G)(y),t._viz_create_graph=(y,b,R)=>(t._viz_create_graph=It.H)(y,b,R),t._viz_read_one_graph=y=>(t._viz_read_one_graph=It.I)(y),t._viz_string_dup=(y,b)=>(t._viz_string_dup=It.J)(y,b),t._viz_string_dup_html=(y,b)=>(t._viz_string_dup_html=It.K)(y,b),t._viz_string_free=(y,b)=>(t._viz_string_free=It.L)(y,b),t._viz_string_free_html=(y,b)=>(t._viz_string_free_html=It.M)(y,b),t._viz_add_node=(y,b)=>(t._viz_add_node=It.N)(y,b),t._viz_add_edge=(y,b,R)=>(t._viz_add_edge=It.O)(y,b,R),t._viz_add_subgraph=(y,b)=>(t._viz_add_subgraph=It.P)(y,b),t._viz_set_default_graph_attribute=(y,b,R)=>(t._viz_set_default_graph_attribute=It.Q)(y,b,R),t._viz_set_default_node_attribute=(y,b,R)=>(t._viz_set_default_node_attribute=It.R)(y,b,R),t._viz_set_default_edge_attribute=(y,b,R)=>(t._viz_set_default_edge_attribute=It.S)(y,b,R),t._viz_set_attribute=(y,b,R)=>(t._viz_set_attribute=It.T)(y,b,R),t._viz_free_graph=y=>(t._viz_free_graph=It.U)(y),t._viz_create_context=()=>(t._viz_create_context=It.V)(),t._viz_free_context=y=>(t._viz_free_context=It.W)(y),t._viz_layout=(y,b,R)=>(t._viz_layout=It.X)(y,b,R),t._viz_free_layout=(y,b)=>(t._viz_free_layout=It.Y)(y,b),t._viz_reset_errors=()=>(t._viz_reset_errors=It.Z)(),t._viz_render=(y,b,R)=>(t._viz_render=It._)(y,b,R);var $i=(y,b)=>($i=It.$)(y,b),cn=y=>(cn=It.aa)(y),Io=y=>(Io=It.ba)(y),Rn=()=>(Rn=It.ca)();t.ccall=Na,t.getValue=fe,t.PATH=oA,t.UTF8ToString=Ke,t.stringToUTF8=ko,t.lengthBytesUTF8=OA,t.FS=J;var Tt,fa;qA=function y(){Tt||oa(),Tt||(qA=y)};function oa(){if(xA>0||!fa&&(fa=1,QA(),xA>0))return;function y(){Tt||(Tt=1,t.calledRun=1,!S&&(RA(),n(t),dA()))}y()}return oa(),A=a,A}})(),$$=[[/^Error: (.*)/,"error"],[/^Warning: (.*)/,"warning"]];function r_A(i){return i.map(e=>{for(let A=0;A<$$.length;A++){let[t,n]=$$[A],o;if((o=t.exec(e))!==null)return{message:o[1].trimEnd(),level:n}}return{message:e.trimEnd()}})}function s_A(i){let e=[],A;for(let t=0;t<i.length;t++)i[t]=="Error"&&i[t+1]==": "?(A="error",t+=1):i[t]=="Warning"&&i[t+1]==": "?(A="warning",t+=1):e.push({message:i[t].trimEnd(),level:A});return e}function l_A(i){let e=i.ccall("viz_get_graphviz_version","number",[],[]);return i.UTF8ToString(e)}function AAA(i,e){let A=i.ccall("viz_get_plugin_list","number",["string"],[e]);if(A==0)throw new Error(`couldn't get plugin list: ${e}`);let t=[],n=A,o;for(;o=i.getValue(n,"*");)t.push(i.UTF8ToString(o)),i.ccall("free","number",["number"],[o]),n+=4;return i.ccall("free","number",["number"],[A]),t}function eAA(i,e,A,t){let n,o,a,r;try{if(i.agerrMessages=[],i.stderrMessages=[],r=g_A(i,t.images),typeof e=="string")n=C_A(i,e,t);else if(typeof e=="object")n=d_A(i,e,t);else throw new Error("input must be a string or object");if(n===0)return{status:"failure",output:void 0,errors:Yp(i)};if(nAA(i,n,t),i.ccall("viz_set_y_invert","number",["number"],[t.yInvert?1:0]),i.ccall("viz_set_reduce","number",["number"],[t.reduce?1:0]),o=i.ccall("viz_create_context"),i.ccall("viz_reset_errors"),i.ccall("viz_layout","number",["number","number","string"],[o,n,t.engine])!==0)return{status:"failure",output:void 0,errors:Yp(i)};let l={};for(let g of A){if(a=i.ccall("viz_render","number",["number","number","string"],[o,n,g]),a===0)return{status:"failure",output:void 0,errors:Yp(i)};l[g]=i.UTF8ToString(a),i.ccall("free","number",["number"],[a]),a=0}return{status:"success",output:l,errors:Yp(i)}}catch(s){if(/^exit\(\d+\)/.test(s))return{status:"failure",output:void 0,errors:Yp(i)};throw s}finally{o&&n&&i.ccall("viz_free_layout","number",["number"],[o,n]),n&&i.ccall("viz_free_graph","number",["number"],[n]),o&&i.ccall("viz_free_context","number",["number"],[o]),a&&i.ccall("free","number",["number"],[a]),r&&c_A(i,r)}}function Yp(i){return s_A(i.agerrMessages).concat(r_A(i.stderrMessages))}function g_A(i,e){return e?e.map(A=>{if(typeof A.name!="string")throw new Error("image name must be a string");if(typeof A.width!="number"&&typeof A.width!="string")throw new Error("image width must be a number or string");if(typeof A.height!="number"&&typeof A.height!="string")throw new Error("image height must be a number or string");let t=i.PATH.join("/",A.name),n=`<?xml version="1.0" encoding="UTF-8"?>
4195<svg xmlns="http://www.w3.org/2000/svg" width="${A.width}" height="${A.height}"></svg>
4196`;return i.FS.createPath("/",i.PATH.dirname(t)),i.FS.writeFile(t,n),t}):[]}function c_A(i,e){for(let A of e)i.FS.analyzePath(A).exists&&i.FS.unlink(A)}function C_A(i,e,A){let t;try{let n=i.lengthBytesUTF8(e);return t=i.ccall("malloc","number",["number"],[n+1]),i.stringToUTF8(e,t,n+1),i.ccall("viz_read_one_graph","number",["number"],[t])}finally{t&&i.ccall("free","number",["number"],[t])}}function d_A(i,e,A){let t=i.ccall("viz_create_graph","number",["string","number","number"],[e.name,typeof e.directed<"u"?e.directed:!0,typeof e.strict<"u"?e.strict:!1]);return iAA(i,t,e),t}function iAA(i,e,A){nAA(i,e,A),A.nodes&&A.nodes.forEach(t=>{if(typeof t.name>"u")throw new Error("nodes must have a name");let n=i.ccall("viz_add_node","number",["number","string"],[e,String(t.name)]);t.attributes&&tAA(i,e,n,t.attributes)}),A.edges&&A.edges.forEach(t=>{if(typeof t.tail>"u")throw new Error("edges must have a tail");if(typeof t.head>"u")throw new Error("edges must have a head");let n=i.ccall("viz_add_edge","number",["number","string","string"],[e,String(t.tail),String(t.head)]);t.attributes&&tAA(i,e,n,t.attributes)}),A.subgraphs&&A.subgraphs.forEach(t=>{let n=i.ccall("viz_add_subgraph","number",["number","string"],[e,typeof t.name<"u"?String(t.name):0]);iAA(i,n,t)})}function nAA(i,e,A){if(A.graphAttributes)for(let[t,n]of Object.entries(A.graphAttributes))ED(i,e,n,o=>{i.ccall("viz_set_default_graph_attribute","number",["number","string","number"],[e,t,o])});if(A.nodeAttributes)for(let[t,n]of Object.entries(A.nodeAttributes))ED(i,e,n,o=>{i.ccall("viz_set_default_node_attribute","number",["number","string","number"],[e,t,o])});if(A.edgeAttributes)for(let[t,n]of Object.entries(A.edgeAttributes))ED(i,e,n,o=>{i.ccall("viz_set_default_edge_attribute","number",["number","string","number"],[e,t,o])})}function tAA(i,e,A,t){for(let[n,o]of Object.entries(t))ED(i,e,o,a=>{i.ccall("viz_set_attribute","number",["number","string","number"],[A,n,a])})}function ED(i,e,A,t){let n;if(typeof A=="object"&&"html"in A?n=i.ccall("viz_string_dup_html","number",["number","string"],[e,String(A.html)]):n=i.ccall("viz_string_dup","number",["number","string"],[e,String(A)]),n==0)throw new Error("couldn't dup string");t(n),typeof A=="object"&&"html"in A?i.ccall("viz_string_free_html","number",["number","number"],[e,n]):i.ccall("viz_string_free","number",["number","number"],[e,n])}var sN=class{constructor(e){this.module=e}get graphvizVersion(){return l_A(this.module)}get formats(){return AAA(this.module,"device")}get engines(){return AAA(this.module,"layout")}renderFormats(e,A,t={}){return eAA(this.module,e,A,P({engine:"dot"},t))}render(e,A={}){let t;A.format===void 0?t="dot":t=A.format;let n=eAA(this.module,e,[t],P({engine:"dot"},A));return n.status==="success"&&(n.output=n.output[t]),n}renderString(e,A={}){let t=this.render(e,A);if(t.status!=="success")throw new Error(t.errors.find(n=>n.level=="error")?.message||"render failed");return t.output}renderSVGElement(e,A={}){let t=this.renderString(e,$A(P({},A),{format:"svg"})),n;return typeof A.trustedTypePolicy<"u"?n=A.trustedTypePolicy.createHTML(t):n=t,new DOMParser().parseFromString(n,"image/svg+xml").documentElement}renderJSON(e,A={}){let t=this.renderString(e,$A(P({},A),{format:"json"}));return JSON.parse(t)}};function oAA(){return a_A().then(i=>new sN(i))}var QD=class i{render(e){return re(this,null,function*(){let A={format:"svg",engine:"dot"};return(yield oAA()).renderString(e,A)})}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var uD=new MA("VideoService");var pD=class i{createMessagePartFromFile(e){return re(this,null,function*(){return{inlineData:{displayName:e.name,data:yield this.readFileAsBytes(e),mimeType:e.type}}})}readFileAsBytes(e){return new Promise((A,t)=>{let n=new FileReader;n.onload=o=>{let a=o.target.result.split(",")[1];A(a)},n.onerror=t,n.readAsDataURL(e)})}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var fD=class i extends wm{sanitizer=w(jC);windowOpen(e,A,t,n){return e.open(A,t,n)}createObjectUrl(e){return URL.createObjectURL(e)}openBlobUrl(e){let A=this.createObjectUrl(e);return this.windowOpen(window,A,"_blank")}setAnchorHref(e,A){e.href=A}bypassSecurityTrustHtml(e){return this.sanitizer.bypassSecurityTrustHtml(e)}bypassSecurityTrustUrl(e){return this.sanitizer.bypassSecurityTrustUrl(e)}static \u0275fac=(()=>{let e;return function(t){return(e||(e=Li(i)))(t||i)}})();static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var mD=class i{constructor(e){this.http=e}apiServerDomain=Rr.getApiServerBaseUrl();createSession(e,A,t){if(this.apiServerDomain!=null){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`,o={};return t?o.state=t:o.state={},this.http.post(n,t?o:null)}return new Fi}updateSession(e,A,t,n){let o=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${t}`;return this.http.patch(o,n)}listSessions(e,A){if(this.apiServerDomain!=null){let t=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`;return this.http.get(t).pipe(Se(n=>({items:n,nextPageToken:""})))}return oe({items:[],nextPageToken:""})}deleteSession(e,A,t){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${t}`;return this.http.delete(n)}getSession(e,A,t){let n=this.apiServerDomain+`/apps/${A}/users/${e}/sessions/${t}`;return this.http.get(n)}importSession(e,A,t,n){if(this.apiServerDomain!=null){let o=this.apiServerDomain+`/apps/${A}/users/${e}/sessions`,a={events:t};return n&&(a.state=n),this.http.post(o,a)}return new Fi}canEdit(e,A){return oe(!0)}static \u0275fac=function(A){return new(A||i)(Wo(Mr))};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var wD=class i{audioRecordingService=w(pB);videoService=w(uD);webSocketService=w(mB);audioIntervalId=void 0;videoIntervalId=void 0;constructor(){}getWsUrl(e,A,t,n){let a=`${window.location.protocol==="https:"?"wss":"ws"}://${Rr.getWSServerUrl()}/run_live?app_name=${e}&user_id=${A}&session_id=${t}`;return n&&(n.proactiveAudio&&(a+="&proactive_audio=true"),n.enableAffectiveDialog&&(a+="&enable_affective_dialog=true"),n.enableSessionResumption&&(a+="&enable_session_resumption=true"),n.saveLiveBlob&&(a+="&save_live_blob=true")),a}startAudioChat(o){return re(this,arguments,function*({appName:e,userId:A,sessionId:t,flags:n}){this.webSocketService.connect(this.getWsUrl(e,A,t,n)),yield this.startAudioStreaming()})}stopAudioChat(){this.stopAudioStreaming(),this.webSocketService.closeConnection()}startAudioStreaming(){return re(this,null,function*(){try{yield this.audioRecordingService.startRecording(),this.audioIntervalId=window.setInterval(()=>this.sendBufferedAudio(),250)}catch(e){console.error("Error accessing microphone:",e)}})}stopAudioStreaming(){clearInterval(this.audioIntervalId),this.audioIntervalId=void 0,this.audioRecordingService.stopRecording()}sendBufferedAudio(){let e=this.audioRecordingService.getCombinedAudioBuffer();if(!e)return;let A={blob:{mime_type:"audio/pcm",data:e}};this.webSocketService.sendMessage(A),this.audioRecordingService.cleanAudioBuffer()}startVideoChat(a){return re(this,arguments,function*({appName:e,userId:A,sessionId:t,videoContainer:n,flags:o}){this.webSocketService.connect(this.getWsUrl(e,A,t,o)),yield this.startAudioStreaming(),yield this.startVideoStreaming(n)})}stopVideoChat(e){this.stopAudioStreaming(),this.stopVideoStreaming(e),this.webSocketService.closeConnection()}startVideoStreaming(e){return re(this,null,function*(){try{yield this.videoService.startRecording(e),this.videoIntervalId=window.setInterval(()=>re(this,null,function*(){return yield this.sendCapturedFrame()}),1e3)}catch(A){console.error("Error accessing camera:",A)}})}sendCapturedFrame(){return re(this,null,function*(){let e=yield this.videoService.getCapturedFrame();if(!e)return;let A={blob:{mime_type:"image/jpeg",data:e}};this.webSocketService.sendMessage(A)})}stopVideoStreaming(e){clearInterval(this.videoIntervalId),this.videoIntervalId=void 0,this.videoService.stopRecording(e)}onStreamClose(){return this.webSocketService.onCloseReason()}closeStream(){this.webSocketService.closeConnection()}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var yD=class i{stc(e,A){let t=this.hashCode(e),n=Math.abs(t%360),o=60+Math.abs((t>>8)%40),a;return A==="dark"?a=15+Math.abs((t>>16)%30):a=40+Math.abs((t>>16)%30),this.hslToHex(n,o,a)}hashCode(e){let A=0;for(let t=0,n=e.length;t<n;t++){let o=e.charCodeAt(t);A=(A<<5)-A+o,A=A+t*31,A|=0}return A}hslToHex(e,A,t){t/=100;let n=A*Math.min(t,1-t)/100,o=a=>{let r=(a+e/30)%12,s=t-n*Math.max(Math.min(r-3,9-r,1),-1);return Math.round(255*s).toString(16).padStart(2,"0")};return`#${o(0)}${o(8)}${o(4)}ff`}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var DD=class i{THEME_STORAGE_KEY="adk-theme-preference";currentTheme=mA(this.getInitialTheme());constructor(){Fn(()=>{this.applyTheme(this.currentTheme())})}getInitialTheme(){let e=window.localStorage.getItem(this.THEME_STORAGE_KEY);return e==="light"||e==="dark"?e:"dark"}applyTheme(e){let A=document.documentElement;A.classList.remove("light-theme","dark-theme"),A.classList.add(`${e}-theme`),A.style.colorScheme=e,window.localStorage.setItem(this.THEME_STORAGE_KEY,e),this.updatePrismTheme(e)}updatePrismTheme(e){let A="prism-theme-style",t=document.getElementById(A);t||(t=document.createElement("link"),t.id=A,t.rel="stylesheet",document.head.appendChild(t)),t.href=e==="light"?"prism-light.css":"prism-dark.css"}toggleTheme(){this.currentTheme.update(e=>e==="light"?"dark":"light")}setTheme(e){this.currentTheme.set(e)}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var vD=class i{selectedTraceRowSource=new gi(void 0);selectedTraceRow$=this.selectedTraceRowSource.asObservable();eventDataSource=new gi(void 0);eventData$=this.eventDataSource.asObservable();messagesSource=new gi([]);messages$=this.messagesSource.asObservable();selectedRow(e){this.selectedTraceRowSource.next(e)}setEventData(e){this.eventDataSource.next(e)}setMessages(e){this.messagesSource.next(e)}resetTraceService(){this.selectedTraceRowSource.next(void 0),this.eventDataSource.next(void 0),this.messagesSource.next([])}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var bD=class i{_isSessionLoading=new gi(!1);_isSessionListLoading=new gi(!1);_isEventRequestResponseLoading=new gi(!1);_isMessagesLoading=new gi(!1);_newMessagesLoadedResponse=new ne;_newMessagesLoadingFailedResponse=new ne;featureFlagService=w(Nr);isSessionLoading(){return this._isSessionLoading.pipe(WE(this.featureFlagService.isLoadingAnimationsEnabled()),Se(([e,A])=>e&&A),Js({bufferSize:1,refCount:!0}))}setIsSessionLoading(e){this._isSessionLoading.next(e)}isSessionListLoading(){return this._isSessionListLoading.pipe(WE(this.featureFlagService.isLoadingAnimationsEnabled()),Se(([e,A])=>e&&A),Js({bufferSize:1,refCount:!0}))}setIsSessionListLoading(e){this._isSessionListLoading.next(e)}isEventRequestResponseLoading(){return this._isEventRequestResponseLoading.pipe(WE(this.featureFlagService.isLoadingAnimationsEnabled()),Se(([e,A])=>e&&A),Js({bufferSize:1,refCount:!0}))}setIsEventRequestResponseLoading(e){this._isEventRequestResponseLoading.next(e)}setIsMessagesLoading(e){this._isMessagesLoading.next(e)}isMessagesLoading(){return this._isMessagesLoading.pipe(WE(this.featureFlagService.isLoadingAnimationsEnabled()),Se(([e,A])=>e&&A),Js({bufferSize:1,refCount:!0}))}lazyLoadMessages(e,A,t){throw new Error("Not implemented")}onNewMessagesLoaded(){return this._newMessagesLoadedResponse}onNewMessagesLoadingFailed(){return this._newMessagesLoadingFailedResponse}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var MD=class i{mediaRecorder;stream;renderer;videoElement;videoBuffer=[];constructor(e){this.renderer=e.createRenderer(null,null)}createVideoElement(e){e?.nativeElement&&(this.clearVideoElement(e),this.videoElement=this.renderer.createElement("video"),this.renderer.setAttribute(this.videoElement,"width","400"),this.renderer.setAttribute(this.videoElement,"height","300"),this.renderer.setAttribute(this.videoElement,"autoplay","true"),this.renderer.setAttribute(this.videoElement,"muted","true"),this.renderer.appendChild(e.nativeElement,this.videoElement))}startRecording(e){return re(this,null,function*(){this.createVideoElement(e);try{this.stream=yield navigator.mediaDevices.getUserMedia({video:!0}),this.videoElement&&(this.videoElement.srcObject=this.stream),this.mediaRecorder=new MediaRecorder(this.stream,{mimeType:"video/webm"}),this.mediaRecorder.start(1e3)}catch(A){console.error("Error accessing camera/microphone:",A)}})}getCapturedFrame(){return re(this,null,function*(){try{let e=yield this.captureFrame();return this.blobToUint8Array(e)}catch(e){console.error("Error capturing frame:",e);return}})}blobToUint8Array(e){return re(this,null,function*(){let A=yield e.arrayBuffer();return new Uint8Array(A)})}captureFrame(){return re(this,null,function*(){return new Promise((e,A)=>{try{if(!this.videoElement){A(new Error("Video element not available"));return}let t=document.createElement("canvas");t.width=this.videoElement.videoWidth,t.height=this.videoElement.videoHeight;let n=t.getContext("2d");if(!n){A(new Error("Canvas context not supported"));return}n.drawImage(this.videoElement,0,0,t.width,t.height),t.toBlob(o=>{o?e(o):A(new Error("Failed to create image blob"))},"image/png")}catch(t){A(t)}})})}stopRecording(e){this.mediaRecorder&&this.mediaRecorder.stop(),this.stream&&this.stream.getTracks().forEach(A=>A.stop()),this.clearVideoElement(e)}clearVideoElement(e){let A=e.nativeElement.querySelector("video");A&&this.renderer.removeChild(e.nativeElement,A)}static \u0275fac=function(A){return new(A||i)(Wo(zr))};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};var I_A={url:"",deserializer:i=>JSON.parse(i.data),serializer:i=>JSON.stringify(i)},B_A="WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }",Hp=class i extends BN{constructor(e,A){if(super(),this._socket=null,e instanceof Fi)this.destination=A,this.source=e;else{let t=this._config=Object.assign({},I_A);if(this._output=new ne,typeof e=="string")t.url=e;else for(let n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);if(!t.WebSocketCtor&&WebSocket)t.WebSocketCtor=WebSocket;else if(!t.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new _g}}lift(e){let A=new i(this._config,this.destination);return A.operator=e,A.source=this,A}_resetState(){this._socket=null,this.source||(this.destination=new _g),this._output=new ne}multiplex(e,A,t){let n=this;return new Fi(o=>{try{n.next(e())}catch(r){o.error(r)}let a=n.subscribe({next:r=>{try{t(r)&&o.next(r)}catch(s){o.error(s)}},error:r=>o.error(r),complete:()=>o.complete()});return()=>{try{n.next(A())}catch(r){o.error(r)}a.unsubscribe()}})}_connectSocket(){let{WebSocketCtor:e,protocol:A,url:t,binaryType:n}=this._config,o=this._output,a=null;try{a=A?new e(t,A):new e(t),this._socket=a,n&&(this._socket.binaryType=n)}catch(s){o.error(s);return}let r=new Oo(()=>{this._socket=null,a&&a.readyState===1&&a.close()});a.onopen=s=>{let{_socket:l}=this;if(!l){a.close(),this._resetState();return}let{openObserver:g}=this._config;g&&g.next(s);let C=this.destination;this.destination=CN.create(d=>{if(a.readyState===1)try{let{serializer:B}=this._config;a.send(B(d))}catch(B){this.destination.error(B)}},d=>{let{closingObserver:B}=this._config;B&&B.next(void 0),d&&d.code?a.close(d.code,d.reason):o.error(new TypeError(B_A)),this._resetState()},()=>{let{closingObserver:d}=this._config;d&&d.next(void 0),a.close(),this._resetState()}),C&&C instanceof _g&&r.add(C.subscribe(this.destination))},a.onerror=s=>{this._resetState(),o.error(s)},a.onclose=s=>{a===this._socket&&this._resetState();let{closeObserver:l}=this._config;l&&l.next(s),s.wasClean?o.complete():o.error(s)},a.onmessage=s=>{try{let{deserializer:l}=this._config;o.next(l(s))}catch(l){o.error(l)}}}_subscribe(e){let{source:A}=this;return A?A.subscribe(e):(this._socket||this._connectSocket(),this._output.subscribe(e),e.add(()=>{let{_socket:t}=this;this._output.observers.length===0&&(t&&(t.readyState===1||t.readyState===0)&&t.close(),this._resetState())}),e)}unsubscribe(){let{_socket:e}=this;e&&(e.readyState===1||e.readyState===0)&&e.close(),this._resetState(),super.unsubscribe()}};var SD=class i{audioPlayingService=w(fB);socket$;messages$=new gi("");audioBuffer=[];audioIntervalId=null;closeReasonSubject=new ne;connect(e){this.socket$=new Hp({url:e,serializer:A=>JSON.stringify(A),deserializer:A=>A.data,closeObserver:{next:A=>{this.emitWsCloseReason(A.reason)}}}),this.socket$.subscribe(A=>{this.handleIncomingEvent(A)},A=>{console.error("WebSocket error:",A)}),this.audioIntervalId=setInterval(()=>this.playIncomingAudio(),250)}playIncomingAudio(){this.audioPlayingService.playAudio(this.audioBuffer),this.audioBuffer=[]}sendMessage(e){if(e.blob.data=this.arrayBufferToBase64(e.blob.data.buffer),!this.socket$||this.socket$.closed){console.error("WebSocket is not open.");return}this.socket$.next(e)}closeConnection(){clearInterval(this.audioIntervalId),this.audioIntervalId=null,this.socket$&&this.socket$.complete()}getMessages(){return this.messages$.asObservable()}arrayBufferToBase64(e){let A="",t=new Uint8Array(e),n=t.byteLength;for(let o=0;o<n;o++)A+=String.fromCharCode(t[o]);return btoa(A)}handleIncomingEvent(e){let A=JSON.parse(e);if(A.content&&A.content.parts&&A.content.parts[0].inlineData){let t=this.base64ToUint8Array(A.content.parts[0].inlineData.data);this.audioBuffer.push(t)}else this.messages$.next(e)}base64ToUint8Array(e){let A=atob(this.urlSafeBase64ToBase64(e)),t=A.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=A.charCodeAt(o);return n}urlSafeBase64ToBase64(e){let A=e.replace(/_/g,"/").replace(/-/g,"+");for(;A.length%4!==0;)A+="=";return A}emitWsCloseReason(e){this.closeReasonSubject.next(e)}onCloseReason(){return this.closeReasonSubject.asObservable()}static \u0275fac=function(A){return new(A||i)};static \u0275prov=jA({token:i,factory:i.\u0275fac,providedIn:"root"})};fetch("./assets/config/runtime-config.json").then(i=>i.json()).then(i=>{window.runtimeConfig=i,PN(TE,{providers:[mN(jN,fn,VN,oD,Ws,Za,qi),{provide:tl,useClass:mD},{provide:el,useClass:dE},{provide:iy,useClass:hD},{provide:mB,useClass:SD},{provide:Dm,useValue:"./assets/audio-processor.js"},{provide:pB,useClass:cD},{provide:fB,useClass:gD},{provide:uD,useClass:MD},{provide:ym,useClass:wD},{provide:fm,useClass:ID},{provide:A0,useClass:dD},{provide:EB,useClass:lD},{provide:QB,useClass:CD},{provide:ng,useClass:vD},{provide:Nr,useClass:BD},{provide:uB,useClass:QD},{provide:g2,useClass:yD},{provide:Qs,useClass:fD},{provide:mm,useClass:pD},{provide:WN,useValue:$N},{provide:XN,useValue:X$},{provide:g1,useValue:B1},...i.logo?[{provide:wB,useValue:rD}]:[],{provide:$c,useClass:sD},{provide:My,useValue:Sc},oK(),GQ(),{provide:vm,useClass:Gc},{provide:ag,useClass:bD},{provide:og,useClass:DD}]}).catch(e=>console.error(e))});

Callers 15

__call__Method · 0.45
chunk-F57TI45K.jsFile · 0.45
renderMethod · 0.45
renderCurrentLevelMethod · 0.45
toDOMMethod · 0.45
main-3CUQG2IN.jsFile · 0.45
updateRenderedGraphMethod · 0.45
renderStringMethod · 0.45
tFunction · 0.45
chunk-YVVLWU7S.jsFile · 0.45
_render_string_filterFunction · 0.45

Calls 2

PFunction · 0.90
eAAFunction · 0.85

Tested by

no test coverage detected