@brandbrigade/ott-bb-player 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/js/OTTPlayer.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
package/js/OTTPlayer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x4c25ed=_0x2ce2;(function(_0x335a03,_0x25f176){const _0x5611ce=_0x2ce2,_0x37e773=_0x335a03();while(!![]){try{const _0x54c737=-parseInt(_0x5611ce(0x25f))/0x1+parseInt(_0x5611ce(0x1fd))/0x2*(parseInt(_0x5611ce(0x130))/0x3)+-parseInt(_0x5611ce(0xed))/0x4+-parseInt(_0x5611ce(0x12b))/0x5*(parseInt(_0x5611ce(0x202))/0x6)+parseInt(_0x5611ce(0x176))/0x7*(parseInt(_0x5611ce(0x1f2))/0x8)+parseInt(_0x5611ce(0x215))/0x9*(parseInt(_0x5611ce(0xdf))/0xa)+-parseInt(_0x5611ce(0xdc))/0xb*(-parseInt(_0x5611ce(0xc1))/0xc);if(_0x54c737===_0x25f176)break;else _0x37e773['push'](_0x37e773['shift']());}catch(_0x1955ca){_0x37e773['push'](_0x37e773['shift']());}}}(_0x59cd,0xe11b7));const getVersion=()=>{const _0x286957=_0x2ce2,_0x439469=document['currentScript']['src'],_0x5c811a=_0x439469['split']('/')[_0x286957(0xff)](0x0,-0x2)['join']('/'),_0x29b466=_0x5c811a+_0x286957(0x131);console[_0x286957(0x13b)](_0x286957(0x191)+_0x29b466),fetch(_0x29b466)[_0x286957(0xfe)](_0x59ce4f=>{const _0x5f52f4=_0x286957;if(!_0x59ce4f['ok'])throw new Error(_0x5f52f4(0x17b)+_0x59ce4f[_0x5f52f4(0x1b5)]);return _0x59ce4f[_0x5f52f4(0x229)]();})['then'](_0x543e7a=>{const _0x2234bb=_0x286957,_0x5f463a=_0x543e7a[_0x2234bb(0x165)];console[_0x2234bb(0x13b)]('OTTPlayer\x20version:\x20'+_0x5f463a);})[_0x286957(0x76)](_0x2bab47=>{const _0x4d3054=_0x286957;console['error'](_0x4d3054(0x1f5),_0x2bab47);});};getVersion();function _0x59cd(){const _0xcf2c09=['corners','TexUnitForAdInPlace','videoStarted','options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20','forEach','mediaIdJsonURL','TEXTURE_MAG_FILTER','open','disconnect\x20from\x20signaling::',',\x20Brain\x20Time-Code:\x20','Error\x20from\x20worker:','blur','98mAeIMB','charCodeAt','Platform\x20not\x20supported','getUTCMilliseconds','place2ad','HTTP\x20error!\x20status:\x20','webkitRequestFullscreen','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','viewport','black','\x20for\x20place\x20','readyState','generateMipmap','Frames2Timecode','renderAugmentation','MetaDataDownloaderThread\x20created','clientHeight','toString',',\x20rendering:\x20','connect','iPhone',',\x20stage:\x20','***\x20Error:\x20unknown\x20shader\x20type','from','isChromeMac','style','Got\x20the\x20following\x20config:\x20','Fetching\x20package.json\x20from:\x20','isAdLoop','TimeCodesFramesTranslator','SelectAd','TEXTURE0',',\x20Stream\x20Time-Code:\x20','timeCodeStr2TimeCodeArray','\x20room','RenderingMode','bufferData','onNewMetadata','texImage2D','test','getBoundingClientRect','fillRect','advertisementMap','data','syncPoint','video','maskX','forDoNotRender','Augmenter','CleanGL','offset\x20for\x20','messageroom','frameRateMode','COLOR_BUFFER_BIT','vendor','RenderDigits','\x20Time\x20Fired:\x20','OnMetadata','\x20!!!!!!!!!!!!!!!!!!!!!!','OTTPlayer:\x20','composer::SelectAd:\x20selected\x20ad\x20is\x20','u_alpha','postMessage','status','https://www.virtualott.com/games/','textContent','length','\x20dblFrame:\x20','ARRAY_BUFFER','Src60_MediaTime60','right',',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker','renderTimecode','debug','get','Something\x20else','paused','indexOf','fetchOffsetForGameId','reduce','addEventListener','Macintosh','ToggleFullscreen','innerHTML','isConnected','AddAdvertisement','splice','matchItem','We\x20are\x20HERE:TimeCode','filter','bindBuffer','currentTime','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','SetSyncPoint','Folder\x20name\x20for\x20','u_resolution2',',\x20offset:\x20','debugText','absolute','iOS','join','unknown','Windows\x20Phone','map','Internet\x20Explorer','alphaFound','\x20Setting\x20(some)\x20ms\x20timer','zIndex','\x20\x20correction','insertBefore','socket\x20connected','position','getMediaTimeFPS','getElementById','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','hasDigit','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','platform','onerror','augmentation',',\x20Time\x20Fired:\x20','vertexShaderSourceV1','rect','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','6832gwtCuV','FrameRateMode','url','Error\x20fetching\x20package.json:','RenderTimecode','www.mediakind.com/NTC','init','getHours','createBuffer','onNewSegmentInterface','getContext','12teYQpc','replace','isApple','text','CreateDigitImg','489252WHYKfc','an\x20iPhone','parentElement','metadataMap','config','searchParams','urls','TimeCodeAddFrames',',\x20correction','\x20FPS,\x20Continuing\x20augmentation','weHaveTheGameID','NOT\x20SUPPORTED','metadataArr','MKsync','options','%c%s','uniform2fv','RenderFrame',',\x20took:\x20','2084067nxKKlF','undefined','fillText','Setting\x20Callbacks','dateTime','ads:','folderName',',\x20time:\x20','Error\x20in\x20program\x20linking:\x20','GameId\x20for\x20mediaid=\x20','timecode','#external','messageData','console','for\x20more\x20about\x20webgl-utils.js\x20see:','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','checked','click','doNotRenderAugmentationLabel','br1','json','height','clear','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','https://www.virtualott.com','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','TRIANGLES','ntc','digitTex','SHADER_TYPE','onload','red','drawArrays','white','requestAnimationFrame\x20is\x20supported','toISOString','u_matrix','info','MSIE','Mozilla','bindTexture','TEXTURE_WRAP_S','\x20not\x20found\x20in\x20JSON.','getSourceFPS','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','Clicked\x20on\x20ad:\x20','renderingMode','src','isSafariMac','initializeComponents','AdNameForPlaceHolder','uniform2f','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','left','Edge','split','disconnect','maxTouchPoints','Error\x20compiling\x20shader:\x20','canvas','getShaderInfoLog','msMaxTouchPoints','ad2place','\x20</br>','UNSIGNED_BYTE','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','autoAddIndex','Windows','abs','alpha','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','width','field','BBlog','1345694AQEMKA','a\x20Windows\x20PC','bindAttribLocation','u_resolution','MAX_LOGOS','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','ANI2','hasOwnProperty','_nextAdvertisement','placeholders','bottom','deleteTexture','function','GenerateTexture','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','fetchAndFindGameIdAndOffsetFromMediaId','round','callback','lastTimeReportedIncomingTC','found','createElement','counter','tex','.json','clientX','printTimecode','frame','u_digitTopLeft','keys','top','script','deleteProgram','Error\x20from\x20worker\x20(via\x20addEventListener):','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','match','ANI','VID','Error\x20in\x20creating\x20MetaDataDownloaderThread','crossOrigin','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','\x20Frame:\x20','u_digitSize','catch','requestVideoFrameCallback\x20is\x20supported','ctx','[-\x20/:;]([\x5cd._]+)','max','setinfo','clientWidth','#ad','call','shift','createProgram','color:blue;font-weight:bold;','Chrome','SetFps','frames','deleteShader','Trident','Utils','logoURL','offsetTop','stringTime','tranform','\x20TimeFired:\x20','Unknown','includes','ANI.','uniform1i','padStart','activeTexture','New\x20segment\x20(','databrowser','MetaDataFetcher','ads','requestFullscreen','TEXTURE_2D','name','channelName','linkProgram','OnNewSegment','offsetLeft','fps','TEXTURE_WRAP_T','location','timeDate2TCString','getMilliseconds','\x20countAppleVideo:\x20','Platform','100%','gameId','x-shader/x-fragment','Augment','offsetJsonURL','LINK_STATUS','toLowerCase','opera','getSeconds','Palm','UNPACK_FLIP_Y_WEBGL','userAgent','):\x20','bindVertexArray','None','Silk','assign','OnUserClickOnCanvas','fragmentShaderSource','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','playerTime','playbackTime','adLoopTime','Src60_MediaTime59','createObjectURL','digitImg','Firefox','ANI.\x20','12QuMEoc','texParameteri','substring','index','numberInput','currentAds2BoundingRect','isAndroid','adTexture','canvasSize','webgl','SynchMethod','value','FLOAT','doNotRenderAugmentationCheckbox','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','program','getProgramParameter','UNPACK_ALIGNMENT','createVertexArray','if\x20(alpha\x20==\x200.0)','STATIC_DRAW','offs','Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','VERTEX_SHADER','getGlobalConfig','VID.','metadata','27572369gZQtyR','TexUnitForPlaceHolder','BBerror','20atreMk','requestAnimationFrame','offset','Unsupported\x20src\x20frame-rate:\x20','Missing\x20meta\x20data\x20at\x20time\x20code\x20','iPad','key','ontouchstart','Composer3d','TexUnitBaseForAlpha','HTTP\x20error!\x20Status:\x20','webGLVersion','\x0a\x0a^^^\x20','Src59_MediaTime60','6830496UKsEgh','srcFrameRate','OnMetaData','vertexShaderSource','TopLeft','setLastFrame','clientY','\x20ms',',\x20PlayerTime:','createTexture','requestVideoFrameCallback','now','getUTCHours','isWindows','InitGL','CLDC','roommembers\x20message:\x20','then','slice','alphaAsUint8Array',',\x20LastSyncPointFrame:','getUniformLocation','videoCopier','isPowerOf2','application/javascript','type','hasLogo','an\x20Android\x20phone','useProgram','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','error','PlayBook','ScreenFPS','random','Average\x20refresh\x20screen\x20rate:\x20','roommembers','a_position','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','Src29_MediaTime29','time','appendChild','debugText2','TimeCodeArray2TimeCodeJson','mediaTime','getMinutes','GAME_ID','pointer-events','BlackBerry','Android','fillStyle','enableVertexAttribArray',',\x20LastSyncPoint:','enabled','push','Safari','sort','webgl2','Mac','allGamesURL','font','Timecode2Frames','pixelStorei','45oJaXEI','getCanvas','getElementsByTagName','plus05CorrectionLabel','fetchAndFindGameIdAndOffsetFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20','863787qMrfgA','/package.json','https://games-prod.virtualott.com/offset','TEXTURE_MIN_FILTER','Ads','\x20Time:\x20','cloudFrontURL','error::','priv','message','getTime','log','join\x20\x20','place2AdTexture','alphaTex','MakeSureAdPerPlace','TexUnitForGenericAd','ad2Url','tc__','stopAugment','display','fromCharCode','Version','Linux','https://db8igqxlbvayn.cloudfront.net/prod','none','Socket','uniformMatrix3fv','Win','LINEAR','timeDate2TC','br2','ALPHA','toFixed','presentationTime','floor','onNewMetadataInterface','SetRectangle','RGBA','Opera',')</span>','frameDrawer','sourceFPS','getAttribLocation','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','optionsFromMK:\x20','Src59_MediaTime59','vertexAttribPointer',',\x20offset:\x20<span\x20style=\x27color:','COMPILE_STATUS','fragmentShaderSourceV1','Calculating\x20ScreenFrameRate','CLAMP_TO_EDGE','version','header','***\x20Error:\x20unknown\x20script\x20element','https://www.virtualott.com/ads/','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded'];_0x59cd=function(){return _0xcf2c09;};return _0x59cd();}function _0x2ce2(_0x342e05,_0x23f1c5){const _0x59cd80=_0x59cd();return _0x2ce2=function(_0x2ce221,_0x2c1a36){_0x2ce221=_0x2ce221-0x70;let _0x277fa9=_0x59cd80[_0x2ce221];return _0x277fa9;},_0x2ce2(_0x342e05,_0x23f1c5);}const META_WORKER=_0x4c25ed(0x1d2);let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x304598,_0x60c483){const _0x184e27=_0x4c25ed;typeof define===_0x184e27(0x26b)&&define['amd']?define([],function(){const _0x2bbdae=_0x184e27;return _0x60c483[_0x2bbdae(0x7e)](_0x304598);}):_0x304598['webglUtils']=_0x60c483[_0x184e27(0x7e)](_0x304598);}(this,function(){'use strict';const _0x1226f0=_0x4c25ed;const _0x1585e4=this;function _0x23440c(_0xb88c68){const _0x3f99d1=_0x2ce2;return _0xb88c68=_0xb88c68||_0x1585e4,_0xb88c68!==_0xb88c68[_0x3f99d1(0x27c)];}!_0x23440c()&&(console['log'](_0x1226f0(0x211),'color:blue;font-weight:bold;',_0x1226f0(0x223)),console[_0x1226f0(0x13b)](_0x1226f0(0x211),_0x1226f0(0x81),_0x1226f0(0x264)));function _0x5e73c2(_0x1036cd){const _0x47ed82=_0x1226f0;if(_0x1585e4[_0x47ed82(0x222)]){if(_0x1585e4[_0x47ed82(0x222)][_0x47ed82(0x10b)])_0x1585e4[_0x47ed82(0x222)][_0x47ed82(0x10b)](_0x1036cd);else _0x1585e4[_0x47ed82(0x222)][_0x47ed82(0x13b)]&&_0x1585e4[_0x47ed82(0x222)][_0x47ed82(0x13b)](_0x1036cd);}}const _0x132fd6=/ERROR:\s*\d+:(\d+)/gi;function _0x442fc9(_0x5e31a3,_0x108858=''){const _0xf3af3d=_0x1226f0,_0x5da8c1=[..._0x108858['matchAll'](_0x132fd6)],_0x3dccad=new Map(_0x5da8c1['map']((_0x388bf2,_0x5074ba)=>{const _0x55d7a0=_0x2ce2,_0x168909=parseInt(_0x388bf2[0x1]),_0x296b26=_0x5da8c1[_0x5074ba+0x1],_0x587824=_0x296b26?_0x296b26[_0x55d7a0(0xc4)]:_0x108858[_0x55d7a0(0x1b8)],_0x219452=_0x108858[_0x55d7a0(0xc3)](_0x388bf2[_0x55d7a0(0xc4)],_0x587824);return[_0x168909-0x1,_0x219452];}));return _0x5e31a3[_0xf3af3d(0x24c)]('\x0a')['map']((_0x5e26c9,_0x442b18)=>{const _0x419801=_0xf3af3d,_0x276353=_0x3dccad[_0x419801(0x1c0)](_0x442b18);return _0x442b18+0x1+':\x20'+_0x5e26c9+(_0x276353?_0x419801(0xeb)+_0x276353:'');})['join']('\x0a');}function _0x21520a(_0x2d2383,_0x5283d7,_0x46c384,_0x254476){const _0xd2e33a=_0x1226f0,_0x54c900=_0x254476||_0x5e73c2,_0x3f8d82=_0x2d2383['createShader'](_0x46c384);_0x2d2383['shaderSource'](_0x3f8d82,_0x5283d7),_0x2d2383['compileShader'](_0x3f8d82);const _0x4832e2=_0x2d2383['getShaderParameter'](_0x3f8d82,_0x2d2383[_0xd2e33a(0x161)]);if(!_0x4832e2){const _0x2756d2=_0x2d2383[_0xd2e33a(0x251)](_0x3f8d82);return _0x54c900(_0xd2e33a(0x24f)+_0x2756d2+'\x0a'+_0x442fc9(_0x5283d7,_0x2756d2)),_0x2d2383[_0xd2e33a(0x85)](_0x3f8d82),null;}return _0x3f8d82;}function _0x32c796(_0x5ebbc9,_0x4cc723,_0x371119,_0x30a2fd,_0x20cd64){const _0x4ac330=_0x1226f0,_0x4d6a35=_0x20cd64||_0x5e73c2,_0x36dfda=_0x5ebbc9[_0x4ac330(0x80)]();_0x4cc723[_0x4ac330(0x16e)](function(_0x5e6ad2){_0x5ebbc9['attachShader'](_0x36dfda,_0x5e6ad2);});_0x371119&&_0x371119[_0x4ac330(0x16e)](function(_0x49fd59,_0x2fd405){const _0x2991b5=_0x4ac330;_0x5ebbc9[_0x2991b5(0x261)](_0x36dfda,_0x30a2fd?_0x30a2fd[_0x2fd405]:_0x2fd405,_0x49fd59);});_0x5ebbc9[_0x4ac330(0x9b)](_0x36dfda);const _0x48bcfa=_0x5ebbc9[_0x4ac330(0xd1)](_0x36dfda,_0x5ebbc9[_0x4ac330(0xaa)]);if(!_0x48bcfa){const _0x460167=_0x5ebbc9['getProgramInfoLog'](_0x36dfda);return _0x4d6a35(_0x4ac330(0x21d)+_0x460167+'\x0a'+_0x4cc723[_0x4ac330(0x1dd)](_0x558606=>{const _0x22b413=_0x4ac330,_0x1e2f53=_0x442fc9(_0x5ebbc9['getShaderSource'](_0x558606)),_0x28844b=_0x5ebbc9['getShaderParameter'](_0x558606,_0x5ebbc9[_0x22b413(0x232)]);return glEnumToString(_0x5ebbc9,_0x28844b)+':\x0a'+_0x1e2f53;})[_0x4ac330(0x1da)]('\x0a')),_0x5ebbc9[_0x4ac330(0x27e)](_0x36dfda),null;}return _0x36dfda;}function _0x51b55d(_0x19d7f3,_0x402a21,_0x19b480,_0x46aa1a){const _0x4377f1=_0x1226f0;let _0x2af50d='',_0x30b398;const _0x398ea5=document[_0x4377f1(0x1e7)](_0x402a21);if(!_0x398ea5)throw _0x4377f1(0x167)+_0x402a21;_0x2af50d=_0x398ea5[_0x4377f1(0x200)];if(!_0x19b480){if(_0x398ea5[_0x4377f1(0x106)]==='x-shader/x-vertex')_0x30b398=_0x19d7f3[_0x4377f1(0xd8)];else{if(_0x398ea5['type']===_0x4377f1(0xa7))_0x30b398=_0x19d7f3['FRAGMENT_SHADER'];else{if(_0x30b398!==_0x19d7f3[_0x4377f1(0xd8)]&&_0x30b398!==_0x19d7f3['FRAGMENT_SHADER'])throw _0x4377f1(0x18c);}}}return _0x21520a(_0x19d7f3,_0x2af50d,_0x19b480?_0x19b480:_0x30b398,_0x46aa1a);}const _0x42132f=[_0x1226f0(0xd8),'FRAGMENT_SHADER'];function _0x146583(_0x3005f0,_0x54e643,_0x45f9bc,_0x79bbbc,_0x169e7a){const _0x5e93ab=_0x1226f0,_0x108390=[];for(let _0xe29be6=0x0;_0xe29be6<_0x54e643[_0x5e93ab(0x1b8)];++_0xe29be6){_0x108390[_0x5e93ab(0x122)](_0x51b55d(_0x3005f0,_0x54e643[_0xe29be6],_0x3005f0[_0x42132f[_0xe29be6]],_0x169e7a));}return _0x32c796(_0x3005f0,_0x108390,_0x45f9bc,_0x79bbbc,_0x169e7a);}function _0x44a129(_0x3d8bf9,_0x42bb8a,_0x1205fc,_0x4ae057,_0x55b276){const _0x533d7e=_0x1226f0,_0x4d6ab6=[];for(let _0x1efc09=0x0;_0x1efc09<_0x42bb8a[_0x533d7e(0x1b8)];++_0x1efc09){_0x4d6ab6[_0x533d7e(0x122)](_0x21520a(_0x3d8bf9,_0x42bb8a[_0x1efc09],_0x3d8bf9[_0x42132f[_0x1efc09]],_0x55b276));}return _0x32c796(_0x3d8bf9,_0x4d6ab6,_0x1205fc,_0x4ae057,_0x55b276);}function _0x4584ab(_0x4bd4db,_0x3c2bdc){const _0x15512f=_0x1226f0;_0x3c2bdc=_0x3c2bdc||0x1;const _0x59145f=_0x4bd4db[_0x15512f(0x7c)]*_0x3c2bdc|0x0,_0x56dea8=_0x4bd4db[_0x15512f(0x186)]*_0x3c2bdc|0x0;if(_0x4bd4db[_0x15512f(0x25c)]!==_0x59145f||_0x4bd4db[_0x15512f(0x22a)]!==_0x56dea8)return _0x4bd4db[_0x15512f(0x25c)]=_0x59145f,_0x4bd4db['height']=_0x56dea8,!![];return![];}return{'createProgram':_0x32c796,'createProgramFromScripts':_0x146583,'createProgramFromSources':_0x44a129,'resizeCanvasToDisplaySize':_0x4584ab};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x4c25ed(0x224),'fragmentShaderSource':'#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','vertexShaderSourceV1':_0x4c25ed(0x22c),'fragmentShaderSourceV1':'\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a'},BB['FrameRateMode']={'Src60_MediaTime60':Symbol(_0x4c25ed(0x1bb)),'Src59_MediaTime60':Symbol(_0x4c25ed(0xec)),'Src59_MediaTime59':Symbol(_0x4c25ed(0x15e)),'Src29_MediaTime29':Symbol(_0x4c25ed(0x113))},BB[_0x4c25ed(0x199)]={'RenderDigits':Symbol(_0x4c25ed(0x1ad)),'RenderTimecode':Symbol('RenderTimecode'),'Augment':Symbol(_0x4c25ed(0xa8))},BB[_0x4c25ed(0xcb)]={'OnNewSegment':Symbol(_0x4c25ed(0x9c)),'OnMetadata':Symbol(_0x4c25ed(0x1af)),'None':Symbol(_0x4c25ed(0xb3))},BB[_0x4c25ed(0x87)]=((()=>{const _0x323bf1=_0x30d33a=>{const _0x17b623=_0x2ce2;return _0x30d33a[_0x17b623(0x187)]()[_0x17b623(0x91)](0x2,'0');},_0x3ff9cc=((()=>{const _0x308353=(_0x32af98,_0x3106e3,_0x353022)=>{const _0x425f52=_0x2ce2;let _0x487a60='';if(Array['isArray'](_0x32af98)){_0x487a60=[_0x323bf1(_0x32af98[0x0]),_0x323bf1(_0x32af98[0x1]),_0x323bf1(_0x32af98[0x2]),_0x323bf1(_0x32af98[0x3])][_0x425f52(0x1da)](':');if(_0x353022==!![]){if(_0x32af98[0x4]==0x1&&(_0x3106e3===undefined||_0x3106e3))_0x487a60+='.2';else _0x487a60+='.1';}else{if(_0x32af98[0x4]==0x1&&(_0x3106e3===undefined||_0x3106e3))_0x487a60+='.1';}}else{const _0x60c6d8=':';_0x487a60=('0'+_0x32af98['h'])[_0x425f52(0xff)](-0x2)+_0x60c6d8+('0'+_0x32af98['m'])[_0x425f52(0xff)](-0x2)+_0x60c6d8+('0'+_0x32af98['s'])[_0x425f52(0xff)](-0x2)+_0x60c6d8+('0'+_0x32af98['f'])[_0x425f52(0xff)](-0x2);if(_0x3106e3)_0x487a60+='.'+(_0x32af98[_0x425f52(0x25d)]?'1':'2');}return _0x487a60;},_0xfbf812=_0x357c1c=>{const _0x1d14a2=_0x2ce2;let _0x57ef16=_0x357c1c[_0x1d14a2(0x24c)](':');if(_0x57ef16[_0x1d14a2(0x1b8)]!=0x4)return console[_0x1d14a2(0x10b)]('timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20'+_0x357c1c),[0x0,0x0,0x0,0x0,0x0];let _0x2b5c9f=[parseInt(_0x57ef16[0x0]),parseInt(_0x57ef16[0x1]),parseInt(_0x57ef16[0x2])];if(_0x57ef16[0x3]['indexOf']('.')>=0x0){let _0x447a78=_0x57ef16[0x3][_0x1d14a2(0x24c)]('.');_0x2b5c9f[_0x1d14a2(0x122)](parseInt(_0x447a78[0x0])),_0x2b5c9f[_0x1d14a2(0x122)](parseInt(_0x447a78[0x1]));}else _0x2b5c9f[_0x1d14a2(0x122)](parseInt(_0x57ef16[0x3])),_0x2b5c9f[_0x1d14a2(0x122)](0x0);return _0x2b5c9f;},_0x666044=(_0x33569c,_0x15e568,_0xbde568)=>{const _0x39fe00=_0x2ce2;let _0x4a1300=0x3c,_0x4cc9c7=0x0;if(Math[_0x39fe00(0x153)](_0x15e568)==0x3c)_0x4a1300=0x3c,_0x4cc9c7=0x0;else{if(Math[_0x39fe00(0x153)](_0x15e568)==0x3b)_0x4a1300=0x3c,_0x4cc9c7=0x4;else{if(Math[_0x39fe00(0x153)](_0x15e568)==0x1e)_0x4a1300=0x1e,_0x4cc9c7=0x0;else Math['floor'](_0x15e568)==0x1d&&(_0x4a1300=0x1e,_0x4cc9c7=0x2);}}let _0x5c2be4=0x0,_0x46364c=Math['floor'](_0x15e568*0x3c),_0x1ca581=Math[_0x39fe00(0x153)](_0x15e568*0x3c*0xa),_0x478fb3=_0x1ca581*0x6,_0x42e7fc=_0x33569c[0x0],_0x2e2424=_0x33569c[0x1],_0x48e6c0=_0x33569c[0x2],_0x29b8f6=_0x33569c[0x3],_0x1bf8fb=_0x33569c[0x4];_0x5c2be4+=_0x42e7fc*_0x478fb3,_0x5c2be4+=_0x2e2424*(_0x4a1300*0x3c),_0x5c2be4+=_0x48e6c0*_0x4a1300;if(_0xbde568)_0x5c2be4+=_0x29b8f6*0x2+_0x1bf8fb;else _0x5c2be4+=_0x29b8f6;return _0x5c2be4-=_0x4cc9c7*_0x2e2424,_0x5c2be4+=_0x4cc9c7*Math['floor'](_0x2e2424/0xa),_0x5c2be4;},_0x4e5397=(_0x4da90e,_0x36dd71,_0x1b2de0)=>{const _0x4a00eb=_0x2ce2;let _0x3bc3e9=0x3c,_0x2b6a55=0x0;if(Math[_0x4a00eb(0x153)](_0x36dd71)==0x3c)_0x3bc3e9=0x3c,_0x2b6a55=0x0;else{if(Math[_0x4a00eb(0x153)](_0x36dd71)==0x3b)_0x3bc3e9=0x3c,_0x2b6a55=0x4;else{if(Math[_0x4a00eb(0x153)](_0x36dd71)==0x1e)_0x3bc3e9=0x1e,_0x2b6a55=0x0;else Math[_0x4a00eb(0x153)](_0x36dd71)==0x1d&&(_0x3bc3e9=0x1e,_0x2b6a55=0x2);}}let _0x367aba=0x0,_0x66de8e=Math[_0x4a00eb(0x153)](_0x36dd71*0x3c),_0x3182be=Math[_0x4a00eb(0x153)](_0x36dd71*0x3c*0xa),_0x2fa411=_0x3182be*0x6,_0x5f0716=_0x4da90e,_0x32c494=Math[_0x4a00eb(0x153)](_0x5f0716/_0x2fa411);_0x5f0716-=_0x32c494*_0x2fa411;let _0x55f900=Math['floor'](_0x5f0716/_0x3182be);_0x5f0716-=_0x55f900*_0x3182be;if(_0x5f0716>=_0x3bc3e9*0x3c)_0x5f0716+=_0x2b6a55*(Math['floor']((_0x5f0716-_0x3bc3e9*0x3c)/_0x66de8e)+0x1);let _0x1741fa=Math['floor'](_0x5f0716/(_0x3bc3e9*0x3c));_0x5f0716-=_0x1741fa*(_0x3bc3e9*0x3c);let _0x58d2ef=Math[_0x4a00eb(0x153)](_0x5f0716/_0x3bc3e9);_0x5f0716-=_0x58d2ef*_0x3bc3e9;let _0x1cf9a2=_0x5f0716;_0x1741fa+=_0x55f900*0xa,dotOne=0x0;_0x1b2de0&&(dotOne=_0x1cf9a2%0x2,_0x1cf9a2=Math[_0x4a00eb(0x153)](_0x1cf9a2/0x2));let _0x57258f=[_0x32c494,_0x1741fa,_0x58d2ef,_0x1cf9a2,dotOne];return _0x57258f;},_0x22f75b=(_0x278473,_0x317574,_0x19cebd)=>{let _0x380af8=_0x19cebd>0x1e,_0x374cd3=_0x666044(_0x278473,_0x19cebd,_0x380af8);return _0x374cd3+=_0x317574,_0x4e5397(_0x374cd3,_0x19cebd,_0x380af8);},_0x2a2bb4=_0x1f917=>{return{'h':_0x1f917[0x0],'m':_0x1f917[0x1],'s':_0x1f917[0x2],'f':_0x1f917[0x3],'field':_0x1f917[0x4]};},_0x3ceeea=(_0x326079,_0x678169)=>{const _0x127e00=_0x2ce2;let _0x164993=BB[_0x127e00(0x87)]['timeDate2TC'](_0x326079,_0x678169);return _0x678169>0x3b?BB[_0x127e00(0x87)][_0x127e00(0x193)][_0x127e00(0x278)](tcFromMessage,!![]):BB[_0x127e00(0x87)]['TimeCodesFramesTranslator']['printTimecode'](tcFromMessage,![]);let _0x4ed419=BB[_0x127e00(0x87)][_0x127e00(0xa4)],_0xd1c545='';_0x4ed419[_0x127e00(0x1ff)]()?_0xd1c545=_0x326079:_0xd1c545=_0x326079[_0x127e00(0x238)]();let _0x4e72b0=_0xd1c545[_0x127e00(0x24c)]('T')[0x1],_0x5b54e6=_0x4e72b0['split'](':'),_0x3438d6=parseInt(_0x5b54e6[0x0]),_0x3fdd8d=parseInt(_0x5b54e6[0x1]),_0x5a1b88=_0x5b54e6[0x2][_0x127e00(0x24c)]('.'),_0x3ef088=parseInt(_0x5a1b88[0x0]),_0x1b6d6f=parseInt(_0x5a1b88[0x1][_0x127e00(0xc3)](0x0,0x3)),_0x29e8a8=Math['round'](_0x1b6d6f/0x3e8*_0x678169);if(_0x678169>0x3b){let _0x45ef7f=_0x29e8a8%0x2==0x0?0x1:0x2;_0x29e8a8=Math['floor'](_0x29e8a8/0x2);let _0x10f016=_0x3438d6['toString']()[_0x127e00(0x91)](0x2,'0')+':'+_0x3fdd8d[_0x127e00(0x187)]()[_0x127e00(0x91)](0x2,'0')+':'+_0x3ef088['toString']()[_0x127e00(0x91)](0x2,'0')+':'+_0x29e8a8[_0x127e00(0x187)]()['padStart'](0x2,'0')+'.'+_0x45ef7f[_0x127e00(0x187)]();return _0x10f016;}else{let _0x1471c7=_0x3438d6[_0x127e00(0x187)]()[_0x127e00(0x91)](0x2,'0')+':'+_0x3fdd8d[_0x127e00(0x187)]()['padStart'](0x2,'0')+':'+_0x3ef088[_0x127e00(0x187)]()['padStart'](0x2,'0')+':'+_0x29e8a8['toString']()['padStart'](0x2,'0');return _0x1471c7;}return str;},_0x303d9a=(_0xf4c175,_0x1ff87b)=>{const _0x3fff0a=_0x2ce2;let _0xe23bd6=BB[_0x3fff0a(0x87)][_0x3fff0a(0xa4)],_0x5e5cc5='';_0xe23bd6['isApple']()?_0x5e5cc5=_0xf4c175:_0x5e5cc5=_0xf4c175[_0x3fff0a(0x238)]();let _0x18f6f3=_0x5e5cc5[_0x3fff0a(0x24c)]('T')[0x1],_0x215b4c=_0x18f6f3[_0x3fff0a(0x24c)](':'),_0xd15830=parseInt(_0x215b4c[0x0]),_0x4f2b07=parseInt(_0x215b4c[0x1]),_0x465ad1=_0x215b4c[0x2]['split']('.'),_0x3e2ee0=parseInt(_0x465ad1[0x0]),_0xe8353b=parseInt(_0x465ad1[0x1]['substring'](0x0,0x3));if(_0x1ff87b>0x3b){let _0x2fe221=Math[_0x3fff0a(0x26f)]((_0xe8353b/0x3e8+_0x3e2ee0+_0x4f2b07*0x3c+_0xd15830*0x3c*0x3c)*_0x1ff87b),_0x148599=BB[_0x3fff0a(0x87)][_0x3fff0a(0x193)][_0x3fff0a(0x183)](_0x2fe221,_0x1ff87b,!![]);return _0x148599;}else{let _0x34abe0=Math[_0x3fff0a(0x26f)]((_0xe8353b/0x3e8+_0x3e2ee0+_0x4f2b07*0x3c+_0xd15830*0x3c*0x3c)*_0x1ff87b),_0x12bac9=BB[_0x3fff0a(0x87)][_0x3fff0a(0x193)][_0x3fff0a(0x183)](_0x34abe0,_0x1ff87b,![]);return _0x12bac9;}};return{'printTimecode':_0x308353,'timeCodeStr2TimeCodeArray':_0xfbf812,'Timecode2Frames':_0x666044,'Frames2Timecode':_0x4e5397,'TimeCodeAddFrames':_0x22f75b,'TimeCodeArray2TimeCodeJson':_0x2a2bb4,'timeDate2TCString':_0x3ceeea,'timeDate2TC':_0x303d9a};})()),_0x4720bc=_0x4c309c=>{let _0x497ff7=_0x4c309c||0x2540be3ff,_0x108c91=[],_0x375422=0x0;const _0x568d96=_0x4062b2=>{const _0x2de273=_0x2ce2;++_0x375422,_0x108c91[_0x2de273(0x122)](_0x4062b2);while(_0x108c91[_0x2de273(0x1b8)]>_0x497ff7)_0x108c91['shift']();},_0x453f55=()=>{const _0x508d38=_0x2ce2;if(_0x108c91[_0x508d38(0x1b8)]==0x0)return-0x1;let _0x8f1afe=Array[_0x508d38(0x18d)](_0x108c91)[_0x508d38(0x124)]((_0x5a60f1,_0x283ecc)=>{return _0x5a60f1-_0x283ecc;});return _0x8f1afe[parseInt(_0x8f1afe[_0x508d38(0x1b8)]/0x2)];},_0x445baf=()=>{return _0x375422;};return{'add':_0x568d96,'getMedian':_0x453f55,'howMany':_0x445baf};},_0x4748fa=((()=>{const _0x151e1d=()=>{const _0x5ba703=_0x2ce2,_0x16c6cc=navigator[_0x5ba703(0xb0)];if(/windows/i['test'](_0x16c6cc))return _0x5ba703(0x258);else{if(/android/i['test'](_0x16c6cc))return _0x5ba703(0x11d);else{if(/iphone|ipad|ipod/i[_0x5ba703(0x19d)](_0x16c6cc))return _0x5ba703(0x1d9);else{if(/mac/i[_0x5ba703(0x19d)](_0x16c6cc)){let _0x4afe2a=_0x5ba703(0xe6)in window||navigator[_0x5ba703(0x24e)]>0x0||navigator[_0x5ba703(0x252)]>0x0;if(_0x4afe2a)return _0x5ba703(0xe4);else return _0x5ba703(0x126);}else return/ipad/i['test'](_0x16c6cc)?_0x5ba703(0xe4):_0x5ba703(0x1c1);}}}},_0x2fae3d=()=>{let _0x9c7bdf=_0x151e1d();return _0x9c7bdf=='Mac';},_0x125fae=()=>{let _0x1add01=_0x151e1d();return _0x1add01=='iPad';},_0x1ce7ad=()=>{let _0x2119fe=_0x151e1d();return _0x2119fe=='iOS';},_0x3593a5=()=>{const _0x507cb3=_0x2ce2;let _0x1649f4=_0x151e1d();return _0x1649f4==_0x507cb3(0x1d9)||_0x1649f4==_0x507cb3(0x126)||_0x1649f4=='iPad';},_0x4c6b5c=()=>{let _0x3dc96a=_0x151e1d();return _0x3dc96a=='Windows';},_0x1dba34=()=>{const _0x321d5f=_0x2ce2;let _0x3351e1=_0x151e1d();return _0x3351e1==_0x321d5f(0x11d);},_0x262cc7=()=>{const _0x1105af=_0x2ce2;let _0x1fe9d8=_0x151e1d();if(_0x1fe9d8=='Windows')return _0x1105af(0x260);else{if(_0x1fe9d8=='Android')return _0x1105af(0x108);else{if(_0x1fe9d8==_0x1105af(0x1d9))return _0x1105af(0x203);else{if(_0x1fe9d8==_0x1105af(0x126))return'a\x20Mac';else{if(_0x1fe9d8==_0x1105af(0xe4))return'an\x20iPad';else return'an\x20Unknown\x20device';}}}}},_0x4c0fca=()=>{const _0x3aea4e=_0x2ce2;let _0xcc3c3c={'options':[],'header':[navigator[_0x3aea4e(0x1eb)],navigator['userAgent'],navigator['appVersion'],navigator[_0x3aea4e(0x1ac)],window[_0x3aea4e(0xac)]],'dataos':[{'name':_0x3aea4e(0x1dc),'value':'Windows\x20Phone','version':'OS'},{'name':_0x3aea4e(0x258),'value':_0x3aea4e(0x14c),'version':'NT'},{'name':_0x3aea4e(0x18a),'value':_0x3aea4e(0x18a),'version':'OS'},{'name':_0x3aea4e(0xe4),'value':'iPad','version':'OS'},{'name':'Kindle','value':'Silk','version':_0x3aea4e(0xb4)},{'name':_0x3aea4e(0x11d),'value':_0x3aea4e(0x11d),'version':_0x3aea4e(0x11d)},{'name':_0x3aea4e(0x10c),'value':_0x3aea4e(0x10c),'version':'OS'},{'name':'BlackBerry','value':_0x3aea4e(0x11c),'version':'/'},{'name':_0x3aea4e(0x1c7),'value':_0x3aea4e(0x126),'version':'OS\x20X'},{'name':_0x3aea4e(0x147),'value':_0x3aea4e(0x147),'version':'rv'},{'name':'Palm','value':_0x3aea4e(0xae),'version':'PalmOS'}],'databrowser':[{'name':_0x3aea4e(0x82),'value':_0x3aea4e(0x82),'version':_0x3aea4e(0x82)},{'name':_0x3aea4e(0xbf),'value':_0x3aea4e(0xbf),'version':_0x3aea4e(0xbf)},{'name':_0x3aea4e(0x123),'value':'Safari','version':_0x3aea4e(0x146)},{'name':_0x3aea4e(0x1de),'value':_0x3aea4e(0x23b),'version':'MSIE'},{'name':'Opera','value':_0x3aea4e(0x157),'version':'Opera'},{'name':_0x3aea4e(0x11c),'value':'CLDC','version':_0x3aea4e(0xfc)},{'name':'Mozilla','value':'Mozilla','version':_0x3aea4e(0x23c)}],'init':function(){const _0x3a56c4=_0x3aea4e;let _0x459d7f=this[_0x3a56c4(0x166)][_0x3a56c4(0x1da)]('\x20'),_0x11b911=this[_0x3a56c4(0x1cd)](_0x459d7f,this['dataos']),_0x5f0085=this[_0x3a56c4(0x1cd)](_0x459d7f,this[_0x3a56c4(0x94)]);return{'os':_0x11b911,'browser':_0x5f0085};},'matchItem':function(_0x1a7525,_0x2bbf6b){const _0x2e03bf=_0x3aea4e;let _0x45f8a6=0x0,_0x1533ca=0x0,_0x562c81='',_0x2c0722,_0x363144,_0x4125f4,_0x31cad1,_0x214b44;for(_0x45f8a6=0x0;_0x45f8a6<_0x2bbf6b[_0x2e03bf(0x1b8)];_0x45f8a6+=0x1){_0x2c0722=new RegExp(_0x2bbf6b[_0x45f8a6][_0x2e03bf(0xcc)],'i'),_0x4125f4=_0x2c0722['test'](_0x1a7525);if(_0x4125f4){_0x363144=new RegExp(_0x2bbf6b[_0x45f8a6][_0x2e03bf(0x165)]+_0x2e03bf(0x79),'i'),_0x31cad1=_0x1a7525[_0x2e03bf(0x281)](_0x363144),_0x214b44='';_0x31cad1&&(_0x31cad1[0x1]&&(_0x31cad1=_0x31cad1[0x1]));if(_0x31cad1){_0x31cad1=_0x31cad1['split'](/[._]+/);for(_0x1533ca=0x0;_0x1533ca<_0x31cad1[_0x2e03bf(0x1b8)];_0x1533ca+=0x1){_0x1533ca===0x0?_0x214b44+=_0x31cad1[_0x1533ca]+'.':_0x214b44+=_0x31cad1[_0x1533ca];}}else _0x214b44='0';return{'name':_0x2bbf6b[_0x45f8a6]['name'],'version':parseFloat(_0x214b44)};}}return{'name':_0x2e03bf(0x1db),'version':0x0};}},_0x5aa464=_0xcc3c3c[_0x3aea4e(0x1f8)]();return _0x5aa464['os'][_0x3aea4e(0x99)];},_0x5d3171=()=>{const _0xfb72d1=_0x2ce2,_0x50db30=navigator[_0xfb72d1(0xb0)];if(_0x50db30[_0xfb72d1(0x1c3)]('Chrome')>-0x1&&_0x50db30[_0xfb72d1(0x1c3)]('Edge')===-0x1)return _0xfb72d1(0x82);else{if(_0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0x123))>-0x1&&_0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0x82))===-0x1)return _0xfb72d1(0x123);else{if(_0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0xbf))>-0x1)return'Firefox';else{if(_0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0x23b))>-0x1||_0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0x86))>-0x1)return _0xfb72d1(0x1de);else return _0x50db30[_0xfb72d1(0x1c3)](_0xfb72d1(0x24b))>-0x1?_0xfb72d1(0x24b):_0xfb72d1(0x8d);}}}},_0xe0d755=()=>{return _0x2fae3d()&&_0x5d3171()=='Safari';},_0xf4b57b=()=>{const _0x592e79=_0x2ce2;return _0x2fae3d()&&_0x5d3171()==_0x592e79(0x82);},_0x50bbbf=()=>{const _0x1a144c=_0x2ce2;return _0x4c6b5c()&&_0x5d3171()==_0x1a144c(0x82);};return{'getDeviceName':_0x4c0fca,'getCurrentPlatform':_0x151e1d,'isApple':_0x3593a5,'isWindows':_0x4c6b5c,'isAndroid':_0x1dba34,'isMac':_0x2fae3d,'isiPhone':_0x1ce7ad,'isiPad':_0x125fae,'getDeviceDescription':_0x262cc7,'getBrowserName':_0x5d3171,'isSafariMac':_0xe0d755,'isChromeMac':_0xf4b57b,'isChromeWin':_0x50bbbf};})()),_0xf4ea5a=_0x34f7cb=>{const _0x24207c=_0x2ce2;let _0x4ac687=0x3c;switch(_0x34f7cb){case BB[_0x24207c(0x1f3)][_0x24207c(0x1bb)]:_0x4ac687=0x3c;break;case BB[_0x24207c(0x1f3)]['Src59_MediaTime60']:_0x4ac687=0x3c;break;case BB['FrameRateMode']['Src59_MediaTime59']:_0x4ac687=0xea60/0x3e9;break;case BB[_0x24207c(0x1f3)][_0x24207c(0x113)]:_0x4ac687=0x7530/0x3e9;break;default:console[_0x24207c(0x10b)]('BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x4ac687;},_0xe3d83f=_0x121da4=>{const _0x24a1c0=_0x2ce2;let _0x4d935b=0x3c;switch(_0x121da4){case BB[_0x24a1c0(0x1f3)][_0x24a1c0(0x1bb)]:_0x4d935b=0x3c;break;case BB[_0x24a1c0(0x1f3)][_0x24a1c0(0xec)]:_0x4d935b=0xea60/0x3e9;break;case BB[_0x24a1c0(0x1f3)][_0x24a1c0(0x15e)]:_0x4d935b=0xea60/0x3e9;break;case BB['FrameRateMode']['Src29_MediaTime29']:_0x4d935b=0x7530/0x3e9;break;default:console['error']('BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x4d935b;},_0x57e3b6=(_0xadaa13,_0x28c5fb)=>{const _0x5d0053=_0x2ce2,_0x3a52e8=(_0x484cf9,_0x2095c7)=>{const _0x16f61a=_0x2ce2;if(Math[_0x16f61a(0x259)](_0x484cf9-_0x2095c7)<0.01)return!![];else return![];};if(_0x3a52e8(_0xadaa13,0x3c)){if(_0x3a52e8(BB[_0x5d0053(0x87)]['getSourceFPS'](_0x28c5fb['frameRateMode']),0x3c))_0x28c5fb[_0x5d0053(0x1aa)]=BB[_0x5d0053(0x1f3)][_0x5d0053(0x1bb)];else{if(_0x3a52e8(BB[_0x5d0053(0x87)][_0x5d0053(0x240)](_0x28c5fb['frameRateMode']),0xea60/0x3e9))_0x28c5fb[_0x5d0053(0x1aa)]=BB[_0x5d0053(0x1f3)][_0x5d0053(0xec)];else console['error'](_0x5d0053(0x15c));}}else{if(_0x3a52e8(_0xadaa13,0xea60/0x3e9)){if(_0x3a52e8(BB['Utils'][_0x5d0053(0x240)](_0x28c5fb[_0x5d0053(0x1aa)]),0x3c))_0x28c5fb['frameRateMode']=BB[_0x5d0053(0x1f3)][_0x5d0053(0xbc)];else{if(_0x3a52e8(BB['Utils'][_0x5d0053(0x240)](_0x28c5fb[_0x5d0053(0x1aa)]),0xea60/0x3e9))_0x28c5fb[_0x5d0053(0x1aa)]=BB[_0x5d0053(0x1f3)]['Src59_MediaTime59'];else console[_0x5d0053(0x10b)](_0x5d0053(0x15c));}}else{if(_0x3a52e8(_0xadaa13,0x7530/0x3e9)){if(_0x3a52e8(BB[_0x5d0053(0x87)]['getSourceFPS'](_0x28c5fb[_0x5d0053(0x1aa)]),0x7530/0x3e9))_0x28c5fb['frameRateMode']=BB['FrameRateMode'][_0x5d0053(0x113)];else console[_0x5d0053(0x10b)](_0x5d0053(0x17d)+_0xadaa13);}else console['error'](_0x5d0053(0xb8));}}},_0x229ae3=()=>{const _0x4c694f=[0x7530/0x3e9,0x1e/0x1],_0x27e1b9=[0xea60/0x3e9,0x3c/0x1];let _0x2551f3=[],_0x3a9c97=[],_0x3486c0=0x0,_0x50da91=-0x1,_0x581bec=0x0;const _0x28eb8b=_0x4b780c=>{const _0x49bd3d=_0x2ce2;_0x581bec++;let _0x13ba22=0x3e7,_0x45492f=0x0;if(_0x50da91==-0x1){_0x50da91=_0x4b780c;return;}else{let _0x2a27f3=_0x4b780c-_0x50da91;if(_0x3486c0<0x64){_0x3a9c97[_0x49bd3d(0x122)](_0x2a27f3),_0x3486c0++;return;}else _0x3a9c97[_0x49bd3d(0x122)](_0x2a27f3),_0x3a9c97['shift']();let _0x3e2e18=0x0;for(let _0x46ad53=0x0;_0x46ad53<_0x3a9c97['length'];_0x46ad53++){_0x3e2e18+=_0x3a9c97[_0x46ad53];}_0x2a27f3=_0x3e2e18/_0x3a9c97[_0x49bd3d(0x1b8)];if(0x1/_0x2a27f3<0x28)possibleFps=_0x4c694f;else possibleFps=_0x27e1b9;}_0x50da91=_0x4b780c;for(let _0x96ca04=0x0;_0x96ca04<possibleFps[_0x49bd3d(0x1b8)];++_0x96ca04){let _0x1e078c=possibleFps[_0x96ca04],_0x2ae2ba=_0x4b780c*_0x1e078c,_0x70a4b0=Math[_0x49bd3d(0x26f)](_0x2ae2ba),_0x233977=Math[_0x49bd3d(0x259)](_0x2ae2ba-_0x70a4b0);_0x233977<_0x13ba22&&(_0x13ba22=_0x233977,_0x45492f=_0x1e078c);}let _0x54eeed=_0x45492f;_0x2551f3['push'](_0x54eeed);if(_0x581bec>0x3e8)_0x2551f3[_0x49bd3d(0x7f)]();},_0x36b2bd=()=>{const _0x153151=_0x2ce2;let _0x3b6413={},_0x3ee7ad,_0x335ca7=0x0;for(let _0xc4ad67=0x0;_0xc4ad67<_0x2551f3[_0x153151(0x1b8)];_0xc4ad67++){let _0x37b0cc=_0x2551f3[_0xc4ad67];_0x3b6413[_0x37b0cc]=(_0x3b6413[_0x37b0cc]||0x0)+0x1,_0x3b6413[_0x37b0cc]>_0x335ca7&&(_0x3ee7ad=_0x37b0cc,_0x335ca7=_0x3b6413[_0x37b0cc]);}return _0x3ee7ad;},_0x476fe0=()=>{return _0x581bec;};return{'addTime':_0x28eb8b,'getProbableFPS':_0x36b2bd,'howMany':_0x476fe0};};return{'TimeCodesFramesTranslator':_0x3ff9cc,'MedianCalculator':_0x4720bc,'Platform':_0x4748fa,'getMediaTimeFPS':_0xf4ea5a,'getSourceFPS':_0xe3d83f,'setMediaFPS':_0x57e3b6,'FPSGetter':_0x229ae3};})()),BB[_0x4c25ed(0x14a)]=class{constructor(_0x3b5b14){const _0x447a0c=_0x4c25ed;this['isConnected']=![],this[_0x447a0c(0x21b)]='',this[_0x447a0c(0x270)]=_0x3b5b14,this[_0x447a0c(0x99)]='';}['Connect'](_0x2596f7){const _0x3bd866=_0x4c25ed;if(typeof io=='undefined'||this[_0x3bd866(0x1ca)])return;this[_0x3bd866(0x1ca)]=!![];const _0x11b459=io(_0x3bd866(0x22d));_0x11b459['on'](_0x3bd866(0x189),()=>{const _0x678e54=_0x3bd866;console[_0x678e54(0x13b)](_0x678e54(0x1e4));let _0x23060a=BB[_0x678e54(0x87)][_0x678e54(0xa4)];_0x11b459['emit'](_0x678e54(0x7b),{'device':_0x23060a['getDeviceName']()},_0xb65746=>{const _0x421ad9=_0x678e54;this[_0x421ad9(0x99)]=_0xb65746[_0x421ad9(0x99)],_0x11b459['emit'](_0x421ad9(0x1da),_0x2596f7,_0x1fa634=>{const _0x33326d=_0x421ad9;console[_0x33326d(0x13b)](_0x33326d(0x13c)+_0x2596f7+_0x33326d(0x198)),this[_0x33326d(0x270)]('join',_0x1fa634);});});}),_0x11b459['on'](_0x3bd866(0x10b),_0x2d95ce=>{const _0x165501=_0x3bd866;console[_0x165501(0x10b)](_0x165501(0x137)+_0x2d95ce);}),_0x11b459['on'](_0x3bd866(0x24d),_0x1518bc=>{const _0x2ac6cc=_0x3bd866;console[_0x2ac6cc(0x10b)](_0x2ac6cc(0x172)+_0x1518bc);}),_0x11b459['on'](_0x3bd866(0x1a9),_0x48cab3=>{const _0x90d600=_0x3bd866;this[_0x90d600(0x270)](_0x90d600(0x1a9),_0x48cab3),console[_0x90d600(0x13b)]('messageroom:\x20',_0x48cab3);}),_0x11b459['on'](_0x3bd866(0x96),_0x37c5ad=>{const _0x487f71=_0x3bd866;this[_0x487f71(0x270)]('ads',_0x37c5ad),console[_0x487f71(0x13b)](_0x487f71(0x21a),_0x37c5ad);});}},BB[_0x4c25ed(0x1a6)]=(_0x16932f,_0xdc1085,_0x56cda9)=>{const _0x57da87=_0x4c25ed;console[_0x57da87(0x13b)]('BB.Augmenter\x20Start');function _0x33bf54(_0x17fb72,_0x29f38d){const _0x2acaab=_0x57da87;let _0x13dffa='';if(_0x17fb72&&_0x17fb72['includes'](_0x2acaab(0x1f7))){const _0x53ac32=_0x17fb72[_0x2acaab(0x1fe)](/.*NTC./,'');let _0x3189f5=0x0;while(_0x3189f5+0x8<=_0x53ac32[_0x2acaab(0x1b8)]){const _0x42ca4f=_0x53ac32[_0x2acaab(0xc3)](_0x3189f5,_0x3189f5+0x4),_0x17f2a1=((_0x53ac32[_0x2acaab(0x177)](_0x3189f5+0x4)*0x100+_0x53ac32[_0x2acaab(0x177)](_0x3189f5+0x5))*0x100+_0x53ac32['charCodeAt'](_0x3189f5+0x6))*0x100+_0x53ac32['charCodeAt'](_0x3189f5+0x7);if(_0x3189f5+0x8+_0x17f2a1>_0x53ac32[_0x2acaab(0x1b8)])break;const _0x374f65=_0x53ac32[_0x2acaab(0xc3)](_0x3189f5+0x8,_0x3189f5+0x8+_0x17f2a1);_0x42ca4f=='utc_'&&(timecodeDateTime=new Date(parseInt(_0x374f65))[_0x2acaab(0x13a)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x29f38d);_0x42ca4f==_0x2acaab(0x142)&&(tcTimeStamp=new Date(parseInt(_0x374f65))[_0x2acaab(0x13a)]());if(_0x42ca4f===_0x2acaab(0xd6)){timecode_offset=parseInt(_0x374f65)/0x5a;if(_0x56cda9[_0x2acaab(0x1bf)])console['log'](_0x2acaab(0x1ce),timecode_offset);}_0x3189f5+=0x8+_0x17f2a1;}}return _0x13dffa;}let _0x56cf1f=[0x0,0x0,0x0,0x0,0x0];function _0x530554(_0x487b7d){const _0xde97e9=_0x57da87;if(_0x487b7d&&_0x487b7d[_0xde97e9(0xdb)]&&_0x487b7d[_0xde97e9(0xdb)]['id']==0x0||_0x5dc734[_0xde97e9(0x245)]()){if(_0x487b7d[_0xde97e9(0xdb)]['messageData'])_0x487b7d[_0xde97e9(0xdb)]['messageData']=_0x33bf54(_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x221)],_0x487b7d['metadata'][_0xde97e9(0x152)]);else{if(_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x84)]&&_0x487b7d['metadata'][_0xde97e9(0x84)][_0xde97e9(0x1b8)]&&_0x487b7d[_0xde97e9(0xdb)]['frames'][0x0][_0xde97e9(0xe5)]&&_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x84)][0x0]['key']['toLowerCase']()===_0xde97e9(0x138)){const _0x568324=_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x84)][_0xde97e9(0x1cf)](_0x54e2e7=>{const _0x409f76=_0xde97e9;return _0x54e2e7[_0x409f76(0x23a)]&&_0x54e2e7[_0x409f76(0x23a)][_0x409f76(0xab)]()[_0x409f76(0x8e)](_0x409f76(0x230));});_0x568324['length']&&(messageData=_0x568324[_0x568324[_0xde97e9(0x1b8)]-0x1][_0xde97e9(0x23a)]+'\x00'+String[_0xde97e9(0x145)](..._0x568324[_0x568324[_0xde97e9(0x1b8)]-0x1][_0xde97e9(0x1a1)]),_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x221)]=_0x33bf54(messageData,_0x487b7d[_0xde97e9(0xdb)][_0xde97e9(0x152)]));}}(_0x487b7d[_0xde97e9(0xdb)]['id']==0x0||_0x5dc734['isSafariMac']()&&timecode_offset==0x0)&&(presentationTime=_0x487b7d['metadata'][_0xde97e9(0x152)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0xde97e9(0x26f)](offsetTimeCode[_0xde97e9(0x179)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math[_0xde97e9(0x153)](offsetTimeCodeframeNumber),partoff=0x2),_0x56cf1f=[offsetTimeCode[_0xde97e9(0xf9)](),offsetTimeCode['getUTCMinutes'](),offsetTimeCode['getUTCSeconds'](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x26cb0f(_0x2eae2f){const _0x29abad=_0x57da87;if(typeof globalConfig!==_0x29abad(0x216)){if(typeof globalConfig[_0x29abad(0x20f)]!=='undefined'){if(globalConfig[_0x29abad(0x20f)]=='no')return;}}if(BB[_0x29abad(0x87)][_0x29abad(0x240)](_0x56cda9[_0x29abad(0x1aa)])==0x7530/0x3e9){let _0x5d06ab={'frame':0x0,'playerTime':0x0};_0x5d06ab[_0x29abad(0x279)]=BB[_0x29abad(0x87)][_0x29abad(0x193)][_0x29abad(0x129)](_0x56cf1f,0x7530/0x3e9,![]),_0x5d06ab[_0x29abad(0x8a)]=BB[_0x29abad(0x87)][_0x29abad(0x193)][_0x29abad(0x278)](_0x56cf1f,![],![]),console[_0x29abad(0x13b)](_0x29abad(0x93)+_0x2eae2f['url']+_0x29abad(0xb1)+_0x5d06ab['stringTime']+'\x20('+_0x5d06ab[_0x29abad(0x279)]+')'+'\x20playing\x20at\x20'+_0x2eae2f[_0x29abad(0xba)]),_0x5d06ab[_0x29abad(0xb9)]=_0x2eae2f['playbackTime'],_0x56cda9[_0x29abad(0x1a2)]=_0x5d06ab;}else{if(BB['Utils'][_0x29abad(0x240)](_0x56cda9['frameRateMode'])==0xea60/0x3e9){let _0x3ae7fa={'frame':0x0,'playerTime':0x0};_0x3ae7fa[_0x29abad(0x279)]=BB[_0x29abad(0x87)][_0x29abad(0x193)][_0x29abad(0x129)](_0x56cf1f,0xea60/0x3e9,!![]),_0x3ae7fa['stringTime']=BB['Utils'][_0x29abad(0x193)][_0x29abad(0x278)](_0x56cf1f,!![],!![]),console[_0x29abad(0x13b)](_0x29abad(0x93)+_0x2eae2f['url']+'):\x20'+_0x3ae7fa['stringTime']+'\x20('+_0x3ae7fa[_0x29abad(0x279)]+')'+'\x20playing\x20at\x20'+_0x2eae2f[_0x29abad(0xba)]),_0x3ae7fa['playerTime']=_0x2eae2f[_0x29abad(0xba)],_0x56cda9['syncPoint']=_0x3ae7fa;}}_0x2eae2f['mimeType'][_0x29abad(0x8e)](_0x29abad(0x1a3))&&console[_0x29abad(0x13b)]('url:\x20'+_0x2eae2f[_0x29abad(0x1f4)]);}function _0x974512(_0x12e949){const _0xfb482e=_0x57da87;switch(_0x12e949['eventType']){case wmcEvents[_0xfb482e(0x22e)]:let _0x497516={'frame':0x0,'playerTime':0x0};BB[_0xfb482e(0x87)][_0xfb482e(0x240)](_0x56cda9[_0xfb482e(0x1aa)])==0x7530/0x3e9&&(console[_0xfb482e(0x13b)](_0xfb482e(0x93)+_0x12e949[_0xfb482e(0x1f4)]+_0xfb482e(0xb1)+BB[_0xfb482e(0x87)][_0xfb482e(0x193)][_0xfb482e(0xa1)](_0x12e949[_0xfb482e(0x219)],0x7530/0x3e9)+'\x20playing\x20at\x20'+_0x12e949['playbackTime']),_0x497516[_0xfb482e(0x279)]=BB[_0xfb482e(0x87)]['TimeCodesFramesTranslator'][_0xfb482e(0x129)](BB[_0xfb482e(0x87)][_0xfb482e(0x193)]['timeDate2TC'](_0x12e949['dateTime'],0x7530/0x3e9),0x7530/0x3e9,![]),_0x497516[_0xfb482e(0x8a)]=BB[_0xfb482e(0x87)][_0xfb482e(0x193)]['timeDate2TCString'](_0x12e949['dateTime'],0x7530/0x3e9));BB['Utils'][_0xfb482e(0x240)](_0x56cda9[_0xfb482e(0x1aa)])==0xea60/0x3e9&&(console[_0xfb482e(0x13b)](_0xfb482e(0x93)+_0x12e949['url']+_0xfb482e(0xb1)+BB['Utils']['TimeCodesFramesTranslator']['timeDate2TCString'](_0x12e949[_0xfb482e(0x219)],0xea60/0x3e9)+'\x20playing\x20at\x20'+_0x12e949[_0xfb482e(0xba)]),_0x497516[_0xfb482e(0x279)]=BB[_0xfb482e(0x87)][_0xfb482e(0x193)]['Timecode2Frames'](BB[_0xfb482e(0x87)][_0xfb482e(0x193)][_0xfb482e(0x14e)](_0x12e949[_0xfb482e(0x219)]),fps,!![]),_0x497516[_0xfb482e(0x8a)]=BB['Utils'][_0xfb482e(0x193)][_0xfb482e(0xa1)](_0x12e949[_0xfb482e(0x219)],0xea60/0x3e9));_0x497516[_0xfb482e(0xb9)]=_0x12e949[_0xfb482e(0xba)],_0x56cda9[_0xfb482e(0x1a2)]=_0x497516;break;default:}}let _0x1793f6=BB[_0x57da87(0x87)][_0x57da87(0x193)],_0x1cd8ac=BB['Utils'][_0x57da87(0x240)](_0x56cda9[_0x57da87(0x1aa)]),_0xef11ed=BB[_0x57da87(0x87)][_0x57da87(0x1e6)](_0x56cda9['frameRateMode']);refreshRate=_0x56cda9['refreshRate'];let _0x4708d4=null,_0x51d690=null,_0x144596=null;if(_0x56cda9['renderingMode']==BB[_0x57da87(0x199)]['Augment']){}else{let _0x5b973f=document[_0x57da87(0x273)]('canvas');_0x5b973f[_0x57da87(0x25c)]=0x1f4,_0x5b973f[_0x57da87(0x22a)]=0x1f4,document['body'][_0x57da87(0x115)](_0x5b973f),_0x144596=_0x5b973f[_0x57da87(0x1fc)](_0x57da87(0xca));}let _0x5dc734=BB['Utils'][_0x57da87(0xa4)],_0x11cebf=-0x1,_0x3033ad=![];const _0x12bbf1=(_0x517f9f,_0x14331d)=>{const _0x5bea8c=_0x57da87,_0x3ccba2=performance[_0x5bea8c(0xf8)]();if(_0x11cebf==_0x517f9f&&_0x14331d==_0x3033ad){if(_0x56cda9['debug'])console[_0x5bea8c(0x25e)](_0x5bea8c(0x26d)+_0x517f9f);return 0x0;}if(!_0x56cda9[_0x5bea8c(0x121)]||_0x56cda9[_0x5bea8c(0x143)])return _0x51d690[_0x5bea8c(0x1a7)](),0x0;if(_0x56cda9[_0x5bea8c(0x243)]==BB['RenderingMode'][_0x5bea8c(0x1ad)])renderDigit(_0x144596,_0x517f9f);else{if(_0x56cda9['renderingMode']==BB[_0x5bea8c(0x199)][_0x5bea8c(0x1f6)]){if(_0x1cd8ac==0xea60/0x3e9||_0x1cd8ac==0x3c)renderTimecode(_0x144596,_0x1793f6[_0x5bea8c(0x183)](_0x517f9f,_0x1cd8ac,!![]),!![]);else{if(_0x1cd8ac==0x7530/0x3e9||_0x1cd8ac==0x1e)renderTimecode(_0x144596,_0x1793f6[_0x5bea8c(0x183)](_0x517f9f,_0x1cd8ac,![]),![]);}}else{if(_0x56cda9['renderingMode']==BB['RenderingMode'][_0x5bea8c(0xa8)]){if(_0x1cd8ac==0xea60/0x3e9||_0x1cd8ac==0x3c)_0x51d690[_0x5bea8c(0x184)](_0x1793f6['printTimecode'](_0x1793f6[_0x5bea8c(0x183)](_0x517f9f,_0x1cd8ac,!![])));else(_0x1cd8ac==0x7530/0x3e9||_0x1cd8ac==0x1e)&&(_0x14331d?_0x51d690[_0x5bea8c(0x184)](_0x1793f6[_0x5bea8c(0x278)](_0x1793f6[_0x5bea8c(0x183)](_0x517f9f*0x2+0x1,_0x1cd8ac*0x2,!![]),!![])):_0x51d690[_0x5bea8c(0x184)](_0x1793f6['printTimecode'](_0x1793f6[_0x5bea8c(0x183)](_0x517f9f,_0x1cd8ac,![]),![])));}}}_0x11cebf=_0x517f9f,_0x3033ad=_0x14331d;const _0x5bfc9b=performance[_0x5bea8c(0xf8)]();return _0x5bfc9b-_0x3ccba2;};let _0xc7e4a0=0x0,_0x3adfec=0x0,_0x111e86=0x20,_0xd5bb45=0x20,_0xafeead='',_0x52c1ba=0x0,_0x16b1b1,_0x18c6ae=function(_0x48bbe2,_0x2bd2fe){const _0x29494a=_0x57da87;if(_0xafeead==_0x29494a(0x265)){if(_0x56cda9[_0x29494a(0x1bf)])console[_0x29494a(0x25e)](_0x29494a(0x25b));_0xdc1085['requestVideoFrameCallback'](_0x18c6ae);return;}_0xafeead=_0x29494a(0x70),lastNow=_0x48bbe2;let _0x122c87=(_0x2bd2fe[_0x29494a(0x118)]-_0x56cda9['syncPoint'][_0x29494a(0xb9)])%(0x3c*0x3c*0x18)*_0xef11ed,_0x1660a5=_0x2bd2fe['mediaTime']-_0x56cda9['syncPoint']['playerTime'];lastFrameFromVideoCallback=Math[_0x29494a(0x153)](_0x122c87+0.1)+_0x56cda9['syncPoint'][_0x29494a(0x279)];if(_0x56cda9[_0x29494a(0x1bf)]){var _0x5b2516=document[_0x29494a(0x1e7)](_0x29494a(0xc5))[_0x29494a(0xcc)],_0x1e25f7=parseInt(_0x5b2516);lastFrameFromVideoCallback+=_0x1e25f7;}else lastFrameFromVideoCallback+=0x1;_0x5b2d4b=_0x2bd2fe[_0x29494a(0x118)];let _0x417347=_0xdc1085[_0x29494a(0x1d1)],_0x25bf98=document[_0x29494a(0x1e7)](_0x29494a(0x116));var _0xcf6182='';if(BB['Utils'][_0x29494a(0x240)](_0x56cda9[_0x29494a(0x1aa)])==0xea60/0x3e9)_0xcf6182=_0x1793f6['printTimecode'](_0x1793f6[_0x29494a(0x183)](lastFrameFromVideoCallback,_0x1cd8ac,!![]),!![],!![]);else BB[_0x29494a(0x87)][_0x29494a(0x240)](_0x56cda9['frameRateMode'])==0x7530/0x3e9?_0xcf6182=_0x1793f6[_0x29494a(0x278)](_0x1793f6[_0x29494a(0x183)](lastFrameFromVideoCallback,_0x1cd8ac,![]),![],![]):_0xcf6182=_0x29494a(0x20d);var _0x28a1f4='';if(BB[_0x29494a(0x87)][_0x29494a(0x240)](_0x56cda9[_0x29494a(0x1aa)])==0xea60/0x3e9)_0x28a1f4=_0x1793f6[_0x29494a(0x278)](_0x1793f6['Frames2Timecode'](_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)],_0x1cd8ac,!![]),!![],!![]);else BB[_0x29494a(0x87)][_0x29494a(0x240)](_0x56cda9['frameRateMode'])==0x7530/0x3e9?_0x28a1f4=_0x1793f6[_0x29494a(0x278)](_0x1793f6[_0x29494a(0x183)](_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)],_0x1cd8ac,![]),![],![]):_0x28a1f4=_0x29494a(0x20d);let _0x35e515=lastFrameFromVideoCallback-_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)];if(_0x4708d4)_0x4708d4[_0x29494a(0xf2)](_0x35e515);var _0x37e932='';if(BB['Utils'][_0x29494a(0x240)](_0x56cda9[_0x29494a(0x1aa)])==0xea60/0x3e9)_0x37e932=_0x1793f6[_0x29494a(0x278)](_0x1793f6[_0x29494a(0x183)](_0x35e515,_0x1cd8ac,!![]),!![],!![]);else BB[_0x29494a(0x87)][_0x29494a(0x240)](_0x56cda9[_0x29494a(0x1aa)])==0x7530/0x3e9?_0x37e932=_0x1793f6[_0x29494a(0x278)](_0x1793f6['Frames2Timecode'](_0x35e515,_0x1cd8ac,![]),![],![]):_0x37e932=_0x29494a(0x20d);let _0x22e23a=Date[_0x29494a(0xf8)]()-_0x3adfec,_0x6f264a=new Date(),_0x2a876a=String(_0x6f264a[_0x29494a(0x1f9)]())[_0x29494a(0x91)](0x2,'0'),_0x4a1a95=String(_0x6f264a[_0x29494a(0x119)]())[_0x29494a(0x91)](0x2,'0'),_0x59a431=String(_0x6f264a['getSeconds']())[_0x29494a(0x91)](0x2,'0'),_0x2ec276=String(_0x6f264a['getMilliseconds']())[_0x29494a(0x91)](0x3,'0'),_0x172a17=_0x2a876a+':'+_0x4a1a95+':'+_0x59a431+'.'+_0x2ec276;if(_0x56cda9[_0x29494a(0x1bf)]){if(_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)]!=_0x52c1ba||_0x16b1b1<0xa*0x3c)var _0x4aa1cb=_0x29494a(0x234);else var _0x4aa1cb='black';_0x25bf98[_0x29494a(0x1c9)]='VID.\x20'+'\x20Game:\x20'+_0x56cda9['gameId']+_0x29494a(0x1ee)+_0x172a17+_0x29494a(0xf5)+_0x2bd2fe[_0x29494a(0x118)][_0x29494a(0x151)](0x4)+_0x29494a(0x196)+_0xcf6182+_0x29494a(0x160)+_0x4aa1cb+'\x27>'+_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)]+'('+_0x28a1f4+_0x29494a(0x158)+_0x29494a(0x173)+_0x37e932+',\x20TimeFromLastSync:'+_0x1660a5[_0x29494a(0x151)](0x4)+',\x20LastSyncPointTime:'+_0x56cda9[_0x29494a(0x1a2)]['playerTime'][_0x29494a(0x151)](0x4)+_0x29494a(0x101)+_0x56cda9[_0x29494a(0x1a2)]['frame']+_0x29494a(0x120)+_0x56cda9['syncPoint'][_0x29494a(0x8a)]+_0x29494a(0x254),_0x56cda9[_0x29494a(0x1ed)][_0x29494a(0xe1)]!=_0x52c1ba&&(_0x16b1b1=0x0),_0x52c1ba=_0x56cda9['augmentation'][_0x29494a(0xe1)],_0x16b1b1++;}_0xc7e4a0++,_0x3adfec=Date[_0x29494a(0xf8)]();let _0x16562c=![];if(_0x56cda9[_0x29494a(0x1bf)]){var _0x3318ad=document[_0x29494a(0x1e7)]('plus05CorrectionCheckbox');_0x16562c=_0x3318ad[_0x29494a(0x225)];}let _0x328e61=0x0;if(BB['Utils'][_0x29494a(0x240)](_0x56cda9[_0x29494a(0x1aa)])==0x7530/0x3e9){let _0x718942=0x18,_0x5d33c5=0x21+(0x21-_0x718942);_0x22e23a<_0x718942&&_0x111e86<_0x5d33c5||_0x111e86<_0x718942&&_0x22e23a<_0x5d33c5||_0xd5bb45<_0x718942&&_0x111e86<_0x5d33c5&&_0x22e23a<_0x5d33c5||_0x16562c==!![]?(_0x25bf98[_0x29494a(0x1c9)]+=_0x29494a(0x1e0),setTimeout(function(){_0x12bbf1(_0x35e515,![]);},0xa)):_0x12bbf1(_0x35e515,![]);}else BB[_0x29494a(0x87)][_0x29494a(0x240)](_0x56cda9['frameRateMode'])==0xea60/0x3e9?_0x328e61=_0x12bbf1(_0x35e515,![]):console[_0x29494a(0x25e)]('FPS\x20not\x20supported');_0xd5bb45=_0x111e86,_0x111e86=_0x22e23a;_0x56cda9[_0x29494a(0x1bf)]&&console[_0x29494a(0x25e)](_0x29494a(0xda)+_0x29494a(0x8c)+_0x172a17+_0x29494a(0x188)+_0xcf6182+_0x29494a(0x214)+_0x328e61[_0x29494a(0x151)](0x4)+_0x29494a(0xf4));_0xdc1085['requestVideoFrameCallback'](_0x18c6ae);return;};const _0x499e78=_0x3460f9=>{const _0x4ba589=_0x57da87;let _0x5325f9=new Date(),_0xbde1c=String(_0x5325f9['getHours']())['padStart'](0x2,'0'),_0x10558f=String(_0x5325f9[_0x4ba589(0x119)]())['padStart'](0x2,'0'),_0x39c827=String(_0x5325f9[_0x4ba589(0xad)]())['padStart'](0x2,'0'),_0x106a45=String(_0x5325f9[_0x4ba589(0xa2)]())[_0x4ba589(0x91)](0x3,'0'),_0x375702=_0xbde1c+':'+_0x10558f+':'+_0x39c827+'.'+_0x106a45;if(_0xdc1085[_0x4ba589(0x1c2)]){window[_0x4ba589(0xe0)](_0x499e78);return;}let _0x22c72e=document[_0x4ba589(0x1e7)](_0x4ba589(0x1d7));if(_0x56cda9['debug'])_0x22c72e[_0x4ba589(0x1c9)]=_0x4ba589(0xc0)+_0x4ba589(0x1ae)+_0x375702;if(_0xafeead==_0x4ba589(0x282)||_0xafeead==_0x4ba589(0x265)){var _0x330e0d='';if(BB[_0x4ba589(0x87)][_0x4ba589(0x240)](_0x56cda9[_0x4ba589(0x1aa)])==0xea60/0x3e9)_0x330e0d=_0x1793f6['printTimecode'](_0x1793f6[_0x4ba589(0x183)](_0x11cebf+0x1,_0x1cd8ac,!![]),!![],!![]);else BB[_0x4ba589(0x87)][_0x4ba589(0x240)](_0x56cda9[_0x4ba589(0x1aa)])==0x7530/0x3e9?_0x330e0d=_0x1793f6[_0x4ba589(0x278)](_0x1793f6['Frames2Timecode'](_0x11cebf+0x1,_0x1cd8ac,![]),![],![]):_0x330e0d=_0x4ba589(0x20d);var _0xa2c5f9='';if(BB[_0x4ba589(0x87)]['getSourceFPS'](_0x56cda9[_0x4ba589(0x1aa)])==0xea60/0x3e9)_0xa2c5f9=_0x1793f6['printTimecode'](_0x1793f6[_0x4ba589(0x183)](_0x56cda9[_0x4ba589(0x1ed)]['offset'],_0x1cd8ac,!![]),!![],!![]);else BB[_0x4ba589(0x87)][_0x4ba589(0x240)](_0x56cda9[_0x4ba589(0x1aa)])==0x7530/0x3e9?_0xa2c5f9=_0x1793f6[_0x4ba589(0x278)](_0x1793f6[_0x4ba589(0x183)](_0x56cda9['augmentation'][_0x4ba589(0xe1)],_0x1cd8ac,![]),![],![]):_0xa2c5f9='NOT\x20SUPPORTED';let _0x46f4fa=_0x11cebf-_0x56cda9['augmentation'][_0x4ba589(0xe1)];var _0x1f1198='';if(BB['Utils'][_0x4ba589(0x240)](_0x56cda9[_0x4ba589(0x1aa)])==0xea60/0x3e9)_0x1f1198=_0x1793f6['printTimecode'](_0x1793f6['Frames2Timecode'](_0x46f4fa,_0x1cd8ac,!![]),!![],!![]);else BB[_0x4ba589(0x87)]['getSourceFPS'](_0x56cda9[_0x4ba589(0x1aa)])==0x7530/0x3e9?_0x1f1198=_0x1793f6[_0x4ba589(0x278)](_0x1793f6[_0x4ba589(0x183)](_0x46f4fa,_0x1cd8ac,![]),![],![]):_0x1f1198=_0x4ba589(0x20d);_0x56cda9[_0x4ba589(0x1bf)]&&(console['BBlog'](_0x4ba589(0x1e8)+_0x330e0d+')'+_0x4ba589(0x18b)+_0xafeead),_0x22c72e['innerHTML']+=_0x4ba589(0x1e2));let _0x36d6cc=_0x12bbf1(_0x11cebf+0x1,![]);if(_0x56cda9['debug'])console[_0x4ba589(0x25e)]('ANI.'+_0x4ba589(0x1ae)+_0x375702+_0x4ba589(0x20a)+_0x4ba589(0x21c)+_0x330e0d+_0x4ba589(0x1d6)+_0x56cda9['augmentation'][_0x4ba589(0xe1)]+'('+_0xa2c5f9+')'+',\x20resultTime:\x20'+_0x1f1198+_0x4ba589(0x214)+_0x36d6cc[_0x4ba589(0x151)](0x4)+'\x20ms');if(_0xafeead==_0x4ba589(0x282))_0xafeead=_0x4ba589(0x265);else{if(_0xafeead=='ANI2')_0xafeead=_0x4ba589(0x282);}}else{if(_0x56cda9[_0x4ba589(0x1bf)])console[_0x4ba589(0x25e)](_0x4ba589(0x8f)+'\x20Time\x20Fired:\x20'+_0x375702);_0xafeead='ANI';}window['requestAnimationFrame'](_0x499e78);};let _0xe4248b=_0x56cda9['frameRateMode']==BB[_0x57da87(0x1f3)]['Src59_MediaTime60']?-0.04:+0.05,_0x1932a4=0x0,_0x117594={},_0x411f90=0x0,_0x129a94=0x0,_0x48c506=0x0,_0x5635d8=0x0,_0x36b75d=0x0,_0x5b2d4b=-0x1,_0x1979fb=0x0,_0x2e8321=![],_0x366960=0x0,_0x4c5231=0x0,_0x32ca86=![];const _0xdb5679=_0x77f157=>{const _0xb34dd=_0x57da87;var _0x3366dc=0x2;if(_0x56cda9[_0xb34dd(0x1bf)]){let _0x38b30d=document[_0xb34dd(0x1e7)]('debugText');var _0x595af9=document['getElementById'](_0xb34dd(0xc5))[_0xb34dd(0xcc)];_0x3366dc=parseInt(_0x595af9);}var _0x3119db=0x0,_0x260a75=(_0xdc1085[_0xb34dd(0x1d1)]-_0x56cda9[_0xb34dd(0x1a2)]['playerTime'])%(0x3c*0x3c*0x18)*_0xef11ed;_0x3119db=Math[_0xb34dd(0x153)](_0x260a75)+_0x56cda9[_0xb34dd(0x1a2)][_0xb34dd(0x279)],_0x3119db+=_0x3366dc;var _0x3f7852=_0x260a75-Math['floor'](_0x260a75);if(_0x32ca86||_0x3f7852<0.226)_0x32ca86=!![];if(_0x3f7852>0.8)_0x32ca86=![];if(_0x32ca86)_0x3119db--;var _0x27ca93='';if(BB[_0xb34dd(0x87)][_0xb34dd(0x240)](_0x56cda9[_0xb34dd(0x1aa)])==0xea60/0x3e9)_0x27ca93=_0x1793f6[_0xb34dd(0x278)](_0x1793f6[_0xb34dd(0x183)](_0x3119db,_0x1cd8ac,!![]),!![],!![]);else BB[_0xb34dd(0x87)][_0xb34dd(0x240)](_0x56cda9['frameRateMode'])==0x7530/0x3e9?_0x27ca93=_0x1793f6[_0xb34dd(0x278)](_0x1793f6[_0xb34dd(0x183)](_0x3119db,_0x1cd8ac,![]),![],![]):_0x27ca93=_0xb34dd(0x20d);var _0x499fdd='';if(BB[_0xb34dd(0x87)][_0xb34dd(0x240)](_0x56cda9[_0xb34dd(0x1aa)])==0xea60/0x3e9)_0x499fdd=_0x1793f6[_0xb34dd(0x278)](_0x1793f6[_0xb34dd(0x183)](_0x56cda9[_0xb34dd(0x1ed)]['offset'],_0x1cd8ac,!![]),!![],!![]);else BB['Utils'][_0xb34dd(0x240)](_0x56cda9[_0xb34dd(0x1aa)])==0x7530/0x3e9?_0x499fdd=_0x1793f6[_0xb34dd(0x278)](_0x1793f6[_0xb34dd(0x183)](_0x56cda9[_0xb34dd(0x1ed)]['offset'],_0x1cd8ac,![]),![],![]):_0x499fdd=_0xb34dd(0x20d);let _0x312beb=_0x3119db-_0x56cda9['augmentation'][_0xb34dd(0xe1)];if(_0x4708d4)_0x4708d4['setLastFrame'](_0x312beb);_0x12bbf1(_0x312beb),_0x44a41c++,window[_0xb34dd(0xe0)](_0xdb5679);return;},_0x188f27=(_0x2a5fc5,_0x31709d)=>{const _0x165fab=_0x57da87;let _0x4956df=_0x31709d[_0x165fab(0x118)]*_0xef11ed;var _0x4079e8=0x0;if(_0x56cda9[_0x165fab(0x1bf)]){var _0x1909be=document[_0x165fab(0x1e7)](_0x165fab(0xc5))['value'];_0x4079e8=parseInt(_0x1909be);}_0x4956df+=_0x4079e8,_0x36b75d=Math[_0x165fab(0x153)](_0x4956df);var _0x57ce82='';if(BB[_0x165fab(0x87)][_0x165fab(0x240)](_0x56cda9['frameRateMode'])==0xea60/0x3e9)_0x57ce82=_0x1793f6[_0x165fab(0x278)](_0x1793f6[_0x165fab(0x183)](_0x36b75d,_0x1cd8ac,!![]),!![],!![]);else BB[_0x165fab(0x87)][_0x165fab(0x240)](_0x56cda9[_0x165fab(0x1aa)])==0x7530/0x3e9?_0x57ce82=_0x1793f6[_0x165fab(0x278)](_0x1793f6['Frames2Timecode'](_0x36b75d,_0x1cd8ac,![]),![],![]):_0x57ce82=_0x165fab(0x20d);let _0x9a4c5=document[_0x165fab(0x1e7)]('debugText2');_0x9a4c5['textContent']=_0x165fab(0x1b9)+_0x4956df[_0x165fab(0x151)](0x4)+_0x165fab(0x74)+_0x36b75d+_0x165fab(0xa3)+_0x5635d8+_0x165fab(0x135)+_0x57ce82,_0x5635d8++,_0x5b2d4b=_0x31709d[_0x165fab(0x118)],_0xdc1085[_0x165fab(0xf7)](_0x188f27);return;_0x48c506=_0x2a5fc5,_0x117594=_0x31709d;let _0x25a9ae=_0xdc1085['currentTime'],_0xcf190d=(_0x25a9ae-_0x31709d[_0x165fab(0x118)])*0x3e8;_0x1932a4=_0xcf190d,_0xdc1085[_0x165fab(0xf7)](_0x188f27);};let _0x1177b3=-0x1,_0x441d61=0x270f,_0x25c8b2=0x0,_0x44a41c=0x0,_0x1b5d29=0x0;console[_0x57da87(0x25e)](_0x57da87(0x218)),console[_0x57da87(0x25e)]('Checking\x20window\x20and\x20methods');typeof window!==_0x57da87(0x216)?console[_0x57da87(0x25e)]('The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x57da87(0x25e)](_0x57da87(0x249));_0x57da87(0xe0)in window?console[_0x57da87(0x25e)](_0x57da87(0x237)):console[_0x57da87(0x25e)]('requestAnimationFrame\x20is\x20not\x20supported');typeof _0xdc1085!==_0x57da87(0x216)?console['BBlog']('Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x57da87(0x25e)](_0x57da87(0xd7));'requestVideoFrameCallback'in _0xdc1085?console['BBlog'](_0x57da87(0x77)):console[_0x57da87(0x25e)]('requestVideoFrameCallback\x20is\x20not\x20supported');if(_0x5dc734[_0x57da87(0xfa)]()||_0x5dc734[_0x57da87(0xc7)]()||_0x5dc734[_0x57da87(0x18e)]())window[_0x57da87(0xe0)](_0x499e78),_0xdc1085[_0x57da87(0x181)]>=0x2?(console[_0x57da87(0x25e)](_0x57da87(0x73)),_0xdc1085['requestVideoFrameCallback'](_0x18c6ae)):(console['BBlog'](_0x57da87(0x169)),_0xdc1085[_0x57da87(0x1c6)]('loadedmetadata',()=>{const _0x4b0d33=_0x57da87;_0xdc1085[_0x4b0d33(0xf7)](_0x18c6ae);}));else _0x5dc734['isSafariMac']()?window['requestAnimationFrame'](_0xdb5679):console[_0x57da87(0x25e)](_0x57da87(0x178));console[_0x57da87(0x25e)]('CallBacks\x20are\x20set'),console[_0x57da87(0x25e)](_0x57da87(0x163));function _0x210bc5(){return new Promise(_0x1ac216=>{let _0x574e00=0x0;const _0x14b310=[],_0x56b999=0x14;function _0x4468b1(_0x253914){const _0x371433=_0x2ce2;if(_0x574e00){const _0x3f96f7=_0x253914-_0x574e00,_0x1a9085=0x3e8/_0x3f96f7;if(!(_0x1a9085===undefined)){if(_0x1a9085>0x0&&_0x1a9085<0xc8)_0x14b310[_0x371433(0x122)](_0x1a9085);}if(_0x14b310['length']===_0x56b999){const _0x38a6ec=_0x14b310[_0x371433(0x1c5)]((_0x2c76a5,_0x4ba17b)=>_0x2c76a5+_0x4ba17b,0x0)/_0x56b999;_0x1ac216(Math['round'](_0x38a6ec));return;}}_0x574e00=_0x253914,requestAnimationFrame(_0x4468b1);}requestAnimationFrame(_0x4468b1);});}_0x210bc5()[_0x57da87(0xfe)](_0x264bd6=>{const _0x1b3f15=_0x57da87;_0x56cda9[_0x1b3f15(0x10d)]=_0x264bd6,_0x56cda9[_0x1b3f15(0x10d)]>0x46||_0x56cda9[_0x1b3f15(0x10d)]<0x32?(console[_0x1b3f15(0xde)](_0x1b3f15(0x10f)+_0x264bd6+_0x1b3f15(0x280)),_0x56cda9[_0x1b3f15(0x143)]=!![]):console[_0x1b3f15(0x25e)]('Average\x20refresh\x20screen\x20rate:\x20'+_0x264bd6+_0x1b3f15(0x20b));});const _0x455432=()=>{const _0x5de66d=_0x57da87;let _0x33d16c=_0xdc1085[_0x5de66d(0x204)];_0x51d690=new BB[(_0x5de66d(0xe7))](_0x33d16c,_0xdc1085,_0x56cda9),ads=BB[_0x5de66d(0x134)](_0x51d690,_0x56cda9),_0x4708d4=BB['MetaDataFetcher'](_0x56cda9,_0x51d690);},_0x598d61=()=>{const _0x5954ef=_0x57da87;return _0x51d690[_0x5954ef(0x12c)]();},_0x52bd42=_0x11965e=>{_0x26cb0f(_0x11965e);},_0x3fcfa4=_0x474ce0=>{_0x530554(_0x474ce0);};return{'getCanvas':_0x598d61,'onNewSegmentInterface':_0x52bd42,'onNewMetadataInterface':_0x3fcfa4,'initializeComponents':_0x455432};},BB['Composer3d']=class{constructor(_0x2c4500,_0x1a4305,_0x514752){const _0x102bea=_0x4c25ed;if(_0x514752[_0x102bea(0x1ed)][_0x102bea(0x1be)]){this[_0x102bea(0xbe)]={};for(let _0x336b9e=0x0;_0x336b9e<0xa;++_0x336b9e){let _0x182cf1=_0x336b9e+'.1',_0x28c7c3=_0x336b9e+'.2';this[_0x102bea(0xbe)][_0x182cf1]=this[_0x102bea(0x201)](_0x182cf1),this[_0x102bea(0xbe)][_0x28c7c3]=this[_0x102bea(0x201)](_0x28c7c3);}}this[_0x102bea(0x210)]=Object[_0x102bea(0xb5)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x514752||{}),this[_0x102bea(0x15a)]=BB[_0x102bea(0x87)][_0x102bea(0x240)](this[_0x102bea(0x210)][_0x102bea(0x1aa)]),this[_0x102bea(0x20e)]=[],this[_0x102bea(0x205)]={},this[_0x102bea(0x16c)]=![],this[_0x102bea(0x1a0)]={},this[_0x102bea(0x141)]={},this[_0x102bea(0x103)]=null,this[_0x102bea(0x250)]=document[_0x102bea(0x273)](_0x102bea(0x250)),this['ctx']=this[_0x102bea(0x250)][_0x102bea(0x1fc)](_0x102bea(0x125),{'premultipliedAlpha':![]});this[_0x102bea(0x78)]==null?(this[_0x102bea(0x78)]=this[_0x102bea(0x250)][_0x102bea(0x1fc)]('webgl',{'premultipliedAlpha':![]}),this[_0x102bea(0xea)]=0x1):this['webGLVersion']=0x2;console[_0x102bea(0x13b)]('Created\x20webgl1\x20context:\x20'+this['ctx']+'\x20version\x20'+this[_0x102bea(0xea)]);let _0x4bcbab=_0x2c4500[_0x102bea(0x89)],_0x76b828=_0x2c4500[_0x102bea(0x9d)],_0x21f1a6=_0x2c4500[_0x102bea(0x12d)](_0x102bea(0x1a3))[0x0];this[_0x102bea(0x250)][_0x102bea(0x18f)][_0x102bea(0x27c)]=0x0,this['canvas'][_0x102bea(0x18f)][_0x102bea(0x24a)]=0x0,this[_0x102bea(0x250)][_0x102bea(0x18f)][_0x102bea(0x25c)]=_0x102bea(0xa5),this['canvas'][_0x102bea(0x18f)][_0x102bea(0x1e1)]=0x186a0,this['canvas'][_0x102bea(0x25c)]=_0x2c4500[_0x102bea(0x7c)],this[_0x102bea(0x250)][_0x102bea(0x22a)]=_0x2c4500[_0x102bea(0x186)],this[_0x102bea(0x250)][_0x102bea(0x18f)][_0x102bea(0x1e5)]=_0x102bea(0x1d8);let _0x384d9f=_0x21f1a6['nextSibling'];if(_0x384d9f)_0x2c4500[_0x102bea(0x1e3)](this[_0x102bea(0x250)],_0x384d9f);else _0x2c4500[_0x102bea(0x115)](this[_0x102bea(0x250)]);this[_0x102bea(0x250)][_0x102bea(0x18f)][_0x102bea(0x11b)]=_0x102bea(0x149),_0x21f1a6[_0x102bea(0x1c6)](_0x102bea(0x226),_0x3d7818=>{const _0x2388a9=_0x102bea;this[_0x2388a9(0xb6)](_0x3d7818);}),this[_0x102bea(0xfb)](),this[_0x102bea(0xc8)]=null,this[_0x102bea(0x13d)]={},this[_0x102bea(0x17a)]={},this['ad2place']={},this[_0x102bea(0xc6)]=[],this[_0x102bea(0x271)]=0x0,this['autoAddIndex']=null;}[_0x4c25ed(0x104)](_0x1016ab){return(_0x1016ab&_0x1016ab-0x1)==0x0;}[_0x4c25ed(0x201)](_0x3b2758){const _0x2a152c=_0x4c25ed;let _0xa2b615=document[_0x2a152c(0x273)](_0x2a152c(0x250));_0xa2b615['width']=0x32,_0xa2b615[_0x2a152c(0x22a)]=0x32;let _0xccb5db=_0xa2b615[_0x2a152c(0x1fc)]('2d');_0xccb5db['fillStyle']=_0x2a152c(0x17f),_0xccb5db[_0x2a152c(0x19f)](0x0,0x0,_0xa2b615[_0x2a152c(0x25c)],_0xa2b615['height']),_0xccb5db[_0x2a152c(0x128)]='30px\x20Arial',_0xccb5db[_0x2a152c(0x11e)]=_0x2a152c(0x236),_0xccb5db[_0x2a152c(0x217)](_0x3b2758,0xa,0x23);let _0x1180b6=_0xa2b615['toDataURL'](),_0x696593=document['createElement']('img');return _0x696593[_0x2a152c(0x244)]=_0x1180b6,_0x696593;}['OnUserClickOnCanvas'](_0x593874){const _0x5c1f0f=_0x4c25ed,_0x2279a4=this[_0x5c1f0f(0x250)][_0x5c1f0f(0x19e)]();let _0x206372=event[_0x5c1f0f(0x277)]-_0x2279a4[_0x5c1f0f(0x24a)],_0x1b6b17=event[_0x5c1f0f(0xf3)]-_0x2279a4[_0x5c1f0f(0x27c)];_0x206372=_0x206372/(_0x2279a4[_0x5c1f0f(0x1bc)]-_0x2279a4[_0x5c1f0f(0x24a)]),_0x1b6b17=_0x1b6b17/(_0x2279a4[_0x5c1f0f(0x269)]-_0x2279a4[_0x5c1f0f(0x27c)]);for(let _0x59d88a of this['currentAds2BoundingRect']){if(_0x59d88a['rect']['l']<=_0x206372&&_0x59d88a['rect']['r']>=_0x206372&&_0x59d88a[_0x5c1f0f(0x1f0)]['t']<=_0x1b6b17&&_0x59d88a[_0x5c1f0f(0x1f0)]['b']>=_0x1b6b17){let _0x4cdc4a=_0x59d88a[_0x5c1f0f(0x99)][_0x5c1f0f(0xc3)](0x1);if(this[_0x5c1f0f(0x141)][_0x4cdc4a]){let _0x3cc1be=this['ad2Url'][_0x4cdc4a];console[_0x5c1f0f(0x13b)](_0x5c1f0f(0x242)+_0x4cdc4a+'\x20so\x20should\x20navigate\x20to\x20'+_0x3cc1be+_0x5c1f0f(0x1b0)),window[_0x5c1f0f(0x171)](_0x3cc1be,'_blank');}return;}}}[_0x4c25ed(0x140)](){return 0x0;}[_0x4c25ed(0x16b)](_0x1f3021){const _0x4862a1=_0x4c25ed;let _0x4869cc=Object[_0x4862a1(0x27b)](this[_0x4862a1(0x17a)]);for(let _0x497e59=0x0;_0x497e59<_0x4869cc[_0x4862a1(0x1b8)];++_0x497e59){if(_0x1f3021==_0x4869cc[_0x497e59])return _0x497e59+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0x278e4e){const _0x5b729f=_0x4c25ed;let _0x5ea611=Object[_0x5b729f(0x27b)](this['place2ad']);for(let _0x414f89=0x0;_0x414f89<_0x5ea611[_0x5b729f(0x1b8)];++_0x414f89){let _0x14aad9=_0x5ea611[_0x414f89];if(_0x278e4e['name']['indexOf'](_0x14aad9)>=0x0)return _0x414f89;}return 0x0;}[_0x4c25ed(0x247)](_0x4ab051){const _0x12cbff=_0x4c25ed;let _0x271c78=Object[_0x12cbff(0x27b)](this[_0x12cbff(0x17a)]);for(let _0x112eb3=0x0;_0x112eb3<_0x271c78[_0x12cbff(0x1b8)];++_0x112eb3){let _0x374cd6=_0x271c78[_0x112eb3];if(_0x4ab051[_0x12cbff(0x99)]['indexOf'](_0x374cd6)>=0x0&&this['place2AdTexture']&&this[_0x12cbff(0x13d)][_0x374cd6]&&this[_0x12cbff(0x13d)][_0x374cd6][_0x12cbff(0x99)])return this['place2AdTexture'][_0x374cd6][_0x12cbff(0x99)];}return this['lastAdName'];}[_0x4c25ed(0xe8)](){const _0x409897=_0x4c25ed;return 0x1+Object['keys'](this[_0x409897(0x17a)])[_0x409897(0x1b8)];}[_0x4c25ed(0xfb)](){const _0x2c69cc=_0x4c25ed;let _0x730739=BB['GL'][_0x2c69cc(0xb7)];if(BB[_0x2c69cc(0x87)][_0x2c69cc(0xa4)][_0x2c69cc(0x245)]())_0x730739=BB['GL']['fragmentShaderSource'][_0x2c69cc(0x1fe)](_0x2c69cc(0xd4),'if\x20(alpha\x20<\x200.8)');this[_0x2c69cc(0xd0)]=webglUtils['createProgramFromSources'](this[_0x2c69cc(0x78)],this[_0x2c69cc(0xea)]==0x2?[BB['GL'][_0x2c69cc(0xf0)],_0x730739]:[BB['GL'][_0x2c69cc(0x1ef)],BB['GL'][_0x2c69cc(0x162)]]),this[_0x2c69cc(0x78)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x2c69cc(0x78)][_0x2c69cc(0x22b)](this[_0x2c69cc(0x78)][_0x2c69cc(0x1ab)]),this[_0x2c69cc(0x78)][_0x2c69cc(0x109)](this[_0x2c69cc(0xd0)]),this[_0x2c69cc(0x274)]=0x0,this[_0x2c69cc(0x1a7)]();}[_0x4c25ed(0x1a7)](){const _0x374f52=_0x4c25ed;this[_0x374f52(0x250)][_0x374f52(0x18f)][_0x374f52(0x144)]=_0x374f52(0x149),this[_0x374f52(0x1df)]=0x0;}['GenerateTexture'](_0x470f9a,_0x46fbaa,_0xccf41d,_0x50406b,_0x163b2a,_0x1b32d3,_0x2cfd60){const _0x48b57f=_0x4c25ed;_0x2cfd60?this[_0x48b57f(0x78)]['pixelStorei'](this[_0x48b57f(0x78)][_0x48b57f(0xd2)],0x1):this['ctx'][_0x48b57f(0x12a)](this[_0x48b57f(0x78)][_0x48b57f(0xd2)],0x4);this[_0x48b57f(0x78)][_0x48b57f(0x12a)](this[_0x48b57f(0x78)][_0x48b57f(0xaf)],![]);const _0x4c7a81=this['ctx'][_0x48b57f(0xf6)]();this[_0x48b57f(0x78)][_0x48b57f(0x92)](this[_0x48b57f(0x78)][_0x48b57f(0x195)]+_0x46fbaa),this[_0x48b57f(0x78)][_0x48b57f(0x23d)](this[_0x48b57f(0x78)]['TEXTURE_2D'],_0x4c7a81);try{_0x163b2a&&_0x1b32d3?this[_0x48b57f(0x78)][_0x48b57f(0x19c)](this['ctx'][_0x48b57f(0x98)],0x0,_0x50406b==null?this[_0x48b57f(0x78)][_0x48b57f(0x156)]:_0x50406b,_0x163b2a,_0x1b32d3,0x0,_0x50406b==null?this[_0x48b57f(0x78)]['RGBA']:_0x50406b,this[_0x48b57f(0x78)][_0x48b57f(0x255)],_0x470f9a):this[_0x48b57f(0x78)][_0x48b57f(0x19c)](this[_0x48b57f(0x78)][_0x48b57f(0x98)],0x0,_0x50406b==null?this[_0x48b57f(0x78)][_0x48b57f(0x156)]:_0x50406b,this[_0x48b57f(0x78)]['RGBA'],this[_0x48b57f(0x78)]['UNSIGNED_BYTE'],_0x470f9a);}catch(_0x33e87d){return console[_0x48b57f(0x10b)](_0x33e87d),null;}if(this[_0x48b57f(0xea)]==0x1){let _0x221804=_0x163b2a||_0x470f9a[_0x48b57f(0x25c)],_0x28bfb3=_0x1b32d3||_0x470f9a['height'];_0x221804&&this[_0x48b57f(0x104)](_0x221804)&&_0x28bfb3&&this[_0x48b57f(0x104)](_0x28bfb3)?this['ctx'][_0x48b57f(0x182)](this[_0x48b57f(0x78)]['TEXTURE_2D']):(this['ctx'][_0x48b57f(0xc2)](this[_0x48b57f(0x78)][_0x48b57f(0x98)],this[_0x48b57f(0x78)]['TEXTURE_WRAP_S'],this['ctx'][_0x48b57f(0x164)]),this[_0x48b57f(0x78)][_0x48b57f(0xc2)](this['ctx'][_0x48b57f(0x98)],this[_0x48b57f(0x78)][_0x48b57f(0x9f)],this[_0x48b57f(0x78)][_0x48b57f(0x164)]),this[_0x48b57f(0x78)][_0x48b57f(0xc2)](this[_0x48b57f(0x78)][_0x48b57f(0x98)],this[_0x48b57f(0x78)][_0x48b57f(0x133)],this[_0x48b57f(0x78)][_0x48b57f(0x14d)]));}else this[_0x48b57f(0x78)][_0x48b57f(0xc2)](this[_0x48b57f(0x78)]['TEXTURE_2D'],this[_0x48b57f(0x78)][_0x48b57f(0x23e)],this['ctx'][_0x48b57f(0x164)]),this[_0x48b57f(0x78)][_0x48b57f(0xc2)](this[_0x48b57f(0x78)][_0x48b57f(0x98)],this[_0x48b57f(0x78)][_0x48b57f(0x9f)],this[_0x48b57f(0x78)][_0x48b57f(0x164)]),this[_0x48b57f(0x78)]['texParameteri'](this['ctx'][_0x48b57f(0x98)],this[_0x48b57f(0x78)]['TEXTURE_MIN_FILTER'],this[_0x48b57f(0x78)][_0x48b57f(0x14d)]),this[_0x48b57f(0x78)][_0x48b57f(0xc2)](this['ctx'][_0x48b57f(0x98)],this[_0x48b57f(0x78)][_0x48b57f(0x170)],this['ctx'][_0x48b57f(0x14d)]);let _0x494cf8=this[_0x48b57f(0x78)][_0x48b57f(0x102)](this[_0x48b57f(0xd0)],_0xccf41d);return _0x494cf8&&this[_0x48b57f(0x78)][_0x48b57f(0x90)](_0x494cf8,_0x46fbaa),_0x4c7a81;}['_nextAdvertisement'](){const _0x3bdc7f=_0x4c25ed;this[_0x3bdc7f(0x257)]=setTimeout(()=>{const _0x5a908b=_0x3bdc7f,_0x2c21f9=Object[_0x5a908b(0x27b)](this['advertisementMap']);_0x2c21f9[_0x5a908b(0x1b8)]&&(this[_0x5a908b(0x194)](_0x2c21f9[Math['floor'](Math[_0x5a908b(0x10e)]()*_0x2c21f9['length'])]),this[_0x5a908b(0x267)]());},this[_0x3bdc7f(0x210)][_0x3bdc7f(0xbb)]);}[_0x4c25ed(0x1cb)](_0x569bb4,_0x49b0c2,_0x4ab9f2=null){const _0xa8e7d3=_0x4c25ed;if(_0x569bb4[_0xa8e7d3(0x1c3)](_0xa8e7d3(0x276))>-0x1){fetch(_0x49b0c2)[_0xa8e7d3(0xfe)](async _0x1b3d72=>{const _0x313be8=_0xa8e7d3;this[_0x313be8(0x17a)]=await _0x1b3d72[_0x313be8(0x229)](),this[_0x313be8(0x253)]={};let _0x59ff00=Object[_0x313be8(0x27b)](this[_0x313be8(0x17a)]);for(let _0x29322d=0x0;_0x29322d<_0x59ff00[_0x313be8(0x1b8)];++_0x29322d){let _0x171035=_0x59ff00[_0x29322d];if(_0x171035==_0x313be8(0x208)){this[_0x313be8(0x141)]=this[_0x313be8(0x17a)][_0x171035],delete this['place2ad'][_0x171035];continue;}let _0x2a4a5f=this[_0x313be8(0x17a)][_0x171035];for(let _0xe72fce=0x0;_0xe72fce<_0x2a4a5f['length'];++_0xe72fce){let _0x229790=_0x2a4a5f[_0xe72fce];this[_0x313be8(0x253)]['#'+_0x229790]=_0x171035;}}Object[_0x313be8(0x27b)](this[_0x313be8(0x17a)])[_0x313be8(0x1b8)]>0x0&&(console[_0x313be8(0x13b)]('composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20',this[_0x313be8(0x17a)]),console[_0x313be8(0x13b)](_0x313be8(0x10a),this[_0x313be8(0x253)]),setTimeout(()=>{const _0x57c357=_0x313be8;this[_0x57c357(0x13f)]();},0xbb8));});if(_0x4ab9f2)_0x4ab9f2();return;}const _0x5ce5a6=new Image();return _0x5ce5a6[_0xa8e7d3(0x72)]='Anonymous',_0x5ce5a6[_0xa8e7d3(0x233)]=()=>{const _0x2ffbda=_0xa8e7d3;let _0x59dab9=Object[_0x2ffbda(0x27b)](this['advertisementMap'])[_0x2ffbda(0x1b8)]===0x0;this['advertisementMap'][_0x569bb4]=_0x5ce5a6;_0x59dab9&&(this[_0x2ffbda(0x194)](_0x569bb4),this['options'][_0x2ffbda(0x192)]&&(clearTimeout(this[_0x2ffbda(0x257)]),this[_0x2ffbda(0x267)]()));if(_0x4ab9f2)_0x4ab9f2();},_0x5ce5a6[_0xa8e7d3(0x1ec)]=()=>{alert('(\x20Security\x20)\x20We\x20cant\x20reach\x20'+_0x49b0c2+'\x20.');},_0x5ce5a6[_0xa8e7d3(0x244)]=_0x49b0c2,_0x5ce5a6;}['MakeSureAdPerPlace'](){const _0x2daf43=_0x4c25ed;if(this[_0x2daf43(0x17a)]){let _0x3deea0=Object['keys'](this[_0x2daf43(0x17a)]);for(let _0x16232b=0x0;_0x16232b<_0x3deea0['length'];++_0x16232b){let _0x4408dc=_0x3deea0[_0x16232b];!this[_0x2daf43(0x13d)][_0x4408dc]&&this['place2ad'][_0x4408dc][_0x2daf43(0x1b8)]>0x0&&(console[_0x2daf43(0x13b)](_0x2daf43(0xcf)+this[_0x2daf43(0x17a)][_0x4408dc][0x0]+_0x2daf43(0x180)+_0x4408dc),this[_0x2daf43(0x194)]('#'+this['place2ad'][_0x4408dc][0x0]));}}}[_0x4c25ed(0x194)](_0xa0d8b){const _0x421640=_0x4c25ed;console['log'](_0x421640(0x1b2)+_0xa0d8b);let _0x4097d6=this[_0x421640(0x1a0)][_0xa0d8b];if(!_0x4097d6)console[_0x421640(0x10b)](_0x421640(0x241)+_0xa0d8b+'\x27');else{if(this[_0x421640(0x253)]&&this[_0x421640(0x253)][_0xa0d8b]){let _0x145cfc=this[_0x421640(0x253)][_0xa0d8b];console[_0x421640(0x13b)](_0x421640(0x112)+_0x145cfc);let _0x2d9bf6=this[_0x421640(0x16b)](_0x145cfc),_0x5e76f5='ad'+(_0x2d9bf6-0x1);if(this['place2AdTexture'][_0x145cfc])this[_0x421640(0x78)][_0x421640(0x26a)](this[_0x421640(0x13d)][_0x145cfc][_0x421640(0x275)]);this[_0x421640(0x13d)][_0x145cfc]={'tex':this[_0x421640(0x26c)](_0x4097d6,_0x2d9bf6,_0x5e76f5),'texUnitId':_0x2d9bf6,'texName':_0x5e76f5,'name':_0xa0d8b};}else this[_0x421640(0xc8)]!=null&&this[_0x421640(0x78)][_0x421640(0x26a)](this[_0x421640(0xc8)]),this[_0x421640(0xc8)]=this['GenerateTexture'](_0x4097d6,this['TexUnitForGenericAd'](),'ad0'),this['lastAd']=_0x4097d6,this['lastAdName']=_0xa0d8b;}}[_0x4c25ed(0xef)](_0x3865a8){const _0x40e679=_0x4c25ed;this[_0x40e679(0x205)][_0x3865a8[_0x40e679(0x21f)]]=_0x3865a8,this[_0x40e679(0x20e)][_0x40e679(0x122)](_0x3865a8[_0x40e679(0x21f)]);}[_0x4c25ed(0x1c8)](){const _0x5dc37c=_0x4c25ed;(this[_0x5dc37c(0x97)]||this[_0x5dc37c(0x17c)])['call'](this)[_0x5dc37c(0x76)](_0x401258=>{const _0x3743ad=_0x5dc37c;console[_0x3743ad(0x10b)](_0x401258);});}[_0x4c25ed(0x213)](){const _0x2f9bb6=_0x4c25ed;let _0xbddf70=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x15b)](this[_0x2f9bb6(0xd0)],_0x2f9bb6(0x111)),_0x5b2b58=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x102)](this[_0x2f9bb6(0xd0)],_0x2f9bb6(0x262)),_0x151b51=this['ctx'][_0x2f9bb6(0x102)](this[_0x2f9bb6(0xd0)],_0x2f9bb6(0x1d5));this[_0x2f9bb6(0x78)][_0x2f9bb6(0x248)](_0x5b2b58,this[_0x2f9bb6(0x78)]['canvas']['width'],this['ctx'][_0x2f9bb6(0x250)]['height']),this['ctx']['uniform2f'](_0x151b51,this[_0x2f9bb6(0x78)][_0x2f9bb6(0x250)][_0x2f9bb6(0x25c)],this[_0x2f9bb6(0x78)][_0x2f9bb6(0x250)][_0x2f9bb6(0x22a)]);if(this[_0x2f9bb6(0xea)]==0x2){let _0x3f7f4f=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x102)](this[_0x2f9bb6(0xd0)],_0x2f9bb6(0x239)),_0x16d4c2=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0x2f9bb6(0x78)][_0x2f9bb6(0x14b)](_0x3f7f4f,![],_0x16d4c2);}let _0x5df6b9=null;this[_0x2f9bb6(0xea)]==0x2&&(_0x5df6b9=this[_0x2f9bb6(0x78)][_0x2f9bb6(0xd3)](),this[_0x2f9bb6(0x78)][_0x2f9bb6(0xb2)](_0x5df6b9));let _0x35cebb=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x1fa)]();this[_0x2f9bb6(0x78)][_0x2f9bb6(0x11f)](_0xbddf70),this['ctx'][_0x2f9bb6(0x1d0)](this[_0x2f9bb6(0x78)][_0x2f9bb6(0x1ba)],_0x35cebb);let _0x247548=0x2,_0x404bff=this[_0x2f9bb6(0x78)][_0x2f9bb6(0xcd)],_0x2c04e1=![],_0x1223d5=0x0,_0x1843d8=0x0;this[_0x2f9bb6(0x78)][_0x2f9bb6(0x15f)](_0xbddf70,_0x247548,_0x404bff,_0x2c04e1,_0x1223d5,_0x1843d8);let _0x4ae71a=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x1fa)]();this['ctx'][_0x2f9bb6(0x1d0)](this[_0x2f9bb6(0x78)][_0x2f9bb6(0x1ba)],_0x4ae71a),this[_0x2f9bb6(0x78)]['bufferData'](this[_0x2f9bb6(0x78)]['ARRAY_BUFFER'],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x2f9bb6(0x78)][_0x2f9bb6(0xd5)]),this['ctx'][_0x2f9bb6(0x17e)](0x0,0x0,this['ctx']['canvas'][_0x2f9bb6(0x25c)],this['ctx'][_0x2f9bb6(0x250)][_0x2f9bb6(0x22a)]),this[_0x2f9bb6(0x78)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x2f9bb6(0x78)]['clear'](this['ctx']['COLOR_BUFFER_BIT']|this['ctx']['DEPTH_BUFFER_BIT']),this[_0x2f9bb6(0x78)][_0x2f9bb6(0x1d0)](this['ctx']['ARRAY_BUFFER'],_0x35cebb),this[_0x2f9bb6(0x155)](this[_0x2f9bb6(0x78)],0x0,0x0,this[_0x2f9bb6(0x250)][_0x2f9bb6(0x25c)],this[_0x2f9bb6(0x250)][_0x2f9bb6(0x22a)]);let _0x23e7ad=this[_0x2f9bb6(0x78)][_0x2f9bb6(0x22f)],_0x57c9f0=0x6;this[_0x2f9bb6(0x78)][_0x2f9bb6(0x235)](_0x23e7ad,_0x1843d8,_0x57c9f0);}[_0x4c25ed(0x155)](_0x2124b4,_0x360f3a,_0x555c94,_0x23c640,_0x26eb37){const _0x5cd5c0=_0x4c25ed;let _0xe9443c=_0x360f3a,_0x396ad7=_0x360f3a+_0x23c640,_0x174c02=_0x555c94,_0x407ba4=_0x555c94+_0x26eb37;this[_0x5cd5c0(0x78)][_0x5cd5c0(0x19a)](this[_0x5cd5c0(0x78)][_0x5cd5c0(0x1ba)],new Float32Array([_0xe9443c,_0x174c02,_0x396ad7,_0x174c02,_0xe9443c,_0x407ba4,_0xe9443c,_0x407ba4,_0x396ad7,_0x174c02,_0x396ad7,_0x407ba4]),this[_0x5cd5c0(0x78)][_0x5cd5c0(0xd5)]);}[_0x4c25ed(0x184)](_0x4db782){const _0x43fe52=_0x4c25ed;let _0x4a6a40=BB[_0x43fe52(0x87)][_0x43fe52(0x193)],_0x4a3a8a=_0x4a6a40[_0x43fe52(0x197)](_0x4db782),_0x3a2204=_0x4a6a40[_0x43fe52(0x209)](_0x4a3a8a,0x1,this[_0x43fe52(0x15a)]),_0x477f11=_0x4a6a40[_0x43fe52(0x209)](_0x4a3a8a,0x2,this['sourceFPS']),_0x20983d=_0x4a6a40[_0x43fe52(0x278)](_0x3a2204),_0x2c02b=_0x4a6a40[_0x43fe52(0x278)](_0x477f11);this[_0x43fe52(0x16c)]=!![];const _0x3deba8=performance[_0x43fe52(0xf8)]();let _0x2389ca=null,_0x2a11c7=[];if(this[_0x43fe52(0x205)][_0x4db782]){_0x2389ca=this[_0x43fe52(0x205)][_0x4db782];this[_0x43fe52(0x205)][_0x20983d]&&_0x2a11c7['push']({'nextVideo':this['metadataMap'][_0x20983d],'nextTimeCode':_0x20983d});this[_0x43fe52(0x205)][_0x2c02b]&&_0x2a11c7[_0x43fe52(0x122)]({'nextVideo':this['metadataMap'][_0x2c02b],'nextTimeCode':_0x2c02b});const _0x36f279=this[_0x43fe52(0x20e)][_0x43fe52(0x1c3)](_0x4db782);if(_0x36f279>-0x5)this['metadataArr'][_0x43fe52(0x1cc)](0x0,_0x36f279-0x4)['forEach'](_0x2dc746=>{const _0x13c0eb=_0x43fe52;delete this[_0x13c0eb(0x205)][_0x2dc746];});this['alphaFound']++;}else this[_0x43fe52(0x274)]++,this[_0x43fe52(0x274)]>0x3c&&(this[_0x43fe52(0x274)]=0x0,console[_0x43fe52(0x10b)](_0x43fe52(0xe3)+_0x4db782)),this[_0x43fe52(0x1df)]++;this[_0x43fe52(0x1df)]>0x1e&&this['canvas'][_0x43fe52(0x18f)][_0x43fe52(0x144)]==_0x43fe52(0x149)&&(this[_0x43fe52(0x250)][_0x43fe52(0x18f)][_0x43fe52(0x144)]='');let _0x3b71a1=[];this[_0x43fe52(0x250)][_0x43fe52(0x25c)]=0x500,this[_0x43fe52(0x250)][_0x43fe52(0x22a)]=0x2d0;let _0x4e12a2=0x0;this[_0x43fe52(0xc6)]=[];if(_0x2389ca){let _0x27512c=![];if(this[_0x43fe52(0x210)]['debug']){var _0x3534f1=document[_0x43fe52(0x1e7)](_0x43fe52(0xce));_0x27512c=_0x3534f1['checked'];}if(!_0x27512c)for(const _0x36d938 in _0x2389ca[_0x43fe52(0x268)]){const _0x5018bc=_0x2389ca[_0x43fe52(0x268)][_0x36d938];if(!_0x5018bc[_0x43fe52(0x100)])continue;let _0x3ed768=_0x43fe52(0x25a)+_0x4e12a2,_0x132d55=this[_0x43fe52(0xe8)]()+_0x4e12a2;_0x5018bc[_0x43fe52(0x13e)]=this[_0x43fe52(0x26c)](_0x5018bc['alphaAsUint8Array'],_0x132d55,_0x3ed768,this[_0x43fe52(0x78)][_0x43fe52(0x150)],_0x5018bc[_0x43fe52(0x25c)],_0x5018bc[_0x43fe52(0x22a)],!![]),_0x5018bc[_0x43fe52(0x100)]=null;if(!_0x5018bc[_0x43fe52(0x13e)]){console[_0x43fe52(0x10b)]('Failed\x20to\x20create\x20alpha\x20texture');continue;}_0x3b71a1[_0x43fe52(0x122)](_0x5018bc['alphaTex']);let _0x24f189='hasLogo'+_0x4e12a2,_0x42ecc4=this[_0x43fe52(0x78)]['getUniformLocation'](this[_0x43fe52(0xd0)],_0x24f189);this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x42ecc4,0x1);let _0x29112e='adForLogo'+_0x4e12a2,_0x4e3cf3=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this['program'],_0x29112e),_0x3ea53e=![];_0x5018bc[_0x43fe52(0x99)][_0x43fe52(0x1c3)](_0x43fe52(0x175))>=0x0?(this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x4e3cf3,0x63),_0x3ea53e=!![]):this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x4e3cf3,this[_0x43fe52(0xdd)](_0x5018bc));let _0x4b2152='u_alpha'+_0x4e12a2+_0x43fe52(0xf1),_0x7abc71=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this[_0x43fe52(0xd0)],_0x4b2152);this[_0x43fe52(0x78)][_0x43fe52(0x212)](_0x7abc71,[_0x5018bc[_0x43fe52(0x1a4)],_0x5018bc['maskY']]);let _0x94a361=_0x43fe52(0x1b3)+_0x4e12a2+'Size',_0x2e9bdd=this[_0x43fe52(0x78)]['getUniformLocation'](this[_0x43fe52(0xd0)],_0x94a361);this[_0x43fe52(0x78)][_0x43fe52(0x212)](_0x2e9bdd,[_0x5018bc['width'],_0x5018bc[_0x43fe52(0x22a)]]);let _0x23c37f=_0x43fe52(0x239)+_0x4e12a2,_0x1ffea4=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this[_0x43fe52(0xd0)],_0x23c37f);this['ctx'][_0x43fe52(0x14b)](_0x1ffea4,![],_0x5018bc[_0x43fe52(0x8b)]);if(!_0x3ea53e){let _0x52c9d1={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x5d18d3 of _0x5018bc[_0x43fe52(0x16a)]){if(_0x5d18d3['x']<_0x52c9d1['l']||_0x52c9d1['l']==-0x1)_0x52c9d1['l']=_0x5d18d3['x'];if(_0x5d18d3['x']>_0x52c9d1['r']||_0x52c9d1['r']==-0x1)_0x52c9d1['r']=_0x5d18d3['x'];if(_0x5d18d3['y']<_0x52c9d1['t']||_0x52c9d1['t']==-0x1)_0x52c9d1['t']=_0x5d18d3['y'];if(_0x5d18d3['y']>_0x52c9d1['b']||_0x52c9d1['b']==-0x1)_0x52c9d1['b']=_0x5d18d3['y'];}_0x52c9d1['l']/=_0x2389ca[_0x43fe52(0xc9)][_0x43fe52(0x25c)],_0x52c9d1['r']/=_0x2389ca[_0x43fe52(0xc9)][_0x43fe52(0x25c)],_0x52c9d1['t']/=_0x2389ca[_0x43fe52(0xc9)][_0x43fe52(0x22a)],_0x52c9d1['b']/=_0x2389ca[_0x43fe52(0xc9)]['height'],this[_0x43fe52(0xc6)][_0x43fe52(0x122)]({'name':this[_0x43fe52(0x247)](_0x5018bc),'rect':_0x52c9d1});}_0x4e12a2++;}}else{}for(;_0x4e12a2<BB[_0x43fe52(0x263)];++_0x4e12a2){let _0x4f51fa=_0x43fe52(0x107)+_0x4e12a2,_0x57c248=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this[_0x43fe52(0xd0)],_0x4f51fa);this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x57c248,0x0);let _0x10feb=_0x43fe52(0x25a)+_0x4e12a2,_0x584cf8=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this['program'],_0x10feb);this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x584cf8,0x0);}if(this['options'][_0x43fe52(0x1ed)][_0x43fe52(0x1be)]){let _0x1fa195=_0x4db782[_0x43fe52(0x24c)](':')[0x3],_0xc5439f=_0x1fa195[_0x43fe52(0x1c3)]('.')>=0x0?0x2:0x1,_0x585c55=parseInt(_0x1fa195[_0x43fe52(0x24c)]('.')[0x0])%0xa,_0x2a897e=_0x585c55+'.'+_0xc5439f,_0x4da5f3=this[_0x43fe52(0xe8)]()+0x5,_0x1d91e9=this[_0x43fe52(0x26c)](this[_0x43fe52(0xbe)][_0x2a897e],_0x4da5f3,_0x43fe52(0x231));_0x3b71a1['push'](_0x1d91e9);let _0x38b96e=_0x43fe52(0x1e9),_0x12de0e=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this[_0x43fe52(0xd0)],_0x38b96e);this[_0x43fe52(0x78)][_0x43fe52(0x90)](_0x12de0e,0x1);let _0x10fbf0=_0x43fe52(0x27a),_0x2b9c59=this[_0x43fe52(0x78)][_0x43fe52(0x102)](this[_0x43fe52(0xd0)],_0x10fbf0);this[_0x43fe52(0x78)]['uniform2fv'](_0x2b9c59,[0x0,0x0]);let _0x1aebde=_0x43fe52(0x75),_0x30b1e5=this['ctx'][_0x43fe52(0x102)](this['program'],_0x1aebde);this['ctx'][_0x43fe52(0x212)](_0x30b1e5,[0xc8,0xc8]);}else{let _0x53f643='hasDigit',_0x53f557=this['ctx'][_0x43fe52(0x102)](this['program'],_0x53f643);this[_0x43fe52(0x78)]['uniform1i'](_0x53f557,0x0);}this[_0x43fe52(0x213)]();for(const _0x52277c of _0x3b71a1){this[_0x43fe52(0x78)][_0x43fe52(0x26a)](_0x52277c);}}[_0x4c25ed(0x12c)](){const _0x58009b=_0x4c25ed;return this[_0x58009b(0x250)];}},BB['Ads']=(_0x2ca44e,_0xa86551)=>{const _0x436c7c=_0x4c25ed;let _0x535fea=[];const _0x1e6d5a=new BB['Socket']((_0x1de038,_0x10aaa8)=>{const _0x1a6db5=_0x2ce2;switch(_0x1de038){case _0x1a6db5(0x110):console[_0x1a6db5(0x13b)](_0x1a6db5(0xfd),_0x10aaa8);break;case _0x1a6db5(0x1da):const _0x50f3b5=document[_0x1a6db5(0x1e7)](_0x1a6db5(0x99));_0x50f3b5&&(_0x50f3b5[_0x1a6db5(0x1b7)]=_0x1e6d5a[_0x1a6db5(0x99)]);break;case _0x1a6db5(0x1a9):if(_0x10aaa8['player']===_0x1e6d5a[_0x1a6db5(0x99)]){if(_0x10aaa8[_0x1a6db5(0x1f4)]){const _0x1eb393=_0x1a6db5(0x220);_0x2ca44e[_0x1a6db5(0x1cb)](_0x1eb393,_0x10aaa8['url'],()=>{const _0x442789=_0x1a6db5;_0x2ca44e[_0x442789(0x194)](_0x1eb393);});}else _0x535fea=_0x10aaa8[_0x1a6db5(0x96)],_0x535fea[_0x1a6db5(0x1b8)]&&_0x2ca44e[_0x1a6db5(0x194)](_0x535fea[0x0]);}break;case _0x1a6db5(0x96):_0x535fea=_0x10aaa8;_0x535fea[_0x1a6db5(0x1b8)]&&_0x2ca44e[_0x1a6db5(0x194)](_0x535fea[0x0]);break;}});var _0x5ef651=document['createElement'](_0x436c7c(0x27d));_0x5ef651['src']=_0x436c7c(0x256),document[_0x436c7c(0x12d)]('head')[0x0][_0x436c7c(0x115)](_0x5ef651),_0x5ef651[_0x436c7c(0x233)]=function(){const _0x187e31=_0x436c7c;_0x1e6d5a['Connect'](_0xa86551['augmentation'][_0x187e31(0x9a)]);},_0xa86551[_0x436c7c(0x1ed)][_0x436c7c(0x88)]?_0x2ca44e[_0x436c7c(0x1cb)](_0x436c7c(0x7d),_0xa86551[_0x436c7c(0x1ed)][_0x436c7c(0x88)]):fetch(_0x436c7c(0x168)+_0xa86551['augmentation'][_0x436c7c(0x9a)])['then'](async _0x441d9b=>{const _0x165946=_0x436c7c,_0x477e9a=await _0x441d9b[_0x165946(0x229)]();_0x477e9a[_0x165946(0x16e)](_0x23c0e6=>{const _0x43776d=_0x165946;_0x2ca44e[_0x43776d(0x1cb)]('#'+_0x23c0e6['name'],_0x23c0e6[_0x43776d(0x1f4)]);});});},BB[_0x4c25ed(0x95)]=(_0xd03c16,_0x2810d1)=>{const _0x58224e=_0x4c25ed;let _0x292be7=BB[_0x58224e(0x87)][_0x58224e(0x193)],_0x37d3f2=BB[_0x58224e(0x87)][_0x58224e(0x240)](_0xd03c16['frameRateMode']),_0x2d2eb6,_0x2e4ac7,_0x4098a6=null,_0x584e38=null;console[_0x58224e(0x13b)]('Project\x20name:\x20'+_0xd03c16[_0x58224e(0xa6)]);const _0x48ea4d=_0x4fcb8f=>{const _0x3a7eb7=_0x58224e;_0x2d2eb6=_0x4fcb8f,console[_0x3a7eb7(0x13b)](_0x3a7eb7(0x1d4)+_0xd03c16['gameId']+':\x20'+_0x2d2eb6),_0x2e4ac7&&_0x1ac251(_0x2e4ac7);};async function _0x3b6d22(){const _0x3a6bb8=_0x58224e,_0x4af74a=await fetch(_0xd03c16[_0x3a6bb8(0x127)]),_0xc83f54=await _0x4af74a[_0x3a6bb8(0x229)]();_0x48ea4d(_0xd03c16['gameId']);}_0x3b6d22();const _0x3e5f44=_0x26907c=>{_0x2e4ac7=_0x26907c,_0x2d2eb6&&_0x1ac251(_0x2e4ac7);},_0x1ac251=_0x37f85d=>{const _0x5c6bea=_0x58224e;if(_0x4098a6==null){console['BBlog']('We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it');let _0x2634d3=new Blob([META_WORKER],{'type':_0x5c6bea(0x105)});_0x4098a6=new Worker(URL[_0x5c6bea(0xbd)](_0x2634d3)),_0x4098a6[_0x5c6bea(0x1ec)]=function(_0x1309b9){const _0x12ac11=_0x5c6bea;console['error'](_0x12ac11(0x174),_0x1309b9);},_0x4098a6[_0x5c6bea(0x1c6)]('error',function(_0x36144b){const _0x566336=_0x5c6bea;console[_0x566336(0x10b)](_0x566336(0x27f),_0x36144b[_0x566336(0x139)]);});if(_0x4098a6)console['BBlog'](_0x5c6bea(0x185));else console['BBlog'](_0x5c6bea(0x71));_0x4098a6['addEventListener']('message',_0x7290dd=>{const _0x1bd6c2=_0x5c6bea;if(_0x7290dd['data'][_0x1bd6c2(0x114)]){}else _0x2810d1[_0x1bd6c2(0xef)](_0x7290dd[_0x1bd6c2(0x1a1)]);});let _0x2d3ae4=_0x292be7[_0x5c6bea(0x117)](_0x292be7[_0x5c6bea(0x183)](_0x37f85d,_0x37d3f2,!![]));_0x4098a6[_0x5c6bea(0x1b4)]({'cloudFrontURL':_0xd03c16[_0x5c6bea(0x136)],'folderName':_0x2d2eb6,'tc':_0x292be7[_0x5c6bea(0x278)](_0x2d3ae4,![])});}else{let _0x1dd634=_0x292be7[_0x5c6bea(0x117)](_0x292be7[_0x5c6bea(0x183)](_0x37f85d,_0x37d3f2,!![]));_0x4098a6[_0x5c6bea(0x1b4)]({'tc':_0x292be7[_0x5c6bea(0x278)](_0x1dd634,![]),'enabled':_0xd03c16[_0x5c6bea(0x121)]});}};return{'setLastFrame':_0x3e5f44};},BB['OTTPlayer']=class{constructor(_0x26278e,_0xd4b1b8,_0x2ba1aa){const _0x4bbe60=_0x4c25ed;this[_0x4bbe60(0x1a3)]=_0x26278e,this[_0x4bbe60(0xee)]=_0xd4b1b8,console[_0x4bbe60(0x13b)](_0x4bbe60(0x15d),_0x2ba1aa),this[_0x4bbe60(0x210)]=Object[_0x4bbe60(0xb5)]({'enabled':!![],'stopAugment':![],'gameId':_0x4bbe60(0x8d),'medialook':![],'allGamesURL':_0x4bbe60(0x1b6),'cloudFrontURL':_0x4bbe60(0x148),'mediaIdJsonURL':'https://games-prod.virtualott.com/map','offsetJsonURL':_0x4bbe60(0x132),'frameRateMode':BB[_0x4bbe60(0x1f3)][_0x4bbe60(0xec)],'renderingMode':BB[_0x4bbe60(0x199)][_0x4bbe60(0xa8)],'SynchMethod':BB['SynchMethod'][_0x4bbe60(0xb3)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x2ba1aa||{}),console[_0x4bbe60(0x13b)](_0x4bbe60(0x1ea),this[_0x4bbe60(0x210)]),this[_0x4bbe60(0x210)][_0x4bbe60(0x1ed)][_0x4bbe60(0x9a)]='nba',console[_0x4bbe60(0x25e)]=function(_0x398c3d){const _0x1ad768=_0x4bbe60;console[_0x1ad768(0x13b)](_0x1ad768(0x1b1)+_0x398c3d);},console[_0x4bbe60(0xde)]=function(_0x7416e2){const _0x4b1fea=_0x4bbe60;console[_0x4b1fea(0x10b)]('OTTPlayer:\x20'+_0x7416e2);};function _0x24694a(_0x27c194,_0x25fdde){const _0x57cb42=_0x4bbe60,_0x85bafd=_0x27c194['split']('.')['map'](Number),_0x4080ac=_0x25fdde[_0x57cb42(0x24c)]('.')[_0x57cb42(0x1dd)](Number);for(let _0x4e069f=0x0;_0x4e069f<Math[_0x57cb42(0x7a)](_0x85bafd[_0x57cb42(0x1b8)],_0x4080ac['length']);_0x4e069f++){const _0xc4ec8=_0x85bafd[_0x4e069f]||0x0,_0x55239e=_0x4080ac[_0x4e069f]||0x0;if(_0xc4ec8<_0x55239e)return-0x1;else{if(_0xc4ec8>_0x55239e)return 0x1;}}return 0x0;}this[_0x4bbe60(0xd9)]();}[_0x4c25ed(0x1f8)](){const _0x25ab7f=_0x4c25ed;if(typeof globalConfig==='undefined')this[_0x25ab7f(0x210)]=Object[_0x25ab7f(0xb5)](this[_0x25ab7f(0x210)],{});else this['options']=Object[_0x25ab7f(0xb5)](this['options'],globalConfig);this[_0x25ab7f(0x210)][_0x25ab7f(0x1ed)][_0x25ab7f(0xe1)]=0x0,console[_0x25ab7f(0x13b)](_0x25ab7f(0x16d),this[_0x25ab7f(0x210)]);if(!this[_0x25ab7f(0x210)][_0x25ab7f(0x1bf)]){let _0x47fe8c=[_0x25ab7f(0x1d7),'forplus',_0x25ab7f(0x1a5),_0x25ab7f(0x116),'toggleBtn',_0x25ab7f(0xc5),'plus05CorrectionCheckbox',_0x25ab7f(0xce),_0x25ab7f(0x12e),_0x25ab7f(0x227),_0x25ab7f(0x228),_0x25ab7f(0x14f)];for(let _0x39957a=0x0;_0x39957a<_0x47fe8c[_0x25ab7f(0x1b8)];_0x39957a++){const _0x5db31f=document[_0x25ab7f(0x1e7)](_0x47fe8c[_0x39957a]);_0x5db31f&&(_0x5db31f[_0x25ab7f(0x18f)][_0x25ab7f(0x144)]=_0x25ab7f(0x149));}}let _0x48b7ef=BB[_0x25ab7f(0x87)]['Platform'],_0x45e3cd=BB[_0x25ab7f(0x87)][_0x25ab7f(0x193)];if(this[_0x25ab7f(0xee)])this['SetFps'](this[_0x25ab7f(0xee)]);this[_0x25ab7f(0x26e)](this[_0x25ab7f(0x210)][_0x25ab7f(0xa6)]);}[_0x4c25ed(0x20c)](){const _0x352ccc=_0x4c25ed;let _0x1fc8fe={};this[_0x352ccc(0x159)]=BB['Augmenter'](_0x1fc8fe,this[_0x352ccc(0x1a3)],this[_0x352ccc(0x210)]),this[_0x352ccc(0x210)]['renderingMode']==BB[_0x352ccc(0x199)][_0x352ccc(0xa8)]&&this[_0x352ccc(0x159)][_0x352ccc(0x246)]();}async[_0x4c25ed(0xd9)](){const _0x2d0a33=_0x4c25ed,_0x27862c=new URL(document[_0x2d0a33(0xa0)]),_0x256d8c=_0x27862c[_0x2d0a33(0x207)][_0x2d0a33(0x1c0)](_0x2d0a33(0x206))||'';if(_0x256d8c!=='')try{const _0x44639b=await fetch(_0x256d8c);if(!_0x44639b['ok'])throw new Error('Network\x20response\x20was\x20not\x20ok');const _0x4872ff=await _0x44639b[_0x2d0a33(0x229)]();console['log'](_0x2d0a33(0x190),_0x4872ff);if(typeof globalConfig==_0x2d0a33(0x216))window['globalConfig']={};globalConfig=Object[_0x2d0a33(0xb5)]({},globalConfig,_0x4872ff);}catch(_0x2b3abd){console[_0x2d0a33(0x10b)]('Error\x20fetching\x20JSON:',_0x2b3abd);}this[_0x2d0a33(0x1f8)]();}async['fetchAndFindGameIdAndOffsetFromMediaId'](_0x300ef0){const _0x1f7dca=_0x4c25ed;try{const _0x1ff25a=await fetch(this['options'][_0x1f7dca(0x16f)]+'/'+_0x300ef0);if(!_0x1ff25a['ok'])throw new Error(_0x1f7dca(0xe9)+_0x1ff25a[_0x1f7dca(0x1b5)]);const _0x43c143=await _0x1ff25a[_0x1f7dca(0x229)]();if(_0x43c143[_0x1f7dca(0x266)]('GAME_ID')){const _0x55d05b=_0x43c143[_0x1f7dca(0x11a)];console[_0x1f7dca(0x25e)](_0x1f7dca(0x21e)+_0x300ef0+':\x20'+_0x55d05b),this[_0x1f7dca(0x210)][_0x1f7dca(0xa6)]=_0x55d05b,console[_0x1f7dca(0x13b)](_0x1f7dca(0x12f)+this[_0x1f7dca(0x210)]['gameId']+_0x1f7dca(0x1bd)),this[_0x1f7dca(0x20c)](),this[_0x1f7dca(0x1c4)](this[_0x1f7dca(0x210)][_0x1f7dca(0xa6)]);}else console['BBerror']('MediaID\x20'+_0x300ef0+_0x1f7dca(0x23f)),this[_0x1f7dca(0x210)][_0x1f7dca(0x143)]=!![];}catch(_0x211d45){console[_0x1f7dca(0xde)](_0x1f7dca(0x1f1),_0x211d45);}}async[_0x4c25ed(0x1c4)](_0x57b229){const _0xb43378=_0x4c25ed;try{const _0x2845d7=await fetch(this[_0xb43378(0x210)][_0xb43378(0xa9)]+'/'+this[_0xb43378(0x210)][_0xb43378(0xa6)]);!_0x2845d7['ok']&&(console['BBlog']('HTTP\x20error!\x20Status:\x20'+_0x2845d7[_0xb43378(0x1b5)]),setTimeout(()=>{const _0x563953=_0xb43378;this[_0x563953(0x1c4)](_0x57b229);},0x1388));const _0x46547a=await _0x2845d7[_0xb43378(0x229)]();if(_0x46547a['hasOwnProperty'](_0xb43378(0xe1))&&_0x46547a[_0xb43378(0x266)](_0xb43378(0x272))){const _0xe52439=_0x46547a['offset'],_0x310503=_0x46547a[_0xb43378(0x272)];_0x310503==!![]&&(console[_0xb43378(0x25e)]('Offest\x20for\x20gameid=\x20'+_0x57b229+':\x20'+_0xe52439),this[_0xb43378(0x210)][_0xb43378(0x1ed)]['offset']=_0xe52439,setTimeout(()=>{const _0xc63e0d=_0xb43378;this[_0xc63e0d(0x1c4)](_0x57b229);},0xea60));}else console[_0xb43378(0x25e)](_0xb43378(0x1a8)+mediaID+_0xb43378(0x23f)),setTimeout(()=>{const _0x26687d=_0xb43378;this[_0x26687d(0x1c4)](_0x57b229);},0x1388);}catch(_0x3d8465){console['BBerror']('Error\x20fetching\x20and\x20processing\x20JSON:',_0x3d8465),setTimeout(()=>{const _0x50603b=_0xb43378;this[_0x50603b(0x1c4)](_0x57b229);},0x1388);}}['Toggle'](_0x8dac80){const _0x1d8b83=_0x4c25ed;this[_0x1d8b83(0x210)][_0x1d8b83(0x121)]=_0x8dac80;}['GetCanvas'](){const _0x40ef60=_0x4c25ed;return this[_0x40ef60(0x159)][_0x40ef60(0x12c)]();}[_0x4c25ed(0x83)](_0x439803){const _0x25caef=_0x4c25ed;let _0x253136=BB[_0x25caef(0x87)][_0x25caef(0xa4)];switch(_0x439803){case 0x3c:this['options'][_0x25caef(0x1aa)]=BB[_0x25caef(0x1f3)][_0x25caef(0x1bb)];break;case 0xea60/0x3e9:case 59.94:_0x253136[_0x25caef(0xfa)]()||_0x253136['isAndroid']()||_0x253136[_0x25caef(0x18e)]()?this[_0x25caef(0x210)][_0x25caef(0x1aa)]=BB[_0x25caef(0x1f3)][_0x25caef(0x15e)]:this[_0x25caef(0x210)][_0x25caef(0x1aa)]=BB[_0x25caef(0x1f3)]['Src59_MediaTime59'];break;case 0x7530/0x3e9:case 29.97:this[_0x25caef(0x210)]['frameRateMode']=BB[_0x25caef(0x1f3)][_0x25caef(0x113)];break;default:console[_0x25caef(0x10b)](_0x25caef(0xe2)+_0x439803+_0x25caef(0x9e));break;}}[_0x4c25ed(0x1d3)](_0x1a5233){const _0x1d2836=_0x4c25ed;this['options'][_0x1d2836(0x1a2)]=_0x1a5233;}['onNewSegment'](_0x51dbd2){const _0x4ae1c2=_0x4c25ed;this[_0x4ae1c2(0x159)][_0x4ae1c2(0x1fb)](_0x51dbd2);}[_0x4c25ed(0x19b)](_0x2e1383){const _0x27ad99=_0x4c25ed;this[_0x27ad99(0x159)][_0x27ad99(0x154)](_0x2e1383);}};
|
|
1
|
+
function _0x18c7(){const _0x2f3366=[',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker','presentationTime','Src60_MediaTime60','getSourceFPS','renderAugmentation','Version','tc__','\x20</br>','maskY','location','texImage2D','Augment','split','deleteProgram','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','fetchAndFindGameIdAndOffsetFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20','frameDrawer','userAgent','667261gfifOS','searchParams','CLDC','augmentation','Error\x20fetching\x20and\x20processing\x20JSON:','folderName','doNotRenderAugmentationLabel','bottom','ad2Url','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','rect','Src59_MediaTime59','CallBacks\x20are\x20set','GAME_ID','filter','debugText2','ARRAY_BUFFER','BlackBerry','MakeSureAdPerPlace','video','Edge','New\x20segment\x20(','getTime','/package.json','Src60_MediaTime59','options','Size','found','padStart','hasDigit','join','roommembers\x20message:\x20','charCodeAt','an\x20iPhone','ALPHA','a\x20Mac',',\x20offset:\x20','player','socket\x20connected','Palm','font','unknown','round','position','script','clearColor','try\x20{\x0a\x0alet\x20UZIP\x20=\x20{};\x0aif(typeof\x20module\x20==\x20\x22object\x22)\x20module.exports\x20=\x20UZIP;\x0aUZIP[\x22parse\x22]\x20=\x20function(buf,\x20onlyNames)\x09//\x20ArrayBuffer\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint,\x20o\x20=\x200,\x20out\x20=\x20{};\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(buf);\x0a\x20\x20\x20\x20let\x20eocd\x20=\x20data.length-4;\x0a\x0a\x20\x20\x20\x20while(rUi(data,\x20eocd)!=0x06054b50)\x20eocd--;\x0a\x0a\x20\x20\x20\x20o\x20=\x20eocd;\x0a\x20\x20\x20\x20o+=4;\x09//\x20sign\x20\x20=\x200x06054b50\x0a\x20\x20\x20\x20o+=4;\x20\x20//\x20disks\x20=\x200;\x0a\x20\x20\x20\x20let\x20cnu\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20cnt\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20coffs\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20o\x20=\x20coffs;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<cnu;\x20i++)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20sign\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20versions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20flag\x20+\x20compr\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20time\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20nl\x20=\x20rUs(data,\x20o),\x20el\x20=\x20rUs(data,\x20o+2),\x20cl\x20=\x20rUs(data,\x20o+4);\x20\x20o\x20+=\x206;\x20\x20//\x20name,\x20extra,\x20comment\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x208;\x20\x20//\x20disk,\x20attribs\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20roff\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x20nl\x20+\x20el\x20+\x20cl;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20UZIP._readLocal(data,\x20roff,\x20out,\x20csize,\x20usize,\x20onlyNames);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(out);\x0a\x20\x20\x20\x20return\x20out;\x0a}\x0a\x0aUZIP._readLocal\x20=\x20function(data,\x20o,\x20out,\x20csize,\x20usize,\x20onlyNames)\x0a{\x0a\x20\x20\x20\x20let\x20rUs\x20=\x20UZIP.bin.readUshort,\x20rUi\x20=\x20UZIP.bin.readUint;\x0a\x20\x20\x20\x20let\x20sign\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20let\x20ver\x20\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20gpflg\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20//if((gpflg&8)!=0)\x20throw\x20\x22unknown\x20sizes\x22;\x0a\x20\x20\x20\x20let\x20cmpr\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20time\x20\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x0a\x20\x20\x20\x20let\x20crc32\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20csize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20//let\x20usize\x20=\x20rUi(data,\x20o);\x20\x20o+=4;\x0a\x20\x20\x20\x20o+=8;\x0a\x0a\x20\x20\x20\x20let\x20nlen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x20\x20\x20\x20let\x20elen\x20\x20=\x20rUs(data,\x20o);\x20\x20o+=2;\x0a\x0a\x20\x20\x20\x20let\x20name\x20=\x20\x20UZIP.bin.readUTF8(data,\x20o,\x20nlen);\x20\x20o+=nlen;\x20\x20//console.log(name);\x0a\x20\x20\x20\x20o\x20+=\x20elen;\x0a\x0a\x20\x20\x20\x20//console.log(sign.toString(16),\x20ver,\x20gpflg,\x20cmpr,\x20crc32.toString(16),\x20\x22csize,\x20usize\x22,\x20csize,\x20usize,\x20nlen,\x20elen,\x20name,\x20o);\x0a\x20\x20\x20\x20if(onlyNames)\x20{\x20\x20out[name]={size:usize,\x20csize:csize};\x20\x20return;\x20\x20}\x0a\x20\x20\x20\x20let\x20file\x20=\x20new\x20Uint8Array(data.buffer,\x20o);\x0a\x20\x20\x20\x20if(false)\x20{}\x0a\x20\x20\x20\x20else\x20if(cmpr==0)\x20out[name]\x20=\x20new\x20Uint8Array(file.buffer.slice(o,\x20o+csize));\x0a\x20\x20\x20\x20else\x20if(cmpr==8)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20buf\x20=\x20new\x20Uint8Array(usize);\x20\x20UZIP.inflateRaw(file,\x20buf);\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*let\x20nbuf\x20=\x20pako[\x22inflateRaw\x22](file);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(usize>8514000)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(buf\x20,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(PUtils.readASCII(nbuf,\x208514500,\x20500));\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<buf.length;\x20i++)\x20if(buf[i]!=nbuf[i])\x20{\x20\x20console.log(buf.length,\x20nbuf.length,\x20usize,\x20i);\x20\x20throw\x20\x22e\x22;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20out[name]\x20=\x20buf;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20throw\x20\x22unknown\x20compression\x20method:\x20\x22+cmpr;\x0a}\x0a\x0aUZIP.inflateRaw\x20=\x20function(file,\x20buf)\x20{\x20\x20return\x20UZIP.F.inflate(file,\x20buf);\x20\x20}\x0aUZIP.inflate\x20\x20\x20\x20=\x20function(file,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20CMF\x20=\x20file[0],\x20FLG\x20=\x20file[1];\x0a\x20\x20\x20\x20let\x20CM\x20=\x20(CMF&15),\x20CINFO\x20=\x20(CMF>>>4);\x0a\x20\x20\x20\x20//console.log(CM,\x20CINFO,CMF,FLG);\x0a\x20\x20\x20\x20return\x20UZIP.inflateRaw(new\x20Uint8Array(file.buffer,\x20file.byteOffset+2,\x20file.length-6),\x20buf);\x0a}\x0aUZIP.deflate\x20\x20\x20\x20=\x20function(data,\x20opts/*,\x20buf,\x20off*/)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20off=0,\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20buf[off]=120;\x20\x20buf[off+1]=156;\x20\x20off+=2;\x0a\x20\x20\x20\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20let\x20crc\x20=\x20UZIP.adler(data,\x200,\x20data.length);\x0a\x20\x20\x20\x20buf[off+0]=((crc>>>24)&255);\x0a\x20\x20\x20\x20buf[off+1]=((crc>>>16)&255);\x0a\x20\x20\x20\x20buf[off+2]=((crc>>>\x208)&255);\x0a\x20\x20\x20\x20buf[off+3]=((crc>>>\x200)&255);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off+4);\x0a}\x0aUZIP.deflateRaw\x20=\x20function(data,\x20opts)\x20{\x0a\x20\x20\x20\x20if(opts==null)\x20opts={level:6};\x0a\x20\x20\x20\x20let\x20buf=new\x20Uint8Array(50+Math.floor(data.length*1.1));\x0a\x20\x20\x20\x20let\x20off\x20=\x20UZIP.F.deflateRaw(data,\x20buf,\x20off,\x20opts.level);\x0a\x20\x20\x20\x20return\x20new\x20Uint8Array(buf.buffer,\x200,\x20off);\x0a}\x0a\x0a\x0aUZIP.encode\x20=\x20function(obj,\x20noCmpr)\x20{\x0a\x20\x20\x20\x20if(noCmpr==null)\x20noCmpr=false;\x0a\x20\x20\x20\x20let\x20tot\x20=\x200,\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20zpd\x20=\x20{};\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20obj)\x20{\x20\x20let\x20cpr\x20=\x20!UZIP._noNeed(p)\x20&&\x20!noCmpr,\x20buf\x20=\x20obj[p],\x20crc\x20=\x20UZIP.crc.crc(buf,0,buf.length);\x0a\x20\x20\x20\x20\x20\x20\x20\x20zpd[p]\x20=\x20{\x20\x20cpr:cpr,\x20usize:buf.length,\x20crc:crc,\x20file:\x20(cpr\x20?\x20UZIP.deflateRaw(buf)\x20:\x20buf)\x20\x20};\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20tot\x20+=\x20zpd[p].file.length\x20+\x2030\x20+\x2046\x20+\x202*UZIP.bin.sizeUTF8(p);\x0a\x20\x20\x20\x20tot\x20+=\x20\x2022;\x0a\x0a\x20\x20\x20\x20let\x20data\x20=\x20new\x20Uint8Array(tot),\x20o\x20=\x200;\x0a\x20\x20\x20\x20let\x20fof\x20=\x20[]\x0a\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20i=0,\x20ioff\x20=\x20o;\x0a\x20\x20\x20\x20for(let\x20p\x20in\x20zpd)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20file\x20=\x20zpd[p];\x20\x20fof.push(o);\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20=\x20UZIP._writeHeader(data,\x20o,\x20p,\x20file,\x201,\x20fof[i++]);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20csize\x20=\x20o-ioff;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x200x06054b50);\x20\x20o+=4;\x0a\x20\x20\x20\x20o\x20+=\x204;\x20\x20//\x20disks\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20i);\x20\x20o\x20+=\x202;\x09//\x20number\x20of\x20c\x20d\x20records\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20csize);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20ioff\x20);\x20\x20o\x20+=\x204;\x0a\x20\x20\x20\x20o\x20+=\x202;\x0a\x20\x20\x20\x20return\x20data.buffer;\x0a}\x0a//\x20no\x20need\x20to\x20compress\x20.PNG,\x20.ZIP,\x20.JPEG\x20....\x0aUZIP._noNeed\x20=\x20function(fn)\x20{\x20\x20let\x20ext\x20=\x20fn.split(\x22.\x22).pop().toLowerCase();\x20\x20return\x20\x22png,jpg,jpeg,zip\x22.indexOf(ext)!=-1;\x20\x20}\x0a\x0aUZIP._writeHeader\x20=\x20function(data,\x20o,\x20p,\x20obj,\x20t,\x20roff)\x0a{\x0a\x20\x20\x20\x20let\x20wUi\x20=\x20UZIP.bin.writeUint,\x20wUs\x20=\x20UZIP.bin.writeUshort;\x0a\x20\x20\x20\x20let\x20file\x20=\x20obj.file;\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20t==0\x20?\x200x04034b50\x20:\x200x02014b50);\x20\x20o+=4;\x20//\x20sign\x0a\x20\x20\x20\x20if(t==1)\x20o+=2;\x20\x20//\x20ver\x20made\x20by\x0a\x20\x20\x20\x20wUs(data,\x20o,\x2020);\x20\x20o+=2;\x09//\x20ver\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x200);\x20\x20o+=2;\x20\x20\x20\x20//\x20gflip\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20\x20obj.cpr?8:0);\x20\x20o+=2;\x09//\x20cmpr\x0a\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20\x200);\x20\x20o+=4;\x09//\x20time\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.crc);\x20\x20o+=4;\x09//\x20crc32\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20file.length);\x20\x20o+=4;\x09//\x20csize\x0a\x20\x20\x20\x20wUi(data,\x20o,\x20obj.usize);\x20\x20o+=4;\x09//\x20usize\x0a\x0a\x20\x20\x20\x20wUs(data,\x20o,\x20UZIP.bin.sizeUTF8(p));\x20\x20o+=2;\x09//\x20nlen\x0a\x20\x20\x20\x20wUs(data,\x20o,\x200);\x20\x20o+=2;\x09//\x20elen\x0a\x0a\x20\x20\x20\x20if(t==1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20comment\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x202;\x20\x20//\x20disk\x20number\x0a\x20\x20\x20\x20\x20\x20\x20\x20o\x20+=\x206;\x20\x20//\x20attributes\x0a\x20\x20\x20\x20\x20\x20\x20\x20wUi(data,\x20o,\x20roff);\x20\x20o+=4;\x09//\x20usize\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20nlen\x20=\x20UZIP.bin.writeUTF8(data,\x20o,\x20p);\x20\x20o+=\x20nlen;\x0a\x20\x20\x20\x20if(t==0)\x20{\x20\x20data.set(file,\x20o);\x20\x20o\x20+=\x20file.length;\x20\x20}\x0a\x20\x20\x20\x20return\x20o;\x0a}\x0aUZIP.crc\x20=\x20{\x0a\x20\x20\x20\x20table\x20:\x20(\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20tab\x20=\x20new\x20Uint32Array(256);\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20n=0;\x20n<256;\x20n++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20c\x20=\x20n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20k=0;\x20k<8;\x20k++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(c\x20&\x201)\x20\x20c\x20=\x200xedb88320\x20^\x20(c\x20>>>\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20c\x20>>>\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tab[n]\x20=\x20c;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20tab;\x20\x20})(),\x0a\x20\x20\x20\x20update\x20:\x20function(c,\x20buf,\x20off,\x20len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20i=0;\x20i<len;\x20i++)\x20\x20c\x20=\x20UZIP.crc.table[(c\x20^\x20buf[off+i])\x20&\x200xff]\x20^\x20(c\x20>>>\x208);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20c;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20crc\x20:\x20function(b,o,l)\x20\x20{\x20\x20return\x20UZIP.crc.update(0xffffffff,b,o,l)\x20^\x200xffffffff;\x20\x20}\x0a}\x0aUZIP.adler\x20=\x20function(data,o,len)\x20{\x0a\x20\x20\x20\x20let\x20a\x20=\x201,\x20b\x20=\x200;\x0a\x20\x20\x20\x20let\x20off\x20=\x20o,\x20end=o+len;\x0a\x20\x20\x20\x20while(off<end)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20eend\x20=\x20Math.min(off+5552,\x20end);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(off<eend)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20a\x20+=\x20data[off++];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20b\x20+=\x20a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20a=a%65521;\x0a\x20\x20\x20\x20\x20\x20\x20\x20b=b%65521;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(b\x20<<\x2016)\x20|\x20a;\x0a}\x0a\x0aUZIP.bin\x20=\x20{\x0a\x20\x20\x20\x20readUshort\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p])\x20|\x20(buff[p+1]<<8);\x20\x20},\x0a\x20\x20\x20\x20writeUshort:\x20function(buff,p,n){\x20\x20buff[p]\x20=\x20(n)&255;\x20\x20buff[p+1]\x20=\x20(n>>8)&255;\x20\x20},\x0a\x20\x20\x20\x20readUint\x20\x20\x20:\x20function(buff,p)\x20\x20{\x20\x20return\x20(buff[p+3]*(256*256*256))\x20+\x20((buff[p+2]<<16)\x20|\x20(buff[p+1]<<\x208)\x20|\x20buff[p]);\x20\x20},\x0a\x20\x20\x20\x20writeUint\x20\x20:\x20function(buff,p,n){\x20\x20buff[p]=n&255;\x20\x20buff[p+1]=(n>>8)&255;\x20\x20buff[p+2]=(n>>16)&255;\x20\x20buff[p+3]=(n>>24)&255;\x20\x20},\x0a\x20\x20\x20\x20readASCII\x20\x20:\x20function(buff,p,l){\x20\x20let\x20s\x20=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20String.fromCharCode(buff[p+i]);\x20\x20return\x20s;\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeASCII\x20:\x20function(data,p,s){\x20\x20for(let\x20i=0;\x20i<s.length;\x20i++)\x20data[p+i]\x20=\x20s.charCodeAt(i);\x20\x20},\x0a\x20\x20\x20\x20pad\x20:\x20function(n)\x20{\x20return\x20n.length\x20<\x202\x20?\x20\x220\x22\x20+\x20n\x20:\x20n;\x20},\x0a\x20\x20\x20\x20readUTF8\x20:\x20function(buff,\x20p,\x20l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20s\x20=\x20\x22\x22,\x20ns;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<l;\x20i++)\x20s\x20+=\x20\x22%\x22\x20+\x20UZIP.bin.pad(buff[p+i].toString(16));\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20\x20ns\x20=\x20decodeURIComponent(s);\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20catch(e)\x20{\x20\x20return\x20UZIP.bin.readASCII(buff,\x20p,\x20l);\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20ns;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20writeUTF8\x20:\x20function(buff,\x20p,\x20str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(\x20\x20\x20\x20\x20code\x20\x20\x20\x20\x20);\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(192|(code>>\x206));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x200)&63));\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(224|(code>>12));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>\x206)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>0)&63));\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20buff[p+i]\x20=\x20(240|(code>>18));\x20\x20buff[p+i+1]\x20=\x20(128|((code>>12)&63));\x20\x20buff[p+i+2]\x20=\x20(128|((code>>6)&63));\x20\x20buff[p+i+3]\x20=\x20(128|((code>>0)&63));\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20},\x0a\x20\x20\x20\x20sizeUTF8\x20:\x20function(str)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20strl\x20=\x20str.length,\x20i=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20ci=0;\x20ci<strl;\x20ci++)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20str.charCodeAt(ci);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20\x20\x20\x20\x20((code&(0xffffffff-(1<<\x207)+1))==0)\x20{\x20\x20i++\x20;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<11)+1))==0)\x20{\x20\x20i+=2;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<16)+1))==0)\x20{\x20\x20i+=3;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if((code&(0xffffffff-(1<<21)+1))==0)\x20{\x20\x20i+=4;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20i;\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F\x20=\x20{};\x0a\x0aUZIP.F.deflateRaw\x20=\x20function(data,\x20out,\x20opos,\x20lvl)\x20{\x0a\x20\x20\x20\x20let\x20opts\x20=\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20good_length;\x20/*\x20reduce\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20max_lazy;\x20\x20\x20\x20/*\x20do\x20not\x20perform\x20lazy\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ush\x20nice_length;\x20/*\x20quit\x20search\x20above\x20this\x20match\x20length\x0a\x20\x20\x20\x20\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x20\x20\x20\x20\x20\x20good\x20lazy\x20nice\x20chain\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x200\x20*/\x20[\x200,\x20\x20\x200,\x20\x20\x200,\x20\x20\x20\x200,0],\x20\x20/*\x20store\x20only\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x201\x20*/\x20[\x204,\x20\x20\x204,\x20\x20\x208,\x20\x20\x20\x204,0],\x20/*\x20max\x20speed,\x20no\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x202\x20*/\x20[\x204,\x20\x20\x205,\x20\x2016,\x20\x20\x20\x208,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x203\x20*/\x20[\x204,\x20\x20\x206,\x20\x2016,\x20\x20\x2016,0],\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x204\x20*/\x20[\x204,\x20\x2010,\x20\x2016,\x20\x20\x2032,0],\x20\x20/*\x20lazy\x20matches\x20*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x205\x20*/\x20[\x208,\x20\x2016,\x20\x2032,\x20\x20\x2032,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x206\x20*/\x20[\x208,\x20\x2016,\x20128,\x20\x20128,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x207\x20*/\x20[\x208,\x20\x2032,\x20128,\x20\x20256,0],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x208\x20*/\x20[32,\x20128,\x20258,\x201024,1],\x0a\x20\x20\x20\x20\x20\x20\x20\x20/*\x209\x20*/\x20[32,\x20258,\x20258,\x204096,1]];\x20/*\x20max\x20compression\x20*/\x0a\x0a\x20\x20\x20\x20let\x20opt\x20=\x20opts[lvl];\x0a\x0a\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20goodIndex\x20=\x20UZIP.F._goodIndex,\x20hash\x20=\x20UZIP.F._hash,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x20\x20\x20\x20let\x20i\x20=\x200,\x20pos\x20=\x20opos<<3,\x20cvrd\x20=\x200,\x20dlen\x20=\x20data.length;\x0a\x0a\x20\x20\x20\x20if(lvl==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i<dlen)\x20{\x20\x20\x20let\x20len\x20=\x20Math.min(0xffff,\x20dlen-i);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20(i+len==dlen\x20?\x201\x20:\x200));\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20i,\x20len,\x20out,\x20pos+8);\x20\x20i\x20+=\x20len;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20pos>>>3;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20let\x20lits\x20=\x20U.lits,\x20strt=U.strt,\x20prev=U.prev,\x20li=0,\x20lc=0,\x20bs=0,\x20ebits=0,\x20c=0,\x20nc=0;\x20\x20//\x20last_item,\x20literal_count,\x20block_start\x0a\x20\x20\x20\x20if(dlen>2)\x20{\x20\x20nc=UZIP.F._hash(data,0);\x20\x20strt[nc]=0;\x20\x20}\x0a\x20\x20\x20\x20let\x20nmch=0,nmci=0;\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dlen;\x20i++)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20c\x20=\x20nc;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nc\x20=\x20UZIP.F._hash(data,\x20i+1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ii\x20=\x20((i+1)&0x7fff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev[ii]=strt[nc];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20strt[nc]=ii;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<=i)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((li>14000\x20||\x20lc>26697)\x20&&\x20(dlen-i)>100)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(((i==dlen-1)\x20||\x20(cvrd==dlen))?1:0,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mch\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(nmci==i)\x20mch=\x20nmch;\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i<dlen-2)\x20mch\x20=\x20UZIP.F._bestMatch(data,\x20i,\x20prev,\x20c,\x20Math.min(opt[2],dlen-i),\x20opt[3]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0\x20&&\x20opt[4]==1\x20&&\x20(mch>>>16)<opt[1]\x20&&\x20i+1<dlen-2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nmch\x20=\x20UZIP.F._bestMatch(data,\x20i+1,\x20prev,\x20nc,\x20opt[2],\x20opt[3]);\x20\x20nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20mch2\x20=\x20UZIP.F._bestMatch(data,\x20i+2,\x20prev,\x20nnc);\x20\x20//nmci=i+1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((nmch>>>16)>(mch>>>16))\x20mch=0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(mch!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20len\x20=\x20mch>>>16,\x20dst\x20=\x20mch&0xffff;\x20\x20//if(i-dst<0)\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lgi\x20=\x20goodIndex(len,\x20U.of0);\x20\x20U.lhst[257+lgi]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dgi\x20=\x20goodIndex(dst,\x20U.df0);\x20\x20U.dhst[\x20\x20\x20\x20dgi]++;\x20\x20ebits\x20+=\x20U.exb[lgi]\x20+\x20U.dxb[dgi];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lits[li]\x20=\x20(len<<23)|(i-cvrd);\x20\x20lits[li+1]\x20=\x20(dst<<16)|(lgi<<8)|dgi;\x20\x20li+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cvrd\x20=\x20i\x20+\x20len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x09U.lhst[data[i]]++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lc++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(bs!=i\x20||\x20data.length==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(cvrd<i)\x20{\x20\x20lits[li]=i-cvrd;\x20\x20li+=2;\x20\x20cvrd=i;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeBlock(1,\x20lits,\x20li,\x20ebits,\x20data,bs,i-bs,\x20out,\x20pos);\x20\x20li=0;\x20\x20lc=0;\x20\x20li=lc=ebits=0;\x20\x20bs=i;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20return\x20pos>>>3;\x0a}\x0aUZIP.F._bestMatch\x20=\x20function(data,\x20i,\x20prev,\x20c,\x20nice,\x20chain)\x20{\x0a\x20\x20\x20\x20let\x20ci\x20=\x20(i&0x7fff),\x20pi=prev[ci];\x0a\x20\x20\x20\x20//console.log(\x22----\x22,\x20i);\x0a\x20\x20\x20\x20let\x20dif\x20=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x20\x20if(pi==ci\x20||\x20c!=UZIP.F._hash(data,i-dif))\x20return\x200;\x0a\x20\x20\x20\x20let\x20tl=0,\x20td=0;\x20\x20//\x20top\x20length,\x20top\x20distance\x0a\x20\x20\x20\x20let\x20dlim\x20=\x20Math.min(0x7fff,\x20i);\x0a\x20\x20\x20\x20while(dif<=dlim\x20&&\x20--chain!=0\x20&&\x20pi!=ci\x20/*&&\x20c==UZIP.F._hash(data,i-dif)*/)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(tl==0\x20||\x20(data[i+tl]==data[i+tl-dif]))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20UZIP.F._howLong(data,\x20i,\x20dif);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(cl>tl)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tl=cl;\x20\x20td=dif;\x20\x20if(tl>=nice)\x20break;\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(dif+2<cl)\x20cl\x20=\x20dif+2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20maxd\x20=\x200;\x20//\x20pi\x20does\x20not\x20point\x20to\x20the\x20start\x20of\x20the\x20word\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20j=0;\x20j<cl-2;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ei\x20=\x20\x20(i-dif+j+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20li\x20=\x20prev[ei];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20curd\x20=\x20(ei-li\x20+\x20(1<<15))\x20&\x200x7fff;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(curd>maxd)\x20{\x20\x20maxd=curd;\x20\x20pi\x20=\x20ei;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20\x20//*/\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20ci=pi;\x20\x20pi\x20=\x20prev[ci];\x0a\x20\x20\x20\x20\x20\x20\x20\x20dif\x20+=\x20((ci-pi\x20+\x20(1<<15))\x20&\x200x7fff);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20(tl<<16)|td;\x0a}\x0aUZIP.F._howLong\x20=\x20function(data,\x20i,\x20dif)\x20{\x0a\x20\x20\x20\x20if(data[i]!=data[i-dif]\x20||\x20data[i+1]!=data[i+1-dif]\x20||\x20data[i+2]!=data[i+2-dif])\x20return\x200;\x0a\x20\x20\x20\x20let\x20oi=i,\x20l\x20=\x20Math.min(data.length,\x20i+258);\x20\x20i+=3;\x0a\x20\x20\x20\x20//while(i+4<l\x20&&\x20data[i]==data[i-dif]\x20&&\x20data[i+1]==data[i+1-dif]\x20&&\x20data[i+2]==data[i+2-dif]\x20&&\x20data[i+3]==data[i+3-dif])\x20i+=4;\x0a\x20\x20\x20\x20while(i<l\x20&&\x20data[i]==data[i-dif])\x20i++;\x0a\x20\x20\x20\x20return\x20i-oi;\x0a}\x0aUZIP.F._hash\x20=\x20function(data,\x20i)\x20{\x0a\x20\x20\x20\x20return\x20(((data[i]<<8)\x20|\x20data[i+1])+(data[i+2]<<4))&0xffff;\x0a\x20\x20\x20\x20//let\x20hash_shift\x20=\x200,\x20hash_mask\x20=\x20255;\x0a\x20\x20\x20\x20//let\x20h\x20=\x20data[i+1]\x20%\x20251;\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20(((h\x20<<\x208)\x20+\x20data[i+2])\x20%\x20251);\x0a\x20\x20\x20\x20//h\x20=\x20((h<<hash_shift)\x20^\x20(c)\x20)\x20&\x20hash_mask;\x0a\x20\x20\x20\x20//return\x20h\x20|\x20(data[i]<<8);\x0a\x20\x20\x20\x20//return\x20(data[i]\x20|\x20(data[i+1]<<8));\x0a}\x0a//UZIP.___toth\x20=\x200;\x0aUZIP.saved\x20=\x200;\x0aUZIP.F._writeBlock\x20=\x20function(BFINAL,\x20lits,\x20li,\x20ebits,\x20data,o0,l0,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U,\x20putsF\x20=\x20UZIP.F._putsF,\x20putsE\x20=\x20UZIP.F._putsE;\x0a\x0a\x20\x20\x20\x20//*\x0a\x20\x20\x20\x20let\x20T,\x20ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset;\x20\x20U.lhst[256]++;\x0a\x20\x20\x20\x20T\x20=\x20UZIP.F.getTrees();\x20ML=T[0];\x20MD=T[1];\x20MH=T[2];\x20numl=T[3];\x20numd=T[4];\x20numh=T[5];\x20lset=T[6];\x20dset=T[7];\x0a\x0a\x20\x20\x20\x20let\x20cstSize\x20=\x20(((pos+3)&7)==0\x20?\x200\x20:\x208-((pos+3)&7))\x20+\x2032\x20+\x20(l0<<3);\x0a\x20\x20\x20\x20let\x20fxdSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.fltree,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.fdtree,\x20U.dhst);\x0a\x20\x20\x20\x20let\x20dynSize\x20=\x20ebits\x20+\x20UZIP.F.contSize(U.ltree\x20,\x20U.lhst)\x20+\x20UZIP.F.contSize(U.dtree\x20,\x20U.dhst);\x0a\x20\x20\x20\x20dynSize\x20\x20\x20\x20+=\x2014\x20+\x203*numh\x20+\x20UZIP.F.contSize(U.itree,\x20U.ihst)\x20+\x20(U.ihst[16]*2\x20+\x20U.ihst[17]*3\x20+\x20U.ihst[18]*7);\x0a\x0a\x20\x20\x20\x20for(let\x20j=0;\x20j<286;\x20j++)\x20U.lhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<30;\x20j++)\x20U.dhst[j]=0;\x20\x20\x20for(let\x20j=0;\x20j<19;\x20j++)\x20U.ihst[j]=0;\x0a\x20\x20\x20\x20//*/\x0a\x20\x20\x20\x20let\x20BTYPE\x20=\x20(cstSize<fxdSize\x20&&\x20cstSize<dynSize)\x20?\x200\x20:\x20(\x20fxdSize<dynSize\x20?\x201\x20:\x202\x20);\x0a\x20\x20\x20\x20putsF(out,\x20pos,\x20BFINAL);\x20\x20putsF(out,\x20pos+1,\x20BTYPE);\x20\x20pos+=3;\x0a\x0a\x20\x20\x20\x20let\x20opos\x20=\x20pos;\x0a\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20while((pos&7)!=0)\x20pos++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._copyExact(data,\x20o0,\x20l0,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20ltree,\x20dtree;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20ltree=U.fltree;\x20\x20dtree=U.fdtree;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.ltree,\x20ML);\x20\x20UZIP.F.revCodes(U.ltree,\x20ML);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.dtree,\x20MD);\x20\x20UZIP.F.revCodes(U.dtree,\x20MD);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UZIP.F.makeCodes(U.itree,\x20MH);\x20\x20UZIP.F.revCodes(U.itree,\x20MH);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ltree\x20=\x20U.ltree;\x20\x20dtree\x20=\x20U.dtree;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numl-257);\x20\x20pos+=5;\x20\x20//\x20286\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numd-\x20\x201);\x20\x20pos+=5;\x20\x20//\x2030\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,numh-\x20\x204);\x20\x20pos+=4;\x20\x20//\x2019\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<numh;\x20i++)\x20putsE(out,\x20pos+i*3,\x20U.itree[(U.ordr[i]<<1)+1]);\x20\x20\x20pos+=3*\x20numh;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(lset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._codeTiny(dset,\x20U.itree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20off=o0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20si=0;\x20si<li;\x20si+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qb=lits[si],\x20len=(qb>>>23),\x20end\x20=\x20off+(qb&((1<<23)-1));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20pos\x20=\x20UZIP.F._writeLit(data[off++],\x20ltree,\x20out,\x20pos);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(len!=0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20qc\x20=\x20lits[si+1],\x20dst=(qc>>16),\x20lgi=(qc>>8)&255,\x20dgi=(qc&255);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(257+lgi,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsE(out,\x20pos,\x20len-U.of0[lgi]);\x20\x20pos+=U.exb[lgi];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(dgi,\x20dtree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20putsF(out,\x20pos,\x20dst-U.df0[dgi]);\x20\x20pos+=U.dxb[dgi];\x20\x20off+=len;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(256,\x20ltree,\x20out,\x20pos);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(pos-opos,\x20fxdSize,\x20dynSize,\x20cstSize);\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyExact\x20=\x20function(data,off,len,out,pos)\x20{\x0a\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3);\x0a\x20\x20\x20\x20out[p8]=(len);\x20\x20out[p8+1]=(len>>>8);\x20\x20out[p8+2]=255-out[p8];\x20\x20out[p8+3]=255-out[p8+1];\x20\x20p8+=4;\x0a\x20\x20\x20\x20out.set(new\x20Uint8Array(data.buffer,\x20off,\x20len),\x20p8);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20out[p8+i]=data[off+i];\x0a\x20\x20\x20\x20return\x20pos\x20+\x20((len+4)<<3);\x0a}\x0a/*\x0a\x09Interesting\x20facts:\x0a\x09-\x20decompressed\x20block\x20can\x20have\x20bytes,\x20which\x20do\x20not\x20occur\x20in\x20a\x20Huffman\x20tree\x20(copied\x20from\x20the\x20previous\x20block\x20by\x20reference)\x0a*/\x0a\x0aUZIP.F.getTrees\x20=\x20function()\x20{\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20ML\x20=\x20UZIP.F._hufTree(U.lhst,\x20U.ltree,\x2015);\x0a\x20\x20\x20\x20let\x20MD\x20=\x20UZIP.F._hufTree(U.dhst,\x20U.dtree,\x2015);\x0a\x20\x20\x20\x20let\x20lset\x20=\x20[],\x20numl\x20=\x20UZIP.F._lenCodes(U.ltree,\x20lset);\x0a\x20\x20\x20\x20let\x20dset\x20=\x20[],\x20numd\x20=\x20UZIP.F._lenCodes(U.dtree,\x20dset);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<lset.length;\x20i+=2)\x20U.ihst[lset[i]]++;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<dset.length;\x20i+=2)\x20U.ihst[dset[i]]++;\x0a\x20\x20\x20\x20let\x20MH\x20=\x20UZIP.F._hufTree(U.ihst,\x20U.itree,\x20\x207);\x0a\x20\x20\x20\x20let\x20numh\x20=\x2019;\x20\x20while(numh>4\x20&&\x20U.itree[(U.ordr[numh-1]<<1)+1]==0)\x20numh--;\x0a\x20\x20\x20\x20return\x20[ML,\x20MD,\x20MH,\x20numl,\x20numd,\x20numh,\x20lset,\x20dset];\x0a}\x0aUZIP.F.getSecond=\x20function(a)\x20{\x20\x20let\x20b=[];\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20b.push\x20\x20(a[i+1]);\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.nonZero\x20\x20=\x20function(a)\x20{\x20\x20let\x20b=\x20\x22\x22;\x20\x20for(let\x20i=0;\x20i<a.length;\x20i+=2)\x20if(a[i+1]!=0)b+=(i>>1)+\x22,\x22;\x20\x20return\x20b;\x20\x20}\x0aUZIP.F.contSize\x20=\x20function(tree,\x20hst)\x20{\x20\x20let\x20s=0;\x20\x20for(let\x20i=0;\x20i<hst.length;\x20i++)\x20s+=\x20hst[i]*tree[(i<<1)+1];\x20\x20return\x20s;\x20\x20}\x0aUZIP.F._codeTiny\x20=\x20function(set,\x20tree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<set.length;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20set[i],\x20rst\x20=\x20set[i+1];\x20\x20//console.log(l,\x20pos,\x20tree[(l<<1)+1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20UZIP.F._writeLit(l,\x20tree,\x20out,\x20pos);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rsl\x20=\x20l==16\x20?\x202\x20:\x20(l==17\x20?\x203\x20:\x207);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l>15)\x20{\x20\x20UZIP.F._putsE(out,\x20pos,\x20rst,\x20rsl);\x20\x20pos+=rsl;\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._lenCodes\x20=\x20function(tree,\x20set)\x20{\x0a\x20\x20\x20\x20let\x20len=tree.length;\x20\x20while(len!=2\x20&&\x20tree[len-1]==0)\x20len-=2;\x20\x20//\x20when\x20no\x20distances,\x20keep\x20one\x20code\x20with\x20length\x200\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20l\x20=\x20tree[i+1],\x20nxt\x20=\x20(i+3<len\x20?\x20tree[i+3]:-1),\x20\x20nnxt\x20=\x20(i+5<len\x20?\x20tree[i+5]:-1),\x20\x20prv\x20=\x20(i==0\x20?\x20-1\x20:\x20tree[i-1]);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(l==0\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x20138);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(zc<11)\x20set.push(17,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(18,\x20zc-11);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(l==prv\x20&&\x20nxt==l\x20&&\x20nnxt==l)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lz\x20=\x20i+5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(lz+2<len\x20&&\x20tree[lz+2]==l)\x20lz+=2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20zc\x20=\x20Math.min((lz+1-i)>>>1,\x206);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20set.push(16,\x20zc-3);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i\x20+=\x20zc*2-2;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20set.push(l,\x200);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20len>>>1;\x0a}\x0aUZIP.F._hufTree\x20\x20\x20=\x20function(hst,\x20tree,\x20MAXL)\x20{\x0a\x20\x20\x20\x20let\x20list=[],\x20hl\x20=\x20hst.length,\x20tl=tree.length,\x20i=0;\x0a\x20\x20\x20\x20for(i=0;\x20i<tl;\x20i+=2)\x20{\x20\x20tree[i]=0;\x20\x20tree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<hl;\x20i++)\x20if(hst[i]!=0)\x20list.push({lit:i,\x20f:hst[i]});\x0a\x20\x20\x20\x20let\x20end\x20=\x20list.length,\x20l2=list.slice(0);\x0a\x20\x20\x20\x20if(end==0)\x20return\x200;\x20\x20//\x20empty\x20histogram\x20(usually\x20for\x20dist)\x0a\x20\x20\x20\x20if(end==1)\x20{\x20\x20let\x20lit=list[0].lit,\x20l2=lit==0?1:0;\x20\x20tree[(lit<<1)+1]=1;\x20\x20tree[(l2<<1)+1]=1;\x20\x20return\x201;\x20\x20}\x0a\x20\x20\x20\x20list.sort(function(a,b){return\x20a.f-b.f;});\x0a\x20\x20\x20\x20let\x20a=list[0],\x20b=list[1],\x20i0=0,\x20i1=1,\x20i2=2;\x20\x20list[0]={lit:-1,f:a.f+b.f,l:a,r:b,d:0};\x0a\x20\x20\x20\x20while(i1!=end-1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20a=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20a=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(i0!=i1\x20&&\x20(i2==end\x20||\x20list[i0].f<list[i2].f))\x20{\x20\x20b=list[i0++];\x20\x20}\x20\x20else\x20{\x20\x20b=list[i2++];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20list[i1++]={lit:-1,f:a.f+b.f,\x20l:a,r:b};\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20let\x20maxl\x20=\x20UZIP.F.setDepth(list[i1-1],\x200);\x0a\x20\x20\x20\x20if(maxl>MAXL)\x20{\x20\x20UZIP.F.restrictDepth(l2,\x20MAXL,\x20maxl);\x20\x20maxl\x20=\x20MAXL;\x20\x20}\x0a\x20\x20\x20\x20for(i=0;\x20i<end;\x20i++)\x20tree[(l2[i].lit<<1)+1]=l2[i].d;\x0a\x20\x20\x20\x20return\x20maxl;\x0a}\x0a\x0aUZIP.F.setDepth\x20\x20=\x20function(t,\x20d)\x20{\x0a\x20\x20\x20\x20if(t.lit!=-1)\x20{\x20\x20t.d=d;\x20\x20return\x20d;\x20\x20}\x0a\x20\x20\x20\x20return\x20Math.max(\x20UZIP.F.setDepth(t.l,\x20d+1),\x20\x20UZIP.F.setDepth(t.r,\x20d+1)\x20);\x0a}\x0a\x0aUZIP.F.restrictDepth\x20=\x20function(dps,\x20MD,\x20maxl)\x20{\x0a\x20\x20\x20\x20let\x20i=0,\x20bCost=1<<(maxl-MD),\x20dbt=0;\x0a\x20\x20\x20\x20dps.sort(function(a,b){return\x20b.d==a.d\x20?\x20a.f-b.f\x20:\x20b.d-a.d;});\x0a\x0a\x20\x20\x20\x20for(i=0;\x20i<dps.length;\x20i++)\x20if(dps[i].d>MD)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20dps[i].d=MD;\x20\x20dbt+=bCost-(1<<(maxl-od));\x20\x20}\x20\x20else\x20break;\x0a\x20\x20\x20\x20dbt\x20=\x20dbt>>>(maxl-MD);\x0a\x20\x20\x20\x20while(dbt>0)\x20{\x20\x20let\x20od=dps[i].d;\x20\x20if(od<MD)\x20{\x20\x20dps[i].d++;\x20\x20dbt-=(1<<(MD-od-1));\x20\x20}\x20\x20else\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20for(;\x20i>=0;\x20i--)\x20if(dps[i].d==MD\x20&&\x20dbt<0)\x20{\x20\x20dps[i].d--;\x20\x20dbt++;\x20\x20}\x20\x20if(dbt!=0)\x20console.log(\x22debt\x20left\x22);\x0a}\x0a\x0aUZIP.F._goodIndex\x20=\x20function(v,\x20arr)\x20{\x0a\x20\x20\x20\x20let\x20i=0;\x20\x20if(arr[i|16]<=v)\x20i|=16;\x20\x20if(arr[i|8]<=v)\x20i|=8;\x20\x20if(arr[i|4]<=v)\x20i|=4;\x20\x20if(arr[i|2]<=v)\x20i|=2;\x20\x20if(arr[i|1]<=v)\x20i|=1;\x20\x20return\x20i;\x0a}\x0aUZIP.F._writeLit\x20=\x20function(ch,\x20ltree,\x20out,\x20pos)\x20{\x0a\x20\x20\x20\x20UZIP.F._putsF(out,\x20pos,\x20ltree[ch<<1]);\x0a\x20\x20\x20\x20return\x20pos+ltree[(ch<<1)+1];\x0a}\x0aUZIP.F.inflate\x20=\x20function(data,\x20buf)\x20{\x0a\x20\x20\x20\x20let\x20u8=Uint8Array;\x0a\x20\x20\x20\x20if(data[0]==3\x20&&\x20data[1]==0)\x20return\x20(buf\x20?\x20buf\x20:\x20new\x20u8(0));\x0a\x20\x20\x20\x20let\x20F=UZIP.F,\x20bitsF\x20=\x20F._bitsF,\x20bitsE\x20=\x20F._bitsE,\x20decodeTiny\x20=\x20F._decodeTiny,\x20makeCodes\x20=\x20F.makeCodes,\x20codes2map=F.codes2map,\x20get17\x20=\x20F._get17;\x0a\x20\x20\x20\x20let\x20U\x20=\x20F.U;\x0a\x0a\x20\x20\x20\x20let\x20noBuf\x20=\x20(buf==null);\x0a\x20\x20\x20\x20if(noBuf)\x20buf\x20=\x20new\x20u8((data.length>>>2)<<3);\x0a\x0a\x20\x20\x20\x20let\x20BFINAL=0,\x20BTYPE=0,\x20HLIT=0,\x20HDIST=0,\x20HCLEN=0,\x20ML=0,\x20MD=0;\x0a\x20\x20\x20\x20let\x20off\x20=\x200,\x20pos\x20=\x200;\x0a\x20\x20\x20\x20let\x20lmap,\x20dmap;\x0a\x0a\x20\x20\x20\x20while(BFINAL==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20BFINAL\x20=\x20bitsF(data,\x20pos\x20\x20,\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20BTYPE\x20\x20=\x20bitsF(data,\x20pos+1,\x202);\x20\x20pos+=3;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(BFINAL,\x20BTYPE);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((pos&7)!=0)\x20pos+=8-(pos&7);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p8\x20=\x20(pos>>>3)+4,\x20len\x20=\x20data[p8-4]|(data[p8-3]<<8);\x20\x20//console.log(len);//bitsF(data,\x20pos,\x2016),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+len);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20buf.set(new\x20u8(data.buffer,\x20data.byteOffset+p8,\x20len),\x20off);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20buf[off+i]\x20=\x20data[p8+i];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//for(let\x20i=0;\x20i<len;\x20i++)\x20if(buf[off+i]\x20!=\x20data[p8+i])\x20throw\x20\x22e\x22;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20((p8+len)<<3);\x20\x20off+=len;\x20\x20continue;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x20\x20//\x20really\x20not\x20enough\x20in\x20many\x20cases\x20(but\x20PNG\x20and\x20ZIP\x20provide\x20buffer\x20in\x20advance)\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==1)\x20{\x20\x20lmap\x20=\x20U.flmap;\x20\x20dmap\x20=\x20U.fdmap;\x20\x20ML\x20=\x20(1<<9)-1;\x20\x20MD\x20=\x20(1<<5)-1;\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(BTYPE==2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HLIT\x20\x20=\x20bitsE(data,\x20pos\x20\x20\x20,\x205)+257;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HDIST\x20=\x20bitsE(data,\x20pos+\x205,\x205)+\x20\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20HCLEN\x20=\x20bitsE(data,\x20pos+10,\x204)+\x20\x204;\x20\x20pos+=14;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ppos\x20=\x20pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<38;\x20i+=2)\x20{\x20\x20U.itree[i]=0;\x20\x20U.itree[i+1]=0;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20tl\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for(let\x20i=0;\x20i<HCLEN;\x20i++)\x20{\x20\x20let\x20l=bitsE(data,\x20pos+i*3,\x203);\x20\x20U.itree[(U.ordr[i]<<1)+1]\x20=\x20l;\x20\x20if(l>tl)tl=l;\x20\x20}\x20\x20\x20\x20\x20pos+=3*HCLEN;\x20\x20//console.log(itree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.itree,\x20tl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.itree,\x20tl,\x20U.imap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20=\x20U.lmap;\x20\x20dmap\x20=\x20U.dmap;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20pos\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT+HDIST,\x20data,\x20pos,\x20U.ttree);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx0\x20=\x20F._copyOut(U.ttree,\x20\x20\x20\x200,\x20HLIT\x20,\x20U.ltree);\x20\x20ML\x20=\x20(1<<mx0)-1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20mx1\x20=\x20F._copyOut(U.ttree,\x20HLIT,\x20HDIST,\x20U.dtree);\x20\x20MD\x20=\x20(1<<mx1)-1;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ml\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HLIT\x20,\x20data,\x20pos,\x20U.ltree);\x20ML\x20=\x20(1<<(ml>>>24))-1;\x20\x20pos+=(ml&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.ltree,\x20mx0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.ltree,\x20mx0,\x20lmap);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20md\x20=\x20decodeTiny(U.imap,\x20(1<<tl)-1,\x20HDIST,\x20data,\x20pos,\x20U.dtree);\x20MD\x20=\x20(1<<(md>>>24))-1;\x20\x20pos+=(md&0xffffff);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20makeCodes(U.dtree,\x20mx1);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20codes2map(U.dtree,\x20mx1,\x20dmap);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//let\x20ooff=off,\x20opos=pos;\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(true)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)\x20&\x20ML];\x20\x20pos\x20+=\x20code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x20\x20//U.lhst[lit]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((lit>>>8)==0)\x20{\x20\x20buf[off++]\x20=\x20lit;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==256)\x20{\x20\x20break;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20end\x20=\x20off+lit-254;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit>264)\x20{\x20let\x20ebs\x20=\x20U.ldef[lit-257];\x20\x20end\x20=\x20off\x20+\x20(ebs>>>3)\x20+\x20bitsE(data,\x20pos,\x20ebs&7);\x20\x20pos\x20+=\x20ebs&7;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//UZIP.F.dst[end-off]++;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dcode\x20=\x20dmap[get17(data,\x20pos)\x20&\x20MD];\x20\x20pos\x20+=\x20dcode&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dlit\x20=\x20dcode>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20dbs\x20=\x20U.ddef[dlit],\x20dst\x20=\x20(dbs>>>4)\x20+\x20bitsF(data,\x20pos,\x20dbs&15);\x20\x20pos\x20+=\x20dbs&15;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//let\x20o0\x20=\x20off-dst,\x20stp\x20=\x20Math.min(end-off,\x20dst);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(stp>20)\x20while(off<end)\x20{\x20\x20buf.copyWithin(off,\x20o0,\x20o0+stp);\x20\x20off+=stp;\x20\x20}\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(end-dst<=off)\x20buf.copyWithin(off,\x20off-dst,\x20end-dst);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//if(dst==1)\x20buf.fill(buf[off-1],\x20off,\x20end);\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(noBuf)\x20buf=UZIP.F._check(buf,\x20off+(1<<17));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(off<end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20off=end;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//while(off!=end)\x20{\x20\x20buf[off]=buf[off++-dst];\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(off-ooff,\x20(pos-opos)>>>3);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20//console.log(UZIP.F.dst);\x0a\x20\x20\x20\x20//console.log(tlen,\x20dlen,\x20off-tlen+tcnt);\x0a\x20\x20\x20\x20return\x20buf.length==off\x20?\x20buf\x20:\x20buf.slice(0,off);\x0a}\x0aUZIP.F._check=function(buf,\x20len)\x20{\x0a\x20\x20\x20\x20let\x20bl=buf.length;\x20\x20if(len<=bl)\x20return\x20buf;\x0a\x20\x20\x20\x20let\x20nbuf\x20=\x20new\x20Uint8Array(Math.max(bl<<1,len));\x20\x20nbuf.set(buf,0);\x0a\x20\x20\x20\x20//for(let\x20i=0;\x20i<bl;\x20i+=4)\x20{\x20\x20nbuf[i]=buf[i];\x20\x20nbuf[i+1]=buf[i+1];\x20\x20nbuf[i+2]=buf[i+2];\x20\x20nbuf[i+3]=buf[i+3];\x20\x20}\x0a\x20\x20\x20\x20return\x20nbuf;\x0a}\x0a\x0aUZIP.F._decodeTiny\x20=\x20function(lmap,\x20LL,\x20len,\x20data,\x20pos,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20bitsE\x20=\x20UZIP.F._bitsE,\x20get17\x20=\x20UZIP.F._get17;\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20while(i<len)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20code\x20=\x20lmap[get17(data,\x20pos)&LL];\x20\x20pos+=code&15;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20code>>>4;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(lit<=15)\x20{\x20\x20tree[i]=lit;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ll\x20=\x200,\x20n\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(lit==16)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x202));\x20\x20pos\x20+=\x202;\x20\x20ll\x20=\x20tree[i-1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==17)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(3\x20\x20+\x20bitsE(data,\x20pos,\x203));\x20\x20pos\x20+=\x203;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20else\x20if(lit==18)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20n\x20=\x20(11\x20+\x20bitsE(data,\x20pos,\x207));\x20\x20pos\x20+=\x207;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20ni\x20=\x20i+n;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while(i<ni)\x20{\x20\x20tree[i]=ll;\x20\x20i++;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20pos;\x0a}\x0aUZIP.F._copyOut\x20=\x20function(src,\x20off,\x20len,\x20tree)\x20{\x0a\x20\x20\x20\x20let\x20mx=0,\x20i=0,\x20tl=tree.length>>>1;\x0a\x20\x20\x20\x20while(i<len)\x20{\x20\x20let\x20v=src[i+off];\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=v;\x20\x20if(v>mx)mx=v;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20while(i<tl\x20)\x20{\x20\x20tree[(i<<1)]=0;\x20\x20tree[(i<<1)+1]=0;\x20\x20i++;\x20\x20}\x0a\x20\x20\x20\x20return\x20mx;\x0a}\x0a\x0aUZIP.F.makeCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x20\x20//\x20code,\x20length\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20code,\x20bits,\x20n,\x20i,\x20len;\x0a\x0a\x20\x20\x20\x20let\x20bl_count\x20=\x20U.bl_count;\x20\x20for(let\x20i=0;\x20i<=MAX_BITS;\x20i++)\x20bl_count[i]=0;\x0a\x20\x20\x20\x20for(i=1;\x20i<max_code;\x20i+=2)\x20bl_count[tree[i]]++;\x0a\x0a\x20\x20\x20\x20let\x20next_code\x20=\x20U.next_code;\x09//\x20smallest\x20code\x20for\x20each\x20length\x0a\x0a\x20\x20\x20\x20code\x20=\x200;\x0a\x20\x20\x20\x20bl_count[0]\x20=\x200;\x0a\x20\x20\x20\x20for\x20(bits\x20=\x201;\x20bits\x20<=\x20MAX_BITS;\x20bits++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20code\x20=\x20(code\x20+\x20bl_count[bits-1])\x20<<\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code[bits]\x20=\x20code;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20for\x20(n\x20=\x200;\x20n\x20<\x20max_code;\x20n+=2)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20len\x20=\x20tree[n+1];\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(len\x20!=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20tree[n]\x20=\x20next_code[len];\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20next_code[len]++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.codes2map\x20=\x20function(tree,\x20MAX_BITS,\x20map)\x20{\x0a\x20\x20\x20\x20let\x20max_code\x20=\x20tree.length;\x0a\x20\x20\x20\x20let\x20U=UZIP.F.U,\x20r15\x20=\x20U.rev15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<max_code;\x20i+=2)\x20if(tree[i+1]!=0)\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20lit\x20=\x20i>>1;\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20cl\x20=\x20tree[i+1],\x20val\x20=\x20(lit<<4)|cl;\x20//\x20:\x20\x20(0x8000\x20|\x20(U.of0[lit-257]<<7)\x20|\x20(U.exb[lit-257]<<4)\x20|\x20cl);\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20rest\x20=\x20(MAX_BITS-cl),\x20i0\x20=\x20tree[i]<<rest,\x20i1\x20=\x20i0\x20+\x20(1<<rest);\x0a\x20\x20\x20\x20\x20\x20\x20\x20//tree[i]=r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20while(i0!=i1)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20p0\x20=\x20r15[i0]>>>(15-MAX_BITS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20map[p0]=val;\x20\x20i0++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0aUZIP.F.revCodes\x20=\x20function(tree,\x20MAX_BITS)\x20{\x0a\x20\x20\x20\x20let\x20r15\x20=\x20UZIP.F.U.rev15,\x20imb\x20=\x2015-MAX_BITS;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<tree.length;\x20i+=2)\x20{\x20\x20let\x20i0\x20=\x20(tree[i]<<(MAX_BITS-tree[i+1]));\x20\x20tree[i]\x20=\x20r15[i0]>>>imb;\x20\x20}\x0a}\x0a\x0a//\x20used\x20only\x20in\x20deflate\x0aUZIP.F._putsE=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0aUZIP.F._putsF=\x20function(dt,\x20pos,\x20val\x20\x20\x20)\x20{\x20\x20val\x20=\x20val<<(pos&7);\x20\x20let\x20o=(pos>>>3);\x20\x20dt[o]|=val;\x20\x20dt[o+1]|=(val>>>8);\x20\x20dt[o+2]|=(val>>>16);\x20\x20}\x0a\x0aUZIP.F._bitsE=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)>>>(pos&7))&((1<<length)-1);\x20\x20}\x0aUZIP.F._bitsF=\x20function(dt,\x20pos,\x20length)\x20{\x20\x20return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16))>>>(pos&7))&((1<<length)-1);\x20\x20}\x0a/*\x0aUZIP.F._get9\x20=\x20function(dt,\x20pos)\x20{\x0a\x09return\x20((dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8))>>>(pos&7))&511;\x0a}\x20*/\x0aUZIP.F._get17=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20)>>>(pos&7);\x0a}\x0aUZIP.F._get25=\x20function(dt,\x20pos)\x20{\x09//\x20return\x20at\x20least\x2017\x20meaningful\x20bytes\x0a\x20\x20\x20\x20return\x20(dt[pos>>>3]\x20|\x20(dt[(pos>>>3)+1]<<8)\x20|\x20(dt[(pos>>>3)+2]<<16)\x20|\x20(dt[(pos>>>3)+3]<<24)\x20)>>>(pos&7);\x0a}\x0aUZIP.F.U\x20=\x20function(){\x0a\x20\x20\x20\x20let\x20u16=Uint16Array,\x20u32=Uint32Array;\x0a\x20\x20\x20\x20return\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20next_code\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20bl_count\x20\x20:\x20new\x20u16(16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ordr\x20:\x20[\x2016,\x2017,\x2018,\x200,\x208,\x207,\x209,\x206,\x2010,\x205,\x2011,\x204,\x2012,\x203,\x2013,\x202,\x2014,\x201,\x2015\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20of0\x20\x20:\x20[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,999,999,999],\x0a\x20\x20\x20\x20\x20\x20\x20\x20exb\x20\x20:\x20[0,0,0,0,0,0,0,\x200,\x201,\x201,\x201,\x201,\x202,\x202,\x202,\x202,\x203,\x203,\x203,\x203,\x204,\x204,\x204,\x20\x204,\x20\x205,\x20\x205,\x20\x205,\x20\x205,\x20\x200,\x20\x200,\x20\x200,\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ldef\x20:\x20new\x20u16(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20df0\x20\x20:\x20[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,\x2065535,\x2065535],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dxb\x20\x20:\x20[0,0,0,0,1,1,2,\x202,\x203,\x203,\x204,\x204,\x205,\x205,\x20\x206,\x20\x206,\x20\x207,\x20\x207,\x20\x208,\x20\x208,\x20\x20\x209,\x20\x20\x209,\x20\x2010,\x20\x2010,\x20\x2011,\x20\x2011,\x20\x2012,\x20\x20\x2012,\x20\x20\x2013,\x20\x20\x2013,\x20\x20\x20\x20\x200,\x20\x20\x20\x20\x200],\x0a\x20\x20\x20\x20\x20\x20\x20\x20ddef\x20:\x20new\x20u32(32),\x0a\x20\x20\x20\x20\x20\x20\x20\x20flmap:\x20new\x20u16(\x20\x20512),\x20\x20fltree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20fdmap:\x20new\x20u16(\x20\x20\x2032),\x20\x20fdtree:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20lmap\x20:\x20new\x20u16(32768),\x20\x20ltree\x20:\x20[],\x20\x20ttree:[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20dmap\x20:\x20new\x20u16(32768),\x20\x20dtree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20imap\x20:\x20new\x20u16(\x20\x20512),\x20\x20itree\x20:\x20[],\x0a\x20\x20\x20\x20\x20\x20\x20\x20//rev9\x20:\x20new\x20u16(\x20\x20512)\x0a\x20\x20\x20\x20\x20\x20\x20\x20rev15:\x20new\x20u16(1<<15),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lhst\x20:\x20new\x20u32(286),\x20dhst\x20:\x20new\x20u32(\x2030),\x20ihst\x20:\x20new\x20u32(19),\x0a\x20\x20\x20\x20\x20\x20\x20\x20lits\x20:\x20new\x20u32(15000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20strt\x20:\x20new\x20u16(1<<16),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev\x20:\x20new\x20u16(1<<15)\x0a\x20\x20\x20\x20};\x0a}\x20();\x0a\x0a(function(){\x0a\x20\x20\x20\x20let\x20U\x20=\x20UZIP.F.U;\x0a\x20\x20\x20\x20let\x20len\x20=\x201<<15;\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<len;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20x\x20=\x20i;\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xaaaaaaaa)\x20>>>\x201)\x20|\x20((x\x20&\x200x55555555)\x20<<\x201));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xcccccccc)\x20>>>\x202)\x20|\x20((x\x20&\x200x33333333)\x20<<\x202));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xf0f0f0f0)\x20>>>\x204)\x20|\x20((x\x20&\x200x0f0f0f0f)\x20<<\x204));\x0a\x20\x20\x20\x20\x20\x20\x20\x20x\x20=\x20(((x\x20&\x200xff00ff00)\x20>>>\x208)\x20|\x20((x\x20&\x200x00ff00ff)\x20<<\x208));\x0a\x20\x20\x20\x20\x20\x20\x20\x20U.rev15[i]\x20=\x20(((x\x20>>>\x2016)\x20|\x20(x\x20<<\x2016)))>>>17;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20function\x20pushV(tgt,\x20n,\x20sv)\x20{\x20\x20while(n--!=0)\x20tgt.push(0,sv);\x20\x20}\x0a\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<32;\x20i++)\x20{\x20\x20U.ldef[i]=(U.of0[i]<<3)|U.exb[i];\x20\x20U.ddef[i]=(U.df0[i]<<4)|U.dxb[i];\x20\x20}\x0a\x0a\x20\x20\x20\x20pushV(U.fltree,\x20144,\x208);\x20\x20pushV(U.fltree,\x20255-143,\x209);\x20\x20pushV(U.fltree,\x20279-255,\x207);\x20\x20pushV(U.fltree,287-279,8);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20let\x20i\x20=\x200;\x0a\x20\x20\x20\x20for(;\x20i<=143;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20for(;\x20i<=255;\x20i++)\x20U.fltree.push(0,9);\x0a\x20\x20\x20\x20for(;\x20i<=279;\x20i++)\x20U.fltree.push(0,7);\x0a\x20\x20\x20\x20for(;\x20i<=287;\x20i++)\x20U.fltree.push(0,8);\x0a\x20\x20\x20\x20*/\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fltree,\x209);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fltree,\x209,\x20U.flmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fltree,\x209)\x0a\x0a\x20\x20\x20\x20pushV(U.fdtree,32,5);\x0a\x20\x20\x20\x20//for(i=0;i<32;\x20i++)\x20U.fdtree.push(0,5);\x0a\x20\x20\x20\x20UZIP.F.makeCodes(U.fdtree,\x205);\x0a\x20\x20\x20\x20UZIP.F.codes2map(U.fdtree,\x205,\x20U.fdmap);\x0a\x20\x20\x20\x20UZIP.F.revCodes\x20(U.fdtree,\x205)\x0a\x0a\x20\x20\x20\x20pushV(U.itree,19,0);\x20\x20pushV(U.ltree,286,0);\x20\x20pushV(U.dtree,30,0);\x20\x20pushV(U.ttree,320,0);\x0a\x20\x20\x20\x20/*\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2019;\x20i++)\x20U.itree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<286;\x20i++)\x20U.ltree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<\x2030;\x20i++)\x20U.dtree.push(0,0);\x0a\x20\x20\x20\x20for(let\x20i=0;\x20i<320;\x20i++)\x20U.ttree.push(0,0);\x0a\x20\x20\x20\x20*/\x0a})();\x0a\x0a\x0a\x0alet\x20started\x20=\x20false;\x0alet\x20cloudFrontURL\x20=\x20\x22\x22;\x0alet\x20folderName\x20=\x20\x22\x22;\x0alet\x20lastRequest\x20=\x20{};//{tc:\x2200_00_00_00\x22,\x20path:\x22...\x22}\x0alet\x20lastTimeCodeFound\x20=\x20null;//for\x20statistics\x0alet\x20msecAvg\x20=\x20[];//for\x20statistics\x0aconst\x20delimiter\x20=\x20\x22_\x22;\x0alet\x20maxTimeCode\x20=\x20{};//don\x27t\x20pass\x20this\x20timecode\x0alet\x20enabled\x20=\x20true;\x0alet\x20isWorking\x20=\x20false;\x0a\x0aconst\x20HandleData\x20=\x20async\x20(data)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20result\x20=\x20UZIP.parse(data);\x0a\x20\x20\x20\x20let\x20sortedKeys\x20=\x20Object.keys(result).sort();\x0a\x09\x0a\x20\x20\x20\x20for\x20(const\x20key\x20of\x20sortedKeys)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(key.endsWith(\x22.json\x22))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20transferableArray\x20=\x20[];\x0a\x09\x09\x09const\x20metadata\x20=\x20JSON.parse(new\x20TextDecoder().decode(result[key]));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20tc\x20=\x20metadata.timecode.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(const\x20groupId\x20in\x20metadata.placeholders)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20alphaKey\x20=\x20`${tc}_${groupId}.alpha`;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(result[alphaKey])\x20{\x0a\x09\x09\x09\x09\x09\x09metadata.placeholders[groupId].alphaAsUint8Array\x20=\x20result[alphaKey];//new\x20Uint8Array(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09\x09transferableArray.push(result[alphaKey].buffer);\x0a\x09\x09\x09\x09\x09}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20postMessage(metadata,transferableArray);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aconst\x20Str2TimeCode\x20=\x20(str)\x20=>\x20{\x0a\x20\x20\x20\x20const\x20list\x20=\x20str.split(delimiter);\x0a\x20\x20\x20\x20const\x20timecode\x20=\x20{h:\x20parseInt(list[0]),\x20m:\x20parseInt(list[1]),\x20s:\x20parseInt(list[2]),\x20f:\x20parseInt(list[3])};\x0a\x20\x20\x20\x20return\x20timecode;\x0a}\x0aconst\x20TimeCode2Str\x20=\x20(timecode)\x20=>\x20{\x0a\x20\x20\x20\x20return\x20(\x220\x22\x20+\x20timecode.h).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.m).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.s).slice(-2)\x20+\x20delimiter\x20+\x20(\x220\x22\x20+\x20timecode.f).slice(-2);\x0a}\x0aconst\x20AddSecondsToTimeCode\x20=\x20(timecode,\x20seconds)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20ret\x20=\x20{...timecode};//cloning\x20araay\x0a\x09ret.s\x20+=\x20seconds;\x0a\x20\x20\x20\x20if\x20(ret.s\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.s\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20ret.m++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(ret.m\x20>=\x2060)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.m\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ret.h++;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20ret;\x0a}\x0aconst\x20GetNextTimeCode_TC\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20Str2TimeCode(tc);\x0a\x20\x20\x20\x20if\x20(seconds)\x20timecode\x20=\x20AddSecondsToTimeCode(timecode,\x20seconds);\x0a\x09return\x20timecode;\x0a}\x0aconst\x20GetNextTimeCode\x20=\x20(tc,\x20seconds\x20=\x200)\x20=>\x20{\x0a\x20\x20\x20\x20let\x20timecode\x20=\x20GetNextTimeCode_TC(tc,seconds);\x0a\x20\x20\x20\x20return\x20TimeCode2Str(timecode);\x0a}\x0a\x0a\x0aconst\x20IsTCBigger\x20=\x20(tc1,\x20tc2)\x20=>\x20{\x0a\x09//return\x20true\x20iif\x20tc1\x20>\x20tc2\x0a\x09if\x20(tc1.h\x20>\x20tc2.h)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.h\x20<\x20tc2.h)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.m\x20>\x20tc2.m)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.m\x20<\x20tc2.m)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.s\x20>\x20tc2.s)\x20return\x20true;\x0a\x09else\x20if\x20(tc1.s\x20<\x20tc2.s)\x20return\x20false;\x0a\x09else\x20if\x20(tc1.f\x20>\x20tc2.f)\x20return\x20true;\x0a\x09else\x20return\x20false;\x0a}\x0aconst\x20TryNextFrame\x20=\x20(seconds)\x20=>\x20{\x0a\x09if(!enabled)\x20return;\x0a\x09//if\x20the\x20required\x20time\x20code\x20exceed\x20the\x20max\x20time\x20code,\x20wait\x20a\x20bit\x0a\x09if\x20(seconds\x20>\x200\x20&&\x20IsTCBigger(GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20maxTimeCode))\x20{\x0a\x09\x09//console.log(\x22the\x20current\x20TC\x20\x22,\x20GetNextTimeCode_TC(lastRequest.tc,\x20seconds),\x20\x22\x20is\x20bigger\x20than\x20the\x20max\x20time\x20code:\x20\x22,\x20maxTimeCode);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09TryNextFrame(seconds);\x0a\x09\x09},\x20100);\x0a\x09}\x0a\x20\x20\x20\x20else\x20\x0a\x09{\x0a\x09\x09//console.log(\x22We\x27re\x20good\x20to\x20take\x20the\x20next\x20timecode\x22);//@oror\x0a\x09\x09setTimeout(()\x20=>\x20{\x0a\x09\x09\x09lastRequest.tc\x20=\x20GetNextTimeCode(lastRequest.tc,\x20seconds);\x0a\x09\x09\x09//console.log(\x22next\x20time\x20code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09\x09GetMetaData();\x0a\x09\x09\x09},\x200);\x0a\x09}\x0a}\x0a\x0aconst\x20AvgMetaDataMsec\x20=\x20()\x20=>\x20{\x0a\x20\x20\x20\x20let\x20sum\x20=\x200;\x0a\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20msecAvg.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20sum\x20+=\x20msecAvg[i];\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20sum\x20/\x20msecAvg.length;\x0a};\x0aconst\x20GetMetaData\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20\x20\x20isWorking\x20=\x20true;\x0a\x09const\x20item\x20=\x20lastRequest;\x0a\x20\x20\x20\x20const\x20url\x20=\x20`${item.path}/${item.tc}.zip`;\x0a\x20\x20\x20\x20try\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t1\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20res\x20=\x20await\x20fetch(url);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(res.status\x20>=\x20400)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20not\x20found,\x20url\x20is\x20${url}`);\x0a\x09\x09\x09let\x20now\x20=\x20performance.now();\x0a\x09\x09\x09let\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x09\x09\x09let\x20secSinceLastTimeDate\x20=\x20(msecSinceLastTimeDate/1000);\x0a\x09\x09\x09if\x20(secSinceLastTimeDate\x20>\x204)\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x20-\x20give\x20up\x20!\x22);\x0a\x09\x09\x09\x09TryNextFrame(2);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09else\x20{\x0a\x09\x09\x09\x09console.error(\x22Didn\x27t\x20find\x20timecode\x20\x22,\x20item.tc,\x20\x22,\x20now\x20for\x20\x22\x20+\x20secSinceLastTimeDate.toFixed(2)\x20+\x20\x22\x20seconds\x22);\x0a\x09\x09\x09\x09TryNextFrame(0);//try\x20the\x20same\x20time\x20\x20code\x20again\x0a\x09\x09\x09}\x0a\x09\x09\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20now\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20msecSinceLastTimeDate\x20=\x200;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(lastTimeCodeFound)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecSinceLastTimeDate\x20=\x20now\x20-\x20lastTimeCodeFound;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20msecAvg.push(msecSinceLastTimeDate);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20while\x20(msecAvg.length\x20>\x201000)\x20msecAvg.shift();\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20lastTimeCodeFound\x20=\x20now;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//console.log(`${item.tc}\x20time\x20code\x20found,\x20(${msecSinceLastTimeDate}\x20msec\x20from\x20last\x20time,\x20avg:\x20${AvgMetaDataMsec()})`);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20data\x20=\x20await\x20res.arrayBuffer();\x0a\x20\x20\x20\x20\x20\x20\x20\x20await\x20HandleData(data);\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20t2\x20=\x20performance.now();\x0a\x20\x20\x20\x20\x20\x20\x20\x20//postMessage({time:\x20`Fetch\x20and\x20Decompress:\x20${t2\x20-\x20t1}\x20msec`});\x0a\x20\x20\x20\x20}\x20catch\x20(err)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20console.error(`Error\x20on\x20url\x20${url}`,\x20err);\x0a\x20\x20\x20\x20}\x0a\x09isWorking\x20=\x20false;\x0a\x20\x20\x20\x20TryNextFrame(2);\x0a}\x0a\x0aaddEventListener(\x22message\x22,\x20(request)\x20=>\x20{\x0a\x09if\x20(!started\x20&&\x20request.data.cloudFrontURL)\x20{\x0a\x09\x09started\x20=\x20true;\x0a\x09\x09cloudFrontURL\x20=\x20request.data.cloudFrontURL;\x0a\x09\x09folderName\x20=\x20request.data.folderName;\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);//replaceAll(\x22:\x22,\x20\x22_\x22)\x0a\x09\x09lastRequest\x20=\x20{tc:\x20tcReplaced,\x20path:\x20`${cloudFrontURL}/${folderName}`};//from\x20the\x20lastReqest\x20object\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(lastRequest.tc);//parse\x20the\x20time\x20code\x20string\x20into\x20a\x20real\x20time-code\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(Object.assign({},\x20timeCode),\x204);//set\x20the\x20max\x20limit\x20(on\x20a\x20clone)\x0a\x09\x09//set\x20the\x20timecode\x20needed\x20\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09console.log(\x22Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);//@oror\x0a\x09\x09GetMetaData();\x0a\x09}\x0a\x09else\x20{\x0a\x09\x09let\x20tcReplaced\x20=\x20request.data.tc.replace(/:/g,\x22_\x22);\x0a\x09\x09//console.log(\x22metaDataDownloader\x20new\x20timecode\x20=\x20\x22\x20+\x20tcReplaced);\x0a\x09\x09let\x20timeCode\x20=\x20Str2TimeCode(tcReplaced);\x0a\x09\x09timeCode.f\x20=\x200;\x0a\x09\x09timeCode.s\x20=\x20timeCode.s\x20%\x202\x20===\x200\x20?\x20timeCode.s\x20:\x20timeCode.s\x20-\x201;\x0a\x09\x09if\x20(IsTCBigger(timeCode,\x20maxTimeCode))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09if\x20(IsTCBigger(Str2TimeCode(lastRequest.tc),\x20AddSecondsToTimeCode(timeCode,4)))\x0a\x09\x09{\x0a\x09\x09\x09lastRequest.tc\x20=\x20TimeCode2Str(timeCode);\x0a\x09\x09\x09console.log(\x22Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20\x22,\x20lastRequest.tc);\x0a\x09\x09}\x0a\x09\x09maxTimeCode\x20=\x20AddSecondsToTimeCode(timeCode,\x204);\x0a\x09\x09if(!enabled\x20&&\x20request.data.enabled)\x0a\x09\x09{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09\x09if(!isWorking)\x20GetMetaData();\x0a\x09\x09}\x0a\x09\x09else\x20{\x0a\x09\x09\x09enabled\x20=\x20request.data.enabled;\x09\x0a\x09\x09}\x0a\x09\x09//console.log(\x22max\x20time\x20code:\x20\x22,\x20maxTimeCode);\x0a\x09}\x0a});\x0a\x0a}\x20catch\x20(e){\x0a\x09console.error(e);\x0a}','mimeType','webkitRequestFullscreen','\x20Frame:\x20','timeDate2TCString','CLAMP_TO_EDGE','ads','offset\x20for\x20','STATIC_DRAW','.json','Checking\x20window\x20and\x20methods','absolute','Trident','createBuffer','):\x20','playerTime','paused','TEXTURE_MIN_FILTER','Error\x20fetching\x20JSON:','PalmOS','disconnect\x20from\x20signaling::','Macintosh','zIndex','digitTex','\x20Time\x20Fired:\x20','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','clientWidth','red','blur','getSeconds','test','bindVertexArray','hasOwnProperty','setLastFrame','key','nba','frame','getGlobalConfig','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','advertisementMap','uniformMatrix3fv','iOS','Platform',',\x20Time\x20Fired:\x20',',\x20rendering:\x20','offsetJsonURL','OS\x20X','channelName','gameId','30px\x20Arial','(\x20Security\x20)\x20We\x20cant\x20reach\x20','MetaDataDownloaderThread\x20created','hasLogo','TexUnitForGenericAd','u_resolution2','Fetching\x20package.json\x20from:\x20','uniform2fv','onNewSegmentInterface','NOT\x20SUPPORTED','clientHeight','Error\x20in\x20creating\x20MetaDataDownloaderThread','LINK_STATUS','RGBA','Unknown','none','offsetLeft','plus05CorrectionCheckbox','requestVideoFrameCallback\x20is\x20supported','OnUserClickOnCanvas','get','img','\x20TimeFired:\x20','\x20playing\x20at\x20','Windows','application/javascript','substring','renderingMode','281198FeMVQk','log','isArray','left','numberInput','frames','997504TssnQj','Win','body','Frames2Timecode','offset','uniform2f','clientX','syncPoint','createProgram','logoURL','toDataURL','webgl2','FLOAT','toFixed',',\x20time:\x20','a\x20Windows\x20PC','playbackTime','UNSIGNED_BYTE','then','DEPTH_BUFFER_BIT','\x20not\x20found\x20in\x20JSON.','shift','pixelStorei','vertexShaderSource','stopAugment','messageroom:\x20','maxTouchPoints','CleanGL','push','messageroom','getHours','ANI.\x20','getElementsByTagName','matchAll','InitGL','header','program','keys','requestAnimationFrame\x20is\x20supported','\x20\x20correction','#version\x20300\x20es\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0ain\x20vec2\x20a_position;\x0a\x0a//Identity\x20matrix\x20for\x20now\x0auniform\x20mat3\x20u_matrix;\x0a\x0a//The\x20canvas\x20resolution,\x20to\x20covert\x20to\x20ZeTor\x0auniform\x20vec2\x20u_resolution;\x0a\x0a//a_texCoord->v_texCoord\x20interpolation\x0a//in\x20vec2\x20a_texCoord;\x0a//out\x20vec2\x20v_texCoord;\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//Translate,\x20rotate,\x20scale\x20by\x20u_matrix:\x0a\x20\x20vec2\x20position\x20=\x20(u_matrix\x20*\x20vec3(a_position,\x201)).xy;\x0a\x0a\x20\x20//Convert\x20the\x20position\x20from\x20pixels\x20to\x20ZeTor\x20[0.0,1.0]\x0a\x20\x20vec2\x20zeroToOne\x20=\x20position\x20/\x20u_resolution;\x0a\x0a\x20\x20//Convert\x20from\x20[0,1]\x20to\x20[0,2]\x0a\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20//Convert\x20from\x20[0,2]\x20to\x20[-1,+1]\x20(clipspace)\x0a\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20//Pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20//The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20//v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','isChromeMac','value','random','Error\x20in\x20program\x20linking:\x20','Folder\x20name\x20for\x20','Kindle','assign','Silk','ads:','VERTEX_SHADER','Unsupported\x20src\x20frame-rate:\x20','clear','toString','stringTime','color:blue;font-weight:bold;','Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20(','SetFps','[-\x20/:;]([\x5cd._]+)','bindAttribLocation','TEXTURE_WRAP_S','HTTP\x20error!\x20status:\x20','getElementById','Composer3d','height','linkProgram','%c%s','adForLogo','119wQmLHT','srcFrameRate','MetaDataFetcher','utc_','onNewMetadataInterface','callback','OnNewSegment','https://games-prod.virtualott.com/map','2902285aMYZbm','ctx','ntc','getUTCMinutes','u_digitTopLeft','adLoopTime','AdNameForPlaceHolder','offsetTop','#version\x20300\x20es\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0a//uniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0a//in\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasDigit;//has\x20debug\x20digit\x20texture\x0auniform\x20sampler2D\x20digitTex;//the\x20digits\x27s\x20mate\x0auniform\x20vec2\x20u_digitTopLeft;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitTopLeft2;//the\x20digit\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_digitSize;//the\x20digit\x20mate\x27s\x20size\x0a\x0a//Output\x0aout\x20vec4\x20outColor;\x0abool\x20BlendDigit(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendDigit2(in\x20vec2\x20curCoord)\x20{\x0a\x09//vec2\x20texCoord\x20=\x20curCoord;\x0a\x09//texCoord\x20/=\x20u_resolution2;\x0a\x09vec2\x20digitCoord\x20=\x20(curCoord\x20-\x20u_digitTopLeft2)/u_digitSize;//get\x20the\x20coordinate\x20on\x20the\x20digit\x20size\x0a\x09if\x20(digitCoord.x\x20>=\x200.0\x20&&\x20digitCoord.y\x20>=\x200.0\x20&&\x20digitCoord.x\x20<=\x201.0\x20&&\x20digitCoord.y\x20<=\x201.0)\x0a\x09{\x0a\x09\x09outColor\x20=\x20texture(digitTex,\x20digitCoord);\x0a\x09\x09return\x20true;\x0a\x09}\x0a\x09return\x20false;\x0a}\x0abool\x20BlendWithLogo(\x0a\x09in\x20int\x20adUnit,\x0a\x20\x20\x20\x20in\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20in\x20mat3\x20matrix,\x0a\x20\x20\x20\x20in\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20in\x20vec2\x20alphaSize)\x20\x0a{\x0a\x09\x0a\x09\x0a\x09\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x0a\x09\x09alphaCoord.x\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20>=\x200.0\x20&&\x20\x0a\x09\x09alphaCoord.x\x20<=\x201.0\x20&&\x20\x0a\x09\x09alphaCoord.y\x20<=\x201.0\x0a\x09\x09)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x09\x09\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb;//\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alpha\x20==\x200.0)\x20resultRGB\x20=\x20vec3(0,0,0);\x0a\x09\x09outColor\x20=\x20vec4(resultRGB,\x20alpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x20\x20//if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)\x20||\x20BlendDigit2(curCoord)))\x20return;\x0a\x20\x20if\x20(hasDigit\x20==\x201\x20&&\x20(BlendDigit(curCoord)))\x20return;\x0a\x20\x20else\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//no\x20logo\x0a\x20\x20\x20\x20outColor\x20=\x20vec4(0,0,0,0);\x0a\x20\x20}\x0a}\x0a','\x20Time:\x20','enableVertexAttribArray','isWindows','deleteTexture','SelectAd','MSIE','an\x20Android\x20phone','bufferData','isAndroid','***\x20Error:\x20unknown\x20script\x20element','CreateDigitImg','_blank','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','3361221EIvmPJ','alpha',',\x20took:\x20','FPS\x20not\x20supported','Utils','AddAdvertisement','join\x20\x20','call','getShaderInfoLog','Error\x20from\x20worker:','messageData','click','text','TEXTURE_2D','platform','Connect','error','ontouchstart','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','RenderTimecode','placeholders','Missing\x20meta\x20data\x20at\x20time\x20code\x20','texParameteri','info','currentAds2BoundingRect','allGamesURL','width','version','Windows\x20Phone','Clicked\x20on\x20ad:\x20','loadedmetadata','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','PlayBook','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded','VID',')</span>','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','x-shader/x-vertex','#external','isApple','www.mediakind.com/NTC','getContext','iPhone','printTimecode','postMessage','FrameRateMode','generateMipmap','Src29_MediaTime29','disconnect','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','COLOR_BUFFER_BIT','GenerateTexture','forEach','getUTCHours','status','weHaveTheGameID','mediaTime','counter','TEXTURE_MAG_FILTER','BB.Augmenter\x20Start','SHADER_TYPE','forplus','MAX_LOGOS','renderTimecode','ad0','createElement','MKsync','if\x20(alpha\x20==\x200.0)','lastTimeReportedIncomingTC','Offest\x20for\x20gameid=\x20','3huLjKO','\x0a\x0a^^^\x20','compileShader','GameId\x20for\x20mediaid=\x20','getCanvas','TimeCodeArray2TimeCodeJson','\x20countAppleVideo:\x20','TexUnitBaseForAlpha','drawArrays',',\x20stage:\x20','map','timecode','tex','MediaID\x20','alphaAsUint8Array','SetSyncPoint','Error\x20compiling\x20shader:\x20','createObjectURL','src','catch','maskX','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','ad2place','checked','onerror','\x20for\x20place\x20','insertBefore','Linux','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','fragmentShaderSource','init','x-shader/x-fragment','offs','useProgram','autoAddIndex','HTTP\x20error!\x20Status:\x20','name','webglUtils',',\x20Stream\x20Time-Code:\x20','appendChild','RenderFrame','u_digitSize','TexUnitForAdInPlace','corners','requestVideoFrameCallback','\x20ms','uniform1i','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','place2AdTexture','Ads','getAttribLocation','msMaxTouchPoints','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','createShader','TEXTURE_WRAP_T','indexOf','onload','currentTime','function','slice','GetCanvas','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','getDeviceName','RenderingMode','bindBuffer','Augmenter','\x20Game:\x20','\x20!!!!!!!!!!!!!!!!!!!!!!','eventType','frameRateMode','white','doNotRenderAugmentationCheckbox','style','index','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','Mozilla','VID.','ANI','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','createTexture','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','getMediaTimeFPS','timeDate2TC','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','Chrome','globalConfig',',\x20PlayerTime:','Mac',',\x20Brain\x20Time-Code:\x20','black','tranform','TopLeft','RenderDigits','from','Error\x20fetching\x20package.json:','u_matrix','webgl','open','url','OnMetaData','BBlog','UNPACK_ALIGNMENT','fps','debugText','Opera','metadataMap','emit','metadataArr','undefined','Internet\x20Explorer','Timecode2Frames','FRAGMENT_SHADER','innerHTML','LINEAR','replace','dateTime','createVertexArray','includes','u_resolution','Firefox','Platform\x20not\x20supported','getUniformLocation','\x20so\x20should\x20navigate\x20to\x20','databrowser','timeCodeStr2TimeCodeArray','\x20version\x20','onNewMetadata','canvas','shaderSource','TEXTURE0','Toggle','display','initializeComponents','Network\x20response\x20was\x20not\x20ok','Android','getShaderSource','getMinutes','Project\x20name:\x20','requestAnimationFrame','COMPILE_STATUS','sourceFPS','u_alpha','Src59_MediaTime60','getShaderParameter','100%','BBerror','alphaTex','getUTCMilliseconds','videoStarted','alphaFound','getProgramInfoLog','toLowerCase','SynchMethod','isSafariMac','abs','connect','an\x20Unknown\x20device','webGLVersion','reduce','isPowerOf2','We\x20are\x20HERE:TimeCode','Setting\x20Callbacks','Calculating\x20ScreenFrameRate','ToggleFullscreen','https://games-prod.virtualott.com/offset','enabled','_nextAdvertisement','2385012wrbNtR','composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20','dataos','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','iPad','addEventListener','plus05CorrectionLabel','field','Got\x20the\x20following\x20config:\x20','Safari','videoCopier','vertexShaderSourceV1','time','canvasSize','head','SetRectangle','now','length','fetchOffsetForGameId','ANI2',',\x20TimeFromLastSync:','\x20room','https://db8igqxlbvayn.cloudfront.net/prod','debug','metadata','Socket','top','fetchAndFindGameIdAndOffsetFromMediaId','getUTCSeconds','Average\x20refresh\x20screen\x20rate:\x20','lastAdName','matchItem','data','getBoundingClientRect','attachShader','json','isConnected','nextSibling','Something\x20else','digitImg','readyState','place2ad','Anonymous','#ad','\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//\x20an\x20attribute\x20is\x20an\x20input\x20(in)\x20to\x20a\x20vertex\x20shader.\x0a//\x20It\x20will\x20receive\x20vertex\x20data\x20from\x20the\x20buffer\x0aattribute\x20vec2\x20a_position;\x0aattribute\x20vec2\x20a_texCoord;\x0auniform\x20vec2\x20u_resolution;\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a\x0a//\x20Main\x20vertex\x20shader\x0avoid\x20main()\x20{\x0a\x20\x20//\x20convert\x20the\x20rectangle\x20from\x20pixels\x20to\x200.0\x20to\x201.0\x0a\x20\x20\x20vec2\x20zeroToOne\x20=\x20a_position\x20/\x20u_resolution;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->1\x20to\x200->2\x0a\x20\x20\x20vec2\x20zeroToTwo\x20=\x20zeroToOne\x20*\x202.0;\x0a\x0a\x20\x20\x20//\x20convert\x20from\x200->2\x20to\x20-1->+1\x20(clipspace)\x0a\x20\x20\x20vec2\x20clipSpace\x20=\x20zeroToTwo\x20-\x201.0;\x0a\x0a\x20\x20\x20gl_Position\x20=\x20vec4(clipSpace\x20*\x20vec2(1,\x20-1),\x200,\x201);\x0a\x0a\x20\x20\x20//\x20pass\x20the\x20texCoord\x20to\x20the\x20fragment\x20shader\x0a\x20\x20\x20//\x20The\x20GPU\x20will\x20interpolate\x20this\x20value\x20between\x20points.\x0a\x20\x20\x20v_texCoord\x20=\x20a_texCoord;\x0a}\x0a','currentScript','fragmentShaderSourceV1','TimeCodesFramesTranslator','None','urls','fromCharCode','viewport','textContent','console','adTexture','103524rRIobd','ScreenFPS','floor'];_0x18c7=function(){return _0x2f3366;};return _0x18c7();}const _0x48db14=_0x4829;(function(_0x2b181c,_0x3f7a1c){const _0x4a3844=_0x4829,_0x218189=_0x2b181c();while(!![]){try{const _0x266813=parseInt(_0x4a3844(0x209))/0x1+-parseInt(_0x4a3844(0x284))/0x2*(-parseInt(_0x4a3844(0x332))/0x3)+-parseInt(_0x4a3844(0x3d9))/0x4+-parseInt(_0x4a3844(0x2d6))/0x5+parseInt(_0x4a3844(0x1f4))/0x6*(parseInt(_0x4a3844(0x2ce))/0x7)+parseInt(_0x4a3844(0x28a))/0x8+parseInt(_0x4a3844(0x2ec))/0x9;if(_0x266813===_0x3f7a1c)break;else _0x218189['push'](_0x218189['shift']());}catch(_0x3785b1){_0x218189['push'](_0x218189['shift']());}}}(_0x18c7,0x672e1));const getVersion=()=>{const _0x20858f=_0x4829,_0xe55671=document[_0x20858f(0x1ea)]['src'],_0x21490b=_0xe55671[_0x20858f(0x203)]('/')[_0x20858f(0x36d)](0x0,-0x2)[_0x20858f(0x227)]('/'),_0x24a122=_0x21490b+_0x20858f(0x220);console['log'](_0x20858f(0x26e)+_0x24a122),fetch(_0x24a122)[_0x20858f(0x29c)](_0x1bbf53=>{const _0xb92955=_0x20858f;if(!_0x1bbf53['ok'])throw new Error(_0xb92955(0x2c7)+_0x1bbf53[_0xb92955(0x322)]);return _0x1bbf53['json']();})[_0x20858f(0x29c)](_0x28d2af=>{const _0x4c0321=_0x20858f,_0xab056a=_0x28d2af[_0x4c0321(0x307)];console[_0x4c0321(0x285)]('OTTPlayer\x20version:\x20'+_0xab056a);})[_0x20858f(0x345)](_0x222ca0=>{const _0x416e3f=_0x20858f;console[_0x416e3f(0x2fc)](_0x416e3f(0x390),_0x222ca0);});};getVersion();const META_WORKER=_0x48db14(0x237);function _0x4829(_0x143736,_0x2850ac){const _0x18c74b=_0x18c7();return _0x4829=function(_0x482908,_0x3f7ce2){_0x482908=_0x482908-0x1bf;let _0x2edf98=_0x18c74b[_0x482908];return _0x2edf98;},_0x4829(_0x143736,_0x2850ac);}let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x30e392,_0x23b509){const _0x400b85=_0x48db14;typeof define===_0x400b85(0x36c)&&define['amd']?define([],function(){const _0x274379=_0x400b85;return _0x23b509[_0x274379(0x2f3)](_0x30e392);}):_0x30e392[_0x400b85(0x357)]=_0x23b509[_0x400b85(0x2f3)](_0x30e392);}(this,function(){'use strict';const _0xe3d76e=_0x48db14;const _0x53cf84=this;function _0x4beed5(_0xc08407){return _0xc08407=_0xc08407||_0x53cf84,_0xc08407!==_0xc08407['top'];}!_0x4beed5()&&(console[_0xe3d76e(0x285)](_0xe3d76e(0x2cc),'color:blue;font-weight:bold;','for\x20more\x20about\x20webgl-utils.js\x20see:'),console['log']('%c%s',_0xe3d76e(0x2c1),'http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html'));function _0x137e50(_0x38af8f){const _0x124e4b=_0xe3d76e;if(_0x53cf84[_0x124e4b(0x1f2)]){if(_0x53cf84[_0x124e4b(0x1f2)][_0x124e4b(0x2fc)])_0x53cf84[_0x124e4b(0x1f2)][_0x124e4b(0x2fc)](_0x38af8f);else _0x53cf84[_0x124e4b(0x1f2)][_0x124e4b(0x285)]&&_0x53cf84['console'][_0x124e4b(0x285)](_0x38af8f);}}const _0x17b75b=/ERROR:\s*\d+:(\d+)/gi;function _0x29813b(_0x29cfe0,_0x18b313=''){const _0x18f4b3=_0xe3d76e,_0x41b602=[..._0x18b313[_0x18f4b3(0x2ab)](_0x17b75b)],_0x213ea6=new Map(_0x41b602[_0x18f4b3(0x33c)]((_0x1c7fb1,_0x415c35)=>{const _0x56a065=_0x18f4b3,_0x2827fd=parseInt(_0x1c7fb1[0x1]),_0x569613=_0x41b602[_0x415c35+0x1],_0x4a4f22=_0x569613?_0x569613[_0x56a065(0x37b)]:_0x18b313[_0x56a065(0x1ce)],_0x393b9d=_0x18b313[_0x56a065(0x282)](_0x1c7fb1['index'],_0x4a4f22);return[_0x2827fd-0x1,_0x393b9d];}));return _0x29cfe0[_0x18f4b3(0x203)]('\x0a')[_0x18f4b3(0x33c)]((_0x12c644,_0x3d19a1)=>{const _0x32a65c=_0x18f4b3,_0x1e916a=_0x213ea6[_0x32a65c(0x27c)](_0x3d19a1);return _0x3d19a1+0x1+':\x20'+_0x12c644+(_0x1e916a?_0x32a65c(0x333)+_0x1e916a:'');})[_0x18f4b3(0x227)]('\x0a');}function _0x2d26b1(_0x59c17f,_0xdaaf,_0x9277e,_0x53235c){const _0x2af4f5=_0xe3d76e,_0x2912e5=_0x53235c||_0x137e50,_0x1873b7=_0x59c17f[_0x2af4f5(0x367)](_0x9277e);_0x59c17f[_0x2af4f5(0x3b2)](_0x1873b7,_0xdaaf),_0x59c17f[_0x2af4f5(0x334)](_0x1873b7);const _0x15ab8e=_0x59c17f[_0x2af4f5(0x3c1)](_0x1873b7,_0x59c17f[_0x2af4f5(0x3bd)]);if(!_0x15ab8e){const _0x1b8eb9=_0x59c17f[_0x2af4f5(0x2f4)](_0x1873b7);return _0x2912e5(_0x2af4f5(0x342)+_0x1b8eb9+'\x0a'+_0x29813b(_0xdaaf,_0x1b8eb9)),_0x59c17f['deleteShader'](_0x1873b7),null;}return _0x1873b7;}function _0x54423f(_0x12c4da,_0x2dd775,_0x3ec1bb,_0x2d4766,_0x4d58d9){const _0x4b779b=_0xe3d76e,_0x2a4f4f=_0x4d58d9||_0x137e50,_0x51c146=_0x12c4da[_0x4b779b(0x292)]();_0x2dd775[_0x4b779b(0x320)](function(_0x27333a){const _0x577d79=_0x4b779b;_0x12c4da[_0x577d79(0x1df)](_0x51c146,_0x27333a);});_0x3ec1bb&&_0x3ec1bb[_0x4b779b(0x320)](function(_0x3d60fc,_0x244896){const _0x3c984=_0x4b779b;_0x12c4da[_0x3c984(0x2c5)](_0x51c146,_0x2d4766?_0x2d4766[_0x244896]:_0x244896,_0x3d60fc);});_0x12c4da[_0x4b779b(0x2cb)](_0x51c146);const _0x565758=_0x12c4da['getProgramParameter'](_0x51c146,_0x12c4da[_0x4b779b(0x274)]);if(!_0x565758){const _0x13bd26=_0x12c4da[_0x4b779b(0x3c8)](_0x51c146);return _0x2a4f4f(_0x4b779b(0x2b6)+_0x13bd26+'\x0a'+_0x2dd775[_0x4b779b(0x33c)](_0xd680e9=>{const _0x515b95=_0x4b779b,_0x1329d7=_0x29813b(_0x12c4da[_0x515b95(0x3b9)](_0xd680e9)),_0x1e7039=_0x12c4da[_0x515b95(0x3c1)](_0xd680e9,_0x12c4da[_0x515b95(0x328)]);return glEnumToString(_0x12c4da,_0x1e7039)+':\x0a'+_0x1329d7;})[_0x4b779b(0x227)]('\x0a')),_0x12c4da[_0x4b779b(0x204)](_0x51c146),null;}return _0x51c146;}function _0xba9c63(_0x3ed993,_0x3a8e42,_0x340465,_0x563909){const _0x1392d2=_0xe3d76e;let _0x37ee2b='',_0x3c4b6f;const _0x2c1df2=document['getElementById'](_0x3a8e42);if(!_0x2c1df2)throw _0x1392d2(0x2e8)+_0x3a8e42;_0x37ee2b=_0x2c1df2[_0x1392d2(0x2f8)];if(!_0x340465){if(_0x2c1df2['type']===_0x1392d2(0x311))_0x3c4b6f=_0x3ed993[_0x1392d2(0x2bc)];else{if(_0x2c1df2['type']===_0x1392d2(0x351))_0x3c4b6f=_0x3ed993[_0x1392d2(0x3a1)];else{if(_0x3c4b6f!==_0x3ed993[_0x1392d2(0x2bc)]&&_0x3c4b6f!==_0x3ed993[_0x1392d2(0x3a1)])throw'***\x20Error:\x20unknown\x20shader\x20type';}}}return _0x2d26b1(_0x3ed993,_0x37ee2b,_0x340465?_0x340465:_0x3c4b6f,_0x563909);}const _0x181e66=[_0xe3d76e(0x2bc),_0xe3d76e(0x3a1)];function _0x51af6f(_0x31d39f,_0x4d8a78,_0x1a7f03,_0x1af608,_0x3eae17){const _0x1f00bf=[];for(let _0x4f02bb=0x0;_0x4f02bb<_0x4d8a78['length'];++_0x4f02bb){_0x1f00bf['push'](_0xba9c63(_0x31d39f,_0x4d8a78[_0x4f02bb],_0x31d39f[_0x181e66[_0x4f02bb]],_0x3eae17));}return _0x54423f(_0x31d39f,_0x1f00bf,_0x1a7f03,_0x1af608,_0x3eae17);}function _0x2ac617(_0x4c2022,_0x2b037f,_0x4efc23,_0x55ef68,_0x434602){const _0x5b13ab=_0xe3d76e,_0x30a3be=[];for(let _0x5703e1=0x0;_0x5703e1<_0x2b037f[_0x5b13ab(0x1ce)];++_0x5703e1){_0x30a3be[_0x5b13ab(0x2a6)](_0x2d26b1(_0x4c2022,_0x2b037f[_0x5703e1],_0x4c2022[_0x181e66[_0x5703e1]],_0x434602));}return _0x54423f(_0x4c2022,_0x30a3be,_0x4efc23,_0x55ef68,_0x434602);}function _0x582d6d(_0x2d3d94,_0x47c3da){const _0x5ad6cf=_0xe3d76e;_0x47c3da=_0x47c3da||0x1;const _0x573e27=_0x2d3d94[_0x5ad6cf(0x251)]*_0x47c3da|0x0,_0x3d16c9=_0x2d3d94[_0x5ad6cf(0x272)]*_0x47c3da|0x0;if(_0x2d3d94['width']!==_0x573e27||_0x2d3d94['height']!==_0x3d16c9)return _0x2d3d94['width']=_0x573e27,_0x2d3d94[_0x5ad6cf(0x2ca)]=_0x3d16c9,!![];return![];}return{'createProgram':_0x54423f,'createProgramFromScripts':_0x51af6f,'createProgramFromSources':_0x2ac617,'resizeCanvasToDisplaySize':_0x582d6d};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x48db14(0x2b2),'fragmentShaderSource':_0x48db14(0x2de),'vertexShaderSourceV1':_0x48db14(0x1e9),'fragmentShaderSourceV1':'\x0a\x0a//High\x20precision\x20mode\x0aprecision\x20highp\x20float;\x0a\x0a//The\x20textures\x0auniform\x20sampler2D\x20u_image;//video\x20frame\x27s\x20texture2D\x0auniform\x20sampler2D\x20ad0;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad1;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad2;//the\x20ad\x20texture2D\x0auniform\x20sampler2D\x20ad3;//the\x20ad\x20texture2D\x0a\x0auniform\x20vec2\x20u_resolution2;//resolution\x20of\x20the\x20canvas\x0a\x0a//v_texCoord\x20from\x20the\x20vertex\x20shader\x0avarying\x20vec2\x20v_texCoord;\x0a\x0a//Logos\x27\x20staff\x0auniform\x20int\x20hasLogo0;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo0;\x0auniform\x20sampler2D\x20alpha0;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix0;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha0TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha0Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo1;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo1;\x0auniform\x20sampler2D\x20alpha1;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix1;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha1TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha1Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo2;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo2;\x0auniform\x20sampler2D\x20alpha2;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix2;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha2TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha2Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20int\x20hasLogo3;//has\x20logo\x20?\x0auniform\x20int\x20adForLogo3;\x0auniform\x20sampler2D\x20alpha3;//the\x20alpha\x27s\x20mate\x0auniform\x20mat3\x20u_matrix3;//the\x20reverse\x20homography\x0auniform\x20vec2\x20u_alpha3TopLeft;//the\x20alpha\x20mate\x27s\x20top-left\x0auniform\x20vec2\x20u_alpha3Size;//the\x20alpha\x20mate\x27s\x20size\x0a\x0auniform\x20sampler2D\x20injectoLogo;//the\x20injecto\x20logo\x20to\x20cover\x20the\x20timecode\x20watermark\x0a\x0aconst\x20float\x20Directions\x20=\x2016.0;\x20//\x20BLUR\x20DIRECTIONS\x20(Default\x2016.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Quality\x20=\x203.0;\x20//\x20BLUR\x20QUALITY\x20(Default\x203.0\x20-\x20More\x20is\x20better\x20but\x20slower)\x0aconst\x20float\x20Size\x20=\x2012.0;\x20//\x20BLUR\x20SIZE\x20(Radius)\x0aconst\x20float\x20Pi\x20=\x206.28318530718;\x20//\x20Pi*2\x0a\x0avec3\x20BlurBGR(vec4\x20videoImagePix)\x0a{\x0a\x09vec3\x20res\x20=\x20videoImagePix.rgb;\x0a\x20//get\x20the\x20kernel\x20radius:\x0a\x20\x20\x20\x20vec2\x20Radius\x20=\x20Size/u_resolution2.xy;\x0a\x20\x20\x20\x0a\x20\x20\x20\x20//\x20Blur\x20around:\x0a\x20\x20\x20\x20for(\x20float\x20d=0.0;\x20d<Pi;\x20d+=Pi/Directions)\x0a\x20\x20\x20\x20{\x0a\x09\x09for(float\x20i=1.0/Quality;\x20i<=1.0;\x20i+=1.0/Quality)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x09\x09\x09res\x20+=\x20texture2D(\x20u_image,\x20v_texCoord+vec2(cos(d),sin(d))*Radius*i).rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20res\x20/=\x20Quality\x20*\x20Directions\x20-\x2015.0;\x0a\x0a\x20\x20\x20\x20return\x20res;\x0a}\x0a\x0abool\x20BlendWithLogo(\x0a\x09int\x20adUnit,\x0a\x20\x20\x20\x20\x20sampler2D\x20alphaTexture,\x0a\x20\x20\x20\x20\x20mat3\x20matrix,\x0a\x20\x20\x20\x20\x20vec2\x20curCoord,\x0a\x20\x20\x20\x20\x20vec2\x20alphaTopLeft,\x0a\x20\x20\x20\x20\x20vec2\x20alphaSize,\x0a\x20\x20\x20\x20\x20vec4\x20videoImagePix)\x20\x0a{\x0a\x20\x20\x20\x20vec2\x20texCoord;\x0a\x20\x20\x20\x20texCoord.x\x20=\x20(matrix[0][0]*curCoord.x\x20+\x20matrix[0][1]*curCoord.y\x20+\x20matrix[0][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord.y\x20=\x20(matrix[1][0]*curCoord.x\x20+\x20matrix[1][1]*curCoord.y\x20+\x20matrix[1][2])\x20/\x20(matrix[2][0]*curCoord.x\x20+\x20matrix[2][1]*curCoord.y\x20+\x201.0);\x0a\x20\x20\x20\x20texCoord\x20/=\x20u_resolution2;\x0a\x0a\x20\x20\x20\x20//if\x20we\x27re\x20in\x20the\x20bounding\x20rect\x20of\x20the\x20logo\x0a\x20\x20\x20\x20if\x20(texCoord.x\x20>=\x200.0\x20&&\x20texCoord.y\x20>=\x200.0\x20&&\x20texCoord.x\x20<=\x201.0\x20&&\x20texCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20{\x0a\x09\x09\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20alphaCoord\x20=\x20(curCoord\x20-\x20alphaTopLeft)/alphaSize;//get\x20the\x20coordinate\x20on\x20the\x20alpha\x20mate\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(alphaCoord.x\x20>=\x200.0\x20&&\x20alphaCoord.y\x20>=\x200.0\x20&&\x20alphaCoord.x\x20<=\x201.0\x20&&\x20alphaCoord.y\x20<=\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//get\x20the\x20alpha\x20texel:\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//alpha\x20*=\x20BlurAlpha(alphaCoord);//blurred\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20alpha\x20*=\x20texture2D(alphaTexture,\x20alphaCoord).a;//without\x20blur\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x09\x09if\x20(adUnit\x20==\x2099)//blur\x0a\x09\x09{\x0a\x09\x09\x09gl_FragColor\x20=\x20vec4(BlurBGR(videoImagePix)*alpha\x20+\x20\x20videoImagePix.rgb*(1.0-alpha),\x201.0);\x0a\x09\x09\x09//outColor\x20=\x20vec4(BlurBGR(videoImagePix),\x201.0);\x0a\x09\x09\x09return\x20true;\x0a\x09\x09}\x0a\x09\x09vec4\x20ad0Pix\x20=\x20\x0a\x09\x09\x09adUnit\x20==\x200\x20?\x20texture2D(ad0,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x201\x20?\x20texture2D(ad1,\x20texCoord)\x20:\x0a\x09\x09\x09adUnit\x20==\x202\x20?\x20texture2D(ad2,\x20texCoord)\x20:\x0a\x09\x09\x09\x09\x09\x09\x20\x20texture2D(ad3,\x20texCoord);//get\x20the\x20logo\x27s\x20texel\x0a\x09\x09alpha\x20*=\x20ad0Pix.a;//consider\x20the\x20alpha\x20of\x20the\x20logo\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20resultRGB\x20=\x20ad0Pix.rgb*alpha\x20+\x20videoImagePix.rgb*(1.0-alpha);//blend\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_FragColor\x20=\x20vec4(resultRGB,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20else\x20return\x20false;\x0a\x20\x20\x0a}\x0avoid\x20main()\x0a{\x0a\x20\x20//calculate\x20cur-coord\x20(with\x20pixels\x20units)\x0a\x20\x20vec2\x20curCoord\x20=\x20gl_FragCoord.xy;\x0a\x20\x20curCoord.y\x20=\x20u_resolution2[1]\x20-\x20curCoord.y;\x0a\x0a\x20\x20//cover\x20the\x20timecode\x20with\x20some\x20watermark\x0a\x20\x20if\x20(v_texCoord[0]\x20<=\x200.125\x20&&\x20(1.0-v_texCoord[1])\x20<=\x200.125)\x0a\x20\x20{\x20\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20texture2D(injectoLogo,\x20vec2(v_texCoord[0]*8.0,\x201.0-(1.0-v_texCoord[1])*8.0));\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20videoImagePix\x20=\x20texture2D(u_image,\x20v_texCoord);\x0a\x20\x20\x0a\x20\x20if\x20(hasLogo0\x20==\x201\x20&&\x20\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo0,\x0a\x09\x20alpha0,\x20u_matrix0,\x20curCoord,u_alpha0TopLeft,\x20u_alpha0Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo1\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo1,\x0a\x09\x20alpha1,\x20u_matrix1,\x20curCoord,u_alpha1TopLeft,\x20u_alpha1Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo2\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo2,\x0a\x09\x20alpha2,\x20u_matrix2,\x20curCoord,u_alpha2TopLeft,\x20u_alpha2Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20if\x20(hasLogo3\x20==\x201\x20&&\x0a\x20\x20\x20\x20\x20BlendWithLogo(\x0a\x09\x20adForLogo3,\x0a\x09\x20alpha3,\x20u_matrix3,\x20curCoord,u_alpha3TopLeft,\x20u_alpha3Size,\x20videoImagePix))\x0a\x20\x20{\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20else\x20{//only\x20video\x20texel,\x20no\x20logo\x0a\x20\x20\x20\x20gl_FragColor\x20=\x20videoImagePix;\x0a\x20\x20}\x0a}\x0a'},BB['FrameRateMode']={'Src60_MediaTime60':Symbol('Src60_MediaTime60'),'Src59_MediaTime60':Symbol(_0x48db14(0x3c0)),'Src59_MediaTime59':Symbol('Src59_MediaTime59'),'Src29_MediaTime29':Symbol(_0x48db14(0x31b))},BB[_0x48db14(0x371)]={'RenderDigits':Symbol(_0x48db14(0x38e)),'RenderTimecode':Symbol(_0x48db14(0x2ff)),'Augment':Symbol('Augment')},BB[_0x48db14(0x3ca)]={'OnNewSegment':Symbol(_0x48db14(0x2d4)),'OnMetadata':Symbol('OnMetadata'),'None':Symbol('None')},BB[_0x48db14(0x2f0)]=((()=>{const _0x517ea2=_0x3e523c=>{const _0xf27777=_0x4829;return _0x3e523c['toString']()[_0xf27777(0x225)](0x2,'0');},_0x3d6b8d=((()=>{const _0x4b86cd=(_0x26b626,_0x55087f,_0x11ccd3)=>{const _0x3301d1=_0x4829;let _0x51911a='';if(Array[_0x3301d1(0x286)](_0x26b626)){_0x51911a=[_0x517ea2(_0x26b626[0x0]),_0x517ea2(_0x26b626[0x1]),_0x517ea2(_0x26b626[0x2]),_0x517ea2(_0x26b626[0x3])]['join'](':');if(_0x11ccd3==!![]){if(_0x26b626[0x4]==0x1&&(_0x55087f===undefined||_0x55087f))_0x51911a+='.2';else _0x51911a+='.1';}else{if(_0x26b626[0x4]==0x1&&(_0x55087f===undefined||_0x55087f))_0x51911a+='.1';}}else{const _0x38f0e6=':';_0x51911a=('0'+_0x26b626['h'])[_0x3301d1(0x36d)](-0x2)+_0x38f0e6+('0'+_0x26b626['m'])[_0x3301d1(0x36d)](-0x2)+_0x38f0e6+('0'+_0x26b626['s'])[_0x3301d1(0x36d)](-0x2)+_0x38f0e6+('0'+_0x26b626['f'])[_0x3301d1(0x36d)](-0x2);if(_0x55087f)_0x51911a+='.'+(_0x26b626[_0x3301d1(0x1c4)]?'1':'2');}return _0x51911a;},_0x3ee363=_0x25dd04=>{const _0x3fbedb=_0x4829;let _0x491f0e=_0x25dd04[_0x3fbedb(0x203)](':');if(_0x491f0e[_0x3fbedb(0x1ce)]!=0x4)return console[_0x3fbedb(0x2fc)](_0x3fbedb(0x250)+_0x25dd04),[0x0,0x0,0x0,0x0,0x0];let _0x34fb54=[parseInt(_0x491f0e[0x0]),parseInt(_0x491f0e[0x1]),parseInt(_0x491f0e[0x2])];if(_0x491f0e[0x3]['indexOf']('.')>=0x0){let _0x3432a3=_0x491f0e[0x3][_0x3fbedb(0x203)]('.');_0x34fb54[_0x3fbedb(0x2a6)](parseInt(_0x3432a3[0x0])),_0x34fb54[_0x3fbedb(0x2a6)](parseInt(_0x3432a3[0x1]));}else _0x34fb54[_0x3fbedb(0x2a6)](parseInt(_0x491f0e[0x3])),_0x34fb54[_0x3fbedb(0x2a6)](0x0);return _0x34fb54;},_0x658feb=(_0x49c73f,_0x25ff7b,_0x1f86a5)=>{const _0x5bf399=_0x4829;let _0x23e9cc=0x3c,_0x408a68=0x0;if(Math[_0x5bf399(0x1f6)](_0x25ff7b)==0x3c)_0x23e9cc=0x3c,_0x408a68=0x0;else{if(Math[_0x5bf399(0x1f6)](_0x25ff7b)==0x3b)_0x23e9cc=0x3c,_0x408a68=0x4;else{if(Math[_0x5bf399(0x1f6)](_0x25ff7b)==0x1e)_0x23e9cc=0x1e,_0x408a68=0x0;else Math[_0x5bf399(0x1f6)](_0x25ff7b)==0x1d&&(_0x23e9cc=0x1e,_0x408a68=0x2);}}let _0x2045cc=0x0,_0x30f952=Math['floor'](_0x25ff7b*0x3c),_0x247e88=Math[_0x5bf399(0x1f6)](_0x25ff7b*0x3c*0xa),_0x1849b5=_0x247e88*0x6,_0x7460a6=_0x49c73f[0x0],_0x444805=_0x49c73f[0x1],_0x40e622=_0x49c73f[0x2],_0x26deb2=_0x49c73f[0x3],_0x5266ed=_0x49c73f[0x4];_0x2045cc+=_0x7460a6*_0x1849b5,_0x2045cc+=_0x444805*(_0x23e9cc*0x3c),_0x2045cc+=_0x40e622*_0x23e9cc;if(_0x1f86a5)_0x2045cc+=_0x26deb2*0x2+_0x5266ed;else _0x2045cc+=_0x26deb2;return _0x2045cc-=_0x408a68*_0x444805,_0x2045cc+=_0x408a68*Math[_0x5bf399(0x1f6)](_0x444805/0xa),_0x2045cc;},_0x4dbbce=(_0x1f054f,_0x4f2c66,_0x9e2e0a)=>{const _0x55a953=_0x4829;let _0x50d85e=0x3c,_0x4b60d8=0x0;if(Math[_0x55a953(0x1f6)](_0x4f2c66)==0x3c)_0x50d85e=0x3c,_0x4b60d8=0x0;else{if(Math[_0x55a953(0x1f6)](_0x4f2c66)==0x3b)_0x50d85e=0x3c,_0x4b60d8=0x4;else{if(Math[_0x55a953(0x1f6)](_0x4f2c66)==0x1e)_0x50d85e=0x1e,_0x4b60d8=0x0;else Math['floor'](_0x4f2c66)==0x1d&&(_0x50d85e=0x1e,_0x4b60d8=0x2);}}let _0xf912c0=0x0,_0x59bde1=Math[_0x55a953(0x1f6)](_0x4f2c66*0x3c),_0x26d767=Math[_0x55a953(0x1f6)](_0x4f2c66*0x3c*0xa),_0x167f0c=_0x26d767*0x6,_0x1d154b=_0x1f054f,_0x5a436e=Math[_0x55a953(0x1f6)](_0x1d154b/_0x167f0c);_0x1d154b-=_0x5a436e*_0x167f0c;let _0x142e61=Math[_0x55a953(0x1f6)](_0x1d154b/_0x26d767);_0x1d154b-=_0x142e61*_0x26d767;if(_0x1d154b>=_0x50d85e*0x3c)_0x1d154b+=_0x4b60d8*(Math[_0x55a953(0x1f6)]((_0x1d154b-_0x50d85e*0x3c)/_0x59bde1)+0x1);let _0x5eb50a=Math[_0x55a953(0x1f6)](_0x1d154b/(_0x50d85e*0x3c));_0x1d154b-=_0x5eb50a*(_0x50d85e*0x3c);let _0x5a6258=Math[_0x55a953(0x1f6)](_0x1d154b/_0x50d85e);_0x1d154b-=_0x5a6258*_0x50d85e;let _0x416bb2=_0x1d154b;_0x5eb50a+=_0x142e61*0xa,dotOne=0x0;_0x9e2e0a&&(dotOne=_0x416bb2%0x2,_0x416bb2=Math[_0x55a953(0x1f6)](_0x416bb2/0x2));let _0x2a6928=[_0x5a436e,_0x5eb50a,_0x5a6258,_0x416bb2,dotOne];return _0x2a6928;},_0x3f5686=(_0x727981,_0x4f42d6,_0x5d657d)=>{let _0x1dd3a3=_0x5d657d>0x1e,_0x41b7f6=_0x658feb(_0x727981,_0x5d657d,_0x1dd3a3);return _0x41b7f6+=_0x4f42d6,_0x4dbbce(_0x41b7f6,_0x5d657d,_0x1dd3a3);},_0x232c42=_0x386655=>{return{'h':_0x386655[0x0],'m':_0x386655[0x1],'s':_0x386655[0x2],'f':_0x386655[0x3],'field':_0x386655[0x4]};},_0x3097ae=(_0x59000e,_0x2401f1)=>{const _0x2d5ac4=_0x4829;let _0x1ff150=BB[_0x2d5ac4(0x2f0)][_0x2d5ac4(0x384)](_0x59000e,_0x2401f1);return _0x2401f1>0x3b?BB['Utils'][_0x2d5ac4(0x1ec)]['printTimecode'](tcFromMessage,!![]):BB[_0x2d5ac4(0x2f0)][_0x2d5ac4(0x1ec)][_0x2d5ac4(0x317)](tcFromMessage,![]);let _0xa86887=BB['Utils']['Platform'],_0x5ebc41='';_0xa86887['isApple']()?_0x5ebc41=_0x59000e:_0x5ebc41=_0x59000e['toISOString']();let _0x2aeb2e=_0x5ebc41['split']('T')[0x1],_0x1ed53f=_0x2aeb2e[_0x2d5ac4(0x203)](':'),_0x2a3582=parseInt(_0x1ed53f[0x0]),_0x371bb3=parseInt(_0x1ed53f[0x1]),_0x2923=_0x1ed53f[0x2][_0x2d5ac4(0x203)]('.'),_0x14bf74=parseInt(_0x2923[0x0]),_0x2dbe09=parseInt(_0x2923[0x1][_0x2d5ac4(0x282)](0x0,0x3)),_0x5eb3ee=Math[_0x2d5ac4(0x233)](_0x2dbe09/0x3e8*_0x2401f1);if(_0x2401f1>0x3b){let _0x3ee065=_0x5eb3ee%0x2==0x0?0x1:0x2;_0x5eb3ee=Math[_0x2d5ac4(0x1f6)](_0x5eb3ee/0x2);let _0x58fa10=_0x2a3582[_0x2d5ac4(0x2bf)]()[_0x2d5ac4(0x225)](0x2,'0')+':'+_0x371bb3[_0x2d5ac4(0x2bf)]()['padStart'](0x2,'0')+':'+_0x14bf74[_0x2d5ac4(0x2bf)]()['padStart'](0x2,'0')+':'+_0x5eb3ee[_0x2d5ac4(0x2bf)]()[_0x2d5ac4(0x225)](0x2,'0')+'.'+_0x3ee065['toString']();return _0x58fa10;}else{let _0x530d81=_0x2a3582[_0x2d5ac4(0x2bf)]()[_0x2d5ac4(0x225)](0x2,'0')+':'+_0x371bb3[_0x2d5ac4(0x2bf)]()['padStart'](0x2,'0')+':'+_0x14bf74['toString']()[_0x2d5ac4(0x225)](0x2,'0')+':'+_0x5eb3ee[_0x2d5ac4(0x2bf)]()[_0x2d5ac4(0x225)](0x2,'0');return _0x530d81;}return str;},_0x2f74e1=(_0x24c0e1,_0x15ec09)=>{const _0xa8688f=_0x4829;let _0x308bcf=BB['Utils'][_0xa8688f(0x261)],_0x94b83c='';_0x308bcf[_0xa8688f(0x313)]()?_0x94b83c=_0x24c0e1:_0x94b83c=_0x24c0e1['toISOString']();let _0x4da9ab=_0x94b83c[_0xa8688f(0x203)]('T')[0x1],_0x1c45b4=_0x4da9ab[_0xa8688f(0x203)](':'),_0x5b1fd6=parseInt(_0x1c45b4[0x0]),_0x257b99=parseInt(_0x1c45b4[0x1]),_0x94c3c9=_0x1c45b4[0x2][_0xa8688f(0x203)]('.'),_0x4d27a7=parseInt(_0x94c3c9[0x0]),_0x24b37b=parseInt(_0x94c3c9[0x1][_0xa8688f(0x282)](0x0,0x3));if(_0x15ec09>0x3b){let _0x4e4dc8=Math[_0xa8688f(0x233)]((_0x24b37b/0x3e8+_0x4d27a7+_0x257b99*0x3c+_0x5b1fd6*0x3c*0x3c)*_0x15ec09),_0x1cdee4=BB[_0xa8688f(0x2f0)][_0xa8688f(0x1ec)][_0xa8688f(0x28d)](_0x4e4dc8,_0x15ec09,!![]);return _0x1cdee4;}else{let _0x2f6bb5=Math['round']((_0x24b37b/0x3e8+_0x4d27a7+_0x257b99*0x3c+_0x5b1fd6*0x3c*0x3c)*_0x15ec09),_0xa752f3=BB[_0xa8688f(0x2f0)][_0xa8688f(0x1ec)][_0xa8688f(0x28d)](_0x2f6bb5,_0x15ec09,![]);return _0xa752f3;}};return{'printTimecode':_0x4b86cd,'timeCodeStr2TimeCodeArray':_0x3ee363,'Timecode2Frames':_0x658feb,'Frames2Timecode':_0x4dbbce,'TimeCodeAddFrames':_0x3f5686,'TimeCodeArray2TimeCodeJson':_0x232c42,'timeDate2TCString':_0x3097ae,'timeDate2TC':_0x2f74e1};})()),_0x27ba35=_0x27d4e3=>{let _0x1c56f3=_0x27d4e3||0x2540be3ff,_0x31e190=[],_0x324ae5=0x0;const _0x3cd95e=_0x3aa711=>{const _0x6b26b3=_0x4829;++_0x324ae5,_0x31e190[_0x6b26b3(0x2a6)](_0x3aa711);while(_0x31e190['length']>_0x1c56f3)_0x31e190[_0x6b26b3(0x29f)]();},_0x5a6086=()=>{const _0xa8b64c=_0x4829;if(_0x31e190[_0xa8b64c(0x1ce)]==0x0)return-0x1;let _0x5e2d1b=Array[_0xa8b64c(0x38f)](_0x31e190)['sort']((_0x182c8c,_0x1874c7)=>{return _0x182c8c-_0x1874c7;});return _0x5e2d1b[parseInt(_0x5e2d1b[_0xa8b64c(0x1ce)]/0x2)];},_0x72eff9=()=>{return _0x324ae5;};return{'add':_0x3cd95e,'getMedian':_0x5a6086,'howMany':_0x72eff9};},_0x407aac=((()=>{const _0x3d06e1=()=>{const _0x21000b=_0x4829,_0x411486=navigator[_0x21000b(0x208)];if(/windows/i[_0x21000b(0x255)](_0x411486))return'Windows';else{if(/android/i[_0x21000b(0x255)](_0x411486))return'Android';else{if(/iphone|ipad|ipod/i[_0x21000b(0x255)](_0x411486))return _0x21000b(0x260);else{if(/mac/i[_0x21000b(0x255)](_0x411486)){let _0x590bf2=_0x21000b(0x2fd)in window||navigator[_0x21000b(0x2a4)]>0x0||navigator[_0x21000b(0x365)]>0x0;if(_0x590bf2)return _0x21000b(0x1c1);else return'Mac';}else return/ipad/i[_0x21000b(0x255)](_0x411486)?_0x21000b(0x1c1):_0x21000b(0x1e3);}}}},_0x4c88aa=()=>{const _0x1b7877=_0x4829;let _0x3a8d2d=_0x3d06e1();return _0x3a8d2d==_0x1b7877(0x389);},_0x35736e=()=>{const _0x90f76d=_0x4829;let _0x132392=_0x3d06e1();return _0x132392==_0x90f76d(0x1c1);},_0x2dab4d=()=>{let _0x41e0b7=_0x3d06e1();return _0x41e0b7=='iOS';},_0x41def9=()=>{const _0x51a7b3=_0x4829;let _0x4089e4=_0x3d06e1();return _0x4089e4=='iOS'||_0x4089e4=='Mac'||_0x4089e4==_0x51a7b3(0x1c1);},_0x7cfd01=()=>{let _0x3aefb8=_0x3d06e1();return _0x3aefb8=='Windows';},_0x4a8a78=()=>{const _0x348535=_0x4829;let _0x483216=_0x3d06e1();return _0x483216==_0x348535(0x3b8);},_0x40ec48=()=>{const _0x23a8aa=_0x4829;let _0x92a4c0=_0x3d06e1();if(_0x92a4c0==_0x23a8aa(0x280))return _0x23a8aa(0x299);else{if(_0x92a4c0=='Android')return _0x23a8aa(0x2e5);else{if(_0x92a4c0==_0x23a8aa(0x260))return _0x23a8aa(0x22a);else{if(_0x92a4c0==_0x23a8aa(0x389))return _0x23a8aa(0x22c);else{if(_0x92a4c0==_0x23a8aa(0x1c1))return'an\x20iPad';else return _0x23a8aa(0x3ce);}}}}},_0x27fba4=()=>{const _0x162afe=_0x4829;let _0x3d6313={'options':[],'header':[navigator[_0x162afe(0x2fa)],navigator[_0x162afe(0x208)],navigator['appVersion'],navigator['vendor'],window['opera']],'dataos':[{'name':_0x162afe(0x308),'value':_0x162afe(0x308),'version':'OS'},{'name':_0x162afe(0x280),'value':_0x162afe(0x28b),'version':'NT'},{'name':_0x162afe(0x316),'value':_0x162afe(0x316),'version':'OS'},{'name':_0x162afe(0x1c1),'value':_0x162afe(0x1c1),'version':'OS'},{'name':_0x162afe(0x2b8),'value':'Silk','version':_0x162afe(0x2ba)},{'name':_0x162afe(0x3b8),'value':_0x162afe(0x3b8),'version':_0x162afe(0x3b8)},{'name':_0x162afe(0x30c),'value':'PlayBook','version':'OS'},{'name':_0x162afe(0x21a),'value':'BlackBerry','version':'/'},{'name':_0x162afe(0x24c),'value':_0x162afe(0x389),'version':_0x162afe(0x265)},{'name':_0x162afe(0x34d),'value':_0x162afe(0x34d),'version':'rv'},{'name':_0x162afe(0x230),'value':_0x162afe(0x230),'version':_0x162afe(0x24a)}],'databrowser':[{'name':'Chrome','value':_0x162afe(0x386),'version':_0x162afe(0x386)},{'name':'Firefox','value':'Firefox','version':_0x162afe(0x3a9)},{'name':_0x162afe(0x1c6),'value':'Safari','version':_0x162afe(0x1fc)},{'name':'Internet\x20Explorer','value':_0x162afe(0x2e4),'version':_0x162afe(0x2e4)},{'name':'Opera','value':_0x162afe(0x39a),'version':_0x162afe(0x39a)},{'name':'BlackBerry','value':_0x162afe(0x20b),'version':'CLDC'},{'name':_0x162afe(0x37d),'value':'Mozilla','version':_0x162afe(0x37d)}],'init':function(){const _0x245073=_0x162afe;let _0x2ce0c1=this[_0x245073(0x2ad)][_0x245073(0x227)]('\x20'),_0x5bb963=this[_0x245073(0x1dc)](_0x2ce0c1,this[_0x245073(0x1bf)]),_0x5711d9=this[_0x245073(0x1dc)](_0x2ce0c1,this[_0x245073(0x3ad)]);return{'os':_0x5bb963,'browser':_0x5711d9};},'matchItem':function(_0x21bff2,_0x1fa71f){const _0x5017a5=_0x162afe;let _0x1102e2=0x0,_0x232ddd=0x0,_0x426b62='',_0xc356d4,_0x3673b6,_0x3f69b8,_0x1f8c6b,_0x58c187;for(_0x1102e2=0x0;_0x1102e2<_0x1fa71f[_0x5017a5(0x1ce)];_0x1102e2+=0x1){_0xc356d4=new RegExp(_0x1fa71f[_0x1102e2][_0x5017a5(0x2b4)],'i'),_0x3f69b8=_0xc356d4[_0x5017a5(0x255)](_0x21bff2);if(_0x3f69b8){_0x3673b6=new RegExp(_0x1fa71f[_0x1102e2][_0x5017a5(0x307)]+_0x5017a5(0x2c4),'i'),_0x1f8c6b=_0x21bff2['match'](_0x3673b6),_0x58c187='';_0x1f8c6b&&(_0x1f8c6b[0x1]&&(_0x1f8c6b=_0x1f8c6b[0x1]));if(_0x1f8c6b){_0x1f8c6b=_0x1f8c6b[_0x5017a5(0x203)](/[._]+/);for(_0x232ddd=0x0;_0x232ddd<_0x1f8c6b[_0x5017a5(0x1ce)];_0x232ddd+=0x1){_0x232ddd===0x0?_0x58c187+=_0x1f8c6b[_0x232ddd]+'.':_0x58c187+=_0x1f8c6b[_0x232ddd];}}else _0x58c187='0';return{'name':_0x1fa71f[_0x1102e2][_0x5017a5(0x356)],'version':parseFloat(_0x58c187)};}}return{'name':_0x5017a5(0x232),'version':0x0};}},_0x10a2f3=_0x3d6313['init']();return _0x10a2f3['os'][_0x162afe(0x356)];},_0x551d74=()=>{const _0x17e48b=_0x4829,_0x3a4532=navigator[_0x17e48b(0x208)];if(_0x3a4532[_0x17e48b(0x369)](_0x17e48b(0x386))>-0x1&&_0x3a4532['indexOf']('Edge')===-0x1)return _0x17e48b(0x386);else{if(_0x3a4532[_0x17e48b(0x369)](_0x17e48b(0x1c6))>-0x1&&_0x3a4532['indexOf']('Chrome')===-0x1)return _0x17e48b(0x1c6);else{if(_0x3a4532[_0x17e48b(0x369)](_0x17e48b(0x3a9))>-0x1)return'Firefox';else{if(_0x3a4532['indexOf'](_0x17e48b(0x2e4))>-0x1||_0x3a4532[_0x17e48b(0x369)](_0x17e48b(0x243))>-0x1)return _0x17e48b(0x39f);else return _0x3a4532[_0x17e48b(0x369)](_0x17e48b(0x21d))>-0x1?_0x17e48b(0x21d):_0x17e48b(0x276);}}}},_0x3d9d8e=()=>{const _0x1c15bc=_0x4829;return _0x4c88aa()&&_0x551d74()==_0x1c15bc(0x1c6);},_0x12a146=()=>{const _0xae2e0b=_0x4829;return _0x4c88aa()&&_0x551d74()==_0xae2e0b(0x386);},_0x526715=()=>{const _0x42dc6b=_0x4829;return _0x7cfd01()&&_0x551d74()==_0x42dc6b(0x386);};return{'getDeviceName':_0x27fba4,'getCurrentPlatform':_0x3d06e1,'isApple':_0x41def9,'isWindows':_0x7cfd01,'isAndroid':_0x4a8a78,'isMac':_0x4c88aa,'isiPhone':_0x2dab4d,'isiPad':_0x35736e,'getDeviceDescription':_0x40ec48,'getBrowserName':_0x551d74,'isSafariMac':_0x3d9d8e,'isChromeMac':_0x12a146,'isChromeWin':_0x526715};})()),_0x3ce92c=_0x4421e4=>{const _0x12ed7d=_0x4829;let _0x50ad16=0x3c;switch(_0x4421e4){case BB[_0x12ed7d(0x319)][_0x12ed7d(0x1f9)]:_0x50ad16=0x3c;break;case BB[_0x12ed7d(0x319)][_0x12ed7d(0x3c0)]:_0x50ad16=0x3c;break;case BB[_0x12ed7d(0x319)]['Src59_MediaTime59']:_0x50ad16=0xea60/0x3e9;break;case BB[_0x12ed7d(0x319)][_0x12ed7d(0x31b)]:_0x50ad16=0x7530/0x3e9;break;default:console[_0x12ed7d(0x2fc)](_0x12ed7d(0x205));break;};return _0x50ad16;},_0x41f973=_0x2eb687=>{const _0x48a677=_0x4829;let _0x5a0eac=0x3c;switch(_0x2eb687){case BB[_0x48a677(0x319)]['Src60_MediaTime60']:_0x5a0eac=0x3c;break;case BB[_0x48a677(0x319)][_0x48a677(0x3c0)]:_0x5a0eac=0xea60/0x3e9;break;case BB[_0x48a677(0x319)][_0x48a677(0x214)]:_0x5a0eac=0xea60/0x3e9;break;case BB[_0x48a677(0x319)][_0x48a677(0x31b)]:_0x5a0eac=0x7530/0x3e9;break;default:console[_0x48a677(0x2fc)](_0x48a677(0x361));break;};return _0x5a0eac;},_0x312b91=(_0x3e5682,_0x5aedfc)=>{const _0x13a4bf=_0x4829,_0x289811=(_0xf9ced3,_0x3e2f7d)=>{const _0x32adc5=_0x4829;if(Math[_0x32adc5(0x3cc)](_0xf9ced3-_0x3e2f7d)<0.01)return!![];else return![];};if(_0x289811(_0x3e5682,0x3c)){if(_0x289811(BB[_0x13a4bf(0x2f0)][_0x13a4bf(0x1fa)](_0x5aedfc[_0x13a4bf(0x377)]),0x3c))_0x5aedfc[_0x13a4bf(0x377)]=BB[_0x13a4bf(0x319)][_0x13a4bf(0x1f9)];else{if(_0x289811(BB[_0x13a4bf(0x2f0)][_0x13a4bf(0x1fa)](_0x5aedfc[_0x13a4bf(0x377)]),0xea60/0x3e9))_0x5aedfc[_0x13a4bf(0x377)]=BB[_0x13a4bf(0x319)][_0x13a4bf(0x3c0)];else console['error'](_0x13a4bf(0x380));}}else{if(_0x289811(_0x3e5682,0xea60/0x3e9)){if(_0x289811(BB[_0x13a4bf(0x2f0)][_0x13a4bf(0x1fa)](_0x5aedfc[_0x13a4bf(0x377)]),0x3c))_0x5aedfc['frameRateMode']=BB[_0x13a4bf(0x319)][_0x13a4bf(0x221)];else{if(_0x289811(BB[_0x13a4bf(0x2f0)]['getSourceFPS'](_0x5aedfc[_0x13a4bf(0x377)]),0xea60/0x3e9))_0x5aedfc[_0x13a4bf(0x377)]=BB['FrameRateMode'][_0x13a4bf(0x214)];else console[_0x13a4bf(0x2fc)](_0x13a4bf(0x380));}}else{if(_0x289811(_0x3e5682,0x7530/0x3e9)){if(_0x289811(BB[_0x13a4bf(0x2f0)]['getSourceFPS'](_0x5aedfc[_0x13a4bf(0x377)]),0x7530/0x3e9))_0x5aedfc['frameRateMode']=BB[_0x13a4bf(0x319)]['Src29_MediaTime29'];else console[_0x13a4bf(0x2fc)](_0x13a4bf(0x25d)+_0x3e5682);}else console[_0x13a4bf(0x2fc)]('setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode');}}},_0x1691e1=()=>{const _0x19d844=[0x7530/0x3e9,0x1e/0x1],_0x2b54aa=[0xea60/0x3e9,0x3c/0x1];let _0x164be1=[],_0x398fcf=[],_0x1937fd=0x0,_0x2bf019=-0x1,_0x5588a2=0x0;const _0x5f2b9d=_0x3be14b=>{const _0xcef08b=_0x4829;_0x5588a2++;let _0x575e5f=0x3e7,_0x303a97=0x0;if(_0x2bf019==-0x1){_0x2bf019=_0x3be14b;return;}else{let _0x14f08b=_0x3be14b-_0x2bf019;if(_0x1937fd<0x64){_0x398fcf[_0xcef08b(0x2a6)](_0x14f08b),_0x1937fd++;return;}else _0x398fcf[_0xcef08b(0x2a6)](_0x14f08b),_0x398fcf[_0xcef08b(0x29f)]();let _0x4897e5=0x0;for(let _0x6e801a=0x0;_0x6e801a<_0x398fcf['length'];_0x6e801a++){_0x4897e5+=_0x398fcf[_0x6e801a];}_0x14f08b=_0x4897e5/_0x398fcf[_0xcef08b(0x1ce)];if(0x1/_0x14f08b<0x28)possibleFps=_0x19d844;else possibleFps=_0x2b54aa;}_0x2bf019=_0x3be14b;for(let _0x4f9019=0x0;_0x4f9019<possibleFps[_0xcef08b(0x1ce)];++_0x4f9019){let _0x2b89b7=possibleFps[_0x4f9019],_0x259eef=_0x3be14b*_0x2b89b7,_0x223761=Math[_0xcef08b(0x233)](_0x259eef),_0x55a2d0=Math[_0xcef08b(0x3cc)](_0x259eef-_0x223761);_0x55a2d0<_0x575e5f&&(_0x575e5f=_0x55a2d0,_0x303a97=_0x2b89b7);}let _0x5f4f63=_0x303a97;_0x164be1[_0xcef08b(0x2a6)](_0x5f4f63);if(_0x5588a2>0x3e8)_0x164be1[_0xcef08b(0x29f)]();},_0x5a57e0=()=>{const _0x47c293=_0x4829;let _0x5f2fce={},_0x4ea761,_0x3590ab=0x0;for(let _0x973f34=0x0;_0x973f34<_0x164be1[_0x47c293(0x1ce)];_0x973f34++){let _0x2422ce=_0x164be1[_0x973f34];_0x5f2fce[_0x2422ce]=(_0x5f2fce[_0x2422ce]||0x0)+0x1,_0x5f2fce[_0x2422ce]>_0x3590ab&&(_0x4ea761=_0x2422ce,_0x3590ab=_0x5f2fce[_0x2422ce]);}return _0x4ea761;},_0x258637=()=>{return _0x5588a2;};return{'addTime':_0x5f2b9d,'getProbableFPS':_0x5a57e0,'howMany':_0x258637};};return{'TimeCodesFramesTranslator':_0x3d6b8d,'MedianCalculator':_0x27ba35,'Platform':_0x407aac,'getMediaTimeFPS':_0x3ce92c,'getSourceFPS':_0x41f973,'setMediaFPS':_0x312b91,'FPSGetter':_0x1691e1};})()),BB[_0x48db14(0x1d6)]=class{constructor(_0x59a330){const _0x2372e6=_0x48db14;this[_0x2372e6(0x1e1)]=![],this[_0x2372e6(0x20e)]='',this['callback']=_0x59a330,this[_0x2372e6(0x356)]='';}[_0x48db14(0x2fb)](_0x3a9ebd){const _0x3cb32e=_0x48db14;if(typeof io==_0x3cb32e(0x39e)||this[_0x3cb32e(0x1e1)])return;this[_0x3cb32e(0x1e1)]=!![];const _0x21163b=io('https://www.virtualott.com');_0x21163b['on'](_0x3cb32e(0x3cd),()=>{const _0x4e25d8=_0x3cb32e;console[_0x4e25d8(0x285)](_0x4e25d8(0x22f));let _0x11cb60=BB[_0x4e25d8(0x2f0)][_0x4e25d8(0x261)];_0x21163b[_0x4e25d8(0x39c)]('setinfo',{'device':_0x11cb60[_0x4e25d8(0x370)]()},_0x54cf16=>{const _0x22a4d1=_0x4e25d8;this[_0x22a4d1(0x356)]=_0x54cf16[_0x22a4d1(0x356)],_0x21163b[_0x22a4d1(0x39c)](_0x22a4d1(0x227),_0x3a9ebd,_0x3e2b7d=>{const _0x436d7e=_0x22a4d1;console['log'](_0x436d7e(0x2f2)+_0x3a9ebd+_0x436d7e(0x1d2)),this[_0x436d7e(0x2d3)](_0x436d7e(0x227),_0x3e2b7d);});});}),_0x21163b['on']('error',_0x1c02dc=>{const _0x29fb38=_0x3cb32e;console[_0x29fb38(0x2fc)]('error::'+_0x1c02dc);}),_0x21163b['on'](_0x3cb32e(0x31c),_0x445d70=>{const _0x2ca645=_0x3cb32e;console[_0x2ca645(0x2fc)](_0x2ca645(0x24b)+_0x445d70);}),_0x21163b['on']('messageroom',_0x5b2a7d=>{const _0x1fe823=_0x3cb32e;this[_0x1fe823(0x2d3)](_0x1fe823(0x2a7),_0x5b2a7d),console[_0x1fe823(0x285)](_0x1fe823(0x2a3),_0x5b2a7d);}),_0x21163b['on'](_0x3cb32e(0x23d),_0x47d5ba=>{const _0xb4295d=_0x3cb32e;this['callback'](_0xb4295d(0x23d),_0x47d5ba),console[_0xb4295d(0x285)](_0xb4295d(0x2bb),_0x47d5ba);});}},BB['Augmenter']=(_0x565afb,_0x17002e,_0x55e8b2)=>{const _0x3b40c9=_0x48db14;console[_0x3b40c9(0x285)](_0x3b40c9(0x327));function _0x48e511(_0x4bbac8,_0x4f80df){const _0x3a35c8=_0x3b40c9;let _0x634858='';if(_0x4bbac8&&_0x4bbac8[_0x3a35c8(0x3a7)](_0x3a35c8(0x314))){const _0x321ab6=_0x4bbac8[_0x3a35c8(0x3a4)](/.*NTC./,'');let _0x4ae843=0x0;while(_0x4ae843+0x8<=_0x321ab6[_0x3a35c8(0x1ce)]){const _0x23d279=_0x321ab6[_0x3a35c8(0x282)](_0x4ae843,_0x4ae843+0x4),_0x5f3063=((_0x321ab6[_0x3a35c8(0x229)](_0x4ae843+0x4)*0x100+_0x321ab6[_0x3a35c8(0x229)](_0x4ae843+0x5))*0x100+_0x321ab6[_0x3a35c8(0x229)](_0x4ae843+0x6))*0x100+_0x321ab6[_0x3a35c8(0x229)](_0x4ae843+0x7);if(_0x4ae843+0x8+_0x5f3063>_0x321ab6[_0x3a35c8(0x1ce)])break;const _0x5ac6f1=_0x321ab6[_0x3a35c8(0x282)](_0x4ae843+0x8,_0x4ae843+0x8+_0x5f3063);_0x23d279==_0x3a35c8(0x2d1)&&(timecodeDateTime=new Date(parseInt(_0x5ac6f1))['getTime']()/0x3e8,timecodeDelta=timecodeDateTime-_0x4f80df);_0x23d279==_0x3a35c8(0x1fd)&&(tcTimeStamp=new Date(parseInt(_0x5ac6f1))[_0x3a35c8(0x21f)]());if(_0x23d279===_0x3a35c8(0x352)){timecode_offset=parseInt(_0x5ac6f1)/0x5a;if(_0x55e8b2[_0x3a35c8(0x1d4)])console[_0x3a35c8(0x285)](_0x3a35c8(0x3d2),timecode_offset);}_0x4ae843+=0x8+_0x5f3063;}}return _0x634858;}let _0x278d68=[0x0,0x0,0x0,0x0,0x0];function _0x3877dd(_0x45029d){const _0x1e9544=_0x3b40c9;if(_0x45029d&&_0x45029d[_0x1e9544(0x1d5)]&&_0x45029d[_0x1e9544(0x1d5)]['id']==0x0||_0x46a223[_0x1e9544(0x3cb)]()){if(_0x45029d[_0x1e9544(0x1d5)]['messageData'])_0x45029d[_0x1e9544(0x1d5)][_0x1e9544(0x2f6)]=_0x48e511(_0x45029d['metadata']['messageData'],_0x45029d[_0x1e9544(0x1d5)][_0x1e9544(0x1f8)]);else{if(_0x45029d['metadata'][_0x1e9544(0x289)]&&_0x45029d['metadata'][_0x1e9544(0x289)][_0x1e9544(0x1ce)]&&_0x45029d[_0x1e9544(0x1d5)]['frames'][0x0][_0x1e9544(0x259)]&&_0x45029d[_0x1e9544(0x1d5)][_0x1e9544(0x289)][0x0][_0x1e9544(0x259)]['toLowerCase']()==='priv'){const _0x11546e=_0x45029d[_0x1e9544(0x1d5)][_0x1e9544(0x289)][_0x1e9544(0x217)](_0x30d332=>{const _0x41f28c=_0x1e9544;return _0x30d332[_0x41f28c(0x303)]&&_0x30d332[_0x41f28c(0x303)][_0x41f28c(0x3c9)]()[_0x41f28c(0x3a7)](_0x41f28c(0x2d8));});_0x11546e['length']&&(messageData=_0x11546e[_0x11546e[_0x1e9544(0x1ce)]-0x1]['info']+'\x00'+String[_0x1e9544(0x1ef)](..._0x11546e[_0x11546e[_0x1e9544(0x1ce)]-0x1][_0x1e9544(0x1dd)]),_0x45029d['metadata']['messageData']=_0x48e511(messageData,_0x45029d['metadata'][_0x1e9544(0x1f8)]));}}(_0x45029d[_0x1e9544(0x1d5)]['id']==0x0||_0x46a223[_0x1e9544(0x3cb)]()&&timecode_offset==0x0)&&(presentationTime=_0x45029d[_0x1e9544(0x1d5)][_0x1e9544(0x1f8)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0x1e9544(0x233)](offsetTimeCode[_0x1e9544(0x3c5)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math[_0x1e9544(0x1f6)](offsetTimeCodeframeNumber),partoff=0x2),_0x278d68=[offsetTimeCode[_0x1e9544(0x321)](),offsetTimeCode[_0x1e9544(0x2d9)](),offsetTimeCode[_0x1e9544(0x1d9)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x5b0dba(_0x55593c){const _0x57cdc8=_0x3b40c9;if(typeof globalConfig!==_0x57cdc8(0x39e)){if(typeof globalConfig[_0x57cdc8(0x32e)]!=='undefined'){if(globalConfig[_0x57cdc8(0x32e)]=='no')return;}}if(BB[_0x57cdc8(0x2f0)]['getSourceFPS'](_0x55e8b2[_0x57cdc8(0x377)])==0x7530/0x3e9){let _0x1a46f8={'frame':0x0,'playerTime':0x0};_0x1a46f8[_0x57cdc8(0x25b)]=BB['Utils'][_0x57cdc8(0x1ec)][_0x57cdc8(0x3a0)](_0x278d68,0x7530/0x3e9,![]),_0x1a46f8['stringTime']=BB['Utils'][_0x57cdc8(0x1ec)][_0x57cdc8(0x317)](_0x278d68,![],![]),console[_0x57cdc8(0x285)](_0x57cdc8(0x21e)+_0x55593c[_0x57cdc8(0x394)]+'):\x20'+_0x1a46f8[_0x57cdc8(0x2c0)]+'\x20('+_0x1a46f8[_0x57cdc8(0x25b)]+')'+'\x20playing\x20at\x20'+_0x55593c[_0x57cdc8(0x29a)]),_0x1a46f8[_0x57cdc8(0x246)]=_0x55593c[_0x57cdc8(0x29a)],_0x55e8b2[_0x57cdc8(0x291)]=_0x1a46f8;}else{if(BB[_0x57cdc8(0x2f0)]['getSourceFPS'](_0x55e8b2[_0x57cdc8(0x377)])==0xea60/0x3e9){let _0x1b79a8={'frame':0x0,'playerTime':0x0};_0x1b79a8[_0x57cdc8(0x25b)]=BB['Utils']['TimeCodesFramesTranslator'][_0x57cdc8(0x3a0)](_0x278d68,0xea60/0x3e9,!![]),_0x1b79a8['stringTime']=BB[_0x57cdc8(0x2f0)]['TimeCodesFramesTranslator'][_0x57cdc8(0x317)](_0x278d68,!![],!![]),console[_0x57cdc8(0x285)](_0x57cdc8(0x21e)+_0x55593c[_0x57cdc8(0x394)]+'):\x20'+_0x1b79a8[_0x57cdc8(0x2c0)]+'\x20('+_0x1b79a8[_0x57cdc8(0x25b)]+')'+_0x57cdc8(0x27f)+_0x55593c[_0x57cdc8(0x29a)]),_0x1b79a8[_0x57cdc8(0x246)]=_0x55593c[_0x57cdc8(0x29a)],_0x55e8b2[_0x57cdc8(0x291)]=_0x1b79a8;}}_0x55593c[_0x57cdc8(0x238)][_0x57cdc8(0x3a7)]('video')&&console[_0x57cdc8(0x285)]('url:\x20'+_0x55593c[_0x57cdc8(0x394)]);}function _0x13630d(_0xaefd4c){const _0x9ad1ba=_0x3b40c9;switch(_0xaefd4c[_0x9ad1ba(0x376)]){case wmcEvents[_0x9ad1ba(0x1c0)]:let _0x2d6791={'frame':0x0,'playerTime':0x0};BB[_0x9ad1ba(0x2f0)][_0x9ad1ba(0x1fa)](_0x55e8b2[_0x9ad1ba(0x377)])==0x7530/0x3e9&&(console[_0x9ad1ba(0x285)](_0x9ad1ba(0x21e)+_0xaefd4c[_0x9ad1ba(0x394)]+_0x9ad1ba(0x245)+BB['Utils']['TimeCodesFramesTranslator'][_0x9ad1ba(0x23b)](_0xaefd4c[_0x9ad1ba(0x3a5)],0x7530/0x3e9)+_0x9ad1ba(0x27f)+_0xaefd4c[_0x9ad1ba(0x29a)]),_0x2d6791[_0x9ad1ba(0x25b)]=BB['Utils'][_0x9ad1ba(0x1ec)][_0x9ad1ba(0x3a0)](BB['Utils']['TimeCodesFramesTranslator']['timeDate2TC'](_0xaefd4c['dateTime'],0x7530/0x3e9),0x7530/0x3e9,![]),_0x2d6791[_0x9ad1ba(0x2c0)]=BB['Utils'][_0x9ad1ba(0x1ec)][_0x9ad1ba(0x23b)](_0xaefd4c['dateTime'],0x7530/0x3e9));BB[_0x9ad1ba(0x2f0)][_0x9ad1ba(0x1fa)](_0x55e8b2[_0x9ad1ba(0x377)])==0xea60/0x3e9&&(console[_0x9ad1ba(0x285)](_0x9ad1ba(0x21e)+_0xaefd4c[_0x9ad1ba(0x394)]+_0x9ad1ba(0x245)+BB[_0x9ad1ba(0x2f0)]['TimeCodesFramesTranslator'][_0x9ad1ba(0x23b)](_0xaefd4c[_0x9ad1ba(0x3a5)],0xea60/0x3e9)+_0x9ad1ba(0x27f)+_0xaefd4c['playbackTime']),_0x2d6791[_0x9ad1ba(0x25b)]=BB[_0x9ad1ba(0x2f0)][_0x9ad1ba(0x1ec)][_0x9ad1ba(0x3a0)](BB[_0x9ad1ba(0x2f0)][_0x9ad1ba(0x1ec)][_0x9ad1ba(0x384)](_0xaefd4c[_0x9ad1ba(0x3a5)]),fps,!![]),_0x2d6791[_0x9ad1ba(0x2c0)]=BB[_0x9ad1ba(0x2f0)][_0x9ad1ba(0x1ec)][_0x9ad1ba(0x23b)](_0xaefd4c['dateTime'],0xea60/0x3e9));_0x2d6791[_0x9ad1ba(0x246)]=_0xaefd4c[_0x9ad1ba(0x29a)],_0x55e8b2[_0x9ad1ba(0x291)]=_0x2d6791;break;default:}}let _0x207df2=BB[_0x3b40c9(0x2f0)][_0x3b40c9(0x1ec)],_0x21e666=BB[_0x3b40c9(0x2f0)][_0x3b40c9(0x1fa)](_0x55e8b2[_0x3b40c9(0x377)]),_0x21b763=BB['Utils'][_0x3b40c9(0x383)](_0x55e8b2[_0x3b40c9(0x377)]);refreshRate=_0x55e8b2['refreshRate'];let _0x103d71=null,_0x4f7c91=null,_0x5e1417=null;if(_0x55e8b2[_0x3b40c9(0x283)]==BB[_0x3b40c9(0x371)]['Augment']){}else{let _0x31fe48=document[_0x3b40c9(0x32d)](_0x3b40c9(0x3b1));_0x31fe48[_0x3b40c9(0x306)]=0x1f4,_0x31fe48[_0x3b40c9(0x2ca)]=0x1f4,document[_0x3b40c9(0x28c)][_0x3b40c9(0x359)](_0x31fe48),_0x5e1417=_0x31fe48['getContext'](_0x3b40c9(0x392));}let _0x46a223=BB[_0x3b40c9(0x2f0)][_0x3b40c9(0x261)],_0x45210b=-0x1,_0x33daaf=![];const _0x29df49=(_0x28afe1,_0x569ed0)=>{const _0x4d54db=_0x3b40c9,_0x2c2d17=performance[_0x4d54db(0x1cd)]();if(_0x45210b==_0x28afe1&&_0x569ed0==_0x33daaf){if(_0x55e8b2[_0x4d54db(0x1d4)])console[_0x4d54db(0x396)](_0x4d54db(0x382)+_0x28afe1);return 0x0;}if(!_0x55e8b2[_0x4d54db(0x3d7)]||_0x55e8b2[_0x4d54db(0x2a2)])return _0x4f7c91[_0x4d54db(0x2a5)](),0x0;if(_0x55e8b2[_0x4d54db(0x283)]==BB[_0x4d54db(0x371)][_0x4d54db(0x38e)])renderDigit(_0x5e1417,_0x28afe1);else{if(_0x55e8b2[_0x4d54db(0x283)]==BB[_0x4d54db(0x371)]['RenderTimecode']){if(_0x21e666==0xea60/0x3e9||_0x21e666==0x3c)renderTimecode(_0x5e1417,_0x207df2[_0x4d54db(0x28d)](_0x28afe1,_0x21e666,!![]),!![]);else{if(_0x21e666==0x7530/0x3e9||_0x21e666==0x1e)renderTimecode(_0x5e1417,_0x207df2[_0x4d54db(0x28d)](_0x28afe1,_0x21e666,![]),![]);}}else{if(_0x55e8b2[_0x4d54db(0x283)]==BB[_0x4d54db(0x371)]['Augment']){if(_0x21e666==0xea60/0x3e9||_0x21e666==0x3c)_0x4f7c91[_0x4d54db(0x1fb)](_0x207df2[_0x4d54db(0x317)](_0x207df2[_0x4d54db(0x28d)](_0x28afe1,_0x21e666,!![])));else(_0x21e666==0x7530/0x3e9||_0x21e666==0x1e)&&(_0x569ed0?_0x4f7c91[_0x4d54db(0x1fb)](_0x207df2[_0x4d54db(0x317)](_0x207df2[_0x4d54db(0x28d)](_0x28afe1*0x2+0x1,_0x21e666*0x2,!![]),!![])):_0x4f7c91['renderAugmentation'](_0x207df2['printTimecode'](_0x207df2[_0x4d54db(0x28d)](_0x28afe1,_0x21e666,![]),![])));}}}_0x45210b=_0x28afe1,_0x33daaf=_0x569ed0;const _0xac2e77=performance[_0x4d54db(0x1cd)]();return _0xac2e77-_0x2c2d17;};let _0x2f5236=0x0,_0x264d87=0x0,_0x2f69c9=0x20,_0x39bab3=0x20,_0x7ced98='',_0x52c0cc=0x0,_0x249ef8,_0x50b6de=function(_0x53f0a6,_0x42d8e4){const _0x1b6a14=_0x3b40c9;if(_0x7ced98==_0x1b6a14(0x1d0)){if(_0x55e8b2[_0x1b6a14(0x1d4)])console[_0x1b6a14(0x396)](_0x1b6a14(0x31d));_0x17002e[_0x1b6a14(0x35e)](_0x50b6de);return;}_0x7ced98=_0x1b6a14(0x30e),lastNow=_0x53f0a6;let _0x4fcbb6=(_0x42d8e4[_0x1b6a14(0x324)]-_0x55e8b2[_0x1b6a14(0x291)]['playerTime'])%(0x3c*0x3c*0x18)*_0x21b763,_0x53cfb5=_0x42d8e4['mediaTime']-_0x55e8b2[_0x1b6a14(0x291)]['playerTime'];lastFrameFromVideoCallback=Math[_0x1b6a14(0x1f6)](_0x4fcbb6+0.1)+_0x55e8b2[_0x1b6a14(0x291)][_0x1b6a14(0x25b)];if(_0x55e8b2['debug']){var _0x2d15e9=document[_0x1b6a14(0x2c8)](_0x1b6a14(0x288))['value'],_0x5138a0=parseInt(_0x2d15e9);lastFrameFromVideoCallback+=_0x5138a0;}else lastFrameFromVideoCallback+=0x1;_0x3f155c=_0x42d8e4[_0x1b6a14(0x324)];let _0x4ba13a=_0x17002e[_0x1b6a14(0x36b)],_0x29926e=document[_0x1b6a14(0x2c8)](_0x1b6a14(0x218));var _0x1abb06='';if(BB[_0x1b6a14(0x2f0)]['getSourceFPS'](_0x55e8b2[_0x1b6a14(0x377)])==0xea60/0x3e9)_0x1abb06=_0x207df2['printTimecode'](_0x207df2['Frames2Timecode'](lastFrameFromVideoCallback,_0x21e666,!![]),!![],!![]);else BB[_0x1b6a14(0x2f0)][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0x7530/0x3e9?_0x1abb06=_0x207df2[_0x1b6a14(0x317)](_0x207df2[_0x1b6a14(0x28d)](lastFrameFromVideoCallback,_0x21e666,![]),![],![]):_0x1abb06=_0x1b6a14(0x271);var _0x38cfc3='';if(BB[_0x1b6a14(0x2f0)][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0xea60/0x3e9)_0x38cfc3=_0x207df2[_0x1b6a14(0x317)](_0x207df2[_0x1b6a14(0x28d)](_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)],_0x21e666,!![]),!![],!![]);else BB[_0x1b6a14(0x2f0)][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0x7530/0x3e9?_0x38cfc3=_0x207df2[_0x1b6a14(0x317)](_0x207df2['Frames2Timecode'](_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)],_0x21e666,![]),![],![]):_0x38cfc3=_0x1b6a14(0x271);let _0x1e58e8=lastFrameFromVideoCallback-_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)];if(_0x103d71)_0x103d71[_0x1b6a14(0x258)](_0x1e58e8);var _0x287e34='';if(BB['Utils'][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0xea60/0x3e9)_0x287e34=_0x207df2[_0x1b6a14(0x317)](_0x207df2[_0x1b6a14(0x28d)](_0x1e58e8,_0x21e666,!![]),!![],!![]);else BB[_0x1b6a14(0x2f0)][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0x7530/0x3e9?_0x287e34=_0x207df2[_0x1b6a14(0x317)](_0x207df2['Frames2Timecode'](_0x1e58e8,_0x21e666,![]),![],![]):_0x287e34=_0x1b6a14(0x271);let _0x33b62c=Date[_0x1b6a14(0x1cd)]()-_0x264d87,_0x5a3fc9=new Date(),_0xa0261=String(_0x5a3fc9[_0x1b6a14(0x2a8)]())[_0x1b6a14(0x225)](0x2,'0'),_0x5d3c2b=String(_0x5a3fc9[_0x1b6a14(0x3ba)]())[_0x1b6a14(0x225)](0x2,'0'),_0x5dbc43=String(_0x5a3fc9['getSeconds']())[_0x1b6a14(0x225)](0x2,'0'),_0x555989=String(_0x5a3fc9['getMilliseconds']())[_0x1b6a14(0x225)](0x3,'0'),_0x54b1ee=_0xa0261+':'+_0x5d3c2b+':'+_0x5dbc43+'.'+_0x555989;if(_0x55e8b2[_0x1b6a14(0x1d4)]){if(_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)]!=_0x52c0cc||_0x249ef8<0xa*0x3c)var _0x552cf9=_0x1b6a14(0x252);else var _0x552cf9=_0x1b6a14(0x38b);_0x29926e['innerHTML']='VID.\x20'+_0x1b6a14(0x374)+_0x55e8b2[_0x1b6a14(0x267)]+_0x1b6a14(0x262)+_0x54b1ee+_0x1b6a14(0x388)+_0x42d8e4[_0x1b6a14(0x324)]['toFixed'](0x4)+_0x1b6a14(0x358)+_0x1abb06+',\x20offset:\x20<span\x20style=\x27color:'+_0x552cf9+'\x27>'+_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)]+'('+_0x38cfc3+_0x1b6a14(0x30f)+_0x1b6a14(0x38a)+_0x287e34+_0x1b6a14(0x1d1)+_0x53cfb5['toFixed'](0x4)+',\x20LastSyncPointTime:'+_0x55e8b2[_0x1b6a14(0x291)][_0x1b6a14(0x246)][_0x1b6a14(0x297)](0x4)+',\x20LastSyncPointFrame:'+_0x55e8b2[_0x1b6a14(0x291)][_0x1b6a14(0x25b)]+',\x20LastSyncPoint:'+_0x55e8b2[_0x1b6a14(0x291)][_0x1b6a14(0x2c0)]+_0x1b6a14(0x1fe),_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)]!=_0x52c0cc&&(_0x249ef8=0x0),_0x52c0cc=_0x55e8b2[_0x1b6a14(0x20c)][_0x1b6a14(0x28e)],_0x249ef8++;}_0x2f5236++,_0x264d87=Date[_0x1b6a14(0x1cd)]();let _0x2b6e53=![];if(_0x55e8b2[_0x1b6a14(0x1d4)]){var _0x5bfd0d=document[_0x1b6a14(0x2c8)](_0x1b6a14(0x279));_0x2b6e53=_0x5bfd0d[_0x1b6a14(0x349)];}let _0x203d3f=0x0;if(BB[_0x1b6a14(0x2f0)]['getSourceFPS'](_0x55e8b2['frameRateMode'])==0x7530/0x3e9){let _0x5321dc=0x18,_0x3e6ea4=0x21+(0x21-_0x5321dc);_0x33b62c<_0x5321dc&&_0x2f69c9<_0x3e6ea4||_0x2f69c9<_0x5321dc&&_0x33b62c<_0x3e6ea4||_0x39bab3<_0x5321dc&&_0x2f69c9<_0x3e6ea4&&_0x33b62c<_0x3e6ea4||_0x2b6e53==!![]?(_0x29926e[_0x1b6a14(0x3a2)]+='\x20Setting\x20(some)\x20ms\x20timer',setTimeout(function(){_0x29df49(_0x1e58e8,![]);},0xa)):_0x29df49(_0x1e58e8,![]);}else BB[_0x1b6a14(0x2f0)][_0x1b6a14(0x1fa)](_0x55e8b2[_0x1b6a14(0x377)])==0xea60/0x3e9?_0x203d3f=_0x29df49(_0x1e58e8,![]):console[_0x1b6a14(0x396)](_0x1b6a14(0x2ef));_0x39bab3=_0x2f69c9,_0x2f69c9=_0x33b62c;_0x55e8b2[_0x1b6a14(0x1d4)]&&console[_0x1b6a14(0x396)](_0x1b6a14(0x37e)+_0x1b6a14(0x27e)+_0x54b1ee+_0x1b6a14(0x263)+_0x1abb06+_0x1b6a14(0x2ee)+_0x203d3f['toFixed'](0x4)+_0x1b6a14(0x35f));_0x17002e[_0x1b6a14(0x35e)](_0x50b6de);return;};const _0x12a51f=_0x4828be=>{const _0x4f31b1=_0x3b40c9;let _0x2dfbdb=new Date(),_0x1df091=String(_0x2dfbdb['getHours']())[_0x4f31b1(0x225)](0x2,'0'),_0x19a296=String(_0x2dfbdb[_0x4f31b1(0x3ba)]())['padStart'](0x2,'0'),_0x22c8df=String(_0x2dfbdb[_0x4f31b1(0x254)]())['padStart'](0x2,'0'),_0xbc7219=String(_0x2dfbdb['getMilliseconds']())[_0x4f31b1(0x225)](0x3,'0'),_0x20bae6=_0x1df091+':'+_0x19a296+':'+_0x22c8df+'.'+_0xbc7219;if(_0x17002e[_0x4f31b1(0x247)]){window[_0x4f31b1(0x3bc)](_0x12a51f);return;}let _0x577c31=document['getElementById'](_0x4f31b1(0x399));if(_0x55e8b2[_0x4f31b1(0x1d4)])_0x577c31['innerHTML']=_0x4f31b1(0x2a9)+_0x4f31b1(0x24f)+_0x20bae6;if(_0x7ced98==_0x4f31b1(0x37f)||_0x7ced98=='ANI2'){var _0x42334d='';if(BB['Utils'][_0x4f31b1(0x1fa)](_0x55e8b2[_0x4f31b1(0x377)])==0xea60/0x3e9)_0x42334d=_0x207df2['printTimecode'](_0x207df2['Frames2Timecode'](_0x45210b+0x1,_0x21e666,!![]),!![],!![]);else BB[_0x4f31b1(0x2f0)][_0x4f31b1(0x1fa)](_0x55e8b2[_0x4f31b1(0x377)])==0x7530/0x3e9?_0x42334d=_0x207df2[_0x4f31b1(0x317)](_0x207df2[_0x4f31b1(0x28d)](_0x45210b+0x1,_0x21e666,![]),![],![]):_0x42334d='NOT\x20SUPPORTED';var _0x39ad4e='';if(BB[_0x4f31b1(0x2f0)]['getSourceFPS'](_0x55e8b2[_0x4f31b1(0x377)])==0xea60/0x3e9)_0x39ad4e=_0x207df2[_0x4f31b1(0x317)](_0x207df2[_0x4f31b1(0x28d)](_0x55e8b2[_0x4f31b1(0x20c)][_0x4f31b1(0x28e)],_0x21e666,!![]),!![],!![]);else BB[_0x4f31b1(0x2f0)][_0x4f31b1(0x1fa)](_0x55e8b2['frameRateMode'])==0x7530/0x3e9?_0x39ad4e=_0x207df2[_0x4f31b1(0x317)](_0x207df2['Frames2Timecode'](_0x55e8b2['augmentation'][_0x4f31b1(0x28e)],_0x21e666,![]),![],![]):_0x39ad4e=_0x4f31b1(0x271);let _0x5f4931=_0x45210b-_0x55e8b2[_0x4f31b1(0x20c)][_0x4f31b1(0x28e)];var _0x50704b='';if(BB[_0x4f31b1(0x2f0)][_0x4f31b1(0x1fa)](_0x55e8b2[_0x4f31b1(0x377)])==0xea60/0x3e9)_0x50704b=_0x207df2['printTimecode'](_0x207df2[_0x4f31b1(0x28d)](_0x5f4931,_0x21e666,!![]),!![],!![]);else BB[_0x4f31b1(0x2f0)][_0x4f31b1(0x1fa)](_0x55e8b2['frameRateMode'])==0x7530/0x3e9?_0x50704b=_0x207df2[_0x4f31b1(0x317)](_0x207df2[_0x4f31b1(0x28d)](_0x5f4931,_0x21e666,![]),![],![]):_0x50704b=_0x4f31b1(0x271);_0x55e8b2[_0x4f31b1(0x1d4)]&&(console[_0x4f31b1(0x396)](_0x4f31b1(0x2c2)+_0x42334d+')'+_0x4f31b1(0x33b)+_0x7ced98),_0x577c31[_0x4f31b1(0x3a2)]+=_0x4f31b1(0x2b1));let _0x1c5e48=_0x29df49(_0x45210b+0x1,![]);if(_0x55e8b2[_0x4f31b1(0x1d4)])console['BBlog']('ANI.'+_0x4f31b1(0x24f)+_0x20bae6+',\x20correction'+_0x4f31b1(0x298)+_0x42334d+_0x4f31b1(0x22d)+_0x55e8b2[_0x4f31b1(0x20c)][_0x4f31b1(0x28e)]+'('+_0x39ad4e+')'+',\x20resultTime:\x20'+_0x50704b+',\x20took:\x20'+_0x1c5e48[_0x4f31b1(0x297)](0x4)+_0x4f31b1(0x35f));if(_0x7ced98==_0x4f31b1(0x37f))_0x7ced98=_0x4f31b1(0x1d0);else{if(_0x7ced98==_0x4f31b1(0x1d0))_0x7ced98=_0x4f31b1(0x37f);}}else{if(_0x55e8b2[_0x4f31b1(0x1d4)])console[_0x4f31b1(0x396)]('ANI.'+_0x4f31b1(0x24f)+_0x20bae6);_0x7ced98=_0x4f31b1(0x37f);}window[_0x4f31b1(0x3bc)](_0x12a51f);};let _0x55ade6=_0x55e8b2[_0x3b40c9(0x377)]==BB[_0x3b40c9(0x319)][_0x3b40c9(0x3c0)]?-0.04:+0.05,_0x332f5a=0x0,_0x14ab75={},_0x444d02=0x0,_0x228e17=0x0,_0x195b58=0x0,_0x2cca3b=0x0,_0x1c3b75=0x0,_0x3f155c=-0x1,_0x14c45c=0x0,_0x5ae09d=![],_0x2631a1=0x0,_0x50aa35=0x0,_0x3c278f=![];const _0x7a50ec=_0x41030c=>{const _0x1b03c9=_0x3b40c9;var _0x599c8f=0x2;if(_0x55e8b2[_0x1b03c9(0x1d4)]){let _0x343221=document[_0x1b03c9(0x2c8)]('debugText');var _0x3de6ff=document[_0x1b03c9(0x2c8)]('numberInput')[_0x1b03c9(0x2b4)];_0x599c8f=parseInt(_0x3de6ff);}var _0x58a042=0x0,_0x582347=(_0x17002e[_0x1b03c9(0x36b)]-_0x55e8b2[_0x1b03c9(0x291)]['playerTime'])%(0x3c*0x3c*0x18)*_0x21b763;_0x58a042=Math[_0x1b03c9(0x1f6)](_0x582347)+_0x55e8b2[_0x1b03c9(0x291)][_0x1b03c9(0x25b)],_0x58a042+=_0x599c8f;var _0xa1416a=_0x582347-Math[_0x1b03c9(0x1f6)](_0x582347);if(_0x3c278f||_0xa1416a<0.226)_0x3c278f=!![];if(_0xa1416a>0.8)_0x3c278f=![];if(_0x3c278f)_0x58a042--;var _0x5902eb='';if(BB[_0x1b03c9(0x2f0)][_0x1b03c9(0x1fa)](_0x55e8b2[_0x1b03c9(0x377)])==0xea60/0x3e9)_0x5902eb=_0x207df2[_0x1b03c9(0x317)](_0x207df2[_0x1b03c9(0x28d)](_0x58a042,_0x21e666,!![]),!![],!![]);else BB[_0x1b03c9(0x2f0)][_0x1b03c9(0x1fa)](_0x55e8b2['frameRateMode'])==0x7530/0x3e9?_0x5902eb=_0x207df2[_0x1b03c9(0x317)](_0x207df2[_0x1b03c9(0x28d)](_0x58a042,_0x21e666,![]),![],![]):_0x5902eb='NOT\x20SUPPORTED';var _0x2ca58d='';if(BB[_0x1b03c9(0x2f0)][_0x1b03c9(0x1fa)](_0x55e8b2[_0x1b03c9(0x377)])==0xea60/0x3e9)_0x2ca58d=_0x207df2['printTimecode'](_0x207df2[_0x1b03c9(0x28d)](_0x55e8b2[_0x1b03c9(0x20c)]['offset'],_0x21e666,!![]),!![],!![]);else BB['Utils'][_0x1b03c9(0x1fa)](_0x55e8b2[_0x1b03c9(0x377)])==0x7530/0x3e9?_0x2ca58d=_0x207df2[_0x1b03c9(0x317)](_0x207df2[_0x1b03c9(0x28d)](_0x55e8b2['augmentation'][_0x1b03c9(0x28e)],_0x21e666,![]),![],![]):_0x2ca58d=_0x1b03c9(0x271);let _0x30b1cd=_0x58a042-_0x55e8b2[_0x1b03c9(0x20c)]['offset'];if(_0x103d71)_0x103d71[_0x1b03c9(0x258)](_0x30b1cd);_0x29df49(_0x30b1cd),_0x41d194++,window['requestAnimationFrame'](_0x7a50ec);return;},_0x429943=(_0x574f48,_0x59c99f)=>{const _0x25846c=_0x3b40c9;let _0x2384aa=_0x59c99f[_0x25846c(0x324)]*_0x21b763;var _0xdede28=0x0;if(_0x55e8b2[_0x25846c(0x1d4)]){var _0x1edfb1=document[_0x25846c(0x2c8)]('numberInput')['value'];_0xdede28=parseInt(_0x1edfb1);}_0x2384aa+=_0xdede28,_0x1c3b75=Math[_0x25846c(0x1f6)](_0x2384aa);var _0x307753='';if(BB[_0x25846c(0x2f0)][_0x25846c(0x1fa)](_0x55e8b2[_0x25846c(0x377)])==0xea60/0x3e9)_0x307753=_0x207df2[_0x25846c(0x317)](_0x207df2[_0x25846c(0x28d)](_0x1c3b75,_0x21e666,!![]),!![],!![]);else BB[_0x25846c(0x2f0)][_0x25846c(0x1fa)](_0x55e8b2[_0x25846c(0x377)])==0x7530/0x3e9?_0x307753=_0x207df2['printTimecode'](_0x207df2[_0x25846c(0x28d)](_0x1c3b75,_0x21e666,![]),![],![]):_0x307753=_0x25846c(0x271);let _0x1b4688=document[_0x25846c(0x2c8)](_0x25846c(0x218));_0x1b4688[_0x25846c(0x1f1)]='\x20dblFrame:\x20'+_0x2384aa['toFixed'](0x4)+_0x25846c(0x23a)+_0x1c3b75+_0x25846c(0x338)+_0x2cca3b+_0x25846c(0x2df)+_0x307753,_0x2cca3b++,_0x3f155c=_0x59c99f[_0x25846c(0x324)],_0x17002e['requestVideoFrameCallback'](_0x429943);return;_0x195b58=_0x574f48,_0x14ab75=_0x59c99f;let _0x2544fe=_0x17002e['currentTime'],_0x2505f6=(_0x2544fe-_0x59c99f[_0x25846c(0x324)])*0x3e8;_0x332f5a=_0x2505f6,_0x17002e[_0x25846c(0x35e)](_0x429943);};let _0x42129a=-0x1,_0x2257a0=0x270f,_0xd2dfc6=0x0,_0x41d194=0x0,_0x3687ce=0x0;console[_0x3b40c9(0x396)](_0x3b40c9(0x3d3)),console[_0x3b40c9(0x396)](_0x3b40c9(0x241));typeof window!==_0x3b40c9(0x39e)?console[_0x3b40c9(0x396)](_0x3b40c9(0x366)):console[_0x3b40c9(0x396)](_0x3b40c9(0x37c));_0x3b40c9(0x3bc)in window?console[_0x3b40c9(0x396)](_0x3b40c9(0x2b0)):console[_0x3b40c9(0x396)]('requestAnimationFrame\x20is\x20not\x20supported');typeof _0x17002e!==_0x3b40c9(0x39e)?console[_0x3b40c9(0x396)](_0x3b40c9(0x30b)):console[_0x3b40c9(0x396)]('Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');_0x3b40c9(0x35e)in _0x17002e?console[_0x3b40c9(0x396)](_0x3b40c9(0x27a)):console['BBlog']('requestVideoFrameCallback\x20is\x20not\x20supported');if(_0x46a223[_0x3b40c9(0x2e1)]()||_0x46a223[_0x3b40c9(0x2e7)]()||_0x46a223[_0x3b40c9(0x2b3)]())window[_0x3b40c9(0x3bc)](_0x12a51f),_0x17002e[_0x3b40c9(0x1e5)]>=0x2?(console[_0x3b40c9(0x396)](_0x3b40c9(0x36f)),_0x17002e['requestVideoFrameCallback'](_0x50b6de)):(console[_0x3b40c9(0x396)](_0x3b40c9(0x30d)),_0x17002e[_0x3b40c9(0x1c2)](_0x3b40c9(0x30a),()=>{_0x17002e['requestVideoFrameCallback'](_0x50b6de);}));else _0x46a223[_0x3b40c9(0x3cb)]()?window['requestAnimationFrame'](_0x7a50ec):console[_0x3b40c9(0x396)](_0x3b40c9(0x3aa));console[_0x3b40c9(0x396)](_0x3b40c9(0x215)),console[_0x3b40c9(0x396)](_0x3b40c9(0x3d4));function _0x733bea(){return new Promise(_0x343781=>{let _0x3cbbd4=0x0;const _0x32103b=[],_0x5f41fb=0x14;function _0x44fc06(_0x43da94){const _0x5cf4bb=_0x4829;if(_0x3cbbd4){const _0x1e9014=_0x43da94-_0x3cbbd4,_0x43e2f3=0x3e8/_0x1e9014;if(!(_0x43e2f3===undefined)){if(_0x43e2f3>0x0&&_0x43e2f3<0xc8)_0x32103b['push'](_0x43e2f3);}if(_0x32103b[_0x5cf4bb(0x1ce)]===_0x5f41fb){const _0x53e379=_0x32103b[_0x5cf4bb(0x3d0)]((_0x479192,_0x150b34)=>_0x479192+_0x150b34,0x0)/_0x5f41fb;_0x343781(Math[_0x5cf4bb(0x233)](_0x53e379));return;}}_0x3cbbd4=_0x43da94,requestAnimationFrame(_0x44fc06);}requestAnimationFrame(_0x44fc06);});}_0x733bea()[_0x3b40c9(0x29c)](_0x3ee2fc=>{const _0x57e5ad=_0x3b40c9;_0x55e8b2[_0x57e5ad(0x1f5)]=_0x3ee2fc,_0x55e8b2[_0x57e5ad(0x1f5)]>0x46||_0x55e8b2[_0x57e5ad(0x1f5)]<0x32?(console['BBerror'](_0x57e5ad(0x1da)+_0x3ee2fc+_0x57e5ad(0x34e)),_0x55e8b2['stopAugment']=!![]):console[_0x57e5ad(0x396)](_0x57e5ad(0x1da)+_0x3ee2fc+'\x20FPS,\x20Continuing\x20augmentation');});const _0x13a8a4=()=>{const _0x5763e6=_0x3b40c9;let _0xcc30ce=_0x17002e['parentElement'];_0x4f7c91=new BB['Composer3d'](_0xcc30ce,_0x17002e,_0x55e8b2),ads=BB[_0x5763e6(0x363)](_0x4f7c91,_0x55e8b2),_0x103d71=BB[_0x5763e6(0x2d0)](_0x55e8b2,_0x4f7c91);},_0x2e0a7d=()=>{return _0x4f7c91['getCanvas']();},_0x50dd48=_0x44d8f9=>{_0x5b0dba(_0x44d8f9);},_0x295d89=_0x100a0a=>{_0x3877dd(_0x100a0a);};return{'getCanvas':_0x2e0a7d,'onNewSegmentInterface':_0x50dd48,'onNewMetadataInterface':_0x295d89,'initializeComponents':_0x13a8a4};},BB[_0x48db14(0x2c9)]=class{constructor(_0x2dc11a,_0x3512a9,_0x30f1cf){const _0x2eee5f=_0x48db14;if(_0x30f1cf[_0x2eee5f(0x20c)][_0x2eee5f(0x32b)]){this['digitImg']={};for(let _0x4b7d20=0x0;_0x4b7d20<0xa;++_0x4b7d20){let _0xff6175=_0x4b7d20+'.1',_0x243c70=_0x4b7d20+'.2';this[_0x2eee5f(0x1e4)][_0xff6175]=this[_0x2eee5f(0x2e9)](_0xff6175),this[_0x2eee5f(0x1e4)][_0x243c70]=this['CreateDigitImg'](_0x243c70);}}this['options']=Object[_0x2eee5f(0x2b9)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x30f1cf||{}),this[_0x2eee5f(0x3be)]=BB['Utils'][_0x2eee5f(0x1fa)](this[_0x2eee5f(0x222)][_0x2eee5f(0x377)]),this[_0x2eee5f(0x39d)]=[],this[_0x2eee5f(0x39b)]={},this[_0x2eee5f(0x3c6)]=![],this[_0x2eee5f(0x25e)]={},this[_0x2eee5f(0x211)]={},this[_0x2eee5f(0x1c7)]=null,this[_0x2eee5f(0x3b1)]=document[_0x2eee5f(0x32d)](_0x2eee5f(0x3b1)),this[_0x2eee5f(0x2d7)]=this[_0x2eee5f(0x3b1)][_0x2eee5f(0x315)](_0x2eee5f(0x295),{'premultipliedAlpha':![]});this['ctx']==null?(this[_0x2eee5f(0x2d7)]=this[_0x2eee5f(0x3b1)]['getContext'](_0x2eee5f(0x392),{'premultipliedAlpha':![]}),this[_0x2eee5f(0x3cf)]=0x1):this['webGLVersion']=0x2;console[_0x2eee5f(0x285)]('Created\x20webgl1\x20context:\x20'+this[_0x2eee5f(0x2d7)]+_0x2eee5f(0x3af)+this[_0x2eee5f(0x3cf)]);let _0x11f650=_0x2dc11a[_0x2eee5f(0x2dd)],_0x5851a6=_0x2dc11a[_0x2eee5f(0x278)],_0x5c2af7=_0x2dc11a[_0x2eee5f(0x2aa)](_0x2eee5f(0x21c))[0x0];this[_0x2eee5f(0x3b1)][_0x2eee5f(0x37a)][_0x2eee5f(0x1d7)]=0x0,this['canvas'][_0x2eee5f(0x37a)][_0x2eee5f(0x287)]=0x0,this['canvas'][_0x2eee5f(0x37a)][_0x2eee5f(0x306)]=_0x2eee5f(0x3c2),this['canvas'][_0x2eee5f(0x37a)][_0x2eee5f(0x24d)]=0x186a0,this[_0x2eee5f(0x3b1)][_0x2eee5f(0x306)]=_0x2dc11a[_0x2eee5f(0x251)],this[_0x2eee5f(0x3b1)][_0x2eee5f(0x2ca)]=_0x2dc11a[_0x2eee5f(0x272)],this['canvas'][_0x2eee5f(0x37a)][_0x2eee5f(0x234)]=_0x2eee5f(0x242);let _0x12fc2a=_0x5c2af7[_0x2eee5f(0x1e2)];if(_0x12fc2a)_0x2dc11a[_0x2eee5f(0x34c)](this[_0x2eee5f(0x3b1)],_0x12fc2a);else _0x2dc11a[_0x2eee5f(0x359)](this[_0x2eee5f(0x3b1)]);this[_0x2eee5f(0x3b1)][_0x2eee5f(0x37a)]['pointer-events']=_0x2eee5f(0x277),_0x5c2af7[_0x2eee5f(0x1c2)](_0x2eee5f(0x2f7),_0x2a28ec=>{const _0x355d4f=_0x2eee5f;this[_0x355d4f(0x27b)](_0x2a28ec);}),this['InitGL'](),this[_0x2eee5f(0x1f3)]=null,this[_0x2eee5f(0x362)]={},this[_0x2eee5f(0x1e6)]={},this[_0x2eee5f(0x348)]={},this[_0x2eee5f(0x304)]=[],this[_0x2eee5f(0x330)]=0x0,this[_0x2eee5f(0x354)]=null;}[_0x48db14(0x3d1)](_0xe1501){return(_0xe1501&_0xe1501-0x1)==0x0;}[_0x48db14(0x2e9)](_0x35f517){const _0x3d08fb=_0x48db14;let _0xf881ed=document[_0x3d08fb(0x32d)](_0x3d08fb(0x3b1));_0xf881ed['width']=0x32,_0xf881ed['height']=0x32;let _0x368841=_0xf881ed[_0x3d08fb(0x315)]('2d');_0x368841['fillStyle']='black',_0x368841['fillRect'](0x0,0x0,_0xf881ed[_0x3d08fb(0x306)],_0xf881ed[_0x3d08fb(0x2ca)]),_0x368841[_0x3d08fb(0x231)]=_0x3d08fb(0x268),_0x368841['fillStyle']=_0x3d08fb(0x378),_0x368841['fillText'](_0x35f517,0xa,0x23);let _0x5d2308=_0xf881ed[_0x3d08fb(0x294)](),_0x4bafca=document[_0x3d08fb(0x32d)](_0x3d08fb(0x27d));return _0x4bafca[_0x3d08fb(0x344)]=_0x5d2308,_0x4bafca;}[_0x48db14(0x27b)](_0x199834){const _0x22ebc4=_0x48db14,_0x3a9795=this[_0x22ebc4(0x3b1)][_0x22ebc4(0x1de)]();let _0x466f59=event[_0x22ebc4(0x290)]-_0x3a9795[_0x22ebc4(0x287)],_0x5d0341=event['clientY']-_0x3a9795[_0x22ebc4(0x1d7)];_0x466f59=_0x466f59/(_0x3a9795['right']-_0x3a9795[_0x22ebc4(0x287)]),_0x5d0341=_0x5d0341/(_0x3a9795[_0x22ebc4(0x210)]-_0x3a9795[_0x22ebc4(0x1d7)]);for(let _0x365338 of this[_0x22ebc4(0x304)]){if(_0x365338['rect']['l']<=_0x466f59&&_0x365338[_0x22ebc4(0x213)]['r']>=_0x466f59&&_0x365338[_0x22ebc4(0x213)]['t']<=_0x5d0341&&_0x365338['rect']['b']>=_0x5d0341){let _0x39ebb1=_0x365338[_0x22ebc4(0x356)][_0x22ebc4(0x282)](0x1);if(this[_0x22ebc4(0x211)][_0x39ebb1]){let _0x2429fb=this['ad2Url'][_0x39ebb1];console['log'](_0x22ebc4(0x309)+_0x39ebb1+_0x22ebc4(0x3ac)+_0x2429fb+_0x22ebc4(0x375)),window[_0x22ebc4(0x393)](_0x2429fb,_0x22ebc4(0x2ea));}return;}}}['TexUnitForGenericAd'](){return 0x0;}[_0x48db14(0x35c)](_0x57d43c){const _0x1c6277=_0x48db14;let _0x5d13ca=Object[_0x1c6277(0x2af)](this[_0x1c6277(0x1e6)]);for(let _0x510119=0x0;_0x510119<_0x5d13ca[_0x1c6277(0x1ce)];++_0x510119){if(_0x57d43c==_0x5d13ca[_0x510119])return _0x510119+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0x8878f8){const _0x435145=_0x48db14;let _0x36ecff=Object['keys'](this[_0x435145(0x1e6)]);for(let _0x5d2d3d=0x0;_0x5d2d3d<_0x36ecff['length'];++_0x5d2d3d){let _0x98fc77=_0x36ecff[_0x5d2d3d];if(_0x8878f8[_0x435145(0x356)][_0x435145(0x369)](_0x98fc77)>=0x0)return _0x5d2d3d;}return 0x0;}[_0x48db14(0x2dc)](_0x35920d){const _0x326ec1=_0x48db14;let _0x10f384=Object[_0x326ec1(0x2af)](this[_0x326ec1(0x1e6)]);for(let _0x1bacbc=0x0;_0x1bacbc<_0x10f384[_0x326ec1(0x1ce)];++_0x1bacbc){let _0x5e620b=_0x10f384[_0x1bacbc];if(_0x35920d[_0x326ec1(0x356)]['indexOf'](_0x5e620b)>=0x0&&this[_0x326ec1(0x362)]&&this['place2AdTexture'][_0x5e620b]&&this[_0x326ec1(0x362)][_0x5e620b][_0x326ec1(0x356)])return this[_0x326ec1(0x362)][_0x5e620b][_0x326ec1(0x356)];}return this[_0x326ec1(0x1db)];}[_0x48db14(0x339)](){const _0x56d68b=_0x48db14;return 0x1+Object[_0x56d68b(0x2af)](this[_0x56d68b(0x1e6)])[_0x56d68b(0x1ce)];}[_0x48db14(0x2ac)](){const _0x378dad=_0x48db14;let _0x480b5f=BB['GL'][_0x378dad(0x34f)];if(BB[_0x378dad(0x2f0)][_0x378dad(0x261)][_0x378dad(0x3cb)]())_0x480b5f=BB['GL']['fragmentShaderSource']['replace'](_0x378dad(0x32f),'if\x20(alpha\x20<\x200.8)');this[_0x378dad(0x2ae)]=webglUtils['createProgramFromSources'](this[_0x378dad(0x2d7)],this[_0x378dad(0x3cf)]==0x2?[BB['GL'][_0x378dad(0x2a1)],_0x480b5f]:[BB['GL'][_0x378dad(0x1c8)],BB['GL'][_0x378dad(0x1eb)]]),this[_0x378dad(0x2d7)][_0x378dad(0x236)](0x0,0x0,0x0,0x0),this[_0x378dad(0x2d7)][_0x378dad(0x2be)](this[_0x378dad(0x2d7)][_0x378dad(0x31e)]),this['ctx'][_0x378dad(0x353)](this[_0x378dad(0x2ae)]),this['counter']=0x0,this[_0x378dad(0x2a5)]();}['CleanGL'](){const _0x195800=_0x48db14;this[_0x195800(0x3b1)][_0x195800(0x37a)]['display']=_0x195800(0x277),this[_0x195800(0x3c7)]=0x0;}[_0x48db14(0x31f)](_0x5e533d,_0x4f3f7e,_0x529410,_0x217743,_0x4698af,_0x16e0b5,_0x43382b){const _0x2b5165=_0x48db14;_0x43382b?this[_0x2b5165(0x2d7)][_0x2b5165(0x2a0)](this[_0x2b5165(0x2d7)][_0x2b5165(0x397)],0x1):this[_0x2b5165(0x2d7)][_0x2b5165(0x2a0)](this[_0x2b5165(0x2d7)]['UNPACK_ALIGNMENT'],0x4);this[_0x2b5165(0x2d7)]['pixelStorei'](this[_0x2b5165(0x2d7)]['UNPACK_FLIP_Y_WEBGL'],![]);const _0x414083=this[_0x2b5165(0x2d7)][_0x2b5165(0x381)]();this[_0x2b5165(0x2d7)]['activeTexture'](this['ctx'][_0x2b5165(0x3b3)]+_0x4f3f7e),this[_0x2b5165(0x2d7)]['bindTexture'](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],_0x414083);try{_0x4698af&&_0x16e0b5?this[_0x2b5165(0x2d7)][_0x2b5165(0x201)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],0x0,_0x217743==null?this['ctx'][_0x2b5165(0x275)]:_0x217743,_0x4698af,_0x16e0b5,0x0,_0x217743==null?this[_0x2b5165(0x2d7)][_0x2b5165(0x275)]:_0x217743,this['ctx'][_0x2b5165(0x29b)],_0x5e533d):this[_0x2b5165(0x2d7)][_0x2b5165(0x201)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],0x0,_0x217743==null?this[_0x2b5165(0x2d7)]['RGBA']:_0x217743,this[_0x2b5165(0x2d7)][_0x2b5165(0x275)],this['ctx'][_0x2b5165(0x29b)],_0x5e533d);}catch(_0xaa0ff1){return console[_0x2b5165(0x2fc)](_0xaa0ff1),null;}if(this[_0x2b5165(0x3cf)]==0x1){let _0x341eab=_0x4698af||_0x5e533d['width'],_0x403c5c=_0x16e0b5||_0x5e533d[_0x2b5165(0x2ca)];_0x341eab&&this[_0x2b5165(0x3d1)](_0x341eab)&&_0x403c5c&&this['isPowerOf2'](_0x403c5c)?this['ctx'][_0x2b5165(0x31a)](this[_0x2b5165(0x2d7)]['TEXTURE_2D']):(this[_0x2b5165(0x2d7)][_0x2b5165(0x302)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],this['ctx'][_0x2b5165(0x2c6)],this['ctx']['CLAMP_TO_EDGE']),this[_0x2b5165(0x2d7)][_0x2b5165(0x302)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],this[_0x2b5165(0x2d7)][_0x2b5165(0x368)],this[_0x2b5165(0x2d7)][_0x2b5165(0x23c)]),this[_0x2b5165(0x2d7)][_0x2b5165(0x302)](this['ctx'][_0x2b5165(0x2f9)],this['ctx']['TEXTURE_MIN_FILTER'],this[_0x2b5165(0x2d7)][_0x2b5165(0x3a3)]));}else this['ctx'][_0x2b5165(0x302)](this['ctx'][_0x2b5165(0x2f9)],this[_0x2b5165(0x2d7)][_0x2b5165(0x2c6)],this[_0x2b5165(0x2d7)]['CLAMP_TO_EDGE']),this[_0x2b5165(0x2d7)][_0x2b5165(0x302)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],this[_0x2b5165(0x2d7)][_0x2b5165(0x368)],this[_0x2b5165(0x2d7)][_0x2b5165(0x23c)]),this['ctx']['texParameteri'](this['ctx']['TEXTURE_2D'],this[_0x2b5165(0x2d7)][_0x2b5165(0x248)],this[_0x2b5165(0x2d7)][_0x2b5165(0x3a3)]),this['ctx'][_0x2b5165(0x302)](this[_0x2b5165(0x2d7)][_0x2b5165(0x2f9)],this[_0x2b5165(0x2d7)][_0x2b5165(0x326)],this[_0x2b5165(0x2d7)]['LINEAR']);let _0x4756d0=this[_0x2b5165(0x2d7)][_0x2b5165(0x3ab)](this[_0x2b5165(0x2ae)],_0x529410);return _0x4756d0&&this['ctx']['uniform1i'](_0x4756d0,_0x4f3f7e),_0x414083;}[_0x48db14(0x3d8)](){const _0x2968e9=_0x48db14;this['autoAddIndex']=setTimeout(()=>{const _0x405d3d=_0x4829,_0x55d553=Object[_0x405d3d(0x2af)](this[_0x405d3d(0x25e)]);_0x55d553['length']&&(this[_0x405d3d(0x2e3)](_0x55d553[Math[_0x405d3d(0x1f6)](Math[_0x405d3d(0x2b5)]()*_0x55d553[_0x405d3d(0x1ce)])]),this['_nextAdvertisement']());},this[_0x2968e9(0x222)][_0x2968e9(0x2db)]);}['AddAdvertisement'](_0x5f0a1d,_0x46ad7d,_0x17c2d5=null){const _0x209761=_0x48db14;if(_0x5f0a1d[_0x209761(0x369)](_0x209761(0x240))>-0x1){fetch(_0x46ad7d)[_0x209761(0x29c)](async _0x673db0=>{const _0x364ce6=_0x209761;this[_0x364ce6(0x1e6)]=await _0x673db0[_0x364ce6(0x1e0)](),this['ad2place']={};let _0x14836d=Object['keys'](this[_0x364ce6(0x1e6)]);for(let _0x2abb03=0x0;_0x2abb03<_0x14836d[_0x364ce6(0x1ce)];++_0x2abb03){let _0x43217f=_0x14836d[_0x2abb03];if(_0x43217f==_0x364ce6(0x1ee)){this[_0x364ce6(0x211)]=this[_0x364ce6(0x1e6)][_0x43217f],delete this[_0x364ce6(0x1e6)][_0x43217f];continue;}let _0x27f8e7=this[_0x364ce6(0x1e6)][_0x43217f];for(let _0xf783fe=0x0;_0xf783fe<_0x27f8e7[_0x364ce6(0x1ce)];++_0xf783fe){let _0x57fff4=_0x27f8e7[_0xf783fe];this['ad2place']['#'+_0x57fff4]=_0x43217f;}}Object[_0x364ce6(0x2af)](this[_0x364ce6(0x1e6)])[_0x364ce6(0x1ce)]>0x0&&(console[_0x364ce6(0x285)](_0x364ce6(0x3da),this[_0x364ce6(0x1e6)]),console[_0x364ce6(0x285)](_0x364ce6(0x2eb),this[_0x364ce6(0x348)]),setTimeout(()=>{const _0x5b6044=_0x364ce6;this[_0x5b6044(0x21b)]();},0xbb8));});if(_0x17c2d5)_0x17c2d5();return;}const _0x1aa3f0=new Image();return _0x1aa3f0['crossOrigin']=_0x209761(0x1e7),_0x1aa3f0[_0x209761(0x36a)]=()=>{const _0x483516=_0x209761;let _0x5cb59e=Object['keys'](this[_0x483516(0x25e)])[_0x483516(0x1ce)]===0x0;this[_0x483516(0x25e)][_0x5f0a1d]=_0x1aa3f0;_0x5cb59e&&(this[_0x483516(0x2e3)](_0x5f0a1d),this[_0x483516(0x222)]['isAdLoop']&&(clearTimeout(this[_0x483516(0x354)]),this[_0x483516(0x3d8)]()));if(_0x17c2d5)_0x17c2d5();},_0x1aa3f0[_0x209761(0x34a)]=()=>{const _0x48f55d=_0x209761;alert(_0x48f55d(0x269)+_0x46ad7d+'\x20.');},_0x1aa3f0[_0x209761(0x344)]=_0x46ad7d,_0x1aa3f0;}[_0x48db14(0x21b)](){const _0xaa87b5=_0x48db14;if(this[_0xaa87b5(0x1e6)]){let _0x2f2077=Object[_0xaa87b5(0x2af)](this[_0xaa87b5(0x1e6)]);for(let _0x11466f=0x0;_0x11466f<_0x2f2077['length'];++_0x11466f){let _0x211176=_0x2f2077[_0x11466f];!this[_0xaa87b5(0x362)][_0x211176]&&this[_0xaa87b5(0x1e6)][_0x211176][_0xaa87b5(0x1ce)]>0x0&&(console[_0xaa87b5(0x285)](_0xaa87b5(0x2fe)+this[_0xaa87b5(0x1e6)][_0x211176][0x0]+_0xaa87b5(0x34b)+_0x211176),this[_0xaa87b5(0x2e3)]('#'+this[_0xaa87b5(0x1e6)][_0x211176][0x0]));}}}[_0x48db14(0x2e3)](_0x3be677){const _0x5362fe=_0x48db14;console[_0x5362fe(0x285)]('composer::SelectAd:\x20selected\x20ad\x20is\x20'+_0x3be677);let _0x220e2d=this[_0x5362fe(0x25e)][_0x3be677];if(!_0x220e2d)console['error'](_0x5362fe(0x310)+_0x3be677+'\x27');else{if(this['ad2place']&&this['ad2place'][_0x3be677]){let _0x3b4b33=this[_0x5362fe(0x348)][_0x3be677];console[_0x5362fe(0x285)](_0x5362fe(0x212)+_0x3b4b33);let _0x10181c=this[_0x5362fe(0x35c)](_0x3b4b33),_0x31aeb8='ad'+(_0x10181c-0x1);if(this[_0x5362fe(0x362)][_0x3b4b33])this['ctx'][_0x5362fe(0x2e2)](this[_0x5362fe(0x362)][_0x3b4b33][_0x5362fe(0x33e)]);this[_0x5362fe(0x362)][_0x3b4b33]={'tex':this['GenerateTexture'](_0x220e2d,_0x10181c,_0x31aeb8),'texUnitId':_0x10181c,'texName':_0x31aeb8,'name':_0x3be677};}else this[_0x5362fe(0x1f3)]!=null&&this[_0x5362fe(0x2d7)][_0x5362fe(0x2e2)](this['adTexture']),this[_0x5362fe(0x1f3)]=this[_0x5362fe(0x31f)](_0x220e2d,this[_0x5362fe(0x26c)](),_0x5362fe(0x32c)),this['lastAd']=_0x220e2d,this[_0x5362fe(0x1db)]=_0x3be677;}}['OnMetaData'](_0x240156){const _0x1c19e1=_0x48db14;this[_0x1c19e1(0x39b)][_0x240156[_0x1c19e1(0x33d)]]=_0x240156,this['metadataArr']['push'](_0x240156[_0x1c19e1(0x33d)]);}[_0x48db14(0x3d5)](){const _0x2fe5c1=_0x48db14;(this['requestFullscreen']||this[_0x2fe5c1(0x239)])[_0x2fe5c1(0x2f3)](this)[_0x2fe5c1(0x345)](_0x33cf87=>{const _0x19cbe9=_0x2fe5c1;console[_0x19cbe9(0x2fc)](_0x33cf87);});}[_0x48db14(0x35a)](){const _0x5d9daa=_0x48db14;let _0x58caec=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x364)](this[_0x5d9daa(0x2ae)],'a_position'),_0x76359c=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3ab)](this['program'],_0x5d9daa(0x3a8)),_0x2ce25c=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3ab)](this[_0x5d9daa(0x2ae)],_0x5d9daa(0x26d));this[_0x5d9daa(0x2d7)]['uniform2f'](_0x76359c,this['ctx'][_0x5d9daa(0x3b1)][_0x5d9daa(0x306)],this[_0x5d9daa(0x2d7)]['canvas'][_0x5d9daa(0x2ca)]),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x28f)](_0x2ce25c,this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3b1)][_0x5d9daa(0x306)],this['ctx'][_0x5d9daa(0x3b1)][_0x5d9daa(0x2ca)]);if(this[_0x5d9daa(0x3cf)]==0x2){let _0x3e9875=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3ab)](this[_0x5d9daa(0x2ae)],'u_matrix'),_0x3348d7=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this['ctx']['uniformMatrix3fv'](_0x3e9875,![],_0x3348d7);}let _0x227834=null;this[_0x5d9daa(0x3cf)]==0x2&&(_0x227834=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3a6)](),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x256)](_0x227834));let _0x18d4f7=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x244)]();this[_0x5d9daa(0x2d7)][_0x5d9daa(0x2e0)](_0x58caec),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x372)](this[_0x5d9daa(0x2d7)][_0x5d9daa(0x219)],_0x18d4f7);let _0x26d878=0x2,_0x1d15bc=this[_0x5d9daa(0x2d7)][_0x5d9daa(0x296)],_0x5cee17=![],_0x36c1b0=0x0,_0x379e76=0x0;this[_0x5d9daa(0x2d7)]['vertexAttribPointer'](_0x58caec,_0x26d878,_0x1d15bc,_0x5cee17,_0x36c1b0,_0x379e76);let _0x2e9eb0=this['ctx'][_0x5d9daa(0x244)]();this[_0x5d9daa(0x2d7)][_0x5d9daa(0x372)](this['ctx'][_0x5d9daa(0x219)],_0x2e9eb0),this['ctx'][_0x5d9daa(0x2e6)](this['ctx'][_0x5d9daa(0x219)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x23f)]),this['ctx'][_0x5d9daa(0x1f0)](0x0,0x0,this['ctx'][_0x5d9daa(0x3b1)][_0x5d9daa(0x306)],this[_0x5d9daa(0x2d7)][_0x5d9daa(0x3b1)][_0x5d9daa(0x2ca)]),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x236)](0x0,0x0,0x0,0x0),this[_0x5d9daa(0x2d7)]['clear'](this['ctx'][_0x5d9daa(0x31e)]|this[_0x5d9daa(0x2d7)][_0x5d9daa(0x29d)]),this[_0x5d9daa(0x2d7)][_0x5d9daa(0x372)](this[_0x5d9daa(0x2d7)][_0x5d9daa(0x219)],_0x18d4f7),this[_0x5d9daa(0x1cc)](this['ctx'],0x0,0x0,this[_0x5d9daa(0x3b1)]['width'],this[_0x5d9daa(0x3b1)][_0x5d9daa(0x2ca)]);let _0x2d1dd3=this[_0x5d9daa(0x2d7)]['TRIANGLES'],_0x39a4dc=0x6;this[_0x5d9daa(0x2d7)][_0x5d9daa(0x33a)](_0x2d1dd3,_0x379e76,_0x39a4dc);}[_0x48db14(0x1cc)](_0x2f433b,_0x187508,_0x31029a,_0x1aefbb,_0x2921e4){const _0x1cf881=_0x48db14;let _0x191b63=_0x187508,_0x345054=_0x187508+_0x1aefbb,_0x28b16d=_0x31029a,_0x317c5c=_0x31029a+_0x2921e4;this[_0x1cf881(0x2d7)][_0x1cf881(0x2e6)](this['ctx'][_0x1cf881(0x219)],new Float32Array([_0x191b63,_0x28b16d,_0x345054,_0x28b16d,_0x191b63,_0x317c5c,_0x191b63,_0x317c5c,_0x345054,_0x28b16d,_0x345054,_0x317c5c]),this[_0x1cf881(0x2d7)][_0x1cf881(0x23f)]);}[_0x48db14(0x1fb)](_0x367c72){const _0x8658e6=_0x48db14;let _0x25c694=BB[_0x8658e6(0x2f0)][_0x8658e6(0x1ec)],_0x2be16b=_0x25c694[_0x8658e6(0x3ae)](_0x367c72),_0x2ee885=_0x25c694['TimeCodeAddFrames'](_0x2be16b,0x1,this['sourceFPS']),_0x534470=_0x25c694['TimeCodeAddFrames'](_0x2be16b,0x2,this[_0x8658e6(0x3be)]),_0x2b8e06=_0x25c694[_0x8658e6(0x317)](_0x2ee885),_0x5f1f3e=_0x25c694['printTimecode'](_0x534470);this[_0x8658e6(0x3c6)]=!![];const _0x314850=performance['now']();let _0x234010=null,_0x15ad38=[];if(this['metadataMap'][_0x367c72]){_0x234010=this['metadataMap'][_0x367c72];this['metadataMap'][_0x2b8e06]&&_0x15ad38[_0x8658e6(0x2a6)]({'nextVideo':this[_0x8658e6(0x39b)][_0x2b8e06],'nextTimeCode':_0x2b8e06});this['metadataMap'][_0x5f1f3e]&&_0x15ad38[_0x8658e6(0x2a6)]({'nextVideo':this['metadataMap'][_0x5f1f3e],'nextTimeCode':_0x5f1f3e});const _0x100839=this[_0x8658e6(0x39d)][_0x8658e6(0x369)](_0x367c72);if(_0x100839>-0x5)this['metadataArr']['splice'](0x0,_0x100839-0x4)[_0x8658e6(0x320)](_0x4c8738=>{const _0x564d6b=_0x8658e6;delete this[_0x564d6b(0x39b)][_0x4c8738];});this[_0x8658e6(0x3c7)]++;}else this[_0x8658e6(0x325)]++,this[_0x8658e6(0x325)]>0x3c&&(this[_0x8658e6(0x325)]=0x0,console[_0x8658e6(0x2fc)](_0x8658e6(0x301)+_0x367c72)),this[_0x8658e6(0x3c7)]++;this[_0x8658e6(0x3c7)]>0x1e&&this['canvas'][_0x8658e6(0x37a)][_0x8658e6(0x3b5)]=='none'&&(this['canvas'][_0x8658e6(0x37a)][_0x8658e6(0x3b5)]='');let _0x335acc=[];this[_0x8658e6(0x3b1)]['width']=0x500,this[_0x8658e6(0x3b1)][_0x8658e6(0x2ca)]=0x2d0;let _0x315691=0x0;this[_0x8658e6(0x304)]=[];if(_0x234010){let _0x27eb2b=![];if(this[_0x8658e6(0x222)][_0x8658e6(0x1d4)]){var _0x51cb3b=document[_0x8658e6(0x2c8)](_0x8658e6(0x379));_0x27eb2b=_0x51cb3b[_0x8658e6(0x349)];}if(!_0x27eb2b)for(const _0x3c71f7 in _0x234010[_0x8658e6(0x300)]){const _0x2cf825=_0x234010[_0x8658e6(0x300)][_0x3c71f7];if(!_0x2cf825[_0x8658e6(0x340)])continue;let _0x1e7838=_0x8658e6(0x2ed)+_0x315691,_0x1e4476=this[_0x8658e6(0x339)]()+_0x315691;_0x2cf825[_0x8658e6(0x3c4)]=this[_0x8658e6(0x31f)](_0x2cf825[_0x8658e6(0x340)],_0x1e4476,_0x1e7838,this['ctx'][_0x8658e6(0x22b)],_0x2cf825[_0x8658e6(0x306)],_0x2cf825['height'],!![]),_0x2cf825[_0x8658e6(0x340)]=null;if(!_0x2cf825[_0x8658e6(0x3c4)]){console[_0x8658e6(0x2fc)]('Failed\x20to\x20create\x20alpha\x20texture');continue;}_0x335acc[_0x8658e6(0x2a6)](_0x2cf825[_0x8658e6(0x3c4)]);let _0xcce710=_0x8658e6(0x26b)+_0x315691,_0x3ccba1=this[_0x8658e6(0x2d7)]['getUniformLocation'](this[_0x8658e6(0x2ae)],_0xcce710);this[_0x8658e6(0x2d7)][_0x8658e6(0x360)](_0x3ccba1,0x1);let _0x47049f=_0x8658e6(0x2cd)+_0x315691,_0x2ee942=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x47049f),_0x42e97d=![];_0x2cf825[_0x8658e6(0x356)][_0x8658e6(0x369)](_0x8658e6(0x253))>=0x0?(this[_0x8658e6(0x2d7)]['uniform1i'](_0x2ee942,0x63),_0x42e97d=!![]):this['ctx'][_0x8658e6(0x360)](_0x2ee942,this['TexUnitForPlaceHolder'](_0x2cf825));let _0x53c475=_0x8658e6(0x3bf)+_0x315691+_0x8658e6(0x38d),_0x3c0195=this['ctx'][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x53c475);this[_0x8658e6(0x2d7)][_0x8658e6(0x26f)](_0x3c0195,[_0x2cf825[_0x8658e6(0x346)],_0x2cf825[_0x8658e6(0x1ff)]]);let _0x4d7099=_0x8658e6(0x3bf)+_0x315691+_0x8658e6(0x223),_0x26d3e7=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x4d7099);this[_0x8658e6(0x2d7)][_0x8658e6(0x26f)](_0x26d3e7,[_0x2cf825[_0x8658e6(0x306)],_0x2cf825[_0x8658e6(0x2ca)]]);let _0x117dbd=_0x8658e6(0x391)+_0x315691,_0x2d1fec=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x117dbd);this[_0x8658e6(0x2d7)][_0x8658e6(0x25f)](_0x2d1fec,![],_0x2cf825[_0x8658e6(0x38c)]);if(!_0x42e97d){let _0x4a8b5e={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x57113c of _0x2cf825[_0x8658e6(0x35d)]){if(_0x57113c['x']<_0x4a8b5e['l']||_0x4a8b5e['l']==-0x1)_0x4a8b5e['l']=_0x57113c['x'];if(_0x57113c['x']>_0x4a8b5e['r']||_0x4a8b5e['r']==-0x1)_0x4a8b5e['r']=_0x57113c['x'];if(_0x57113c['y']<_0x4a8b5e['t']||_0x4a8b5e['t']==-0x1)_0x4a8b5e['t']=_0x57113c['y'];if(_0x57113c['y']>_0x4a8b5e['b']||_0x4a8b5e['b']==-0x1)_0x4a8b5e['b']=_0x57113c['y'];}_0x4a8b5e['l']/=_0x234010[_0x8658e6(0x1ca)][_0x8658e6(0x306)],_0x4a8b5e['r']/=_0x234010[_0x8658e6(0x1ca)]['width'],_0x4a8b5e['t']/=_0x234010[_0x8658e6(0x1ca)][_0x8658e6(0x2ca)],_0x4a8b5e['b']/=_0x234010['canvasSize']['height'],this[_0x8658e6(0x304)][_0x8658e6(0x2a6)]({'name':this[_0x8658e6(0x2dc)](_0x2cf825),'rect':_0x4a8b5e});}_0x315691++;}}else{}for(;_0x315691<BB[_0x8658e6(0x32a)];++_0x315691){let _0x17161e='hasLogo'+_0x315691,_0x582640=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x17161e);this[_0x8658e6(0x2d7)][_0x8658e6(0x360)](_0x582640,0x0);let _0x86fb88=_0x8658e6(0x2ed)+_0x315691,_0x5e4b60=this[_0x8658e6(0x2d7)]['getUniformLocation'](this[_0x8658e6(0x2ae)],_0x86fb88);this[_0x8658e6(0x2d7)][_0x8658e6(0x360)](_0x5e4b60,0x0);}if(this['options']['augmentation'][_0x8658e6(0x32b)]){let _0x1ffef6=_0x367c72[_0x8658e6(0x203)](':')[0x3],_0x4f2bab=_0x1ffef6[_0x8658e6(0x369)]('.')>=0x0?0x2:0x1,_0x1f4801=parseInt(_0x1ffef6[_0x8658e6(0x203)]('.')[0x0])%0xa,_0x346dbe=_0x1f4801+'.'+_0x4f2bab,_0xf62ce4=this[_0x8658e6(0x339)]()+0x5,_0x5d420a=this['GenerateTexture'](this['digitImg'][_0x346dbe],_0xf62ce4,_0x8658e6(0x24e));_0x335acc['push'](_0x5d420a);let _0xe4c00e=_0x8658e6(0x226),_0x1bc43f=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0xe4c00e);this[_0x8658e6(0x2d7)]['uniform1i'](_0x1bc43f,0x1);let _0x389ce0=_0x8658e6(0x2da),_0x247740=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this['program'],_0x389ce0);this[_0x8658e6(0x2d7)][_0x8658e6(0x26f)](_0x247740,[0x0,0x0]);let _0x35e712=_0x8658e6(0x35b),_0x1e0cb7=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this[_0x8658e6(0x2ae)],_0x35e712);this['ctx'][_0x8658e6(0x26f)](_0x1e0cb7,[0xc8,0xc8]);}else{let _0xbc9fc2=_0x8658e6(0x226),_0x377b24=this[_0x8658e6(0x2d7)][_0x8658e6(0x3ab)](this['program'],_0xbc9fc2);this[_0x8658e6(0x2d7)][_0x8658e6(0x360)](_0x377b24,0x0);}this[_0x8658e6(0x35a)]();for(const _0x800535 of _0x335acc){this['ctx'][_0x8658e6(0x2e2)](_0x800535);}}['getCanvas'](){const _0xe2fff6=_0x48db14;return this[_0xe2fff6(0x3b1)];}},BB[_0x48db14(0x363)]=(_0x22e4ba,_0x4209cb)=>{const _0x3b05cc=_0x48db14;let _0x20740a=[];const _0x30c8b1=new BB[(_0x3b05cc(0x1d6))]((_0xa12878,_0x5de4d2)=>{const _0x24a89b=_0x3b05cc;switch(_0xa12878){case'roommembers':console[_0x24a89b(0x285)](_0x24a89b(0x228),_0x5de4d2);break;case _0x24a89b(0x227):const _0x451889=document[_0x24a89b(0x2c8)](_0x24a89b(0x356));_0x451889&&(_0x451889[_0x24a89b(0x1f1)]=_0x30c8b1[_0x24a89b(0x356)]);break;case _0x24a89b(0x2a7):if(_0x5de4d2[_0x24a89b(0x22e)]===_0x30c8b1[_0x24a89b(0x356)]){if(_0x5de4d2[_0x24a89b(0x394)]){const _0x10456d=_0x24a89b(0x312);_0x22e4ba[_0x24a89b(0x2f1)](_0x10456d,_0x5de4d2[_0x24a89b(0x394)],()=>{const _0x1af8e0=_0x24a89b;_0x22e4ba[_0x1af8e0(0x2e3)](_0x10456d);});}else _0x20740a=_0x5de4d2['ads'],_0x20740a['length']&&_0x22e4ba[_0x24a89b(0x2e3)](_0x20740a[0x0]);}break;case _0x24a89b(0x23d):_0x20740a=_0x5de4d2;_0x20740a[_0x24a89b(0x1ce)]&&_0x22e4ba[_0x24a89b(0x2e3)](_0x20740a[0x0]);break;}});var _0x168915=document['createElement'](_0x3b05cc(0x235));_0x168915[_0x3b05cc(0x344)]='https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js',document[_0x3b05cc(0x2aa)](_0x3b05cc(0x1cb))[0x0]['appendChild'](_0x168915),_0x168915[_0x3b05cc(0x36a)]=function(){const _0x277acc=_0x3b05cc;_0x30c8b1[_0x277acc(0x2fb)](_0x4209cb[_0x277acc(0x20c)][_0x277acc(0x266)]);},_0x4209cb[_0x3b05cc(0x20c)][_0x3b05cc(0x293)]?_0x22e4ba[_0x3b05cc(0x2f1)](_0x3b05cc(0x1e8),_0x4209cb['augmentation']['logoURL']):fetch('https://www.virtualott.com/ads/'+_0x4209cb[_0x3b05cc(0x20c)][_0x3b05cc(0x266)])[_0x3b05cc(0x29c)](async _0x3d4bd9=>{const _0x5a70d3=await _0x3d4bd9['json']();_0x5a70d3['forEach'](_0x3f7058=>{const _0x112dea=_0x4829;_0x22e4ba[_0x112dea(0x2f1)]('#'+_0x3f7058[_0x112dea(0x356)],_0x3f7058[_0x112dea(0x394)]);});});},BB[_0x48db14(0x2d0)]=(_0x26d4d4,_0x244756)=>{const _0x54c104=_0x48db14;let _0x2fc107=BB[_0x54c104(0x2f0)][_0x54c104(0x1ec)],_0x6a41e4=BB[_0x54c104(0x2f0)][_0x54c104(0x1fa)](_0x26d4d4[_0x54c104(0x377)]),_0x19824a,_0x3a6671,_0xe28be8=null,_0x5b5bf3=null;console[_0x54c104(0x285)](_0x54c104(0x3bb)+_0x26d4d4[_0x54c104(0x267)]);const _0x125387=_0x2a3bd1=>{const _0x2ad3d5=_0x54c104;_0x19824a=_0x2a3bd1,console[_0x2ad3d5(0x285)](_0x2ad3d5(0x2b7)+_0x26d4d4['gameId']+':\x20'+_0x19824a),_0x3a6671&&_0x487584(_0x3a6671);};async function _0x3e667e(){const _0x5b9efd=_0x54c104,_0xadc757=await fetch(_0x26d4d4[_0x5b9efd(0x305)]),_0x56f81c=await _0xadc757['json']();_0x125387(_0x26d4d4[_0x5b9efd(0x267)]);}_0x3e667e();const _0x139b9f=_0x4c33f8=>{_0x3a6671=_0x4c33f8,_0x19824a&&_0x487584(_0x3a6671);},_0x487584=_0x45e816=>{const _0x10f374=_0x54c104;if(_0xe28be8==null){console[_0x10f374(0x396)]('We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it');let _0x460d3b=new Blob([META_WORKER],{'type':_0x10f374(0x281)});_0xe28be8=new Worker(URL[_0x10f374(0x343)](_0x460d3b)),_0xe28be8[_0x10f374(0x34a)]=function(_0x2a8906){const _0xf14e6f=_0x10f374;console['error'](_0xf14e6f(0x2f5),_0x2a8906);},_0xe28be8[_0x10f374(0x1c2)](_0x10f374(0x2fc),function(_0x550073){const _0xb1ae6a=_0x10f374;console[_0xb1ae6a(0x2fc)]('Error\x20from\x20worker\x20(via\x20addEventListener):',_0x550073['message']);});if(_0xe28be8)console[_0x10f374(0x396)](_0x10f374(0x26a));else console[_0x10f374(0x396)](_0x10f374(0x273));_0xe28be8[_0x10f374(0x1c2)]('message',_0x28cafb=>{const _0x5f30d9=_0x10f374;if(_0x28cafb['data'][_0x5f30d9(0x1c9)]){}else _0x244756[_0x5f30d9(0x395)](_0x28cafb[_0x5f30d9(0x1dd)]);});let _0xe547e=_0x2fc107['TimeCodeArray2TimeCodeJson'](_0x2fc107[_0x10f374(0x28d)](_0x45e816,_0x6a41e4,!![]));_0xe28be8[_0x10f374(0x318)]({'cloudFrontURL':_0x26d4d4['cloudFrontURL'],'folderName':_0x19824a,'tc':_0x2fc107[_0x10f374(0x317)](_0xe547e,![])});}else{let _0x4f66c8=_0x2fc107[_0x10f374(0x337)](_0x2fc107[_0x10f374(0x28d)](_0x45e816,_0x6a41e4,!![]));_0xe28be8['postMessage']({'tc':_0x2fc107[_0x10f374(0x317)](_0x4f66c8,![]),'enabled':_0x26d4d4[_0x10f374(0x3d7)]});}};return{'setLastFrame':_0x139b9f};},BB['OTTPlayer']=class{constructor(_0x175a00,_0x56aa93,_0x37f792){const _0x186868=_0x48db14;this[_0x186868(0x21c)]=_0x175a00,this[_0x186868(0x2cf)]=_0x56aa93,console[_0x186868(0x285)]('optionsFromMK:\x20',_0x37f792),this[_0x186868(0x222)]=Object['assign']({'enabled':!![],'stopAugment':![],'gameId':_0x186868(0x276),'medialook':![],'allGamesURL':'https://www.virtualott.com/games/','cloudFrontURL':_0x186868(0x1d3),'mediaIdJsonURL':_0x186868(0x2d5),'offsetJsonURL':_0x186868(0x3d6),'frameRateMode':BB[_0x186868(0x319)][_0x186868(0x3c0)],'renderingMode':BB['RenderingMode'][_0x186868(0x202)],'SynchMethod':BB[_0x186868(0x3ca)][_0x186868(0x1ed)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x37f792||{}),console['log'](_0x186868(0x347),this['options']),this[_0x186868(0x222)][_0x186868(0x20c)][_0x186868(0x266)]=_0x186868(0x25a),console[_0x186868(0x396)]=function(_0x5bf107){const _0x9e0b99=_0x186868;console[_0x9e0b99(0x285)]('OTTPlayer:\x20'+_0x5bf107);},console[_0x186868(0x3c3)]=function(_0x52bfb6){const _0x1ef3c0=_0x186868;console[_0x1ef3c0(0x2fc)]('OTTPlayer:\x20'+_0x52bfb6);};function _0x135d15(_0x423486,_0x4c347b){const _0x3543c0=_0x186868,_0x42e964=_0x423486[_0x3543c0(0x203)]('.')[_0x3543c0(0x33c)](Number),_0x11050e=_0x4c347b[_0x3543c0(0x203)]('.')['map'](Number);for(let _0x1b9585=0x0;_0x1b9585<Math['max'](_0x42e964['length'],_0x11050e[_0x3543c0(0x1ce)]);_0x1b9585++){const _0x47b67f=_0x42e964[_0x1b9585]||0x0,_0x4e86da=_0x11050e[_0x1b9585]||0x0;if(_0x47b67f<_0x4e86da)return-0x1;else{if(_0x47b67f>_0x4e86da)return 0x1;}}return 0x0;}this[_0x186868(0x25c)]();}[_0x48db14(0x350)](){const _0x4fea30=_0x48db14;if(typeof globalConfig===_0x4fea30(0x39e))this[_0x4fea30(0x222)]=Object[_0x4fea30(0x2b9)](this[_0x4fea30(0x222)],{});else this[_0x4fea30(0x222)]=Object['assign'](this[_0x4fea30(0x222)],globalConfig);this[_0x4fea30(0x222)][_0x4fea30(0x20c)]['offset']=0x0,console[_0x4fea30(0x285)]('options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20',this[_0x4fea30(0x222)]);if(!this[_0x4fea30(0x222)][_0x4fea30(0x1d4)]){let _0x68206f=[_0x4fea30(0x399),_0x4fea30(0x329),'forDoNotRender','debugText2','toggleBtn','numberInput',_0x4fea30(0x279),_0x4fea30(0x379),_0x4fea30(0x1c3),_0x4fea30(0x20f),'br1','br2'];for(let _0x305ba3=0x0;_0x305ba3<_0x68206f[_0x4fea30(0x1ce)];_0x305ba3++){const _0x30ce7a=document[_0x4fea30(0x2c8)](_0x68206f[_0x305ba3]);_0x30ce7a&&(_0x30ce7a[_0x4fea30(0x37a)][_0x4fea30(0x3b5)]=_0x4fea30(0x277));}}let _0x58981a=BB[_0x4fea30(0x2f0)]['Platform'],_0x11f016=BB['Utils'][_0x4fea30(0x1ec)];if(this[_0x4fea30(0x2cf)])this[_0x4fea30(0x2c3)](this['srcFrameRate']);this[_0x4fea30(0x1d8)](this[_0x4fea30(0x222)][_0x4fea30(0x267)]);}[_0x48db14(0x323)](){const _0xad946b=_0x48db14;let _0x70f637={};this['frameDrawer']=BB[_0xad946b(0x373)](_0x70f637,this[_0xad946b(0x21c)],this[_0xad946b(0x222)]),this[_0xad946b(0x222)]['renderingMode']==BB[_0xad946b(0x371)]['Augment']&&this[_0xad946b(0x207)][_0xad946b(0x3b6)]();}async[_0x48db14(0x25c)](){const _0x529cde=_0x48db14,_0x2f9c4c=new URL(document[_0x529cde(0x200)]),_0xb9789d=_0x2f9c4c[_0x529cde(0x20a)][_0x529cde(0x27c)]('config')||'';if(_0xb9789d!=='')try{const _0x30afef=await fetch(_0xb9789d);if(!_0x30afef['ok'])throw new Error(_0x529cde(0x3b7));const _0x1a7bf7=await _0x30afef[_0x529cde(0x1e0)]();console[_0x529cde(0x285)](_0x529cde(0x1c5),_0x1a7bf7);if(typeof globalConfig==_0x529cde(0x39e))window[_0x529cde(0x387)]={};globalConfig=Object[_0x529cde(0x2b9)]({},globalConfig,_0x1a7bf7);}catch(_0x5380a2){console[_0x529cde(0x2fc)](_0x529cde(0x249),_0x5380a2);}this[_0x529cde(0x350)]();}async[_0x48db14(0x1d8)](_0x124ac7){const _0x5930fa=_0x48db14;try{const _0x2a9cae=await fetch(this[_0x5930fa(0x222)]['mediaIdJsonURL']+'/'+_0x124ac7);if(!_0x2a9cae['ok'])throw new Error(_0x5930fa(0x355)+_0x2a9cae['status']);const _0x3781d7=await _0x2a9cae[_0x5930fa(0x1e0)]();if(_0x3781d7[_0x5930fa(0x257)](_0x5930fa(0x216))){const _0x5498c7=_0x3781d7[_0x5930fa(0x216)];console['BBlog'](_0x5930fa(0x335)+_0x124ac7+':\x20'+_0x5498c7),this[_0x5930fa(0x222)][_0x5930fa(0x267)]=_0x5498c7,console[_0x5930fa(0x285)](_0x5930fa(0x206)+this[_0x5930fa(0x222)][_0x5930fa(0x267)]+_0x5930fa(0x1f7)),this[_0x5930fa(0x323)](),this[_0x5930fa(0x1cf)](this[_0x5930fa(0x222)][_0x5930fa(0x267)]);}else console['BBerror'](_0x5930fa(0x33f)+_0x124ac7+_0x5930fa(0x29e)),this[_0x5930fa(0x222)]['stopAugment']=!![];}catch(_0x5654d5){console[_0x5930fa(0x3c3)](_0x5930fa(0x385),_0x5654d5);}}async['fetchOffsetForGameId'](_0x1cbd83){const _0x4b904e=_0x48db14;try{const _0x51c853=await fetch(this[_0x4b904e(0x222)][_0x4b904e(0x264)]+'/'+this[_0x4b904e(0x222)][_0x4b904e(0x267)]);!_0x51c853['ok']&&(console[_0x4b904e(0x396)](_0x4b904e(0x355)+_0x51c853[_0x4b904e(0x322)]),setTimeout(()=>{const _0x4cc891=_0x4b904e;this[_0x4cc891(0x1cf)](_0x1cbd83);},0x1388));const _0x3c55ab=await _0x51c853[_0x4b904e(0x1e0)]();if(_0x3c55ab[_0x4b904e(0x257)](_0x4b904e(0x28e))&&_0x3c55ab[_0x4b904e(0x257)](_0x4b904e(0x224))){const _0x5ca709=_0x3c55ab[_0x4b904e(0x28e)],_0x2f7ea4=_0x3c55ab['found'];_0x2f7ea4==!![]&&(console[_0x4b904e(0x396)](_0x4b904e(0x331)+_0x1cbd83+':\x20'+_0x5ca709),this[_0x4b904e(0x222)][_0x4b904e(0x20c)][_0x4b904e(0x28e)]=_0x5ca709,setTimeout(()=>{this['fetchOffsetForGameId'](_0x1cbd83);},0xea60));}else console[_0x4b904e(0x396)](_0x4b904e(0x23e)+mediaID+'\x20not\x20found\x20in\x20JSON.'),setTimeout(()=>{const _0x17ec64=_0x4b904e;this[_0x17ec64(0x1cf)](_0x1cbd83);},0x1388);}catch(_0x328217){console[_0x4b904e(0x3c3)](_0x4b904e(0x20d),_0x328217),setTimeout(()=>{const _0x59c408=_0x4b904e;this[_0x59c408(0x1cf)](_0x1cbd83);},0x1388);}}[_0x48db14(0x3b4)](_0x1cf579){const _0x320b17=_0x48db14;this[_0x320b17(0x222)]['enabled']=_0x1cf579;}[_0x48db14(0x36e)](){const _0x388327=_0x48db14;return this[_0x388327(0x207)][_0x388327(0x336)]();}[_0x48db14(0x2c3)](_0xe342ee){const _0x183469=_0x48db14;let _0x4f2a82=BB[_0x183469(0x2f0)][_0x183469(0x261)];switch(_0xe342ee){case 0x3c:this[_0x183469(0x222)][_0x183469(0x377)]=BB[_0x183469(0x319)][_0x183469(0x1f9)];break;case 0xea60/0x3e9:case 59.94:_0x4f2a82['isWindows']()||_0x4f2a82[_0x183469(0x2e7)]()||_0x4f2a82[_0x183469(0x2b3)]()?this[_0x183469(0x222)][_0x183469(0x377)]=BB['FrameRateMode'][_0x183469(0x214)]:this[_0x183469(0x222)][_0x183469(0x377)]=BB['FrameRateMode'][_0x183469(0x214)];break;case 0x7530/0x3e9:case 29.97:this[_0x183469(0x222)][_0x183469(0x377)]=BB[_0x183469(0x319)][_0x183469(0x31b)];break;default:console[_0x183469(0x2fc)](_0x183469(0x2bd)+_0xe342ee+_0x183469(0x398));break;}}[_0x48db14(0x341)](_0x21ad3b){const _0x54daab=_0x48db14;this[_0x54daab(0x222)]['syncPoint']=_0x21ad3b;}['onNewSegment'](_0x52fa1b){const _0x347026=_0x48db14;this[_0x347026(0x207)][_0x347026(0x270)](_0x52fa1b);}[_0x48db14(0x3b0)](_0x269848){const _0xcb6ede=_0x48db14;this[_0xcb6ede(0x207)][_0xcb6ede(0x2d2)](_0x269848);}};
|