@brandbrigade/ott-bb-player 1.0.10 → 1.0.12

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 CHANGED
@@ -117,4 +117,11 @@ Added usage of TimeCodesSync service
117
117
  Bug fix
118
118
 
119
119
  ### Version 1.0.10
120
- Bug fix
120
+ Bug fix
121
+
122
+ ### Version 1.0.11
123
+ Bug fix
124
+
125
+ ### Version 1.0.12
126
+ All is packed to one file
127
+
@@ -1 +1 @@
1
- function _0x1e46(){const _0x2e2c2d=['clientWidth','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','map','BlackBerry','Src59_MediaTime59','Offest\x20for\x20gameid=\x20','MKsync','style','socket\x20connected','Src29_MediaTime29','dataos','getUTCMilliseconds','offs','ntc','place2ad',',\x20correction','Opera','sourceFPS','Toggle','getGlobalConfig','RGBA','webGLVersion','CallBacks\x20are\x20set','getSourceFPS','videoStarted','CLAMP_TO_EDGE','Internet\x20Explorer','value','mediaTime','offset','callback','clientX','renderingMode','logoURL','ScreenFPS','metadata','messageroom:\x20','MediaID\x20','join\x20\x20','messageroom','dateTime','https://www.virtualott.com/MK/prod/MetaDataDownloaderThread.js','Platform\x20not\x20supported','autoAddIndex','CLDC','type','searchParams','getMilliseconds','gameId','width','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:',',\x20TimeFired:\x20','Win','MAX_LOGOS','split','tex','log','STATIC_DRAW','2683728AWOWBs','requestAnimationFrame\x20is\x20supported','field','getUniformLocation','emit','top','offsetTop','texImage2D','www.mediakind.com/NTC','Mac','digitTex','InitGL','shift',',\x20took:\x20','msMaxTouchPoints','name','PalmOS','COMPILE_STATUS','getProgramParameter','if\x20(alpha\x20==\x200.0)','Utils','FLOAT','index','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','webgl2','34770ilvEIH','getUTCMinutes','data','adForLogo','bufferData','iPad','Average\x20refresh\x20screen\x20rate:\x20','canvasSize','eventType','fragmentShaderSourceV1','OnMetadata','Unknown','player','MetaDataFetcher','disconnect\x20from\x20signaling::','metadataMap','place2AdTexture','TopLeft','(\x20Security\x20)\x20We\x20cant\x20reach\x20','UNPACK_FLIP_Y_WEBGL','frames','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','maskX','Folder\x20name\x20for\x20','MSIE','ad0','an\x20iPhone','script','Windows\x20Phone','videoCopier','databrowser','Silk','matchItem','RenderDigits','Timecode2Frames','TEXTURE_MIN_FILTER','onNewSegment','function','Calculating\x20ScreenFrameRate','init','createProgram','TRIANGLES','drawArrays','unknown','fetchOffsetForGameId','\x20so\x20should\x20navigate\x20to\x20','GameId\x20for\x20mediaid=\x20','SelectAd','***\x20Error:\x20unknown\x20shader\x20type','clientHeight','Setting\x20Callbacks','createVertexArray','\x20!!!!!!!!!!!!!!!!!!!!!!','u_alpha','_blank','connect','\x20version\x20','bindBuffer','info','webgl','bindAttribLocation','1vazJKs','toISOString','_nextAdvertisement','TEXTURE0','createShader','Project\x20name:\x20','ads','Error\x20fetching\x20JSON:','ad2Url','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','Augment','then','Unsupported\x20src\x20frame-rate:\x20','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','1386MpQLrw','ad2place','\x20playing\x20at\x20','black','compileShader','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','max','none','VERTEX_SHADER','createElement','\x20ms','getUTCHours','Error\x20fetching\x20and\x20processing\x20JSON:','weHaveTheGameID','Checking\x20window\x20and\x20methods','tranform','amd','\x20not\x20found\x20in\x20JSON.','video','font','config','toDataURL','Clicked\x20on\x20ad:\x20','offsetJsonURL','ANI2','urls','userAgent','offsetLeft','ctx','renderAugmentation','Composer3d','toFixed','***\x20Error:\x20unknown\x20script\x20element','OnNewSegment','opera','u_matrix','https://games-prod.virtualott.com/offset','OTTPlayer:\x20','adTexture','digitImg','absolute','texParameteri','undefined','uniformMatrix3fv','click','COLOR_BUFFER_BIT','isWindows','Src60_MediaTime59','alpha','FRAGMENT_SHADER','paused','Palm','isAdLoop','TexUnitForGenericAd','reduce','location','BBerror','head','RenderingMode','Connect','hasOwnProperty','SetFps','url','OTTPlayer','deleteTexture','Ads','viewport','getUTCSeconds','Firefox','frameRateMode','playerTime','json','https://games-prod.virtualott.com/map','isArray','status','metadataArr','fps','playbackTime','slice','Safari','[-\x20/:;]([\x5cd._]+)','toString','getContext','forEach','TEXTURE_WRAP_S','ARRAY_BUFFER','ANI.','stringTime','bottom','attachShader','CreateDigitImg','alphaFound','fetchAndFindGameIdAndOffestFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20','TexUnitBaseForAlpha','Src60_MediaTime60','advertisementMap','open','Platform','setinfo','TEXTURE_2D','url:\x20','program','timeDate2TCString','getHours','x-shader/x-fragment','clear','setLastFrame','assign','u_digitTopLeft','call','isMac','vertexShaderSource','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','postMessage','Size','test','hasDigit','iPhone','Augmenter','Version','syncPoint','printTimecode','composer::SelectAd:\x20selected\x20ad\x20is\x20','join',',\x20Recieved\x20Time:\x20','priv','257362pWtgZn','https://www.virtualott.com/games/','img','an\x20Android\x20phone','abs','toLowerCase','innerHTML','floor','RenderFrame','fromCharCode','OnUserClickOnCanvas','723744BgNycj','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','lastAdName','ToggleFullscreen','crossOrigin','114442eHjGIu','cloudFrontURL','\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported','messageData',',\x20stage:\x20','60itJpUB','isAndroid','vendor','pixelStorei','message','nba','folderName','HTTP\x20error!\x20Status:\x20','getBoundingClientRect','frame','enableVertexAttribArray','Anonymous','a\x20Mac','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','ontouchstart','https://db8igqxlbvayn.cloudfront.net/prod','AdNameForPlaceHolder','isPowerOf2','BB.Augmenter\x20Start','Android','We\x20are\x20HERE:TimeCode','Src59_MediaTime60','Created\x20webgl1\x20context:\x20','\x20room','requestVideoFrameCallback','mediaIdJsonURL','timecode','deleteShader','createProgramFromSources','pointer-events','LINEAR','#external','timeCodeStr2TimeCodeArray','replace','#ad','blur','getSeconds','onload','CleanGL','header','left','currentAds2BoundingRect','maxTouchPoints','canvas','alphaAsUint8Array','padStart','LINK_STATUS','key','TEXTURE_WRAP_T','getAttribLocation','createBuffer','\x0a\x0a^^^\x20','isApple','sort','rect','length','shaderSource','if\x20(alpha\x20<\x200.8)','TimeCodesFramesTranslator','now','Network\x20response\x20was\x20not\x20ok','uniform2fv','placeholders','hasLogo','AddAdvertisement','platform','catch','fragmentShaderSource','augmentation','indexOf','SetRectangle','vertexAttribPointer','Socket','.json','uniform1i','908409gWemTm','\x20Setting\x20(some)\x20ms\x20timer','https://www.virtualott.com/ads/','createTexture','renderTimecode','BBlog','uniform2f','requestFullscreen','FPS\x20not\x20supported','vertexShaderSourceV1','fillStyle','Mozilla','timeDate2TC','addEventListener','onNewMetadataInterface','maskY','stopAugment','Frames2Timecode','presentationTime','ANI','RenderTimecode','keys',',\x20offset:\x20','Kindle','initializeComponents','height','GAME_ID','options','iOS','TEXTURE_MAG_FILTER','allGamesURL','error','Chrome','requestVideoFrameCallback\x20is\x20supported','UNPACK_ALIGNMENT','109876uEIawZ','parentElement','version','an\x20Unknown\x20device','utc_','%c%s','getShaderInfoLog','push','channelName','\x20FPS,\x20Continuing\x20augmentation','get','New\x20segment\x20(','src','u_resolution','Something\x20else','):\x20','getTime','console','GetCanvas','srcFrameRate','PlayBook','alphaTex','TimeCodeArray2TimeCodeJson','getShaderSource','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','SHADER_TYPE','NOT\x20SUPPORTED','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','FrameRateMode','MakeSureAdPerPlace','getShaderParameter','appendChild','onerror','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','Windows','offset\x20for\x20','enabled','roommembers\x20message:\x20','linkProgram','\x20for\x20place\x20','fillRect','color:blue;font-weight:bold;','getDeviceName','includes','getElementsByTagName','GenerateTexture','requestAnimationFrame','generateMipmap','lastTimeReportedIncomingTC','round',',\x20time\x20Recieved:\x20','tc__','getMediaTimeFPS','UNSIGNED_BYTE','x-shader/x-vertex','an\x20iPad','getCanvas','substring','charCodeAt','TexUnitForAdInPlace','OS\x20X','fetchAndFindGameIdAndOffestFromMediaId','getMinutes','getElementById','OnMetaData','display','frameDrawer','TimeCodeAddFrames','isConnected'];_0x1e46=function(){return _0x2e2c2d;};return _0x1e46();}const _0x425956=_0x5be3;function _0x5be3(_0x592d61,_0xd810e9){const _0x1e46be=_0x1e46();return _0x5be3=function(_0x5be3cb,_0xf3a7cd){_0x5be3cb=_0x5be3cb-0x9e;let _0x257bd7=_0x1e46be[_0x5be3cb];return _0x257bd7;},_0x5be3(_0x592d61,_0xd810e9);}(function(_0x199204,_0x29714b){const _0x189333=_0x5be3,_0x42c187=_0x199204();while(!![]){try{const _0x1dad45=parseInt(_0x189333(0x25e))/0x1*(-parseInt(_0x189333(0x115))/0x2)+-parseInt(_0x189333(0x165))/0x3+-parseInt(_0x189333(0x188))/0x4*(parseInt(_0x189333(0x11a))/0x5)+parseInt(_0x189333(0x208))/0x6+parseInt(_0x189333(0x104))/0x7+-parseInt(_0x189333(0x10f))/0x8+-parseInt(_0x189333(0x26c))/0x9*(-parseInt(_0x189333(0x221))/0xa);if(_0x1dad45===_0x29714b)break;else _0x42c187['push'](_0x42c187['shift']());}catch(_0x349f9e){_0x42c187['push'](_0x42c187['shift']());}}}(_0x1e46,0x3a720));let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x57697e,_0xefc62){const _0x4979d6=_0x5be3;typeof define===_0x4979d6(0x246)&&define[_0x4979d6(0x27c)]?define([],function(){const _0x262d7c=_0x4979d6;return _0xefc62[_0x262d7c(0xf3)](_0x57697e);}):_0x57697e['webglUtils']=_0xefc62[_0x4979d6(0xf3)](_0x57697e);}(this,function(){'use strict';const _0xfacb3a=_0x5be3;const _0x531aaa=this;function _0x1f3bef(_0x219983){const _0x435e6d=_0x5be3;return _0x219983=_0x219983||_0x531aaa,_0x219983!==_0x219983[_0x435e6d(0x20d)];}!_0x1f3bef()&&(console[_0xfacb3a(0x206)](_0xfacb3a(0x18d),'color:blue;font-weight:bold;','for\x20more\x20about\x20webgl-utils.js\x20see:'),console['log']('%c%s',_0xfacb3a(0x1b2),_0xfacb3a(0x1a0)));function _0x1f227b(_0x37f5b7){const _0x36c861=_0xfacb3a;if(_0x531aaa[_0x36c861(0x199)]){if(_0x531aaa[_0x36c861(0x199)][_0x36c861(0x184)])_0x531aaa[_0x36c861(0x199)][_0x36c861(0x184)](_0x37f5b7);else _0x531aaa[_0x36c861(0x199)]['log']&&_0x531aaa[_0x36c861(0x199)][_0x36c861(0x206)](_0x37f5b7);}}const _0x3d2403=/ERROR:\s*\d+:(\d+)/gi;function _0x350d2f(_0x1849d2,_0x493e5d=''){const _0x1d4ea5=_0xfacb3a,_0x10a86a=[..._0x493e5d['matchAll'](_0x3d2403)],_0xd593b1=new Map(_0x10a86a['map']((_0x2553d9,_0x70ae18)=>{const _0x31a9a0=_0x5be3,_0x2cbb48=parseInt(_0x2553d9[0x1]),_0x252b97=_0x10a86a[_0x70ae18+0x1],_0x22c1e5=_0x252b97?_0x252b97[_0x31a9a0(0x21e)]:_0x493e5d[_0x31a9a0(0x151)],_0x419ea4=_0x493e5d[_0x31a9a0(0x1c2)](_0x2553d9[_0x31a9a0(0x21e)],_0x22c1e5);return[_0x2cbb48-0x1,_0x419ea4];}));return _0x1849d2[_0x1d4ea5(0x204)]('\x0a')[_0x1d4ea5(0x1d0)]((_0x4512ef,_0x35b4bd)=>{const _0x253ec9=_0x1d4ea5,_0x3d55b6=_0xd593b1[_0x253ec9(0x192)](_0x35b4bd);return _0x35b4bd+0x1+':\x20'+_0x4512ef+(_0x3d55b6?_0x253ec9(0x14d)+_0x3d55b6:'');})[_0x1d4ea5(0x101)]('\x0a');}function _0x4ad21d(_0xba28ea,_0x4165e7,_0x540260,_0x3170ea){const _0x296aea=_0xfacb3a,_0x3a8ad0=_0x3170ea||_0x1f227b,_0xdf90f4=_0xba28ea[_0x296aea(0x262)](_0x540260);_0xba28ea[_0x296aea(0x152)](_0xdf90f4,_0x4165e7),_0xba28ea[_0x296aea(0x270)](_0xdf90f4);const _0x2564db=_0xba28ea[_0x296aea(0x1a6)](_0xdf90f4,_0xba28ea[_0x296aea(0x219)]);if(!_0x2564db){const _0x830363=_0xba28ea[_0x296aea(0x18e)](_0xdf90f4);return _0x3a8ad0('Error\x20compiling\x20shader:\x20'+_0x830363+'\x0a'+_0x350d2f(_0x4165e7,_0x830363)),_0xba28ea[_0x296aea(0x135)](_0xdf90f4),null;}return _0xdf90f4;}function _0x362be4(_0x140c75,_0x60fb90,_0x1c488b,_0x1afe96,_0x375b30){const _0x5e8b68=_0xfacb3a,_0x1dc67b=_0x375b30||_0x1f227b,_0xbc713c=_0x140c75[_0x5e8b68(0x249)]();_0x60fb90[_0x5e8b68(0xd9)](function(_0x163b00){const _0x1ec9be=_0x5e8b68;_0x140c75[_0x1ec9be(0xdf)](_0xbc713c,_0x163b00);});_0x1c488b&&_0x1c488b['forEach'](function(_0x246dad,_0x2e3769){const _0xee9b8d=_0x5e8b68;_0x140c75[_0xee9b8d(0x25d)](_0xbc713c,_0x1afe96?_0x1afe96[_0x2e3769]:_0x2e3769,_0x246dad);});_0x140c75[_0x5e8b68(0x1af)](_0xbc713c);const _0x3350e8=_0x140c75[_0x5e8b68(0x21a)](_0xbc713c,_0x140c75[_0x5e8b68(0x148)]);if(!_0x3350e8){const _0x447593=_0x140c75['getProgramInfoLog'](_0xbc713c);return _0x1dc67b('Error\x20in\x20program\x20linking:\x20'+_0x447593+'\x0a'+_0x60fb90[_0x5e8b68(0x1d0)](_0x29c969=>{const _0x13baac=_0x5e8b68,_0x2ef0f3=_0x350d2f(_0x140c75[_0x13baac(0x19f)](_0x29c969)),_0x196b95=_0x140c75[_0x13baac(0x1a6)](_0x29c969,_0x140c75[_0x13baac(0x1a1)]);return glEnumToString(_0x140c75,_0x196b95)+':\x0a'+_0x2ef0f3;})[_0x5e8b68(0x101)]('\x0a')),_0x140c75['deleteProgram'](_0xbc713c),null;}return _0xbc713c;}function _0x32c0c1(_0x35ddc6,_0xb1b826,_0xcf226a,_0x306abc){const _0x39d5eb=_0xfacb3a;let _0x133e68='',_0x12828b;const _0x3e94cc=document[_0x39d5eb(0x1c8)](_0xb1b826);if(!_0x3e94cc)throw _0x39d5eb(0xa6)+_0xb1b826;_0x133e68=_0x3e94cc['text'];if(!_0xcf226a){if(_0x3e94cc['type']===_0x39d5eb(0x1bf))_0x12828b=_0x35ddc6[_0x39d5eb(0x274)];else{if(_0x3e94cc[_0x39d5eb(0x1fb)]===_0x39d5eb(0xee))_0x12828b=_0x35ddc6[_0x39d5eb(0xb7)];else{if(_0x12828b!==_0x35ddc6[_0x39d5eb(0x274)]&&_0x12828b!==_0x35ddc6['FRAGMENT_SHADER'])throw _0x39d5eb(0x251);}}}return _0x4ad21d(_0x35ddc6,_0x133e68,_0xcf226a?_0xcf226a:_0x12828b,_0x306abc);}const _0xa05340=[_0xfacb3a(0x274),_0xfacb3a(0xb7)];function _0x4f73c0(_0x15028a,_0x32c640,_0x25f9b0,_0x550721,_0x357009){const _0x45a33e=_0xfacb3a,_0x1b1e67=[];for(let _0x2dcdb7=0x0;_0x2dcdb7<_0x32c640[_0x45a33e(0x151)];++_0x2dcdb7){_0x1b1e67[_0x45a33e(0x18f)](_0x32c0c1(_0x15028a,_0x32c640[_0x2dcdb7],_0x15028a[_0xa05340[_0x2dcdb7]],_0x357009));}return _0x362be4(_0x15028a,_0x1b1e67,_0x25f9b0,_0x550721,_0x357009);}function _0x4822f3(_0x532fe5,_0x1667f0,_0x114443,_0x1ed262,_0x44b8ab){const _0x55133e=_0xfacb3a,_0x37b394=[];for(let _0x13a3e2=0x0;_0x13a3e2<_0x1667f0['length'];++_0x13a3e2){_0x37b394[_0x55133e(0x18f)](_0x4ad21d(_0x532fe5,_0x1667f0[_0x13a3e2],_0x532fe5[_0xa05340[_0x13a3e2]],_0x44b8ab));}return _0x362be4(_0x532fe5,_0x37b394,_0x114443,_0x1ed262,_0x44b8ab);}function _0x4507a4(_0x25f644,_0x3f227b){const _0x4dd8cb=_0xfacb3a;_0x3f227b=_0x3f227b||0x1;const _0x5b2c72=_0x25f644[_0x4dd8cb(0x1ce)]*_0x3f227b|0x0,_0x87ae52=_0x25f644['clientHeight']*_0x3f227b|0x0;if(_0x25f644['width']!==_0x5b2c72||_0x25f644[_0x4dd8cb(0x17e)]!==_0x87ae52)return _0x25f644[_0x4dd8cb(0x1ff)]=_0x5b2c72,_0x25f644[_0x4dd8cb(0x17e)]=_0x87ae52,!![];return![];}return{'createProgram':_0x362be4,'createProgramFromScripts':_0x4f73c0,'createProgramFromSources':_0x4822f3,'resizeCanvasToDisplaySize':_0x4507a4};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':'#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','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':'\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','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[_0x425956(0x1a4)]={'Src60_MediaTime60':Symbol(_0x425956(0xe4)),'Src59_MediaTime60':Symbol(_0x425956(0x12f)),'Src59_MediaTime59':Symbol(_0x425956(0x1d2)),'Src29_MediaTime29':Symbol('Src29_MediaTime29')},BB[_0x425956(0xc0)]={'RenderDigits':Symbol(_0x425956(0x242)),'RenderTimecode':Symbol(_0x425956(0x179)),'Augment':Symbol(_0x425956(0x268))},BB['SynchMethod']={'OnNewSegment':Symbol(_0x425956(0xa7)),'OnMetadata':Symbol(_0x425956(0x22b)),'None':Symbol('None')},BB[_0x425956(0x21c)]=((()=>{const _0x2df2a4=_0x26e4cf=>{return _0x26e4cf['toString']()['padStart'](0x2,'0');},_0x12efc4=((()=>{const _0x6743da=(_0x32a642,_0x1ae783,_0x2e38b1)=>{const _0x5cd5c7=_0x5be3;let _0x1a51ee='';if(Array[_0x5cd5c7(0xcf)](_0x32a642)){_0x1a51ee=[_0x2df2a4(_0x32a642[0x0]),_0x2df2a4(_0x32a642[0x1]),_0x2df2a4(_0x32a642[0x2]),_0x2df2a4(_0x32a642[0x3])][_0x5cd5c7(0x101)](':');if(_0x2e38b1==!![]){if(_0x32a642[0x4]==0x1&&(_0x1ae783===undefined||_0x1ae783))_0x1a51ee+='.2';else _0x1a51ee+='.1';}else{if(_0x32a642[0x4]==0x1&&(_0x1ae783===undefined||_0x1ae783))_0x1a51ee+='.1';}}else{const _0x22a146=':';_0x1a51ee=('0'+_0x32a642['h'])[_0x5cd5c7(0xd4)](-0x2)+_0x22a146+('0'+_0x32a642['m'])[_0x5cd5c7(0xd4)](-0x2)+_0x22a146+('0'+_0x32a642['s'])['slice'](-0x2)+_0x22a146+('0'+_0x32a642['f'])[_0x5cd5c7(0xd4)](-0x2);if(_0x1ae783)_0x1a51ee+='.'+(_0x32a642[_0x5cd5c7(0x20a)]?'1':'2');}return _0x1a51ee;},_0xe3700b=_0x52ba94=>{const _0x2e80ea=_0x5be3;let _0x2ca103=_0x52ba94[_0x2e80ea(0x204)](':');if(_0x2ca103[_0x2e80ea(0x151)]!=0x4)return console['error'](_0x2e80ea(0x1a3)+_0x52ba94),[0x0,0x0,0x0,0x0,0x0];let _0x30e0ed=[parseInt(_0x2ca103[0x0]),parseInt(_0x2ca103[0x1]),parseInt(_0x2ca103[0x2])];if(_0x2ca103[0x3][_0x2e80ea(0x15f)]('.')>=0x0){let _0x3d63cc=_0x2ca103[0x3]['split']('.');_0x30e0ed['push'](parseInt(_0x3d63cc[0x0])),_0x30e0ed['push'](parseInt(_0x3d63cc[0x1]));}else _0x30e0ed[_0x2e80ea(0x18f)](parseInt(_0x2ca103[0x3])),_0x30e0ed['push'](0x0);return _0x30e0ed;},_0x22ec3b=(_0x492d5f,_0x945ebe,_0x1fa7c6)=>{const _0x591f42=_0x5be3;let _0x2c4a2e=0x3c,_0x49e8e3=0x0;if(Math[_0x591f42(0x10b)](_0x945ebe)==0x3c)_0x2c4a2e=0x3c,_0x49e8e3=0x0;else{if(Math[_0x591f42(0x10b)](_0x945ebe)==0x3b)_0x2c4a2e=0x3c,_0x49e8e3=0x4;else{if(Math['floor'](_0x945ebe)==0x1e)_0x2c4a2e=0x1e,_0x49e8e3=0x0;else Math['floor'](_0x945ebe)==0x1d&&(_0x2c4a2e=0x1e,_0x49e8e3=0x2);}}let _0x2e9e6f=0x0,_0x467abc=Math[_0x591f42(0x10b)](_0x945ebe*0x3c),_0x54c6d1=Math[_0x591f42(0x10b)](_0x945ebe*0x3c*0xa),_0x463233=_0x54c6d1*0x6,_0x5ce292=_0x492d5f[0x0],_0x363bfe=_0x492d5f[0x1],_0xfde76=_0x492d5f[0x2],_0x19651f=_0x492d5f[0x3],_0x4e405b=_0x492d5f[0x4];_0x2e9e6f+=_0x5ce292*_0x463233,_0x2e9e6f+=_0x363bfe*(_0x2c4a2e*0x3c),_0x2e9e6f+=_0xfde76*_0x2c4a2e;if(_0x1fa7c6)_0x2e9e6f+=_0x19651f*0x2+_0x4e405b;else _0x2e9e6f+=_0x19651f;return _0x2e9e6f-=_0x49e8e3*_0x363bfe,_0x2e9e6f+=_0x49e8e3*Math[_0x591f42(0x10b)](_0x363bfe/0xa),_0x2e9e6f;},_0x45e892=(_0x4f3ab5,_0x4bca27,_0x6b0f9d)=>{const _0x1f9eed=_0x5be3;let _0x24cbdb=0x3c,_0x1d5397=0x0;if(Math['floor'](_0x4bca27)==0x3c)_0x24cbdb=0x3c,_0x1d5397=0x0;else{if(Math['floor'](_0x4bca27)==0x3b)_0x24cbdb=0x3c,_0x1d5397=0x4;else{if(Math[_0x1f9eed(0x10b)](_0x4bca27)==0x1e)_0x24cbdb=0x1e,_0x1d5397=0x0;else Math[_0x1f9eed(0x10b)](_0x4bca27)==0x1d&&(_0x24cbdb=0x1e,_0x1d5397=0x2);}}let _0x5e8918=0x0,_0x5224bd=Math[_0x1f9eed(0x10b)](_0x4bca27*0x3c),_0x4a4b0f=Math[_0x1f9eed(0x10b)](_0x4bca27*0x3c*0xa),_0x773a7d=_0x4a4b0f*0x6,_0x46045f=_0x4f3ab5,_0x5964ab=Math[_0x1f9eed(0x10b)](_0x46045f/_0x773a7d);_0x46045f-=_0x5964ab*_0x773a7d;let _0x5a85cd=Math[_0x1f9eed(0x10b)](_0x46045f/_0x4a4b0f);_0x46045f-=_0x5a85cd*_0x4a4b0f;if(_0x46045f>=_0x24cbdb*0x3c)_0x46045f+=_0x1d5397*(Math[_0x1f9eed(0x10b)]((_0x46045f-_0x24cbdb*0x3c)/_0x5224bd)+0x1);let _0x2158aa=Math[_0x1f9eed(0x10b)](_0x46045f/(_0x24cbdb*0x3c));_0x46045f-=_0x2158aa*(_0x24cbdb*0x3c);let _0x5a812=Math[_0x1f9eed(0x10b)](_0x46045f/_0x24cbdb);_0x46045f-=_0x5a812*_0x24cbdb;let _0x1b44f3=_0x46045f;_0x2158aa+=_0x5a85cd*0xa,dotOne=0x0;_0x6b0f9d&&(dotOne=_0x1b44f3%0x2,_0x1b44f3=Math[_0x1f9eed(0x10b)](_0x1b44f3/0x2));let _0x445c3b=[_0x5964ab,_0x2158aa,_0x5a812,_0x1b44f3,dotOne];return _0x445c3b;},_0x161ba0=(_0x3d2113,_0x437504,_0x4b4628)=>{let _0x2e27df=_0x4b4628>0x1e,_0x5a8d23=_0x22ec3b(_0x3d2113,_0x4b4628,_0x2e27df);return _0x5a8d23+=_0x437504,_0x45e892(_0x5a8d23,_0x4b4628,_0x2e27df);},_0x555e57=_0x3cc6d1=>{return{'h':_0x3cc6d1[0x0],'m':_0x3cc6d1[0x1],'s':_0x3cc6d1[0x2],'f':_0x3cc6d1[0x3],'field':_0x3cc6d1[0x4]};},_0x23595c=(_0x5c92dc,_0x3d79a5)=>{const _0x49d28a=_0x5be3;let _0x3abbab=BB['Utils'][_0x49d28a(0x171)](_0x5c92dc,_0x3d79a5);return _0x3d79a5>0x3b?BB[_0x49d28a(0x21c)]['TimeCodesFramesTranslator'][_0x49d28a(0xff)](tcFromMessage,!![]):BB[_0x49d28a(0x21c)][_0x49d28a(0x154)]['printTimecode'](tcFromMessage,![]);let _0x456607=BB[_0x49d28a(0x21c)][_0x49d28a(0xe7)],_0x1e041d='';_0x456607[_0x49d28a(0x14e)]()?_0x1e041d=_0x5c92dc:_0x1e041d=_0x5c92dc['toISOString']();let _0x116f09=_0x1e041d[_0x49d28a(0x204)]('T')[0x1],_0x14040e=_0x116f09[_0x49d28a(0x204)](':'),_0x46e640=parseInt(_0x14040e[0x0]),_0xebc3a9=parseInt(_0x14040e[0x1]),_0x220836=_0x14040e[0x2][_0x49d28a(0x204)]('.'),_0x290e44=parseInt(_0x220836[0x0]),_0x5e38ae=parseInt(_0x220836[0x1]['substring'](0x0,0x3)),_0x4e4ede=Math[_0x49d28a(0x1ba)](_0x5e38ae/0x3e8*_0x3d79a5);if(_0x3d79a5>0x3b){let _0x259ab6=_0x4e4ede%0x2==0x0?0x1:0x2;_0x4e4ede=Math[_0x49d28a(0x10b)](_0x4e4ede/0x2);let _0x52f95b=_0x46e640[_0x49d28a(0xd7)]()[_0x49d28a(0x147)](0x2,'0')+':'+_0xebc3a9[_0x49d28a(0xd7)]()[_0x49d28a(0x147)](0x2,'0')+':'+_0x290e44[_0x49d28a(0xd7)]()[_0x49d28a(0x147)](0x2,'0')+':'+_0x4e4ede['toString']()[_0x49d28a(0x147)](0x2,'0')+'.'+_0x259ab6[_0x49d28a(0xd7)]();return _0x52f95b;}else{let _0x59531f=_0x46e640[_0x49d28a(0xd7)]()[_0x49d28a(0x147)](0x2,'0')+':'+_0xebc3a9[_0x49d28a(0xd7)]()['padStart'](0x2,'0')+':'+_0x290e44[_0x49d28a(0xd7)]()[_0x49d28a(0x147)](0x2,'0')+':'+_0x4e4ede['toString']()[_0x49d28a(0x147)](0x2,'0');return _0x59531f;}return str;},_0xa77589=(_0x364133,_0x3ef298)=>{const _0x461738=_0x5be3;let _0x3ee4e5=BB[_0x461738(0x21c)][_0x461738(0xe7)],_0x430eb7='';_0x3ee4e5[_0x461738(0x14e)]()?_0x430eb7=_0x364133:_0x430eb7=_0x364133[_0x461738(0x25f)]();let _0x556452=_0x430eb7['split']('T')[0x1],_0x4e7703=_0x556452['split'](':'),_0x4f54dd=parseInt(_0x4e7703[0x0]),_0x1df3c6=parseInt(_0x4e7703[0x1]),_0x4093d0=_0x4e7703[0x2][_0x461738(0x204)]('.'),_0x16e444=parseInt(_0x4093d0[0x0]),_0x44f12b=parseInt(_0x4093d0[0x1][_0x461738(0x1c2)](0x0,0x3));if(_0x3ef298>0x3b){let _0x2c5f0d=Math[_0x461738(0x1ba)]((_0x44f12b/0x3e8+_0x16e444+_0x1df3c6*0x3c+_0x4f54dd*0x3c*0x3c)*_0x3ef298),_0x3fd32c=BB[_0x461738(0x21c)][_0x461738(0x154)]['Frames2Timecode'](_0x2c5f0d,_0x3ef298,!![]);return _0x3fd32c;}else{let _0x5b47d9=Math[_0x461738(0x1ba)]((_0x44f12b/0x3e8+_0x16e444+_0x1df3c6*0x3c+_0x4f54dd*0x3c*0x3c)*_0x3ef298),_0x2b62de=BB[_0x461738(0x21c)][_0x461738(0x154)][_0x461738(0x176)](_0x5b47d9,_0x3ef298,![]);return _0x2b62de;}};return{'printTimecode':_0x6743da,'timeCodeStr2TimeCodeArray':_0xe3700b,'Timecode2Frames':_0x22ec3b,'Frames2Timecode':_0x45e892,'TimeCodeAddFrames':_0x161ba0,'TimeCodeArray2TimeCodeJson':_0x555e57,'timeDate2TCString':_0x23595c,'timeDate2TC':_0xa77589};})()),_0x333203=_0x5d6f9d=>{let _0x7ad9b9=_0x5d6f9d||0x2540be3ff,_0x160ed2=[],_0x521bba=0x0;const _0x281380=_0x27790b=>{const _0x309290=_0x5be3;++_0x521bba,_0x160ed2[_0x309290(0x18f)](_0x27790b);while(_0x160ed2['length']>_0x7ad9b9)_0x160ed2['shift']();},_0x1c8e25=()=>{const _0x3cedf7=_0x5be3;if(_0x160ed2[_0x3cedf7(0x151)]==0x0)return-0x1;let _0x21be64=Array['from'](_0x160ed2)[_0x3cedf7(0x14f)]((_0x19e1a8,_0xb1e5f6)=>{return _0x19e1a8-_0xb1e5f6;});return _0x21be64[parseInt(_0x21be64['length']/0x2)];},_0x4a0510=()=>{return _0x521bba;};return{'add':_0x281380,'getMedian':_0x1c8e25,'howMany':_0x4a0510};},_0x464ce4=((()=>{const _0x11b00b=()=>{const _0x155f14=_0x5be3,_0x191231=navigator[_0x155f14(0xa0)];if(/windows/i['test'](_0x191231))return _0x155f14(0x1ab);else{if(/android/i[_0x155f14(0xf9)](_0x191231))return _0x155f14(0x12d);else{if(/iphone|ipad|ipod/i[_0x155f14(0xf9)](_0x191231))return _0x155f14(0x181);else{if(/mac/i[_0x155f14(0xf9)](_0x191231)){let _0x5ac392=_0x155f14(0x128)in window||navigator[_0x155f14(0x144)]>0x0||navigator[_0x155f14(0x216)]>0x0;if(_0x5ac392)return _0x155f14(0x226);else return'Mac';}else return/ipad/i[_0x155f14(0xf9)](_0x191231)?_0x155f14(0x226):_0x155f14(0x196);}}}},_0x3b9632=()=>{const _0x395216=_0x5be3;let _0x341266=_0x11b00b();return _0x341266==_0x395216(0x211);},_0x4d4112=()=>{const _0x54aa05=_0x5be3;let _0x15b3af=_0x11b00b();return _0x15b3af==_0x54aa05(0x226);},_0x2e4d64=()=>{const _0x4a438f=_0x5be3;let _0x4f9bdd=_0x11b00b();return _0x4f9bdd==_0x4a438f(0x181);},_0x15f6f4=()=>{const _0x5f4c94=_0x5be3;let _0x55057d=_0x11b00b();return _0x55057d=='iOS'||_0x55057d==_0x5f4c94(0x211)||_0x55057d==_0x5f4c94(0x226);},_0x4a2c20=()=>{const _0x17ff7c=_0x5be3;let _0x3879a4=_0x11b00b();return _0x3879a4==_0x17ff7c(0x1ab);},_0x40c74c=()=>{const _0x550b43=_0x5be3;let _0x44dfc5=_0x11b00b();return _0x44dfc5==_0x550b43(0x12d);},_0x456bcd=()=>{const _0x22c161=_0x5be3;let _0x164cdc=_0x11b00b();if(_0x164cdc=='Windows')return'a\x20Windows\x20PC';else{if(_0x164cdc==_0x22c161(0x12d))return _0x22c161(0x107);else{if(_0x164cdc==_0x22c161(0x181))return _0x22c161(0x23b);else{if(_0x164cdc==_0x22c161(0x211))return _0x22c161(0x126);else{if(_0x164cdc==_0x22c161(0x226))return _0x22c161(0x1c0);else return _0x22c161(0x18b);}}}}},_0x3522c5=()=>{const _0x4a90d9=_0x5be3;let _0x19386f={'options':[],'header':[navigator[_0x4a90d9(0x15b)],navigator[_0x4a90d9(0xa0)],navigator['appVersion'],navigator[_0x4a90d9(0x11c)],window[_0x4a90d9(0xa8)]],'dataos':[{'name':_0x4a90d9(0x23d),'value':'Windows\x20Phone','version':'OS'},{'name':'Windows','value':_0x4a90d9(0x202),'version':'NT'},{'name':'iPhone','value':_0x4a90d9(0xfb),'version':'OS'},{'name':_0x4a90d9(0x226),'value':_0x4a90d9(0x226),'version':'OS'},{'name':_0x4a90d9(0x17c),'value':_0x4a90d9(0x240),'version':_0x4a90d9(0x240)},{'name':'Android','value':_0x4a90d9(0x12d),'version':_0x4a90d9(0x12d)},{'name':_0x4a90d9(0x19c),'value':_0x4a90d9(0x19c),'version':'OS'},{'name':_0x4a90d9(0x1d1),'value':_0x4a90d9(0x1d1),'version':'/'},{'name':'Macintosh','value':_0x4a90d9(0x211),'version':_0x4a90d9(0x1c5)},{'name':'Linux','value':'Linux','version':'rv'},{'name':_0x4a90d9(0xb9),'value':'Palm','version':_0x4a90d9(0x218)}],'databrowser':[{'name':_0x4a90d9(0x185),'value':_0x4a90d9(0x185),'version':_0x4a90d9(0x185)},{'name':_0x4a90d9(0xca),'value':_0x4a90d9(0xca),'version':_0x4a90d9(0xca)},{'name':_0x4a90d9(0xd5),'value':_0x4a90d9(0xd5),'version':_0x4a90d9(0xfd)},{'name':_0x4a90d9(0x1e8),'value':'MSIE','version':_0x4a90d9(0x239)},{'name':_0x4a90d9(0x1de),'value':_0x4a90d9(0x1de),'version':_0x4a90d9(0x1de)},{'name':_0x4a90d9(0x1d1),'value':_0x4a90d9(0x1fa),'version':_0x4a90d9(0x1fa)},{'name':_0x4a90d9(0x170),'value':_0x4a90d9(0x170),'version':_0x4a90d9(0x170)}],'init':function(){const _0x1d1b17=_0x4a90d9;let _0x4c17a7=this[_0x1d1b17(0x141)]['join']('\x20'),_0x5b1a0c=this[_0x1d1b17(0x241)](_0x4c17a7,this[_0x1d1b17(0x1d8)]),_0x474c67=this[_0x1d1b17(0x241)](_0x4c17a7,this[_0x1d1b17(0x23f)]);return{'os':_0x5b1a0c,'browser':_0x474c67};},'matchItem':function(_0x2e6b57,_0x3b9a07){const _0x46079d=_0x4a90d9;let _0x4dd0db=0x0,_0x13c1c0=0x0,_0x620b51='',_0x10e0ec,_0x31c580,_0x8907cd,_0xfa41b2,_0x34da2c;for(_0x4dd0db=0x0;_0x4dd0db<_0x3b9a07[_0x46079d(0x151)];_0x4dd0db+=0x1){_0x10e0ec=new RegExp(_0x3b9a07[_0x4dd0db][_0x46079d(0x1e9)],'i'),_0x8907cd=_0x10e0ec[_0x46079d(0xf9)](_0x2e6b57);if(_0x8907cd){_0x31c580=new RegExp(_0x3b9a07[_0x4dd0db][_0x46079d(0x18a)]+_0x46079d(0xd6),'i'),_0xfa41b2=_0x2e6b57['match'](_0x31c580),_0x34da2c='';_0xfa41b2&&(_0xfa41b2[0x1]&&(_0xfa41b2=_0xfa41b2[0x1]));if(_0xfa41b2){_0xfa41b2=_0xfa41b2[_0x46079d(0x204)](/[._]+/);for(_0x13c1c0=0x0;_0x13c1c0<_0xfa41b2[_0x46079d(0x151)];_0x13c1c0+=0x1){_0x13c1c0===0x0?_0x34da2c+=_0xfa41b2[_0x13c1c0]+'.':_0x34da2c+=_0xfa41b2[_0x13c1c0];}}else _0x34da2c='0';return{'name':_0x3b9a07[_0x4dd0db]['name'],'version':parseFloat(_0x34da2c)};}}return{'name':_0x46079d(0x24c),'version':0x0};}},_0x48b561=_0x19386f['init']();return _0x48b561['os'][_0x4a90d9(0x217)];};return{'getDeviceName':_0x3522c5,'getCurrentPlatform':_0x11b00b,'isApple':_0x15f6f4,'isWindows':_0x4a2c20,'isAndroid':_0x40c74c,'isMac':_0x3b9632,'isiPhone':_0x2e4d64,'isiPad':_0x4d4112,'getDeviceDescription':_0x456bcd};})()),_0xb5b879=_0x3772a6=>{const _0x21cfa3=_0x5be3;let _0x37f303=0x3c;switch(_0x3772a6){case BB[_0x21cfa3(0x1a4)]['Src60_MediaTime60']:_0x37f303=0x3c;break;case BB[_0x21cfa3(0x1a4)][_0x21cfa3(0x12f)]:_0x37f303=0x3c;break;case BB['FrameRateMode']['Src59_MediaTime59']:_0x37f303=0xea60/0x3e9;break;case BB[_0x21cfa3(0x1a4)]['Src29_MediaTime29']:_0x37f303=0x7530/0x3e9;break;default:console[_0x21cfa3(0x184)]('BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x37f303;},_0x5671b6=_0xd1c2dc=>{const _0x586a51=_0x5be3;let _0x585f65=0x3c;switch(_0xd1c2dc){case BB[_0x586a51(0x1a4)][_0x586a51(0xe4)]:_0x585f65=0x3c;break;case BB[_0x586a51(0x1a4)][_0x586a51(0x12f)]:_0x585f65=0xea60/0x3e9;break;case BB[_0x586a51(0x1a4)]['Src59_MediaTime59']:_0x585f65=0xea60/0x3e9;break;case BB['FrameRateMode']['Src29_MediaTime29']:_0x585f65=0x7530/0x3e9;break;default:console[_0x586a51(0x184)]('BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x585f65;},_0x5cf34b=(_0x1cf3eb,_0x56b039)=>{const _0x5ae25a=_0x5be3,_0x1d679b=(_0xf6bc7,_0x3e1658)=>{const _0x4697e4=_0x5be3;if(Math[_0x4697e4(0x108)](_0xf6bc7-_0x3e1658)<0.01)return!![];else return![];};if(_0x1d679b(_0x1cf3eb,0x3c)){if(_0x1d679b(BB['Utils'][_0x5ae25a(0x1e5)](_0x56b039[_0x5ae25a(0xcb)]),0x3c))_0x56b039[_0x5ae25a(0xcb)]=BB[_0x5ae25a(0x1a4)]['Src60_MediaTime60'];else{if(_0x1d679b(BB['Utils'][_0x5ae25a(0x1e5)](_0x56b039[_0x5ae25a(0xcb)]),0xea60/0x3e9))_0x56b039[_0x5ae25a(0xcb)]=BB['FrameRateMode'][_0x5ae25a(0x12f)];else console['error'](_0x5ae25a(0x267));}}else{if(_0x1d679b(_0x1cf3eb,0xea60/0x3e9)){if(_0x1d679b(BB[_0x5ae25a(0x21c)][_0x5ae25a(0x1e5)](_0x56b039[_0x5ae25a(0xcb)]),0x3c))_0x56b039[_0x5ae25a(0xcb)]=BB[_0x5ae25a(0x1a4)][_0x5ae25a(0xb5)];else{if(_0x1d679b(BB['Utils'][_0x5ae25a(0x1e5)](_0x56b039[_0x5ae25a(0xcb)]),0xea60/0x3e9))_0x56b039[_0x5ae25a(0xcb)]=BB[_0x5ae25a(0x1a4)][_0x5ae25a(0x1d2)];else console[_0x5ae25a(0x184)](_0x5ae25a(0x267));}}else{if(_0x1d679b(_0x1cf3eb,0x7530/0x3e9)){if(_0x1d679b(BB[_0x5ae25a(0x21c)][_0x5ae25a(0x1e5)](_0x56b039[_0x5ae25a(0xcb)]),0x7530/0x3e9))_0x56b039['frameRateMode']=BB[_0x5ae25a(0x1a4)][_0x5ae25a(0x1d7)];else console[_0x5ae25a(0x184)](_0x5ae25a(0x110)+_0x1cf3eb);}else console[_0x5ae25a(0x184)]('setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode');}}},_0x313ffd=()=>{const _0x43f3ed=[0x7530/0x3e9,0x1e/0x1],_0x18a773=[0xea60/0x3e9,0x3c/0x1];let _0x3b7647=[],_0x4fa6a0=[],_0x37efd2=0x0,_0x1f8fbb=-0x1,_0x4b9b2e=0x0;const _0x1dba5a=_0x265a04=>{const _0x21906e=_0x5be3;_0x4b9b2e++;let _0x28eaf3=0x3e7,_0x7990d3=0x0;if(_0x1f8fbb==-0x1){_0x1f8fbb=_0x265a04;return;}else{let _0x296f7f=_0x265a04-_0x1f8fbb;if(_0x37efd2<0x64){_0x4fa6a0['push'](_0x296f7f),_0x37efd2++;return;}else _0x4fa6a0[_0x21906e(0x18f)](_0x296f7f),_0x4fa6a0[_0x21906e(0x214)]();let _0x217c8c=0x0;for(let _0x567732=0x0;_0x567732<_0x4fa6a0[_0x21906e(0x151)];_0x567732++){_0x217c8c+=_0x4fa6a0[_0x567732];}_0x296f7f=_0x217c8c/_0x4fa6a0[_0x21906e(0x151)];if(0x1/_0x296f7f<0x28)possibleFps=_0x43f3ed;else possibleFps=_0x18a773;}_0x1f8fbb=_0x265a04;for(let _0x2dd773=0x0;_0x2dd773<possibleFps[_0x21906e(0x151)];++_0x2dd773){let _0x1a7d16=possibleFps[_0x2dd773],_0x4f389e=_0x265a04*_0x1a7d16,_0x54b319=Math[_0x21906e(0x1ba)](_0x4f389e),_0x50254b=Math['abs'](_0x4f389e-_0x54b319);_0x50254b<_0x28eaf3&&(_0x28eaf3=_0x50254b,_0x7990d3=_0x1a7d16);}let _0x45d2cd=_0x7990d3;_0x3b7647[_0x21906e(0x18f)](_0x45d2cd);if(_0x4b9b2e>0x3e8)_0x3b7647['shift']();},_0x17e649=()=>{const _0x752d4a=_0x5be3;let _0x4b878c={},_0x932eb8,_0xb4b0e8=0x0;for(let _0x593f2e=0x0;_0x593f2e<_0x3b7647[_0x752d4a(0x151)];_0x593f2e++){let _0x5b36cf=_0x3b7647[_0x593f2e];_0x4b878c[_0x5b36cf]=(_0x4b878c[_0x5b36cf]||0x0)+0x1,_0x4b878c[_0x5b36cf]>_0xb4b0e8&&(_0x932eb8=_0x5b36cf,_0xb4b0e8=_0x4b878c[_0x5b36cf]);}return _0x932eb8;},_0x29a320=()=>{return _0x4b9b2e;};return{'addTime':_0x1dba5a,'getProbableFPS':_0x17e649,'howMany':_0x29a320};};return{'TimeCodesFramesTranslator':_0x12efc4,'MedianCalculator':_0x333203,'Platform':_0x464ce4,'getMediaTimeFPS':_0xb5b879,'getSourceFPS':_0x5671b6,'setMediaFPS':_0x5cf34b,'FPSGetter':_0x313ffd};})()),BB[_0x425956(0x162)]=class{constructor(_0x361428){const _0xa94fec=_0x425956;this[_0xa94fec(0x1cd)]=![],this[_0xa94fec(0x120)]='',this['callback']=_0x361428,this[_0xa94fec(0x217)]='';}['Connect'](_0x5248e3){const _0x1f80ff=_0x425956;if(typeof io==_0x1f80ff(0xb0)||this[_0x1f80ff(0x1cd)])return;this[_0x1f80ff(0x1cd)]=!![];const _0x398c84=io('https://www.virtualott.com');_0x398c84['on'](_0x1f80ff(0x258),()=>{const _0x449b85=_0x1f80ff;console[_0x449b85(0x206)](_0x449b85(0x1d6));let _0x308e9d=BB[_0x449b85(0x21c)][_0x449b85(0xe7)];_0x398c84[_0x449b85(0x20c)](_0x449b85(0xe8),{'device':_0x308e9d[_0x449b85(0x1b3)]()},_0x566ade=>{const _0x3204e2=_0x449b85;this[_0x3204e2(0x217)]=_0x566ade[_0x3204e2(0x217)],_0x398c84[_0x3204e2(0x20c)](_0x3204e2(0x101),_0x5248e3,_0x1ede2c=>{const _0x32f4c0=_0x3204e2;console[_0x32f4c0(0x206)](_0x32f4c0(0x1f4)+_0x5248e3+_0x32f4c0(0x131)),this[_0x32f4c0(0x1ec)](_0x32f4c0(0x101),_0x1ede2c);});});}),_0x398c84['on'](_0x1f80ff(0x184),_0x36dc12=>{const _0xcc5ee6=_0x1f80ff;console[_0xcc5ee6(0x184)]('error::'+_0x36dc12);}),_0x398c84['on']('disconnect',_0x7d4cab=>{const _0x7316e1=_0x1f80ff;console[_0x7316e1(0x184)](_0x7316e1(0x22f)+_0x7d4cab);}),_0x398c84['on'](_0x1f80ff(0x1f5),_0x4efd5d=>{const _0x4f82c3=_0x1f80ff;this['callback'](_0x4f82c3(0x1f5),_0x4efd5d),console[_0x4f82c3(0x206)](_0x4f82c3(0x1f2),_0x4efd5d);}),_0x398c84['on'](_0x1f80ff(0x264),_0x1ec6e7=>{const _0x454482=_0x1f80ff;this[_0x454482(0x1ec)](_0x454482(0x264),_0x1ec6e7),console[_0x454482(0x206)]('ads:',_0x1ec6e7);});}},BB[_0x425956(0xfc)]=(_0x4a3e21,_0x1e39d1,_0x50e65b)=>{const _0x37cda0=_0x425956;console['log'](_0x37cda0(0x12c));function _0x268083(_0x12bb52,_0x3b83b1){const _0x2bbe6e=_0x37cda0;let _0x3e7f64='';if(_0x12bb52&&_0x12bb52[_0x2bbe6e(0x1b4)](_0x2bbe6e(0x210))){const _0x5a9ec4=_0x12bb52[_0x2bbe6e(0x13b)](/.*NTC./,'');let _0x6e0ed8=0x0;while(_0x6e0ed8+0x8<=_0x5a9ec4['length']){const _0x566d00=_0x5a9ec4[_0x2bbe6e(0x1c2)](_0x6e0ed8,_0x6e0ed8+0x4),_0xe5e2d2=((_0x5a9ec4[_0x2bbe6e(0x1c3)](_0x6e0ed8+0x4)*0x100+_0x5a9ec4[_0x2bbe6e(0x1c3)](_0x6e0ed8+0x5))*0x100+_0x5a9ec4[_0x2bbe6e(0x1c3)](_0x6e0ed8+0x6))*0x100+_0x5a9ec4['charCodeAt'](_0x6e0ed8+0x7);if(_0x6e0ed8+0x8+_0xe5e2d2>_0x5a9ec4[_0x2bbe6e(0x151)])break;const _0x3fe14e=_0x5a9ec4[_0x2bbe6e(0x1c2)](_0x6e0ed8+0x8,_0x6e0ed8+0x8+_0xe5e2d2);_0x566d00==_0x2bbe6e(0x18c)&&(timecodeDateTime=new Date(parseInt(_0x3fe14e))[_0x2bbe6e(0x198)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x3b83b1),_0x566d00==_0x2bbe6e(0x1bc)&&(tcTimeStamp=new Date(parseInt(_0x3fe14e))[_0x2bbe6e(0x198)]()),_0x566d00===_0x2bbe6e(0x1da)&&(timecode_offset=parseInt(_0x3fe14e)/0x5a,console['log'](_0x2bbe6e(0x12e),timecode_offset)),_0x6e0ed8+=0x8+_0xe5e2d2;}}return _0x3e7f64;}let _0x2afd3f=[0x0,0x0,0x0,0x0,0x0];function _0x477d9e(_0x4fe2da){const _0x10d784=_0x37cda0;if(_0x4fe2da&&_0x4fe2da[_0x10d784(0x1f1)]&&_0x4fe2da[_0x10d784(0x1f1)]['id']==0x0||_0x5c05b['isMac']()){if(_0x4fe2da['metadata'][_0x10d784(0x118)])_0x4fe2da[_0x10d784(0x1f1)]['messageData']=_0x268083(_0x4fe2da['metadata'][_0x10d784(0x118)],_0x4fe2da['metadata'][_0x10d784(0x177)]);else{if(_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x235)]&&_0x4fe2da['metadata'][_0x10d784(0x235)]['length']&&_0x4fe2da['metadata']['frames'][0x0][_0x10d784(0x149)]&&_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x235)][0x0][_0x10d784(0x149)][_0x10d784(0x109)]()===_0x10d784(0x103)){const _0x143fa0=_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x235)]['filter'](_0x541a52=>{const _0x4b9f42=_0x10d784;return _0x541a52[_0x4b9f42(0x25b)]&&_0x541a52['info'][_0x4b9f42(0x109)]()[_0x4b9f42(0x1b4)](_0x4b9f42(0x1db));});_0x143fa0[_0x10d784(0x151)]&&(messageData=_0x143fa0[_0x143fa0[_0x10d784(0x151)]-0x1]['info']+'\x00'+String[_0x10d784(0x10d)](..._0x143fa0[_0x143fa0[_0x10d784(0x151)]-0x1][_0x10d784(0x223)]),_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x118)]=_0x268083(messageData,_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x177)]));}}(_0x4fe2da[_0x10d784(0x1f1)]['id']==0x0||_0x5c05b['isMac']()&&timecode_offset==0x0)&&(presentationTime=_0x4fe2da[_0x10d784(0x1f1)][_0x10d784(0x177)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0x10d784(0x1ba)](offsetTimeCode[_0x10d784(0x1d9)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math[_0x10d784(0x10b)](offsetTimeCodeframeNumber),partoff=0x2),_0x2afd3f=[offsetTimeCode[_0x10d784(0x277)](),offsetTimeCode[_0x10d784(0x222)](),offsetTimeCode[_0x10d784(0xc9)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x4759c8(_0xcf0444){const _0x5436cd=_0x37cda0;if(typeof globalConfig!=='undefined'){if(typeof globalConfig[_0x5436cd(0x1d4)]!==_0x5436cd(0xb0)){if(globalConfig['MKsync']=='no')return;}}if(BB[_0x5436cd(0x21c)][_0x5436cd(0x1e5)](_0x50e65b['frameRateMode'])==0x7530/0x3e9){let _0x23cf01={'frame':0x0,'playerTime':0x0};_0x23cf01[_0x5436cd(0x123)]=BB[_0x5436cd(0x21c)][_0x5436cd(0x154)][_0x5436cd(0x243)](_0x2afd3f,0x7530/0x3e9,![]),_0x23cf01[_0x5436cd(0xdd)]=BB['Utils'][_0x5436cd(0x154)][_0x5436cd(0xff)](_0x2afd3f,![],![]),console[_0x5436cd(0x206)]('New\x20segment\x20('+_0xcf0444[_0x5436cd(0xc4)]+_0x5436cd(0x197)+_0x23cf01['stringTime']+'\x20('+_0x23cf01['frame']+')'+_0x5436cd(0x26e)+_0xcf0444[_0x5436cd(0xd3)]),_0x23cf01['playerTime']=_0xcf0444['playbackTime'],_0x50e65b[_0x5436cd(0xfe)]=_0x23cf01;}else{if(BB[_0x5436cd(0x21c)]['getSourceFPS'](_0x50e65b['frameRateMode'])==0xea60/0x3e9){let _0x447552={'frame':0x0,'playerTime':0x0};_0x447552[_0x5436cd(0x123)]=BB[_0x5436cd(0x21c)][_0x5436cd(0x154)]['Timecode2Frames'](_0x2afd3f,0xea60/0x3e9,!![]),_0x447552[_0x5436cd(0xdd)]=BB['Utils'][_0x5436cd(0x154)][_0x5436cd(0xff)](_0x2afd3f,!![],![]),console['log']('New\x20segment\x20('+_0xcf0444[_0x5436cd(0xc4)]+_0x5436cd(0x197)+_0x447552[_0x5436cd(0xdd)]+'\x20('+_0x447552[_0x5436cd(0x123)]+')'+_0x5436cd(0x26e)+_0xcf0444[_0x5436cd(0xd3)]),_0x447552[_0x5436cd(0xcc)]=_0xcf0444[_0x5436cd(0xd3)],_0x50e65b['syncPoint']=_0x447552;}}_0xcf0444['mimeType'][_0x5436cd(0x1b4)](_0x5436cd(0x27e))&&console[_0x5436cd(0x206)](_0x5436cd(0xea)+_0xcf0444[_0x5436cd(0xc4)]);}function _0x55fe4c(_0x4ed5a2){const _0x3301c3=_0x37cda0;switch(_0x4ed5a2[_0x3301c3(0x229)]){case wmcEvents[_0x3301c3(0x26b)]:let _0x5cb443={'frame':0x0,'playerTime':0x0};BB['Utils'][_0x3301c3(0x1e5)](_0x50e65b[_0x3301c3(0xcb)])==0x7530/0x3e9&&(console['log'](_0x3301c3(0x193)+_0x4ed5a2[_0x3301c3(0xc4)]+_0x3301c3(0x197)+BB[_0x3301c3(0x21c)]['TimeCodesFramesTranslator'][_0x3301c3(0xec)](_0x4ed5a2['dateTime'],0x7530/0x3e9)+'\x20playing\x20at\x20'+_0x4ed5a2[_0x3301c3(0xd3)]),_0x5cb443[_0x3301c3(0x123)]=BB['Utils'][_0x3301c3(0x154)][_0x3301c3(0x243)](BB[_0x3301c3(0x21c)][_0x3301c3(0x154)][_0x3301c3(0x171)](_0x4ed5a2[_0x3301c3(0x1f6)],0x7530/0x3e9),0x7530/0x3e9,![]),_0x5cb443[_0x3301c3(0xdd)]=BB[_0x3301c3(0x21c)][_0x3301c3(0x154)][_0x3301c3(0xec)](_0x4ed5a2[_0x3301c3(0x1f6)],0x7530/0x3e9));BB[_0x3301c3(0x21c)][_0x3301c3(0x1e5)](_0x50e65b[_0x3301c3(0xcb)])==0xea60/0x3e9&&(console[_0x3301c3(0x206)](_0x3301c3(0x193)+_0x4ed5a2[_0x3301c3(0xc4)]+_0x3301c3(0x197)+BB['Utils'][_0x3301c3(0x154)]['timeDate2TCString'](_0x4ed5a2['dateTime'],0xea60/0x3e9)+'\x20playing\x20at\x20'+_0x4ed5a2['playbackTime']),_0x5cb443['frame']=BB[_0x3301c3(0x21c)][_0x3301c3(0x154)][_0x3301c3(0x243)](BB[_0x3301c3(0x21c)][_0x3301c3(0x154)][_0x3301c3(0x171)](_0x4ed5a2[_0x3301c3(0x1f6)]),fps,!![]),_0x5cb443[_0x3301c3(0xdd)]=BB[_0x3301c3(0x21c)]['TimeCodesFramesTranslator'][_0x3301c3(0xec)](_0x4ed5a2[_0x3301c3(0x1f6)],0xea60/0x3e9));_0x5cb443['playerTime']=_0x4ed5a2['playbackTime'],_0x50e65b['syncPoint']=_0x5cb443;break;default:}}let _0x432469=BB[_0x37cda0(0x21c)][_0x37cda0(0x154)],_0x4027b6=BB[_0x37cda0(0x21c)]['getSourceFPS'](_0x50e65b['frameRateMode']),_0x92c5ba=BB[_0x37cda0(0x21c)][_0x37cda0(0x1bd)](_0x50e65b['frameRateMode']);refreshRate=_0x50e65b['refreshRate'];let _0x2cdadc=null,_0x39a923=null,_0x4657dd=null;if(_0x50e65b[_0x37cda0(0x1ee)]==BB[_0x37cda0(0xc0)][_0x37cda0(0x268)]){}else{let _0x368aa0=document[_0x37cda0(0x275)](_0x37cda0(0x145));_0x368aa0[_0x37cda0(0x1ff)]=0x1f4,_0x368aa0[_0x37cda0(0x17e)]=0x1f4,document['body'][_0x37cda0(0x1a7)](_0x368aa0),_0x4657dd=_0x368aa0[_0x37cda0(0xd8)](_0x37cda0(0x25c));}let _0x5c05b=BB[_0x37cda0(0x21c)][_0x37cda0(0xe7)],_0x11d938=-0x1,_0x12a7ea=![];const _0x32f97e=(_0x251f0a,_0x2baafc)=>{const _0x3a1f3f=_0x37cda0,_0xbab2b=performance[_0x3a1f3f(0x155)]();if(_0x11d938==_0x251f0a&&_0x2baafc==_0x12a7ea)return console[_0x3a1f3f(0x16a)](_0x3a1f3f(0x111)+_0x251f0a),0x0;if(!_0x50e65b[_0x3a1f3f(0x1ad)]||_0x50e65b['stopAugment'])return _0x39a923[_0x3a1f3f(0x140)](),0x0;if(_0x50e65b[_0x3a1f3f(0x1ee)]==BB[_0x3a1f3f(0xc0)]['RenderDigits'])renderDigit(_0x4657dd,_0x251f0a);else{if(_0x50e65b[_0x3a1f3f(0x1ee)]==BB['RenderingMode'][_0x3a1f3f(0x179)]){if(_0x4027b6==0xea60/0x3e9||_0x4027b6==0x3c)renderTimecode(_0x4657dd,_0x432469[_0x3a1f3f(0x176)](_0x251f0a,_0x4027b6,!![]),!![]);else{if(_0x4027b6==0x7530/0x3e9||_0x4027b6==0x1e)renderTimecode(_0x4657dd,_0x432469[_0x3a1f3f(0x176)](_0x251f0a,_0x4027b6,![]),![]);}}else{if(_0x50e65b[_0x3a1f3f(0x1ee)]==BB['RenderingMode']['Augment']){if(_0x4027b6==0xea60/0x3e9||_0x4027b6==0x3c)_0x39a923[_0x3a1f3f(0xa3)](_0x432469[_0x3a1f3f(0xff)](_0x432469[_0x3a1f3f(0x176)](_0x251f0a,_0x4027b6,!![])));else(_0x4027b6==0x7530/0x3e9||_0x4027b6==0x1e)&&(_0x2baafc?_0x39a923[_0x3a1f3f(0xa3)](_0x432469[_0x3a1f3f(0xff)](_0x432469[_0x3a1f3f(0x176)](_0x251f0a*0x2+0x1,_0x4027b6*0x2,!![]),!![])):_0x39a923[_0x3a1f3f(0xa3)](_0x432469[_0x3a1f3f(0xff)](_0x432469['Frames2Timecode'](_0x251f0a,_0x4027b6,![]),![])));}}}_0x11d938=_0x251f0a,_0x12a7ea=_0x2baafc;const _0x500f86=performance[_0x3a1f3f(0x155)]();return _0x500f86-_0xbab2b;};let _0xde0da4=0x0,_0x52014c=0x20,_0x58a373=0x20,_0x3dc84f='',_0x10de1a=function(_0x3e8cab,_0xb3233){const _0x3355af=_0x37cda0;if(_0x3dc84f==_0x3355af(0x9e)){console[_0x3355af(0x16a)](_0x3355af(0x1a9)),_0x1e39d1[_0x3355af(0x132)](_0x10de1a);return;}_0x3dc84f='VID',lastNow=_0x3e8cab;let _0xc54693=(_0xb3233[_0x3355af(0x1ea)]-_0x50e65b[_0x3355af(0xfe)][_0x3355af(0xcc)])%(0x3c*0x3c*0x18)*_0x92c5ba;lastFrameFromVideoCallback=Math[_0x3355af(0x10b)](_0xc54693+0.1)+_0x50e65b[_0x3355af(0xfe)][_0x3355af(0x123)];if(BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b['frameRateMode'])==0x7530/0x3e9)lastFrameFromVideoCallback+=-0x1;else BB[_0x3355af(0x21c)]['getSourceFPS'](_0x50e65b[_0x3355af(0xcb)])==0xea60/0x3e9&&(lastFrameFromVideoCallback+=0x2);lastMediaTime=_0xb3233[_0x3355af(0x1ea)];let _0x462462=_0x1e39d1['currentTime'];var _0x23a414='';if(BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b[_0x3355af(0xcb)])==0xea60/0x3e9)_0x23a414=_0x432469[_0x3355af(0xff)](_0x432469[_0x3355af(0x176)](lastFrameFromVideoCallback,_0x4027b6,!![]),!![],!![]);else BB[_0x3355af(0x21c)]['getSourceFPS'](_0x50e65b[_0x3355af(0xcb)])==0x7530/0x3e9?_0x23a414=_0x432469[_0x3355af(0xff)](_0x432469[_0x3355af(0x176)](lastFrameFromVideoCallback,_0x4027b6,![]),![],![]):_0x23a414='NOT\x20SUPPORTED';var _0x24fa4c='';if(BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b['frameRateMode'])==0xea60/0x3e9)_0x24fa4c=_0x432469['printTimecode'](_0x432469[_0x3355af(0x176)](_0x50e65b[_0x3355af(0x15e)]['offset'],_0x4027b6,!![]),!![],!![]);else BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b[_0x3355af(0xcb)])==0x7530/0x3e9?_0x24fa4c=_0x432469[_0x3355af(0xff)](_0x432469[_0x3355af(0x176)](_0x50e65b['augmentation'][_0x3355af(0x1eb)],_0x4027b6,![]),![],![]):_0x24fa4c=_0x3355af(0x1a2);let _0x51fdd6=lastFrameFromVideoCallback-_0x50e65b[_0x3355af(0x15e)]['offset'];if(_0x2cdadc)_0x2cdadc[_0x3355af(0xf0)](_0x51fdd6);var _0x1aea2f='';if(BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b[_0x3355af(0xcb)])==0xea60/0x3e9)_0x1aea2f=_0x432469[_0x3355af(0xff)](_0x432469[_0x3355af(0x176)](_0x51fdd6,_0x4027b6,!![]),!![],!![]);else BB[_0x3355af(0x21c)]['getSourceFPS'](_0x50e65b[_0x3355af(0xcb)])==0x7530/0x3e9?_0x1aea2f=_0x432469['printTimecode'](_0x432469[_0x3355af(0x176)](_0x51fdd6,_0x4027b6,![]),![],![]):_0x1aea2f='NOT\x20SUPPORTED';let _0x389de1=Date[_0x3355af(0x155)]()-_0xde0da4,_0x5819b7=new Date(),_0x31d135=String(_0x5819b7[_0x3355af(0xed)]())[_0x3355af(0x147)](0x2,'0'),_0x2b2900=String(_0x5819b7[_0x3355af(0x1c7)]())[_0x3355af(0x147)](0x2,'0'),_0x5dfae8=String(_0x5819b7[_0x3355af(0x13e)]())[_0x3355af(0x147)](0x2,'0'),_0x476744=String(_0x5819b7['getMilliseconds']())[_0x3355af(0x147)](0x3,'0'),_0x4e556a=_0x31d135+':'+_0x2b2900+':'+_0x5dfae8+'.'+_0x476744;_0xde0da4=Date[_0x3355af(0x155)]();if(BB[_0x3355af(0x21c)]['getSourceFPS'](_0x50e65b['frameRateMode'])==0x7530/0x3e9){let _0x5950bb=0x18,_0xb89d4f=0x21+(0x21-_0x5950bb);_0x389de1<_0x5950bb&&_0x52014c<_0xb89d4f||_0x52014c<_0x5950bb&&_0x389de1<_0xb89d4f||_0x58a373<_0x5950bb&&_0x52014c<_0xb89d4f&&_0x389de1<_0xb89d4f||plus05Correction==!![]?(DebugLine2[_0x3355af(0x10a)]+=_0x3355af(0x166),setTimeout(function(){_0x32f97e(_0x51fdd6,![]);},0xa)):_0x32f97e(_0x51fdd6,![]);}else BB[_0x3355af(0x21c)][_0x3355af(0x1e5)](_0x50e65b[_0x3355af(0xcb)])==0xea60/0x3e9?renderingDuration=_0x32f97e(_0x51fdd6,![]):console[_0x3355af(0x16a)](_0x3355af(0x16d));_0x58a373=_0x52014c,_0x52014c=_0x389de1,console['BBlog']('VID.'+_0x3355af(0x201)+_0x4e556a+_0x3355af(0x102)+_0x23a414+',\x20offset:\x20'+_0x50e65b[_0x3355af(0x15e)][_0x3355af(0x1eb)]+'('+_0x24fa4c+')'+',\x20Result\x20Time:\x20'+_0x1aea2f+_0x3355af(0x215)+renderingDuration[_0x3355af(0xa5)](0x4)+'\x20ms'),_0x1e39d1['requestVideoFrameCallback'](_0x10de1a);return;};const _0x16392b=_0x2bf5ad=>{const _0x5f0b23=_0x37cda0;let _0xd260b5=new Date(),_0x28d35b=String(_0xd260b5[_0x5f0b23(0xed)]())[_0x5f0b23(0x147)](0x2,'0'),_0x51454a=String(_0xd260b5[_0x5f0b23(0x1c7)]())[_0x5f0b23(0x147)](0x2,'0'),_0x374da4=String(_0xd260b5['getSeconds']())[_0x5f0b23(0x147)](0x2,'0'),_0x29aa1e=String(_0xd260b5[_0x5f0b23(0x1fd)]())['padStart'](0x3,'0'),_0x45ca1b=_0x28d35b+':'+_0x51454a+':'+_0x374da4+'.'+_0x29aa1e;if(_0x1e39d1[_0x5f0b23(0xb8)]){window['requestAnimationFrame'](_0x16392b);return;}if(_0x3dc84f=='ANI'||_0x3dc84f==_0x5f0b23(0x9e)){var _0x465756='';if(BB[_0x5f0b23(0x21c)][_0x5f0b23(0x1e5)](_0x50e65b[_0x5f0b23(0xcb)])==0xea60/0x3e9)_0x465756=_0x432469['printTimecode'](_0x432469[_0x5f0b23(0x176)](_0x11d938+0x1,_0x4027b6,!![]),!![],!![]);else BB[_0x5f0b23(0x21c)]['getSourceFPS'](_0x50e65b[_0x5f0b23(0xcb)])==0x7530/0x3e9?_0x465756=_0x432469[_0x5f0b23(0xff)](_0x432469[_0x5f0b23(0x176)](_0x11d938+0x1,_0x4027b6,![]),![],![]):_0x465756='NOT\x20SUPPORTED';var _0x897153='';if(BB[_0x5f0b23(0x21c)][_0x5f0b23(0x1e5)](_0x50e65b['frameRateMode'])==0xea60/0x3e9)_0x897153=_0x432469[_0x5f0b23(0xff)](_0x432469[_0x5f0b23(0x176)](_0x50e65b[_0x5f0b23(0x15e)][_0x5f0b23(0x1eb)],_0x4027b6,!![]),!![],!![]);else BB[_0x5f0b23(0x21c)][_0x5f0b23(0x1e5)](_0x50e65b[_0x5f0b23(0xcb)])==0x7530/0x3e9?_0x897153=_0x432469[_0x5f0b23(0xff)](_0x432469[_0x5f0b23(0x176)](_0x50e65b[_0x5f0b23(0x15e)][_0x5f0b23(0x1eb)],_0x4027b6,![]),![],![]):_0x897153=_0x5f0b23(0x1a2);let _0x3c43c4=_0x11d938-_0x50e65b[_0x5f0b23(0x15e)][_0x5f0b23(0x1eb)];var _0x2dd3='';if(BB[_0x5f0b23(0x21c)]['getSourceFPS'](_0x50e65b['frameRateMode'])==0xea60/0x3e9)_0x2dd3=_0x432469[_0x5f0b23(0xff)](_0x432469[_0x5f0b23(0x176)](_0x3c43c4,_0x4027b6,!![]),!![],!![]);else BB[_0x5f0b23(0x21c)][_0x5f0b23(0x1e5)](_0x50e65b[_0x5f0b23(0xcb)])==0x7530/0x3e9?_0x2dd3=_0x432469[_0x5f0b23(0xff)](_0x432469['Frames2Timecode'](_0x3c43c4,_0x4027b6,![]),![],![]):_0x2dd3=_0x5f0b23(0x1a2);console[_0x5f0b23(0x16a)]('Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20('+_0x465756+')'+_0x5f0b23(0x119)+_0x3dc84f);let _0x3f5b31=_0x32f97e(_0x11d938+0x1,![]);console[_0x5f0b23(0x16a)](_0x5f0b23(0xdc)+',\x20TimeFired:\x20'+_0x45ca1b+_0x5f0b23(0x1dd)+_0x5f0b23(0x1bb)+_0x465756+_0x5f0b23(0x17b)+_0x50e65b[_0x5f0b23(0x15e)][_0x5f0b23(0x1eb)]+'('+_0x897153+')'+',\x20resultTime:\x20'+_0x2dd3+_0x5f0b23(0x215)+_0x3f5b31[_0x5f0b23(0xa5)](0x4)+_0x5f0b23(0x276));if(_0x3dc84f==_0x5f0b23(0x178))_0x3dc84f='ANI2';else{if(_0x3dc84f==_0x5f0b23(0x9e))_0x3dc84f='ANI';}}else console[_0x5f0b23(0x16a)](_0x5f0b23(0xdc)+_0x5f0b23(0x201)+_0x45ca1b),_0x3dc84f=_0x5f0b23(0x178);window['requestAnimationFrame'](_0x16392b);};let _0x1a213e=![];const _0x502fc6=_0x3d35a2=>{const _0x21f106=_0x37cda0;var _0x1b120c=0x0,_0x545adb=(_0x1e39d1['currentTime']-_0x50e65b[_0x21f106(0xfe)][_0x21f106(0xcc)])%(0x3c*0x3c*0x18)*_0x92c5ba;_0x1b120c=Math[_0x21f106(0x10b)](_0x545adb)+_0x50e65b[_0x21f106(0xfe)][_0x21f106(0x123)],_0x1b120c+=0x2;var _0x129823=_0x545adb-Math[_0x21f106(0x10b)](_0x545adb);if(_0x1a213e||_0x129823<0.226)_0x1a213e=!![];if(_0x129823>0.8)_0x1a213e=![];if(_0x1a213e)_0x1b120c--;var _0x151062='';if(BB[_0x21f106(0x21c)][_0x21f106(0x1e5)](_0x50e65b[_0x21f106(0xcb)])==0xea60/0x3e9)_0x151062=_0x432469[_0x21f106(0xff)](_0x432469[_0x21f106(0x176)](_0x1b120c,_0x4027b6,!![]),!![],!![]);else BB[_0x21f106(0x21c)][_0x21f106(0x1e5)](_0x50e65b[_0x21f106(0xcb)])==0x7530/0x3e9?_0x151062=_0x432469['printTimecode'](_0x432469[_0x21f106(0x176)](_0x1b120c,_0x4027b6,![]),![],![]):_0x151062=_0x21f106(0x1a2);var _0x4107bc='';if(BB[_0x21f106(0x21c)][_0x21f106(0x1e5)](_0x50e65b['frameRateMode'])==0xea60/0x3e9)_0x4107bc=_0x432469[_0x21f106(0xff)](_0x432469[_0x21f106(0x176)](_0x50e65b[_0x21f106(0x15e)]['offset'],_0x4027b6,!![]),!![],!![]);else BB[_0x21f106(0x21c)][_0x21f106(0x1e5)](_0x50e65b[_0x21f106(0xcb)])==0x7530/0x3e9?_0x4107bc=_0x432469['printTimecode'](_0x432469['Frames2Timecode'](_0x50e65b[_0x21f106(0x15e)][_0x21f106(0x1eb)],_0x4027b6,![]),![],![]):_0x4107bc='NOT\x20SUPPORTED';let _0x38f6ab=_0x1b120c-_0x50e65b['augmentation'][_0x21f106(0x1eb)];if(_0x2cdadc)_0x2cdadc[_0x21f106(0xf0)](_0x38f6ab);_0x32f97e(_0x38f6ab),window[_0x21f106(0x1b7)](_0x502fc6);return;};console[_0x37cda0(0x16a)](_0x37cda0(0x253)),console[_0x37cda0(0x16a)](_0x37cda0(0x27a));typeof window!==_0x37cda0(0xb0)?console[_0x37cda0(0x16a)](_0x37cda0(0x236)):console['BBlog'](_0x37cda0(0x1aa));'requestAnimationFrame'in window?console[_0x37cda0(0x16a)](_0x37cda0(0x209)):console[_0x37cda0(0x16a)]('requestAnimationFrame\x20is\x20not\x20supported');typeof _0x1e39d1!=='undefined'?console[_0x37cda0(0x16a)](_0x37cda0(0x127)):console['BBlog']('Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');'requestVideoFrameCallback'in _0x1e39d1?console['BBlog'](_0x37cda0(0x186)):console[_0x37cda0(0x16a)]('requestVideoFrameCallback\x20is\x20not\x20supported');if(_0x5c05b[_0x37cda0(0xb4)]()||_0x5c05b['isAndroid']())window[_0x37cda0(0x1b7)](_0x16392b),_0x1e39d1[_0x37cda0(0x132)](_0x10de1a);else _0x5c05b[_0x37cda0(0xf4)]()?window[_0x37cda0(0x1b7)](_0x502fc6):console[_0x37cda0(0x16a)](_0x37cda0(0x1f8));console[_0x37cda0(0x16a)](_0x37cda0(0x1e4)),console['BBlog'](_0x37cda0(0x247));function _0x55b175(){return new Promise(_0x1497d5=>{let _0x1bd764=0x0;const _0x12cd49=[],_0x1d71fa=0x14;function _0x58b35a(_0x1bd8a4){const _0x18907a=_0x5be3;if(_0x1bd764){const _0x245e98=_0x1bd8a4-_0x1bd764,_0x12c88c=0x3e8/_0x245e98;if(!(_0x12c88c===undefined)){if(_0x12c88c>0x0&&_0x12c88c<0xc8)_0x12cd49['push'](_0x12c88c);}if(_0x12cd49['length']===_0x1d71fa){const _0x51e203=_0x12cd49[_0x18907a(0xbc)]((_0xa0d605,_0x36e571)=>_0xa0d605+_0x36e571,0x0)/_0x1d71fa;_0x1497d5(Math[_0x18907a(0x1ba)](_0x51e203));return;}}_0x1bd764=_0x1bd8a4,requestAnimationFrame(_0x58b35a);}requestAnimationFrame(_0x58b35a);});}_0x55b175()[_0x37cda0(0x269)](_0x11a75e=>{const _0x4d7298=_0x37cda0;_0x50e65b['ScreenFPS']=_0x11a75e,_0x50e65b[_0x4d7298(0x1f0)]>0x46||_0x50e65b[_0x4d7298(0x1f0)]<0x32?(console[_0x4d7298(0xbe)]('Average\x20refresh\x20screen\x20rate:\x20'+_0x11a75e+_0x4d7298(0x117)),_0x50e65b[_0x4d7298(0x175)]=!![]):console['BBlog'](_0x4d7298(0x227)+_0x11a75e+_0x4d7298(0x191));});const _0x5a85f2=()=>{const _0x54332c=_0x37cda0;let _0x2132ec=_0x1e39d1[_0x54332c(0x189)];_0x39a923=new BB['Composer3d'](_0x2132ec,_0x1e39d1,_0x50e65b),ads=BB['Ads'](_0x39a923,_0x50e65b),_0x2cdadc=BB[_0x54332c(0x22e)](_0x50e65b,_0x39a923);},_0x2cba5b=()=>{const _0x1ca201=_0x37cda0;return _0x39a923[_0x1ca201(0x1c1)]();},_0x79d559=_0x3b37cc=>{_0x4759c8(_0x3b37cc);},_0x5e50cf=_0x143d95=>{_0x477d9e(_0x143d95);};return{'getCanvas':_0x2cba5b,'onNewSegmentInterface':_0x79d559,'onNewMetadataInterface':_0x5e50cf,'initializeComponents':_0x5a85f2};},BB[_0x425956(0xa4)]=class{constructor(_0x40dc90,_0x496936,_0x240db4){const _0x206a69=_0x425956;if(_0x240db4[_0x206a69(0x15e)][_0x206a69(0x169)]){this[_0x206a69(0xad)]={};for(let _0x1e334b=0x0;_0x1e334b<0xa;++_0x1e334b){let _0x386a75=_0x1e334b+'.1',_0x1e1e03=_0x1e334b+'.2';this['digitImg'][_0x386a75]=this[_0x206a69(0xe0)](_0x386a75),this['digitImg'][_0x1e1e03]=this[_0x206a69(0xe0)](_0x1e1e03);}}this['options']=Object['assign']({'adLoopTime':0x1388,'isAdLoop':![]},_0x240db4||{}),this['sourceFPS']=BB[_0x206a69(0x21c)][_0x206a69(0x1e5)](this[_0x206a69(0x180)][_0x206a69(0xcb)]),this[_0x206a69(0xd1)]=[],this['metadataMap']={},this[_0x206a69(0x1e6)]=![],this[_0x206a69(0xe5)]={},this[_0x206a69(0x266)]={},this[_0x206a69(0x23e)]=null,this[_0x206a69(0x145)]=document[_0x206a69(0x275)](_0x206a69(0x145)),this[_0x206a69(0xa2)]=this[_0x206a69(0x145)]['getContext'](_0x206a69(0x220),{'premultipliedAlpha':![]});this[_0x206a69(0xa2)]==null?(this[_0x206a69(0xa2)]=this[_0x206a69(0x145)][_0x206a69(0xd8)]('webgl',{'premultipliedAlpha':![]}),this[_0x206a69(0x1e3)]=0x1):this[_0x206a69(0x1e3)]=0x2;console[_0x206a69(0x206)](_0x206a69(0x130)+this[_0x206a69(0xa2)]+_0x206a69(0x259)+this[_0x206a69(0x1e3)]);let _0x4ad2ae=_0x40dc90[_0x206a69(0x20e)],_0x3cff7f=_0x40dc90[_0x206a69(0xa1)];this['canvas'][_0x206a69(0x1d5)]['top']=_0x4ad2ae,this['canvas'][_0x206a69(0x1d5)]['left']=_0x3cff7f,this['canvas']['width']=_0x40dc90[_0x206a69(0x1ce)],this[_0x206a69(0x145)][_0x206a69(0x17e)]=_0x40dc90[_0x206a69(0x252)],this[_0x206a69(0x145)][_0x206a69(0x1d5)]['position']=_0x206a69(0xae);let _0x5de0a4=_0x40dc90[_0x206a69(0x1b5)](_0x206a69(0x27e))[0x0],_0x53a755=_0x5de0a4['nextSibling'];if(_0x53a755)_0x40dc90['insertBefore'](this['canvas'],_0x53a755);else _0x40dc90[_0x206a69(0x1a7)](this[_0x206a69(0x145)]);this['canvas']['style'][_0x206a69(0x137)]=_0x206a69(0x273),_0x5de0a4[_0x206a69(0x172)](_0x206a69(0xb2),_0x44135b=>{const _0xcae852=_0x206a69;this[_0xcae852(0x10e)](_0x44135b);}),this[_0x206a69(0x213)](),this[_0x206a69(0xac)]=null,this[_0x206a69(0x231)]={},this[_0x206a69(0x1dc)]={},this['ad2place']={},this[_0x206a69(0x143)]=[],this[_0x206a69(0x1b9)]=0x0,this[_0x206a69(0x1f9)]=null;}['isPowerOf2'](_0x3ef97d){return(_0x3ef97d&_0x3ef97d-0x1)==0x0;}[_0x425956(0xe0)](_0x2b1c40){const _0x2fc46c=_0x425956;let _0x9fec49=document[_0x2fc46c(0x275)](_0x2fc46c(0x145));_0x9fec49[_0x2fc46c(0x1ff)]=0x32,_0x9fec49[_0x2fc46c(0x17e)]=0x32;let _0x3c12a6=_0x9fec49[_0x2fc46c(0xd8)]('2d');_0x3c12a6[_0x2fc46c(0x16f)]=_0x2fc46c(0x26f),_0x3c12a6[_0x2fc46c(0x1b1)](0x0,0x0,_0x9fec49[_0x2fc46c(0x1ff)],_0x9fec49[_0x2fc46c(0x17e)]),_0x3c12a6[_0x2fc46c(0x27f)]='30px\x20Arial',_0x3c12a6[_0x2fc46c(0x16f)]='white',_0x3c12a6['fillText'](_0x2b1c40,0xa,0x23);let _0x302e35=_0x9fec49[_0x2fc46c(0x281)](),_0x3f3cc6=document['createElement'](_0x2fc46c(0x106));return _0x3f3cc6[_0x2fc46c(0x194)]=_0x302e35,_0x3f3cc6;}[_0x425956(0x10e)](_0x3e1fbb){const _0x3822ad=_0x425956,_0x218d50=this[_0x3822ad(0x145)][_0x3822ad(0x122)]();let _0x2935e7=event[_0x3822ad(0x1ed)]-_0x218d50[_0x3822ad(0x142)],_0x44d7ea=event['clientY']-_0x218d50[_0x3822ad(0x20d)];_0x2935e7=_0x2935e7/(_0x218d50['right']-_0x218d50[_0x3822ad(0x142)]),_0x44d7ea=_0x44d7ea/(_0x218d50[_0x3822ad(0xde)]-_0x218d50['top']);for(let _0x77d54c of this[_0x3822ad(0x143)]){if(_0x77d54c[_0x3822ad(0x150)]['l']<=_0x2935e7&&_0x77d54c['rect']['r']>=_0x2935e7&&_0x77d54c[_0x3822ad(0x150)]['t']<=_0x44d7ea&&_0x77d54c[_0x3822ad(0x150)]['b']>=_0x44d7ea){let _0x4c6f0e=_0x77d54c['name'][_0x3822ad(0x1c2)](0x1);if(this[_0x3822ad(0x266)][_0x4c6f0e]){let _0x2d5b6a=this[_0x3822ad(0x266)][_0x4c6f0e];console[_0x3822ad(0x206)](_0x3822ad(0x282)+_0x4c6f0e+_0x3822ad(0x24e)+_0x2d5b6a+_0x3822ad(0x255)),window[_0x3822ad(0xe6)](_0x2d5b6a,_0x3822ad(0x257));}return;}}}['TexUnitForGenericAd'](){return 0x0;}[_0x425956(0x1c4)](_0x29aedc){const _0x2671a7=_0x425956;let _0x462a5c=Object[_0x2671a7(0x17a)](this[_0x2671a7(0x1dc)]);for(let _0x347ba7=0x0;_0x347ba7<_0x462a5c[_0x2671a7(0x151)];++_0x347ba7){if(_0x29aedc==_0x462a5c[_0x347ba7])return _0x347ba7+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0x520841){const _0x155f15=_0x425956;let _0x3d41aa=Object[_0x155f15(0x17a)](this[_0x155f15(0x1dc)]);for(let _0x49e7fc=0x0;_0x49e7fc<_0x3d41aa[_0x155f15(0x151)];++_0x49e7fc){let _0x4fb928=_0x3d41aa[_0x49e7fc];if(_0x520841['name'][_0x155f15(0x15f)](_0x4fb928)>=0x0)return _0x49e7fc;}return 0x0;}[_0x425956(0x12a)](_0x27fe53){const _0x574d55=_0x425956;let _0x2a7fbb=Object['keys'](this[_0x574d55(0x1dc)]);for(let _0x1c3df4=0x0;_0x1c3df4<_0x2a7fbb[_0x574d55(0x151)];++_0x1c3df4){let _0x1921f1=_0x2a7fbb[_0x1c3df4];if(_0x27fe53[_0x574d55(0x217)][_0x574d55(0x15f)](_0x1921f1)>=0x0&&this[_0x574d55(0x231)]&&this[_0x574d55(0x231)][_0x1921f1]&&this[_0x574d55(0x231)][_0x1921f1][_0x574d55(0x217)])return this[_0x574d55(0x231)][_0x1921f1][_0x574d55(0x217)];}return this[_0x574d55(0x112)];}[_0x425956(0xe3)](){const _0x23371f=_0x425956;return 0x1+Object[_0x23371f(0x17a)](this['place2ad'])['length'];}[_0x425956(0x213)](){const _0x91ccc7=_0x425956;let _0x59a8ae=BB['GL']['fragmentShaderSource'];if(BB[_0x91ccc7(0x21c)]['Platform'][_0x91ccc7(0xf4)]())_0x59a8ae=BB['GL'][_0x91ccc7(0x15d)][_0x91ccc7(0x13b)](_0x91ccc7(0x21b),_0x91ccc7(0x153));this[_0x91ccc7(0xeb)]=webglUtils[_0x91ccc7(0x136)](this[_0x91ccc7(0xa2)],this[_0x91ccc7(0x1e3)]==0x2?[BB['GL'][_0x91ccc7(0xf5)],_0x59a8ae]:[BB['GL'][_0x91ccc7(0x16e)],BB['GL'][_0x91ccc7(0x22a)]]),this['ctx']['clearColor'](0x0,0x0,0x0,0x0),this[_0x91ccc7(0xa2)][_0x91ccc7(0xef)](this[_0x91ccc7(0xa2)][_0x91ccc7(0xb3)]),this[_0x91ccc7(0xa2)]['useProgram'](this[_0x91ccc7(0xeb)]),this['CleanGL']();}[_0x425956(0x140)](){const _0x369d10=_0x425956;this[_0x369d10(0x145)][_0x369d10(0x1d5)][_0x369d10(0x1ca)]='none',this[_0x369d10(0xe1)]=0x0;}[_0x425956(0x1b6)](_0xa38773,_0x306392,_0x4fb0e8,_0x2dcb21,_0x5b6459,_0x2b5621,_0x58f83e){const _0x47e2db=_0x425956;_0x58f83e?this['ctx'][_0x47e2db(0x11d)](this[_0x47e2db(0xa2)][_0x47e2db(0x187)],0x1):this[_0x47e2db(0xa2)][_0x47e2db(0x11d)](this[_0x47e2db(0xa2)]['UNPACK_ALIGNMENT'],0x4);this['ctx']['pixelStorei'](this['ctx'][_0x47e2db(0x234)],![]);const _0x5d538f=this['ctx'][_0x47e2db(0x168)]();this[_0x47e2db(0xa2)]['activeTexture'](this[_0x47e2db(0xa2)][_0x47e2db(0x261)]+_0x306392),this['ctx']['bindTexture'](this['ctx'][_0x47e2db(0xe9)],_0x5d538f);try{_0x5b6459&&_0x2b5621?this[_0x47e2db(0xa2)][_0x47e2db(0x20f)](this[_0x47e2db(0xa2)]['TEXTURE_2D'],0x0,_0x2dcb21==null?this['ctx'][_0x47e2db(0x1e2)]:_0x2dcb21,_0x5b6459,_0x2b5621,0x0,_0x2dcb21==null?this[_0x47e2db(0xa2)][_0x47e2db(0x1e2)]:_0x2dcb21,this['ctx'][_0x47e2db(0x1be)],_0xa38773):this['ctx'][_0x47e2db(0x20f)](this[_0x47e2db(0xa2)][_0x47e2db(0xe9)],0x0,_0x2dcb21==null?this[_0x47e2db(0xa2)]['RGBA']:_0x2dcb21,this['ctx']['RGBA'],this['ctx'][_0x47e2db(0x1be)],_0xa38773);}catch(_0x4d4809){return console['error'](_0x4d4809),null;}if(this['webGLVersion']==0x1){let _0x4c55e8=_0x5b6459||_0xa38773[_0x47e2db(0x1ff)],_0x5cbc99=_0x2b5621||_0xa38773[_0x47e2db(0x17e)];_0x4c55e8&&this[_0x47e2db(0x12b)](_0x4c55e8)&&_0x5cbc99&&this['isPowerOf2'](_0x5cbc99)?this['ctx'][_0x47e2db(0x1b8)](this[_0x47e2db(0xa2)][_0x47e2db(0xe9)]):(this[_0x47e2db(0xa2)]['texParameteri'](this['ctx'][_0x47e2db(0xe9)],this['ctx'][_0x47e2db(0xda)],this[_0x47e2db(0xa2)][_0x47e2db(0x1e7)]),this['ctx']['texParameteri'](this['ctx'][_0x47e2db(0xe9)],this[_0x47e2db(0xa2)][_0x47e2db(0x14a)],this['ctx']['CLAMP_TO_EDGE']),this[_0x47e2db(0xa2)][_0x47e2db(0xaf)](this[_0x47e2db(0xa2)][_0x47e2db(0xe9)],this[_0x47e2db(0xa2)][_0x47e2db(0x244)],this[_0x47e2db(0xa2)][_0x47e2db(0x138)]));}else this['ctx'][_0x47e2db(0xaf)](this['ctx'][_0x47e2db(0xe9)],this['ctx'][_0x47e2db(0xda)],this[_0x47e2db(0xa2)]['CLAMP_TO_EDGE']),this[_0x47e2db(0xa2)]['texParameteri'](this[_0x47e2db(0xa2)][_0x47e2db(0xe9)],this[_0x47e2db(0xa2)][_0x47e2db(0x14a)],this['ctx'][_0x47e2db(0x1e7)]),this[_0x47e2db(0xa2)]['texParameteri'](this[_0x47e2db(0xa2)][_0x47e2db(0xe9)],this['ctx'][_0x47e2db(0x244)],this['ctx'][_0x47e2db(0x138)]),this[_0x47e2db(0xa2)][_0x47e2db(0xaf)](this['ctx'][_0x47e2db(0xe9)],this[_0x47e2db(0xa2)][_0x47e2db(0x182)],this[_0x47e2db(0xa2)]['LINEAR']);let _0x1f975b=this[_0x47e2db(0xa2)][_0x47e2db(0x20b)](this[_0x47e2db(0xeb)],_0x4fb0e8);return _0x1f975b&&this['ctx']['uniform1i'](_0x1f975b,_0x306392),_0x5d538f;}['_nextAdvertisement'](){const _0x2c441f=_0x425956;this[_0x2c441f(0x1f9)]=setTimeout(()=>{const _0x13e2eb=_0x2c441f,_0x17f3ec=Object[_0x13e2eb(0x17a)](this[_0x13e2eb(0xe5)]);_0x17f3ec['length']&&(this[_0x13e2eb(0x250)](_0x17f3ec[Math['floor'](Math['random']()*_0x17f3ec['length'])]),this['_nextAdvertisement']());},this[_0x2c441f(0x180)]['adLoopTime']);}['AddAdvertisement'](_0x50367c,_0x2f26d8,_0x3de429=null){const _0x1eecb7=_0x425956;if(_0x50367c[_0x1eecb7(0x15f)](_0x1eecb7(0x163))>-0x1){fetch(_0x2f26d8)[_0x1eecb7(0x269)](async _0x3c90ff=>{const _0x40a5dc=_0x1eecb7;this[_0x40a5dc(0x1dc)]=await _0x3c90ff[_0x40a5dc(0xcd)](),this[_0x40a5dc(0x26d)]={};let _0x42b528=Object[_0x40a5dc(0x17a)](this[_0x40a5dc(0x1dc)]);for(let _0x479d0c=0x0;_0x479d0c<_0x42b528[_0x40a5dc(0x151)];++_0x479d0c){let _0x2f24db=_0x42b528[_0x479d0c];if(_0x2f24db==_0x40a5dc(0x9f)){this['ad2Url']=this[_0x40a5dc(0x1dc)][_0x2f24db],delete this[_0x40a5dc(0x1dc)][_0x2f24db];continue;}let _0x1bca45=this['place2ad'][_0x2f24db];for(let _0xab2a79=0x0;_0xab2a79<_0x1bca45[_0x40a5dc(0x151)];++_0xab2a79){let _0x1465fa=_0x1bca45[_0xab2a79];this['ad2place']['#'+_0x1465fa]=_0x2f24db;}}Object['keys'](this[_0x40a5dc(0x1dc)])[_0x40a5dc(0x151)]>0x0&&(console[_0x40a5dc(0x206)]('composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20',this[_0x40a5dc(0x1dc)]),console[_0x40a5dc(0x206)](_0x40a5dc(0xf6),this[_0x40a5dc(0x26d)]),setTimeout(()=>{const _0x54382e=_0x40a5dc;this[_0x54382e(0x1a5)]();},0xbb8));});if(_0x3de429)_0x3de429();return;}const _0x33788b=new Image();return _0x33788b[_0x1eecb7(0x114)]=_0x1eecb7(0x125),_0x33788b['onload']=()=>{const _0x169d89=_0x1eecb7;let _0x41f8d6=Object[_0x169d89(0x17a)](this[_0x169d89(0xe5)])[_0x169d89(0x151)]===0x0;this['advertisementMap'][_0x50367c]=_0x33788b;_0x41f8d6&&(this['SelectAd'](_0x50367c),this['options'][_0x169d89(0xba)]&&(clearTimeout(this['autoAddIndex']),this[_0x169d89(0x260)]()));if(_0x3de429)_0x3de429();},_0x33788b[_0x1eecb7(0x1a8)]=()=>{const _0x2bf986=_0x1eecb7;alert(_0x2bf986(0x233)+_0x2f26d8+'\x20.');},_0x33788b[_0x1eecb7(0x194)]=_0x2f26d8,_0x33788b;}[_0x425956(0x1a5)](){const _0x59092a=_0x425956;if(this[_0x59092a(0x1dc)]){let _0x4d5887=Object[_0x59092a(0x17a)](this[_0x59092a(0x1dc)]);for(let _0x94cc54=0x0;_0x94cc54<_0x4d5887['length'];++_0x94cc54){let _0x1d01c5=_0x4d5887[_0x94cc54];!this['place2AdTexture'][_0x1d01c5]&&this[_0x59092a(0x1dc)][_0x1d01c5][_0x59092a(0x151)]>0x0&&(console[_0x59092a(0x206)]('MakeSureAdPerPlace:\x20Set\x20default\x20image\x20'+this['place2ad'][_0x1d01c5][0x0]+_0x59092a(0x1b0)+_0x1d01c5),this[_0x59092a(0x250)]('#'+this[_0x59092a(0x1dc)][_0x1d01c5][0x0]));}}}['SelectAd'](_0x248e8a){const _0x389fea=_0x425956;console[_0x389fea(0x206)](_0x389fea(0x100)+_0x248e8a);let _0x28a14a=this[_0x389fea(0xe5)][_0x248e8a];if(!_0x28a14a)console['error']('SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27'+_0x248e8a+'\x27');else{if(this[_0x389fea(0x26d)]&&this['ad2place'][_0x248e8a]){let _0x1d525e=this[_0x389fea(0x26d)][_0x248e8a];console['log'](_0x389fea(0x271)+_0x1d525e);let _0x4d5054=this['TexUnitForAdInPlace'](_0x1d525e),_0x5ec17d='ad'+(_0x4d5054-0x1);if(this[_0x389fea(0x231)][_0x1d525e])this[_0x389fea(0xa2)][_0x389fea(0xc6)](this[_0x389fea(0x231)][_0x1d525e][_0x389fea(0x205)]);this[_0x389fea(0x231)][_0x1d525e]={'tex':this[_0x389fea(0x1b6)](_0x28a14a,_0x4d5054,_0x5ec17d),'texUnitId':_0x4d5054,'texName':_0x5ec17d,'name':_0x248e8a};}else this[_0x389fea(0xac)]!=null&&this[_0x389fea(0xa2)][_0x389fea(0xc6)](this[_0x389fea(0xac)]),this[_0x389fea(0xac)]=this['GenerateTexture'](_0x28a14a,this[_0x389fea(0xbb)](),_0x389fea(0x23a)),this['lastAd']=_0x28a14a,this['lastAdName']=_0x248e8a;}}[_0x425956(0x1c9)](_0xb69456){const _0x579c17=_0x425956;this[_0x579c17(0x230)][_0xb69456['timecode']]=_0xb69456,this['metadataArr'][_0x579c17(0x18f)](_0xb69456[_0x579c17(0x134)]);}[_0x425956(0x113)](){const _0x4aaa9f=_0x425956;(this[_0x4aaa9f(0x16c)]||this['webkitRequestFullscreen'])[_0x4aaa9f(0xf3)](this)[_0x4aaa9f(0x15c)](_0xa302d9=>{const _0x294583=_0x4aaa9f;console[_0x294583(0x184)](_0xa302d9);});}[_0x425956(0x10c)](){const _0x47f210=_0x425956;let _0x1b7366=this[_0x47f210(0xa2)][_0x47f210(0x14b)](this[_0x47f210(0xeb)],'a_position'),_0x2dbc61=this[_0x47f210(0xa2)][_0x47f210(0x20b)](this[_0x47f210(0xeb)],_0x47f210(0x195)),_0x43292d=this[_0x47f210(0xa2)]['getUniformLocation'](this[_0x47f210(0xeb)],'u_resolution2');this[_0x47f210(0xa2)][_0x47f210(0x16b)](_0x2dbc61,this[_0x47f210(0xa2)]['canvas'][_0x47f210(0x1ff)],this[_0x47f210(0xa2)][_0x47f210(0x145)]['height']),this['ctx'][_0x47f210(0x16b)](_0x43292d,this[_0x47f210(0xa2)][_0x47f210(0x145)]['width'],this[_0x47f210(0xa2)][_0x47f210(0x145)]['height']);if(this['webGLVersion']==0x2){let _0x5f5319=this[_0x47f210(0xa2)][_0x47f210(0x20b)](this[_0x47f210(0xeb)],_0x47f210(0xa9)),_0x4909b0=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this['ctx'][_0x47f210(0xb1)](_0x5f5319,![],_0x4909b0);}let _0x21a3e1=null;this[_0x47f210(0x1e3)]==0x2&&(_0x21a3e1=this['ctx'][_0x47f210(0x254)](),this[_0x47f210(0xa2)]['bindVertexArray'](_0x21a3e1));let _0x415a08=this['ctx']['createBuffer']();this[_0x47f210(0xa2)][_0x47f210(0x124)](_0x1b7366),this[_0x47f210(0xa2)][_0x47f210(0x25a)](this[_0x47f210(0xa2)][_0x47f210(0xdb)],_0x415a08);let _0x3344ca=0x2,_0x564f3d=this[_0x47f210(0xa2)][_0x47f210(0x21d)],_0x1c530a=![],_0x439b19=0x0,_0x25a96c=0x0;this[_0x47f210(0xa2)][_0x47f210(0x161)](_0x1b7366,_0x3344ca,_0x564f3d,_0x1c530a,_0x439b19,_0x25a96c);let _0x416a33=this['ctx'][_0x47f210(0x14c)]();this[_0x47f210(0xa2)]['bindBuffer'](this[_0x47f210(0xa2)]['ARRAY_BUFFER'],_0x416a33),this['ctx'][_0x47f210(0x225)](this[_0x47f210(0xa2)][_0x47f210(0xdb)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this['ctx'][_0x47f210(0x207)]),this[_0x47f210(0xa2)][_0x47f210(0xc8)](0x0,0x0,this['ctx'][_0x47f210(0x145)][_0x47f210(0x1ff)],this[_0x47f210(0xa2)][_0x47f210(0x145)][_0x47f210(0x17e)]),this[_0x47f210(0xa2)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x47f210(0xa2)][_0x47f210(0xef)](this[_0x47f210(0xa2)][_0x47f210(0xb3)]|this[_0x47f210(0xa2)]['DEPTH_BUFFER_BIT']),this[_0x47f210(0xa2)][_0x47f210(0x25a)](this[_0x47f210(0xa2)][_0x47f210(0xdb)],_0x415a08),this[_0x47f210(0x160)](this['ctx'],0x0,0x0,this['canvas'][_0x47f210(0x1ff)],this[_0x47f210(0x145)][_0x47f210(0x17e)]);let _0x217e8d=this[_0x47f210(0xa2)][_0x47f210(0x24a)],_0x3ad328=0x6;this[_0x47f210(0xa2)][_0x47f210(0x24b)](_0x217e8d,_0x25a96c,_0x3ad328);}['SetRectangle'](_0x4a835d,_0x4088cf,_0x4835ad,_0x58a5ee,_0x20a416){const _0x491e3f=_0x425956;let _0x1e0a8d=_0x4088cf,_0x1ea29f=_0x4088cf+_0x58a5ee,_0x27b186=_0x4835ad,_0x4df78a=_0x4835ad+_0x20a416;this[_0x491e3f(0xa2)][_0x491e3f(0x225)](this['ctx'][_0x491e3f(0xdb)],new Float32Array([_0x1e0a8d,_0x27b186,_0x1ea29f,_0x27b186,_0x1e0a8d,_0x4df78a,_0x1e0a8d,_0x4df78a,_0x1ea29f,_0x27b186,_0x1ea29f,_0x4df78a]),this[_0x491e3f(0xa2)][_0x491e3f(0x207)]);}[_0x425956(0xa3)](_0x1dfdd8){const _0x4cdf1a=_0x425956;let _0x27ba3f=BB[_0x4cdf1a(0x21c)]['TimeCodesFramesTranslator'],_0xe1f805=_0x27ba3f[_0x4cdf1a(0x13a)](_0x1dfdd8),_0x1117e3=_0x27ba3f[_0x4cdf1a(0x1cc)](_0xe1f805,0x1,this[_0x4cdf1a(0x1df)]),_0x303c6e=_0x27ba3f[_0x4cdf1a(0x1cc)](_0xe1f805,0x2,this[_0x4cdf1a(0x1df)]),_0x21d662=_0x27ba3f[_0x4cdf1a(0xff)](_0x1117e3),_0x336d37=_0x27ba3f['printTimecode'](_0x303c6e);this[_0x4cdf1a(0x1e6)]=!![];const _0x3afd1e=performance[_0x4cdf1a(0x155)]();let _0x41824b=null,_0xa820e4=[];if(this[_0x4cdf1a(0x230)][_0x1dfdd8]){_0x41824b=this[_0x4cdf1a(0x230)][_0x1dfdd8];this[_0x4cdf1a(0x230)][_0x21d662]&&_0xa820e4[_0x4cdf1a(0x18f)]({'nextVideo':this['metadataMap'][_0x21d662],'nextTimeCode':_0x21d662});this['metadataMap'][_0x336d37]&&_0xa820e4['push']({'nextVideo':this[_0x4cdf1a(0x230)][_0x336d37],'nextTimeCode':_0x336d37});const _0x1eac15=this[_0x4cdf1a(0xd1)][_0x4cdf1a(0x15f)](_0x1dfdd8);if(_0x1eac15>-0x5)this['metadataArr']['splice'](0x0,_0x1eac15-0x4)[_0x4cdf1a(0xd9)](_0x47c616=>{const _0xdfcb84=_0x4cdf1a;delete this[_0xdfcb84(0x230)][_0x47c616];});this[_0x4cdf1a(0xe1)]++;}else console['error']('Missing\x20meta\x20data\x20at\x20time\x20code\x20'+_0x1dfdd8),this[_0x4cdf1a(0xe1)]++;this[_0x4cdf1a(0xe1)]>0x1e&&this[_0x4cdf1a(0x145)][_0x4cdf1a(0x1d5)][_0x4cdf1a(0x1ca)]==_0x4cdf1a(0x273)&&(this[_0x4cdf1a(0x145)][_0x4cdf1a(0x1d5)][_0x4cdf1a(0x1ca)]='');let _0x39d8e9=[];this['canvas'][_0x4cdf1a(0x1ff)]=0x500,this[_0x4cdf1a(0x145)][_0x4cdf1a(0x17e)]=0x2d0;let _0x53123b=0x0;this[_0x4cdf1a(0x143)]=[];if(_0x41824b)for(const _0x3cb108 in _0x41824b[_0x4cdf1a(0x158)]){const _0x59ee8b=_0x41824b['placeholders'][_0x3cb108];if(!_0x59ee8b[_0x4cdf1a(0x146)])continue;let _0x2f1ef1='alpha'+_0x53123b,_0x50d34d=this[_0x4cdf1a(0xe3)]()+_0x53123b;_0x59ee8b[_0x4cdf1a(0x19d)]=this['GenerateTexture'](_0x59ee8b[_0x4cdf1a(0x146)],_0x50d34d,_0x2f1ef1,this[_0x4cdf1a(0xa2)]['ALPHA'],_0x59ee8b[_0x4cdf1a(0x1ff)],_0x59ee8b['height'],!![]),_0x59ee8b['alphaAsUint8Array']=null;if(!_0x59ee8b[_0x4cdf1a(0x19d)]){console[_0x4cdf1a(0x184)]('Failed\x20to\x20create\x20alpha\x20texture');continue;}_0x39d8e9['push'](_0x59ee8b[_0x4cdf1a(0x19d)]);let _0x266fc3=_0x4cdf1a(0x159)+_0x53123b,_0x302cf9=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this['program'],_0x266fc3);this[_0x4cdf1a(0xa2)]['uniform1i'](_0x302cf9,0x1);let _0x24132e=_0x4cdf1a(0x224)+_0x53123b,_0x2fd1c7=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x24132e),_0x30c572=![];_0x59ee8b[_0x4cdf1a(0x217)]['indexOf'](_0x4cdf1a(0x13d))>=0x0?(this[_0x4cdf1a(0xa2)]['uniform1i'](_0x2fd1c7,0x63),_0x30c572=!![]):this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x164)](_0x2fd1c7,this['TexUnitForPlaceHolder'](_0x59ee8b));let _0x13ebc4=_0x4cdf1a(0x256)+_0x53123b+_0x4cdf1a(0x232),_0x173a7c=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x13ebc4);this['ctx'][_0x4cdf1a(0x157)](_0x173a7c,[_0x59ee8b[_0x4cdf1a(0x237)],_0x59ee8b[_0x4cdf1a(0x174)]]);let _0x34b14c=_0x4cdf1a(0x256)+_0x53123b+_0x4cdf1a(0xf8),_0x4cbf2f=this['ctx'][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x34b14c);this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x157)](_0x4cbf2f,[_0x59ee8b[_0x4cdf1a(0x1ff)],_0x59ee8b['height']]);let _0x188f81=_0x4cdf1a(0xa9)+_0x53123b,_0x572f29=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x188f81);this[_0x4cdf1a(0xa2)]['uniformMatrix3fv'](_0x572f29,![],_0x59ee8b[_0x4cdf1a(0x27b)]);if(!_0x30c572){let _0x178154={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x1899b6 of _0x59ee8b['corners']){if(_0x1899b6['x']<_0x178154['l']||_0x178154['l']==-0x1)_0x178154['l']=_0x1899b6['x'];if(_0x1899b6['x']>_0x178154['r']||_0x178154['r']==-0x1)_0x178154['r']=_0x1899b6['x'];if(_0x1899b6['y']<_0x178154['t']||_0x178154['t']==-0x1)_0x178154['t']=_0x1899b6['y'];if(_0x1899b6['y']>_0x178154['b']||_0x178154['b']==-0x1)_0x178154['b']=_0x1899b6['y'];}_0x178154['l']/=_0x41824b[_0x4cdf1a(0x228)][_0x4cdf1a(0x1ff)],_0x178154['r']/=_0x41824b[_0x4cdf1a(0x228)][_0x4cdf1a(0x1ff)],_0x178154['t']/=_0x41824b[_0x4cdf1a(0x228)][_0x4cdf1a(0x17e)],_0x178154['b']/=_0x41824b[_0x4cdf1a(0x228)][_0x4cdf1a(0x17e)],this['currentAds2BoundingRect']['push']({'name':this['AdNameForPlaceHolder'](_0x59ee8b),'rect':_0x178154});}_0x53123b++;}else{}for(;_0x53123b<BB[_0x4cdf1a(0x203)];++_0x53123b){let _0x45663f=_0x4cdf1a(0x159)+_0x53123b,_0x5583c2=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this['program'],_0x45663f);this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x164)](_0x5583c2,0x0);let _0x3aa12a=_0x4cdf1a(0xb6)+_0x53123b,_0x4db9e6=this['ctx'][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x3aa12a);this['ctx'][_0x4cdf1a(0x164)](_0x4db9e6,0x0);}if(this[_0x4cdf1a(0x180)][_0x4cdf1a(0x15e)][_0x4cdf1a(0x169)]){let _0xc75ab=_0x1dfdd8[_0x4cdf1a(0x204)](':')[0x3],_0x32fe08=_0xc75ab[_0x4cdf1a(0x15f)]('.')>=0x0?0x2:0x1,_0x370ffb=parseInt(_0xc75ab[_0x4cdf1a(0x204)]('.')[0x0])%0xa,_0x149691=_0x370ffb+'.'+_0x32fe08,_0x32af54=this[_0x4cdf1a(0xe3)]()+0x5,_0x5eb1e0=this['GenerateTexture'](this[_0x4cdf1a(0xad)][_0x149691],_0x32af54,_0x4cdf1a(0x212));_0x39d8e9[_0x4cdf1a(0x18f)](_0x5eb1e0);let _0x2b0fcf=_0x4cdf1a(0xfa),_0x1296b9=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x2b0fcf);this[_0x4cdf1a(0xa2)]['uniform1i'](_0x1296b9,0x1);let _0x722e0f=_0x4cdf1a(0xf2),_0x5e67e8=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x722e0f);this[_0x4cdf1a(0xa2)]['uniform2fv'](_0x5e67e8,[0x0,0x0]);let _0x1ef0ed='u_digitSize',_0x2a8b0e=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x1ef0ed);this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x157)](_0x2a8b0e,[0xc8,0xc8]);}else{let _0x457049='hasDigit',_0x24b3be=this[_0x4cdf1a(0xa2)][_0x4cdf1a(0x20b)](this[_0x4cdf1a(0xeb)],_0x457049);this['ctx']['uniform1i'](_0x24b3be,0x0);}this['RenderFrame']();for(const _0x2f90ad of _0x39d8e9){this[_0x4cdf1a(0xa2)]['deleteTexture'](_0x2f90ad);}}[_0x425956(0x1c1)](){const _0x1da529=_0x425956;return this[_0x1da529(0x145)];}},BB[_0x425956(0xc7)]=(_0x2a89a6,_0x1d2cbd)=>{const _0x1e8757=_0x425956;let _0x47693c=[];const _0x31d585=new BB[(_0x1e8757(0x162))]((_0x4217c2,_0x224f8d)=>{const _0x139049=_0x1e8757;switch(_0x4217c2){case'roommembers':console['log'](_0x139049(0x1ae),_0x224f8d);break;case _0x139049(0x101):const _0x1519ed=document['getElementById'](_0x139049(0x217));_0x1519ed&&(_0x1519ed['textContent']=_0x31d585[_0x139049(0x217)]);break;case'messageroom':if(_0x224f8d[_0x139049(0x22d)]===_0x31d585[_0x139049(0x217)]){if(_0x224f8d['url']){const _0x393c5a=_0x139049(0x139);_0x2a89a6[_0x139049(0x15a)](_0x393c5a,_0x224f8d[_0x139049(0xc4)],()=>{const _0x4fe2ce=_0x139049;_0x2a89a6[_0x4fe2ce(0x250)](_0x393c5a);});}else _0x47693c=_0x224f8d[_0x139049(0x264)],_0x47693c['length']&&_0x2a89a6[_0x139049(0x250)](_0x47693c[0x0]);}break;case _0x139049(0x264):_0x47693c=_0x224f8d;_0x47693c[_0x139049(0x151)]&&_0x2a89a6['SelectAd'](_0x47693c[0x0]);break;}});var _0x3bbda7=document[_0x1e8757(0x275)](_0x1e8757(0x23c));_0x3bbda7[_0x1e8757(0x194)]=_0x1e8757(0x1cf),document[_0x1e8757(0x1b5)](_0x1e8757(0xbf))[0x0][_0x1e8757(0x1a7)](_0x3bbda7),_0x3bbda7[_0x1e8757(0x13f)]=function(){const _0xda3a5=_0x1e8757;_0x31d585[_0xda3a5(0xc1)](_0x1d2cbd[_0xda3a5(0x15e)][_0xda3a5(0x190)]);},_0x1d2cbd['augmentation']['logoURL']?_0x2a89a6[_0x1e8757(0x15a)](_0x1e8757(0x13c),_0x1d2cbd['augmentation'][_0x1e8757(0x1ef)]):fetch(_0x1e8757(0x167)+_0x1d2cbd[_0x1e8757(0x15e)]['channelName'])['then'](async _0x107782=>{const _0x1043eb=_0x1e8757,_0x44998f=await _0x107782['json']();_0x44998f[_0x1043eb(0xd9)](_0x5abaa8=>{const _0x17b02c=_0x1043eb;_0x2a89a6[_0x17b02c(0x15a)]('#'+_0x5abaa8['name'],_0x5abaa8[_0x17b02c(0xc4)]);});});},BB[_0x425956(0x22e)]=(_0x196954,_0x3362f0)=>{const _0x513454=_0x425956;let _0x2cff02=BB[_0x513454(0x21c)][_0x513454(0x154)],_0x177471=BB[_0x513454(0x21c)][_0x513454(0x1e5)](_0x196954[_0x513454(0xcb)]),_0x3550ed,_0x5baff4,_0x1de6c9=null,_0x4c8372=null;console['log'](_0x513454(0x263)+_0x196954[_0x513454(0x1fe)]);const _0x2a4407=_0x51dae6=>{const _0x2e6e30=_0x513454;_0x3550ed=_0x51dae6,console[_0x2e6e30(0x206)](_0x2e6e30(0x238)+_0x196954[_0x2e6e30(0x1fe)]+':\x20'+_0x3550ed),_0x5baff4&&_0x266efb(_0x5baff4);};async function _0x358fa2(){const _0x524dc1=_0x513454,_0x337609=await fetch(_0x196954[_0x524dc1(0x183)]),_0x222350=await _0x337609[_0x524dc1(0xcd)]();_0x2a4407(_0x196954[_0x524dc1(0x1fe)]);}_0x358fa2();const _0x823dc=_0x3d5eae=>{_0x5baff4=_0x3d5eae,_0x3550ed&&_0x266efb(_0x5baff4);},_0x266efb=_0x40859c=>{const _0x461117=_0x513454;if(_0x1de6c9==null){_0x1de6c9=new Worker(_0x461117(0x1f7)),_0x1de6c9[_0x461117(0x172)](_0x461117(0x11e),_0x13cc4d=>{const _0x1114a2=_0x461117;if(_0x13cc4d[_0x1114a2(0x223)]['time']){}else _0x3362f0['OnMetaData'](_0x13cc4d[_0x1114a2(0x223)]);});let _0x79c468=_0x2cff02[_0x461117(0x19e)](_0x2cff02[_0x461117(0x176)](_0x40859c,_0x177471,!![]));_0x1de6c9[_0x461117(0xf7)]({'cloudFrontURL':_0x196954[_0x461117(0x116)],'folderName':_0x3550ed,'tc':_0x2cff02['printTimecode'](_0x79c468,![])});}else{let _0x3bc5cc=_0x2cff02[_0x461117(0x19e)](_0x2cff02['Frames2Timecode'](_0x40859c,_0x177471,!![]));_0x1de6c9[_0x461117(0xf7)]({'tc':_0x2cff02[_0x461117(0xff)](_0x3bc5cc,![]),'enabled':_0x196954[_0x461117(0x1ad)]});}};return{'setLastFrame':_0x823dc};},BB[_0x425956(0xc5)]=class{constructor(_0x1515cb,_0x9be50c,_0x1aecfe){const _0x657b30=_0x425956;this[_0x657b30(0x27e)]=_0x1515cb,this[_0x657b30(0x19b)]=_0x9be50c,console['log']('optionsFromMK:\x20',_0x1aecfe),this[_0x657b30(0x180)]=Object[_0x657b30(0xf1)]({'enabled':!![],'stopAugment':![],'gameId':_0x657b30(0x22c),'medialook':![],'allGamesURL':_0x657b30(0x105),'cloudFrontURL':_0x657b30(0x129),'mediaIdJsonURL':_0x657b30(0xce),'offsetJsonURL':_0x657b30(0xaa),'frameRateMode':BB[_0x657b30(0x1a4)][_0x657b30(0x12f)],'renderingMode':BB[_0x657b30(0xc0)][_0x657b30(0x268)],'SynchMethod':BB['SynchMethod']['None'],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x1aecfe||{}),console['log'](_0x657b30(0x21f),this[_0x657b30(0x180)]),this['options'][_0x657b30(0x15e)]['channelName']=_0x657b30(0x11f),console['BBlog']=function(_0x2261a4){const _0x159e94=_0x657b30;console['log'](_0x159e94(0xab)+_0x2261a4);},console[_0x657b30(0xbe)]=function(_0x42e8b8){const _0x1580a3=_0x657b30;console[_0x1580a3(0x184)](_0x1580a3(0xab)+_0x42e8b8);};function _0x2ea977(_0x1d6c08,_0x1d5d44){const _0x3e1461=_0x657b30,_0x5b5899=_0x1d6c08['split']('.')[_0x3e1461(0x1d0)](Number),_0x4c9c30=_0x1d5d44[_0x3e1461(0x204)]('.')[_0x3e1461(0x1d0)](Number);for(let _0x4735b2=0x0;_0x4735b2<Math[_0x3e1461(0x272)](_0x5b5899[_0x3e1461(0x151)],_0x4c9c30[_0x3e1461(0x151)]);_0x4735b2++){const _0x359f17=_0x5b5899[_0x4735b2]||0x0,_0x509166=_0x4c9c30[_0x4735b2]||0x0;if(_0x359f17<_0x509166)return-0x1;else{if(_0x359f17>_0x509166)return 0x1;}}return 0x0;}this[_0x657b30(0x1e1)]();}[_0x425956(0x248)](){const _0x24ac7b=_0x425956;if(typeof globalConfig===_0x24ac7b(0xb0))this[_0x24ac7b(0x180)]=Object['assign'](this['options'],{});else this['options']=Object['assign'](this['options'],globalConfig);this[_0x24ac7b(0x180)][_0x24ac7b(0x15e)][_0x24ac7b(0x1eb)]=0x0,console['log']('options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20',this[_0x24ac7b(0x180)]);let _0x461eee=BB[_0x24ac7b(0x21c)][_0x24ac7b(0xe7)],_0x416cec=BB[_0x24ac7b(0x21c)]['TimeCodesFramesTranslator'];if(this[_0x24ac7b(0x19b)])this[_0x24ac7b(0xc3)](this[_0x24ac7b(0x19b)]);this[_0x24ac7b(0x1c6)](this['options']['gameId']);}[_0x425956(0x279)](){const _0x45171e=_0x425956;let _0xf71c28={};this[_0x45171e(0x1cb)]=BB[_0x45171e(0xfc)](_0xf71c28,this[_0x45171e(0x27e)],this[_0x45171e(0x180)]),this['options']['renderingMode']==BB['RenderingMode']['Augment']&&this[_0x45171e(0x1cb)][_0x45171e(0x17d)]();}async[_0x425956(0x1e1)](){const _0x4e2c8b=_0x425956,_0x137a65=new URL(document[_0x4e2c8b(0xbd)]),_0x33b516=_0x137a65[_0x4e2c8b(0x1fc)][_0x4e2c8b(0x192)](_0x4e2c8b(0x280))||'';if(_0x33b516!=='')try{const _0x14c276=await fetch(_0x33b516);if(!_0x14c276['ok'])throw new Error(_0x4e2c8b(0x156));const _0xeb9840=await _0x14c276['json']();console['log']('Got\x20the\x20following\x20config:\x20',_0xeb9840),globalConfig=Object['assign']({},globalConfig,_0xeb9840);}catch(_0x16fc6e){console[_0x4e2c8b(0x184)](_0x4e2c8b(0x265),_0x16fc6e);}this['init']();}async[_0x425956(0x1c6)](_0x1bf907){const _0x17d46c=_0x425956;try{const _0x7f1ed9=await fetch(this['options'][_0x17d46c(0x133)]+'/'+_0x1bf907);if(!_0x7f1ed9['ok'])throw new Error('HTTP\x20error!\x20Status:\x20'+_0x7f1ed9['status']);const _0x9a3db6=await _0x7f1ed9[_0x17d46c(0xcd)]();if(_0x9a3db6[_0x17d46c(0xc2)](_0x17d46c(0x17f))){const _0x2d797d=_0x9a3db6[_0x17d46c(0x17f)];console['BBlog'](_0x17d46c(0x24f)+_0x1bf907+':\x20'+_0x2d797d),this[_0x17d46c(0x180)][_0x17d46c(0x1fe)]=_0x2d797d,console[_0x17d46c(0x206)](_0x17d46c(0xe2)+this[_0x17d46c(0x180)][_0x17d46c(0x1fe)]+',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker'),this[_0x17d46c(0x279)](),this[_0x17d46c(0x24d)](this['options'][_0x17d46c(0x1fe)]);}else console['BBerror'](_0x17d46c(0x1f3)+_0x1bf907+_0x17d46c(0x27d)),this[_0x17d46c(0x180)][_0x17d46c(0x175)]=!![];}catch(_0x2faf83){console[_0x17d46c(0xbe)](_0x17d46c(0x200),_0x2faf83);}}async['fetchOffsetForGameId'](_0x109ef0){const _0x1e49c4=_0x425956;try{const _0x54ff88=await fetch(this[_0x1e49c4(0x180)][_0x1e49c4(0x283)]+'/'+this[_0x1e49c4(0x180)][_0x1e49c4(0x1fe)]);!_0x54ff88['ok']&&(console[_0x1e49c4(0x16a)](_0x1e49c4(0x121)+_0x54ff88[_0x1e49c4(0xd0)]),setTimeout(()=>{const _0x172a01=_0x1e49c4;this[_0x172a01(0x24d)](_0x109ef0);},0x1388));const _0x1fb224=await _0x54ff88[_0x1e49c4(0xcd)]();if(_0x1fb224[_0x1e49c4(0xc2)](_0x1e49c4(0x1eb))&&_0x1fb224[_0x1e49c4(0xc2)]('found')){const _0x54a799=_0x1fb224['offset'],_0x3d7711=_0x1fb224['found'];_0x3d7711==!![]&&(console['BBlog'](_0x1e49c4(0x1d3)+_0x109ef0+':\x20'+_0x54a799),this[_0x1e49c4(0x180)][_0x1e49c4(0x15e)][_0x1e49c4(0x1eb)]=_0x54a799,setTimeout(()=>{this['fetchOffsetForGameId'](_0x109ef0);},0xea60));}else console[_0x1e49c4(0x16a)](_0x1e49c4(0x1ac)+mediaID+_0x1e49c4(0x27d)),setTimeout(()=>{const _0xdc4e1f=_0x1e49c4;this[_0xdc4e1f(0x24d)](_0x109ef0);},0x1388);}catch(_0x2a5c38){console[_0x1e49c4(0xbe)](_0x1e49c4(0x278),_0x2a5c38),setTimeout(()=>{const _0x22a7a4=_0x1e49c4;this[_0x22a7a4(0x24d)](_0x109ef0);},0x1388);}}[_0x425956(0x1e0)](_0x428dc0){const _0x3088ad=_0x425956;this[_0x3088ad(0x180)][_0x3088ad(0x1ad)]=_0x428dc0;}[_0x425956(0x19a)](){const _0x2e6a2e=_0x425956;return this[_0x2e6a2e(0x1cb)][_0x2e6a2e(0x1c1)]();}[_0x425956(0xc3)](_0x5d0880){const _0x61ffec=_0x425956;let _0x60e8a3=BB['Utils'][_0x61ffec(0xe7)];switch(_0x5d0880){case 0x3c:this[_0x61ffec(0x180)][_0x61ffec(0xcb)]=BB[_0x61ffec(0x1a4)]['Src60_MediaTime60'];break;case 0xea60/0x3e9:case 59.94:_0x60e8a3['isWindows']()||_0x60e8a3[_0x61ffec(0x11b)]()?this[_0x61ffec(0x180)]['frameRateMode']=BB['FrameRateMode'][_0x61ffec(0x1d2)]:this[_0x61ffec(0x180)]['frameRateMode']=BB[_0x61ffec(0x1a4)][_0x61ffec(0x1d2)];break;case 0x7530/0x3e9:case 29.97:this[_0x61ffec(0x180)][_0x61ffec(0xcb)]=BB[_0x61ffec(0x1a4)][_0x61ffec(0x1d7)];break;default:console[_0x61ffec(0x184)](_0x61ffec(0x26a)+_0x5d0880+_0x61ffec(0xd2));break;}}['SetSyncPoint'](_0x3f41f3){const _0x2e9dca=_0x425956;this[_0x2e9dca(0x180)][_0x2e9dca(0xfe)]=_0x3f41f3;}[_0x425956(0x245)](_0x5d1034){this['frameDrawer']['onNewSegmentInterface'](_0x5d1034);}['onNewMetadata'](_0x3116eb){const _0x20fc92=_0x425956;this['frameDrawer'][_0x20fc92(0x173)](_0x3116eb);}};
1
+ function _0x1bb2(_0x4f1318,_0x33bfa7){const _0x3c9414=_0x3c94();return _0x1bb2=function(_0x1bb281,_0x1045ad){_0x1bb281=_0x1bb281-0x17a;let _0x479044=_0x3c9414[_0x1bb281];return _0x479044;},_0x1bb2(_0x4f1318,_0x33bfa7);}const _0x334532=_0x1bb2;function _0x3c94(){const _0x213190=['isMac','VID','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','TexUnitBaseForAlpha','options\x20after\x20merge\x20with\x20MK\x27s\x20options:\x20','deleteProgram','slice','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','clientHeight','fetchAndFindGameIdAndOffestFromMediaId',',\x20deltaCur:\x20','maxTouchPoints','getShaderInfoLog','createShader',',\x20timeStamp-expectedDisplayTime:\x20','video\x20element\x20is\x20already\x20loaded.\x20Setting\x20up\x20requestVideoFrameCallback','getShaderSource','We\x20have\x20no\x20MetaDataDownloaderThread\x20yet.\x20Creating\x20it','timeDate2TCString','deleteTexture','toISOString','OnMetaData','UNSIGNED_BYTE','webglUtils','from','undefined','shift','Src59_MediaTime60','CreateDigitImg','getSourceFPS','CLDC','video','vertexAttribPointer','\x20version\x20','isPowerOf2','time','u_resolution','TimeCodeArray2TimeCodeJson','pointer-events','maskX','urls','ANI2','adTexture','black','found','sort','requestAnimationFrame','\x20!!!!!!!!!!!!!!!!!!!!!!','ctx','Average\x20refresh\x20screen\x20rate:\x20','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','field','ARRAY_BUFFER','requestAnimationFrame\x20is\x20not\x20supported','PlayBook','VID.','canvas','platform','Windows\x20Phone','VERTEX_SHADER','requestVideoFrameCallback','messageroom','isAndroid','br2','keys','frameDrawer','u_resolution2','TEXTURE_WRAP_T','OnNewSegment','bufferData','frameRateMode','metadataMap','\x20countAppleANI:\x20','location','bindVertexArray','application/javascript','status','Platform\x20not\x20supported','currentTime','SelectAd','canvasSize','a\x20Windows\x20PC','\x20correction\x20RealFrame=\x20','json','TEXTURE_MIN_FILTER','renderTimecode','eventType','offset','%c%s','getAttribLocation','BlackBerry','Src59_MediaTime59','ontouchstart','innerHTML','Src29_MediaTime29','videoCopier','Chrome','substring','Mac','SetRectangle','\x20TimeFired:\x20','stringTime','dataos','viewport','isAdLoop','vertexShaderSource','\x20countAppleVideo:\x20','message','toggleBtn','FrameRateMode','assign','getHours','weHaveTheGameID','forplus','uniformMatrix3fv','bindAttribLocation','numberInput','createProgramFromSources','\x0a\x0a^^^\x20',',\x20frame\x20not-rounded1:\x20','1188542VvAzNg','CLAMP_TO_EDGE','Created\x20webgl1\x20context:\x20','bindBuffer','console','UNPACK_ALIGNMENT',',\x20timeStamp:\x20','createElement','lastAdName','push','Mozilla','#ad','dblFrame:\x20','timeCodeStr2TimeCodeArray','\x20Game:\x20','TopLeft','hasLogo','www.mediakind.com/NTC','roommembers','an\x20Android\x20phone','***\x20Error:\x20unknown\x20script\x20element','useProgram','u_matrix','TimeCodeAddFrames','searchParams','userAgent','timecode','playerTime','MediaID\x20','https://db8igqxlbvayn.cloudfront.net/prod','appendChild','abs','unknown','debug','refreshRate','compileShader','length','placeholders','Internet\x20Explorer','GAME_ID','printTimecode',',\x20Brain\x20Time-Code:\x20','Error\x20from\x20worker:','hasDigit','TEXTURE_WRAP_S','TexUnitForPlaceHolder','ad2place','video\x20element\x20is\x20not\x20yet\x20loaded.\x20Setting\x20up\x20loadedmetadata\x20event\x20to\x20wait\x20until\x20it\x27s\x20loaded','fillRect','width','Palm','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','BBerror',',\x20nowFromVideoFrame-expectedDisplayTime:\x20','Got\x20the\x20following\x20config:\x20','options','texParameteri','splice','version','Src60_MediaTime60','getUniformLocation','ALPHA','\x20Setting\x20(some)\x20ms\x20timer','\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','Platform','toLowerCase','Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','connect','webGLVersion','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','STATIC_DRAW','img','program','getUTCMilliseconds','activeTexture','value','options\x20after\x20merge\x20with\x20the\x20global\x20options:\x20','Src60_MediaTime59','367110QrtlhQ','frame','join\x20\x20','includes','utc_','RGBA','playbackTime','sourceFPS','Opera','TEXTURE0','offsetJsonURL','then','getElementsByTagName','function','max','a\x20Mac','timeDate2TC','getMediaTimeFPS','enabled','TEXTURE_2D','onload','\x20so\x20should\x20navigate\x20to\x20','Timecode2Frames','56KjJOlO','Utils','debugText','getElementById','appVersion','map','Failed\x20to\x20create\x20alpha\x20texture','iPad','ToggleFullscreen','doNotRenderAugmentationCheckbox','Network\x20response\x20was\x20not\x20ok','TRIANGLES','blur','Firefox','onerror','white','type','digitImg','Unknown','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','getUTCSeconds','top','click','text','adForLogo','MSIE','corners','This\x20videoCallback\x20can\x20be\x20incorrect.\x20This\x20time\x20doing\x20stuff\x20in\x20requestAnimation\x20frame','TimeCodesFramesTranslator','frames','u_digitSize','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','SynchMethod',',\x20SyncPoint.frames:\x20','an\x20iPad','MetaDataFetcher','x-shader/x-fragment','allGamesURL','UNPACK_FLIP_Y_WEBGL','fragmentShaderSource','webkitRequestFullscreen','digitTex','matchItem','addEventListener','Toggle','metadata','3023531DxEGKj','renderAugmentation','fillStyle','intercept','Augment','deleteShader','right','log','clientWidth','tex','\x20room','optionsFromMK:\x20','Render\x20frame\x20#','requestVideoFrameCallback\x20is\x20not\x20supported','style','9455611yIZivz','padStart','if\x20(alpha\x20==\x200.0)','fetchOffsetForGameId','getSeconds','augmentation','u_alpha','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','channelName','if\x20(alpha\x20<\x200.8)','height','ScreenFPS',',\x20correction','https://www.virtualott.com','alpha','getCanvas','getBoundingClientRect','\x20playing\x20at\x20','ANI','OnMetadata','iPhone','expectedDisplayTime','HTTP\x20error!\x20Status:\x20','disconnect','isArray','renderingMode','GenerateTexture','Win','adLoopTime','dateTime','composer::SelectAd:\x20selected\x20ad\x20is\x20','key','error','shaderSource','currentAds2BoundingRect',',\x20delta:\x20','RenderTimecode','Windows','readyState','onNewMetadata','Safari','[-\x20/:;]([\x5cd._]+)','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','clearColor','\x20\x20correction','composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20','OnUserClickOnCanvas','url','MKsync','MakeSureAdPerPlace','The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','vertexShaderSourceV1','logoURL',',\x20Stream\x20Time-Code:\x20','charCodeAt','Macintosh','311002zkDHHf','AdNameForPlaceHolder','info','NOT\x20SUPPORTED','u_digitTopLeft','nba','https://www.virtualott.com/games/','createObjectURL','RenderDigits','COMPILE_STATUS','AddAdvertisement','textContent','metadataArr','Error\x20fetching\x20and\x20processing\x20GameId\x20JSON:','None','GameId\x20for\x20mediaid=\x20','getTime','matchAll','isApple','ad0','fillText','getContext','30px\x20Arial','texImage2D','config','MetaDataDownloaderThread\x20created','script','random','\x20deltaANI_VIDDate:\x20','indexOf','isWindows','floor','presentationTime','ANI.\x20',',\x20roundingError:\x20','ntc','display','getUTCMinutes','_nextAdvertisement','toString','place2ad','isConnected','CallBacks\x20are\x20set','fragmentShaderSourceV1',',\x20took:\x20','\x20Time:\x20','roommembers\x20message:\x20','reduce','src','Android','alphaTex','\x20not\x20found\x20in\x20JSON.','FRAGMENT_SHADER',',\x2059.94-offset:\x20','debugText2','Socket','mediaTime','fps','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','opera','data','BBlog','a_position','uniform2f','We\x20are\x20HERE:TimeCode','1588148OoJxop','5DEbkwA','name','#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','iOS','test','catch','3ARUEHh','requestFullscreen','initializeComponents','Folder\x20name\x20for\x20','place2AdTexture','amd','messageData','BB.Augmenter\x20Start','gameId','requestVideoFrameCallback\x20is\x20supported','x-shader/x-vertex','split',',\x20frame-dif:\x20','index','Kindle',',\x20resultTime:\x20','MAX_LOGOS','Composer3d','New\x20segment\x20(','_blank','TexUnitForAdInPlace','setinfo','get','ads','advertisementMap','replace','messageroom:\x20','LINEAR','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','Error\x20in\x20creating\x20MetaDataDownloaderThread','SHADER_TYPE','checked','\x20ms','10ykNFrq','toFixed','getProgramInfoLog','RenderingMode','msMaxTouchPoints','alphaFound','left','TEXTURE_MAG_FILTER','\x20FPS,\x20Continuing\x20augmentation','folderName','toDataURL','color:blue;font-weight:bold;','createVertexArray','forEach','generateMipmap','Augmenter','mediaIdJsonURL','PalmOS','cloudFrontURL','drawArrays','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','postMessage','getGlobalConfig','setLastFrame','callback','isiPad','uniform2fv','.json','round','COLOR_BUFFER_BIT','ANI.','\x20FalseForceSync','TexUnitForGenericAd','priv','webgl','getProgramParameter','Error\x20from\x20worker\x20(via\x20addEventListener):','CleanGL','\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',',\x20SyncPoint.time:\x20','Silk','\x20Time\x20Fired:\x20','isiPhone','):\x20','hasOwnProperty','Error\x20fetching\x20JSON:',',\x20currentTime:\x20','getMilliseconds',',\x20time:\x20','call','RenderFrame','insertBefore','\x20for\x20place\x20','syncPoint','mimeType','ad2Url','slope','uniform1i','FLOAT','\x20dblFrame:\x20','getShaderParameter',',\x20w/o\x20roundinge-error:\x20','offsetTop','InitGL','VID.\x20','an\x20iPhone','offset\x20for\x20','Connect','createBuffer','nextSibling','pixelStorei','init','tranform','socket\x20connected','now','srcFrameRate','join','FPS\x20not\x20supported','error::','SetFps','rect','stopAugment','DEPTH_BUFFER_BIT','bottom','3918888SowWrf','Offest\x20for\x20gameid=\x20','maskY','parentElement','autoAddIndex','OTTPlayer:\x20','br1','Frames2Timecode','alphaAsUint8Array','none','Error\x20compiling\x20shader:\x20','\x20Frame:\x20','position',',\x20offset:\x20','Checking\x20window\x20and\x20methods'];_0x3c94=function(){return _0x213190;};return _0x3c94();}(function(_0x3d418a,_0x3f7839){const _0x396dfc=_0x1bb2,_0x4e167c=_0x3d418a();while(!![]){try{const _0x2225c2=parseInt(_0x396dfc(0x1b0))/0x1+parseInt(_0x396dfc(0x2f4))/0x2*(parseInt(_0x396dfc(0x1f8))/0x3)+parseInt(_0x396dfc(0x1f1))/0x4*(parseInt(_0x396dfc(0x1f2))/0x5)+parseInt(_0x396dfc(0x26d))/0x6+-parseInt(_0x396dfc(0x387))/0x7+-parseInt(_0x396dfc(0x359))/0x8*(parseInt(_0x396dfc(0x342))/0x9)+-parseInt(_0x396dfc(0x219))/0xa*(parseInt(_0x396dfc(0x396))/0xb);if(_0x2225c2===_0x3f7839)break;else _0x4e167c['push'](_0x4e167c['shift']());}catch(_0x7aaef6){_0x4e167c['push'](_0x4e167c['shift']());}}}(_0x3c94,0x5c61a));const META_WORKER='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}';let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0x1ae63a,_0x3fade1){const _0x443f71=_0x1bb2;typeof define===_0x443f71(0x34f)&&define[_0x443f71(0x1fd)]?define([],function(){const _0x109826=_0x443f71;return _0x3fade1[_0x109826(0x24a)](_0x1ae63a);}):_0x1ae63a[_0x443f71(0x293)]=_0x3fade1[_0x443f71(0x24a)](_0x1ae63a);}(this,function(){'use strict';const _0x3a893c=_0x1bb2;const _0x3413e0=this;function _0x502800(_0x3ad83e){return _0x3ad83e=_0x3ad83e||_0x3413e0,_0x3ad83e!==_0x3ad83e['top'];}!_0x502800()&&(console['log'](_0x3a893c(0x2d4),_0x3a893c(0x224),'for\x20more\x20about\x20webgl-utils.js\x20see:'),console[_0x3a893c(0x38e)](_0x3a893c(0x2d4),'color:blue;font-weight:bold;',_0x3a893c(0x36c)));function _0x4c2d77(_0x3c6c97){const _0x13b885=_0x3a893c;if(_0x3413e0[_0x13b885(0x2f8)]){if(_0x3413e0['console']['error'])_0x3413e0[_0x13b885(0x2f8)][_0x13b885(0x198)](_0x3c6c97);else _0x3413e0['console'][_0x13b885(0x38e)]&&_0x3413e0['console'][_0x13b885(0x38e)](_0x3c6c97);}}const _0x3eb1c3=/ERROR:\s*\d+:(\d+)/gi;function _0x1e0b3b(_0x489111,_0x407f43=''){const _0x225060=_0x3a893c,_0x123b6e=[..._0x407f43[_0x225060(0x1c1)](_0x3eb1c3)],_0x2e8895=new Map(_0x123b6e['map']((_0x3d499,_0x3f8f62)=>{const _0x2e3154=_0x225060,_0x3b844a=parseInt(_0x3d499[0x1]),_0x12b432=_0x123b6e[_0x3f8f62+0x1],_0x1b382e=_0x12b432?_0x12b432[_0x2e3154(0x205)]:_0x407f43[_0x2e3154(0x318)],_0x5a5ae9=_0x407f43[_0x2e3154(0x2dd)](_0x3d499[_0x2e3154(0x205)],_0x1b382e);return[_0x3b844a-0x1,_0x5a5ae9];}));return _0x489111[_0x225060(0x203)]('\x0a')[_0x225060(0x35e)]((_0x38ffdc,_0x12471a)=>{const _0x3bfd4a=_0x225060,_0x10d79a=_0x2e8895[_0x3bfd4a(0x20e)](_0x12471a);return _0x12471a+0x1+':\x20'+_0x38ffdc+(_0x10d79a?_0x3bfd4a(0x2f2)+_0x10d79a:'');})[_0x225060(0x265)]('\x0a');}function _0x59a884(_0x221c00,_0xed8394,_0xced10c,_0x2e8560){const _0x127992=_0x3a893c,_0xae222f=_0x2e8560||_0x4c2d77,_0x9dd772=_0x221c00[_0x127992(0x289)](_0xced10c);_0x221c00[_0x127992(0x199)](_0x9dd772,_0xed8394),_0x221c00[_0x127992(0x317)](_0x9dd772);const _0x1ced13=_0x221c00['getShaderParameter'](_0x9dd772,_0x221c00[_0x127992(0x1b9)]);if(!_0x1ced13){const _0x4f8ad6=_0x221c00[_0x127992(0x288)](_0x9dd772);return _0xae222f(_0x127992(0x277)+_0x4f8ad6+'\x0a'+_0x1e0b3b(_0xed8394,_0x4f8ad6)),_0x221c00[_0x127992(0x38c)](_0x9dd772),null;}return _0x9dd772;}function _0x586280(_0x44251b,_0x3f7d71,_0x1d0864,_0x3c80c1,_0x108f01){const _0x2e69e5=_0x3a893c,_0x5332b8=_0x108f01||_0x4c2d77,_0x328886=_0x44251b['createProgram']();_0x3f7d71['forEach'](function(_0x3e8a83){_0x44251b['attachShader'](_0x328886,_0x3e8a83);});_0x1d0864&&_0x1d0864['forEach'](function(_0x50f2e7,_0x3d9c04){const _0x4fc958=_0x1bb2;_0x44251b[_0x4fc958(0x2ef)](_0x328886,_0x3c80c1?_0x3c80c1[_0x3d9c04]:_0x3d9c04,_0x50f2e7);});_0x44251b['linkProgram'](_0x328886);const _0x467b3b=_0x44251b[_0x2e69e5(0x23c)](_0x328886,_0x44251b['LINK_STATUS']);if(!_0x467b3b){const _0x3458eb=_0x44251b[_0x2e69e5(0x21b)](_0x328886);return _0x5332b8('Error\x20in\x20program\x20linking:\x20'+_0x3458eb+'\x0a'+_0x3f7d71[_0x2e69e5(0x35e)](_0x510bd2=>{const _0x1a770f=_0x2e69e5,_0xb05dc5=_0x1e0b3b(_0x44251b[_0x1a770f(0x28c)](_0x510bd2)),_0x1ccad1=_0x44251b[_0x1a770f(0x255)](_0x510bd2,_0x44251b[_0x1a770f(0x216)]);return glEnumToString(_0x44251b,_0x1ccad1)+':\x0a'+_0xb05dc5;})['join']('\x0a')),_0x44251b[_0x2e69e5(0x281)](_0x328886),null;}return _0x328886;}function _0x150354(_0x3aa892,_0x182ab3,_0x3c958e,_0x2992e4){const _0x308d45=_0x3a893c;let _0x82bc49='',_0x10008b;const _0x444025=document['getElementById'](_0x182ab3);if(!_0x444025)throw _0x308d45(0x308)+_0x182ab3;_0x82bc49=_0x444025[_0x308d45(0x370)];if(!_0x3c958e){if(_0x444025['type']===_0x308d45(0x202))_0x10008b=_0x3aa892[_0x308d45(0x2b7)];else{if(_0x444025[_0x308d45(0x369)]===_0x308d45(0x37d))_0x10008b=_0x3aa892[_0x308d45(0x1e4)];else{if(_0x10008b!==_0x3aa892[_0x308d45(0x2b7)]&&_0x10008b!==_0x3aa892[_0x308d45(0x1e4)])throw'***\x20Error:\x20unknown\x20shader\x20type';}}}return _0x59a884(_0x3aa892,_0x82bc49,_0x3c958e?_0x3c958e:_0x10008b,_0x2992e4);}const _0x371c25=[_0x3a893c(0x2b7),_0x3a893c(0x1e4)];function _0x583750(_0x2868ae,_0xcf4ce5,_0x63b211,_0x3fcc76,_0x464cfb){const _0x42f6d9=[];for(let _0x3d5cd1=0x0;_0x3d5cd1<_0xcf4ce5['length'];++_0x3d5cd1){_0x42f6d9['push'](_0x150354(_0x2868ae,_0xcf4ce5[_0x3d5cd1],_0x2868ae[_0x371c25[_0x3d5cd1]],_0x464cfb));}return _0x586280(_0x2868ae,_0x42f6d9,_0x63b211,_0x3fcc76,_0x464cfb);}function _0x1551c6(_0x2ed1d0,_0x5b3e40,_0x103911,_0x13dedb,_0x1fa601){const _0x10f154=_0x3a893c,_0xed3397=[];for(let _0x546f15=0x0;_0x546f15<_0x5b3e40[_0x10f154(0x318)];++_0x546f15){_0xed3397[_0x10f154(0x2fd)](_0x59a884(_0x2ed1d0,_0x5b3e40[_0x546f15],_0x2ed1d0[_0x371c25[_0x546f15]],_0x1fa601));}return _0x586280(_0x2ed1d0,_0xed3397,_0x103911,_0x13dedb,_0x1fa601);}function _0x150cfa(_0x589ffb,_0x478302){const _0x156697=_0x3a893c;_0x478302=_0x478302||0x1;const _0x5a4b27=_0x589ffb[_0x156697(0x38f)]*_0x478302|0x0,_0x154ff7=_0x589ffb[_0x156697(0x284)]*_0x478302|0x0;if(_0x589ffb[_0x156697(0x325)]!==_0x5a4b27||_0x589ffb[_0x156697(0x182)]!==_0x154ff7)return _0x589ffb[_0x156697(0x325)]=_0x5a4b27,_0x589ffb['height']=_0x154ff7,!![];return![];}return{'createProgram':_0x586280,'createProgramFromScripts':_0x583750,'createProgramFromSources':_0x1551c6,'resizeCanvasToDisplaySize':_0x150cfa};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x334532(0x1f4),'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':_0x334532(0x23f),'fragmentShaderSourceV1':_0x334532(0x333)},BB[_0x334532(0x2e9)]={'Src60_MediaTime60':Symbol(_0x334532(0x32f)),'Src59_MediaTime60':Symbol(_0x334532(0x297)),'Src59_MediaTime59':Symbol(_0x334532(0x2d7)),'Src29_MediaTime29':Symbol(_0x334532(0x2da))},BB[_0x334532(0x21c)]={'RenderDigits':Symbol('RenderDigits'),'RenderTimecode':Symbol('RenderTimecode'),'Augment':Symbol('Augment')},BB['SynchMethod']={'OnNewSegment':Symbol(_0x334532(0x2c0)),'OnMetadata':Symbol(_0x334532(0x18b)),'None':Symbol(_0x334532(0x1be))},BB['Utils']=((()=>{const _0x3ebc81=_0x14ce66=>{const _0x2108a5=_0x1bb2;return _0x14ce66[_0x2108a5(0x1d7)]()['padStart'](0x2,'0');},_0x2a631b=((()=>{const _0x2e8238=(_0x4681d2,_0xdf846b,_0x3c5c3b)=>{const _0x267777=_0x1bb2;let _0xb49cad='';if(Array[_0x267777(0x190)](_0x4681d2)){_0xb49cad=[_0x3ebc81(_0x4681d2[0x0]),_0x3ebc81(_0x4681d2[0x1]),_0x3ebc81(_0x4681d2[0x2]),_0x3ebc81(_0x4681d2[0x3])][_0x267777(0x265)](':');if(_0x3c5c3b==!![]){if(_0x4681d2[0x4]==0x1&&(_0xdf846b===undefined||_0xdf846b))_0xb49cad+='.2';else _0xb49cad+='.1';}else{if(_0x4681d2[0x4]==0x1&&(_0xdf846b===undefined||_0xdf846b))_0xb49cad+='.1';}}else{const _0x3c0a87=':';_0xb49cad=('0'+_0x4681d2['h'])['slice'](-0x2)+_0x3c0a87+('0'+_0x4681d2['m'])[_0x267777(0x282)](-0x2)+_0x3c0a87+('0'+_0x4681d2['s'])[_0x267777(0x282)](-0x2)+_0x3c0a87+('0'+_0x4681d2['f'])['slice'](-0x2);if(_0xdf846b)_0xb49cad+='.'+(_0x4681d2[_0x267777(0x2af)]?'1':'2');}return _0xb49cad;},_0x20ed1b=_0x36e13c=>{const _0x11f82e=_0x1bb2;let _0x59abfb=_0x36e13c['split'](':');if(_0x59abfb[_0x11f82e(0x318)]!=0x4)return console[_0x11f82e(0x198)](_0x11f82e(0x1a2)+_0x36e13c),[0x0,0x0,0x0,0x0,0x0];let _0x236865=[parseInt(_0x59abfb[0x0]),parseInt(_0x59abfb[0x1]),parseInt(_0x59abfb[0x2])];if(_0x59abfb[0x3][_0x11f82e(0x1cd)]('.')>=0x0){let _0x569314=_0x59abfb[0x3][_0x11f82e(0x203)]('.');_0x236865[_0x11f82e(0x2fd)](parseInt(_0x569314[0x0])),_0x236865['push'](parseInt(_0x569314[0x1]));}else _0x236865[_0x11f82e(0x2fd)](parseInt(_0x59abfb[0x3])),_0x236865[_0x11f82e(0x2fd)](0x0);return _0x236865;},_0x5d3366=(_0x1d451,_0x628ea,_0x55b8af)=>{const _0x407304=_0x1bb2;let _0x2e5604=0x3c,_0x3e8cb2=0x0;if(Math[_0x407304(0x1cf)](_0x628ea)==0x3c)_0x2e5604=0x3c,_0x3e8cb2=0x0;else{if(Math[_0x407304(0x1cf)](_0x628ea)==0x3b)_0x2e5604=0x3c,_0x3e8cb2=0x4;else{if(Math[_0x407304(0x1cf)](_0x628ea)==0x1e)_0x2e5604=0x1e,_0x3e8cb2=0x0;else Math[_0x407304(0x1cf)](_0x628ea)==0x1d&&(_0x2e5604=0x1e,_0x3e8cb2=0x2);}}let _0x5226d2=0x0,_0x49f335=Math[_0x407304(0x1cf)](_0x628ea*0x3c),_0x45c8c4=Math[_0x407304(0x1cf)](_0x628ea*0x3c*0xa),_0x4db6d0=_0x45c8c4*0x6,_0x55deca=_0x1d451[0x0],_0x2f18db=_0x1d451[0x1],_0x438077=_0x1d451[0x2],_0x38677f=_0x1d451[0x3],_0x5651fc=_0x1d451[0x4];_0x5226d2+=_0x55deca*_0x4db6d0,_0x5226d2+=_0x2f18db*(_0x2e5604*0x3c),_0x5226d2+=_0x438077*_0x2e5604;if(_0x55b8af)_0x5226d2+=_0x38677f*0x2+_0x5651fc;else _0x5226d2+=_0x38677f;return _0x5226d2-=_0x3e8cb2*_0x2f18db,_0x5226d2+=_0x3e8cb2*Math['floor'](_0x2f18db/0xa),_0x5226d2;},_0x661ed5=(_0x302d90,_0x4b6520,_0x2ee222)=>{const _0x1e760e=_0x1bb2;let _0x40280b=0x3c,_0x15e7c3=0x0;if(Math[_0x1e760e(0x1cf)](_0x4b6520)==0x3c)_0x40280b=0x3c,_0x15e7c3=0x0;else{if(Math[_0x1e760e(0x1cf)](_0x4b6520)==0x3b)_0x40280b=0x3c,_0x15e7c3=0x4;else{if(Math[_0x1e760e(0x1cf)](_0x4b6520)==0x1e)_0x40280b=0x1e,_0x15e7c3=0x0;else Math['floor'](_0x4b6520)==0x1d&&(_0x40280b=0x1e,_0x15e7c3=0x2);}}let _0x59cf16=0x0,_0x359250=Math[_0x1e760e(0x1cf)](_0x4b6520*0x3c),_0xcb04c1=Math['floor'](_0x4b6520*0x3c*0xa),_0x51be5b=_0xcb04c1*0x6,_0x1ea5eb=_0x302d90,_0x1528b0=Math[_0x1e760e(0x1cf)](_0x1ea5eb/_0x51be5b);_0x1ea5eb-=_0x1528b0*_0x51be5b;let _0x24fca8=Math[_0x1e760e(0x1cf)](_0x1ea5eb/_0xcb04c1);_0x1ea5eb-=_0x24fca8*_0xcb04c1;if(_0x1ea5eb>=_0x40280b*0x3c)_0x1ea5eb+=_0x15e7c3*(Math['floor']((_0x1ea5eb-_0x40280b*0x3c)/_0x359250)+0x1);let _0x29d4c6=Math[_0x1e760e(0x1cf)](_0x1ea5eb/(_0x40280b*0x3c));_0x1ea5eb-=_0x29d4c6*(_0x40280b*0x3c);let _0x1da0f4=Math['floor'](_0x1ea5eb/_0x40280b);_0x1ea5eb-=_0x1da0f4*_0x40280b;let _0x59048e=_0x1ea5eb;_0x29d4c6+=_0x24fca8*0xa,dotOne=0x0;_0x2ee222&&(dotOne=_0x59048e%0x2,_0x59048e=Math[_0x1e760e(0x1cf)](_0x59048e/0x2));let _0x357b28=[_0x1528b0,_0x29d4c6,_0x1da0f4,_0x59048e,dotOne];return _0x357b28;},_0x38aea0=(_0x396c29,_0x9d3b5f,_0x5a51ea)=>{let _0x29a6e9=_0x5a51ea>0x1e,_0x3a12fd=_0x5d3366(_0x396c29,_0x5a51ea,_0x29a6e9);return _0x3a12fd+=_0x9d3b5f,_0x661ed5(_0x3a12fd,_0x5a51ea,_0x29a6e9);},_0x26b9fa=_0x4ee2eb=>{return{'h':_0x4ee2eb[0x0],'m':_0x4ee2eb[0x1],'s':_0x4ee2eb[0x2],'f':_0x4ee2eb[0x3],'field':_0x4ee2eb[0x4]};},_0x33fc2e=(_0x4d93cb,_0x512a99)=>{const _0x583594=_0x1bb2;let _0x297c8b=BB[_0x583594(0x35a)]['timeDate2TC'](_0x4d93cb,_0x512a99);return _0x512a99>0x3b?BB[_0x583594(0x35a)]['TimeCodesFramesTranslator'][_0x583594(0x31c)](tcFromMessage,!![]):BB[_0x583594(0x35a)][_0x583594(0x375)]['printTimecode'](tcFromMessage,![]);let _0x394809=BB['Utils'][_0x583594(0x334)],_0x4f13de='';_0x394809[_0x583594(0x1c2)]()?_0x4f13de=_0x4d93cb:_0x4f13de=_0x4d93cb[_0x583594(0x290)]();let _0x180638=_0x4f13de[_0x583594(0x203)]('T')[0x1],_0x272f15=_0x180638[_0x583594(0x203)](':'),_0x404549=parseInt(_0x272f15[0x0]),_0xbdc2e4=parseInt(_0x272f15[0x1]),_0x3407a1=_0x272f15[0x2]['split']('.'),_0x385c6c=parseInt(_0x3407a1[0x0]),_0x207c83=parseInt(_0x3407a1[0x1]['substring'](0x0,0x3)),_0x22d939=Math[_0x583594(0x235)](_0x207c83/0x3e8*_0x512a99);if(_0x512a99>0x3b){let _0x4fd472=_0x22d939%0x2==0x0?0x1:0x2;_0x22d939=Math['floor'](_0x22d939/0x2);let _0x56308e=_0x404549[_0x583594(0x1d7)]()['padStart'](0x2,'0')+':'+_0xbdc2e4[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0')+':'+_0x385c6c[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0')+':'+_0x22d939[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0')+'.'+_0x4fd472[_0x583594(0x1d7)]();return _0x56308e;}else{let _0x288355=_0x404549[_0x583594(0x1d7)]()['padStart'](0x2,'0')+':'+_0xbdc2e4[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0')+':'+_0x385c6c[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0')+':'+_0x22d939[_0x583594(0x1d7)]()[_0x583594(0x397)](0x2,'0');return _0x288355;}return str;},_0xeaf41c=(_0x1379ee,_0x4f258d)=>{const _0x2affcc=_0x1bb2;let _0x1b79c2=BB[_0x2affcc(0x35a)][_0x2affcc(0x334)],_0x1e30ab='';_0x1b79c2[_0x2affcc(0x1c2)]()?_0x1e30ab=_0x1379ee:_0x1e30ab=_0x1379ee[_0x2affcc(0x290)]();let _0x31f207=_0x1e30ab[_0x2affcc(0x203)]('T')[0x1],_0x32afda=_0x31f207['split'](':'),_0x3f327e=parseInt(_0x32afda[0x0]),_0x18df65=parseInt(_0x32afda[0x1]),_0x49e7eb=_0x32afda[0x2]['split']('.'),_0xefb1bb=parseInt(_0x49e7eb[0x0]),_0x51c7fc=parseInt(_0x49e7eb[0x1][_0x2affcc(0x2dd)](0x0,0x3));if(_0x4f258d>0x3b){let _0x411e6c=Math[_0x2affcc(0x235)]((_0x51c7fc/0x3e8+_0xefb1bb+_0x18df65*0x3c+_0x3f327e*0x3c*0x3c)*_0x4f258d),_0x537574=BB[_0x2affcc(0x35a)][_0x2affcc(0x375)][_0x2affcc(0x274)](_0x411e6c,_0x4f258d,!![]);return _0x537574;}else{let _0x4910c8=Math[_0x2affcc(0x235)]((_0x51c7fc/0x3e8+_0xefb1bb+_0x18df65*0x3c+_0x3f327e*0x3c*0x3c)*_0x4f258d),_0x1543ed=BB[_0x2affcc(0x35a)][_0x2affcc(0x375)]['Frames2Timecode'](_0x4910c8,_0x4f258d,![]);return _0x1543ed;}};return{'printTimecode':_0x2e8238,'timeCodeStr2TimeCodeArray':_0x20ed1b,'Timecode2Frames':_0x5d3366,'Frames2Timecode':_0x661ed5,'TimeCodeAddFrames':_0x38aea0,'TimeCodeArray2TimeCodeJson':_0x26b9fa,'timeDate2TCString':_0x33fc2e,'timeDate2TC':_0xeaf41c};})()),_0x5f0e6a=_0x1b5848=>{let _0x2639ad=_0x1b5848||0x2540be3ff,_0x3cc891=[],_0x8874c8=0x0;const _0x4e5917=_0x52a7c9=>{const _0x240204=_0x1bb2;++_0x8874c8,_0x3cc891[_0x240204(0x2fd)](_0x52a7c9);while(_0x3cc891[_0x240204(0x318)]>_0x2639ad)_0x3cc891[_0x240204(0x296)]();},_0x2a7e0b=()=>{const _0x564a36=_0x1bb2;if(_0x3cc891[_0x564a36(0x318)]==0x0)return-0x1;let _0x2ed0e1=Array[_0x564a36(0x294)](_0x3cc891)[_0x564a36(0x2a9)]((_0x53d442,_0x336e74)=>{return _0x53d442-_0x336e74;});return _0x2ed0e1[parseInt(_0x2ed0e1[_0x564a36(0x318)]/0x2)];},_0xac9b0c=()=>{return _0x8874c8;};return{'add':_0x4e5917,'getMedian':_0x2a7e0b,'howMany':_0xac9b0c};},_0x3cced8=((()=>{const _0x339961=()=>{const _0x7717b0=_0x1bb2,_0x264fdb=navigator[_0x7717b0(0x30d)];if(/windows/i['test'](_0x264fdb))return'Windows';else{if(/android/i['test'](_0x264fdb))return _0x7717b0(0x1e1);else{if(/iphone|ipad|ipod/i[_0x7717b0(0x1f6)](_0x264fdb))return _0x7717b0(0x1f5);else{if(/mac/i[_0x7717b0(0x1f6)](_0x264fdb)){let _0x219fc4=_0x7717b0(0x2d8)in window||navigator[_0x7717b0(0x287)]>0x0||navigator[_0x7717b0(0x21d)]>0x0;if(_0x219fc4)return _0x7717b0(0x360);else return _0x7717b0(0x2de);}else return/ipad/i['test'](_0x264fdb)?_0x7717b0(0x360):'Something\x20else';}}}},_0x361c73=()=>{const _0x418461=_0x1bb2;let _0x44210f=_0x339961();return _0x44210f==_0x418461(0x2de);},_0x8b14e1=()=>{let _0x438761=_0x339961();return _0x438761=='iPad';},_0x3feaa4=()=>{let _0x19abf2=_0x339961();return _0x19abf2=='iOS';},_0x44aa5e=()=>{const _0x113195=_0x1bb2;let _0x48f09b=_0x339961();return _0x48f09b=='iOS'||_0x48f09b==_0x113195(0x2de)||_0x48f09b==_0x113195(0x360);},_0x34a61c=()=>{let _0x255c07=_0x339961();return _0x255c07=='Windows';},_0x2cb833=()=>{const _0x4c703d=_0x1bb2;let _0x4ca115=_0x339961();return _0x4ca115==_0x4c703d(0x1e1);},_0x365aff=()=>{const _0x4a8546=_0x1bb2;let _0x42b7c7=_0x339961();if(_0x42b7c7==_0x4a8546(0x19d))return _0x4a8546(0x2cd);else{if(_0x42b7c7==_0x4a8546(0x1e1))return _0x4a8546(0x307);else{if(_0x42b7c7==_0x4a8546(0x1f5))return _0x4a8546(0x25a);else{if(_0x42b7c7=='Mac')return _0x4a8546(0x351);else{if(_0x42b7c7==_0x4a8546(0x360))return _0x4a8546(0x37b);else return'an\x20Unknown\x20device';}}}}},_0x4e901f=()=>{const _0x3e1d8d=_0x1bb2;let _0xc8b2dd={'options':[],'header':[navigator[_0x3e1d8d(0x2b5)],navigator[_0x3e1d8d(0x30d)],navigator[_0x3e1d8d(0x35d)],navigator['vendor'],window[_0x3e1d8d(0x1eb)]],'dataos':[{'name':_0x3e1d8d(0x2b6),'value':_0x3e1d8d(0x2b6),'version':'OS'},{'name':'Windows','value':_0x3e1d8d(0x193),'version':'NT'},{'name':_0x3e1d8d(0x18c),'value':_0x3e1d8d(0x18c),'version':'OS'},{'name':'iPad','value':_0x3e1d8d(0x360),'version':'OS'},{'name':_0x3e1d8d(0x206),'value':_0x3e1d8d(0x241),'version':_0x3e1d8d(0x241)},{'name':'Android','value':_0x3e1d8d(0x1e1),'version':_0x3e1d8d(0x1e1)},{'name':_0x3e1d8d(0x2b2),'value':_0x3e1d8d(0x2b2),'version':'OS'},{'name':_0x3e1d8d(0x2d6),'value':_0x3e1d8d(0x2d6),'version':'/'},{'name':_0x3e1d8d(0x1af),'value':_0x3e1d8d(0x2de),'version':'OS\x20X'},{'name':'Linux','value':'Linux','version':'rv'},{'name':_0x3e1d8d(0x326),'value':_0x3e1d8d(0x326),'version':_0x3e1d8d(0x22a)}],'databrowser':[{'name':_0x3e1d8d(0x2dc),'value':'Chrome','version':_0x3e1d8d(0x2dc)},{'name':_0x3e1d8d(0x366),'value':_0x3e1d8d(0x366),'version':'Firefox'},{'name':'Safari','value':_0x3e1d8d(0x1a0),'version':'Version'},{'name':_0x3e1d8d(0x31a),'value':_0x3e1d8d(0x372),'version':'MSIE'},{'name':_0x3e1d8d(0x34a),'value':_0x3e1d8d(0x34a),'version':_0x3e1d8d(0x34a)},{'name':_0x3e1d8d(0x2d6),'value':_0x3e1d8d(0x29a),'version':_0x3e1d8d(0x29a)},{'name':_0x3e1d8d(0x2fe),'value':'Mozilla','version':_0x3e1d8d(0x2fe)}],'init':function(){const _0xde3f4d=_0x3e1d8d;let _0x309aeb=this['header']['join']('\x20'),_0x582df5=this[_0xde3f4d(0x383)](_0x309aeb,this[_0xde3f4d(0x2e2)]),_0x409a8e=this['matchItem'](_0x309aeb,this['databrowser']);return{'os':_0x582df5,'browser':_0x409a8e};},'matchItem':function(_0x203d58,_0x2a0c05){const _0x1f2beb=_0x3e1d8d;let _0x4a60b5=0x0,_0x51a87b=0x0,_0x1caf1a='',_0x45afb7,_0x3d6145,_0x3d667e,_0x4a0aba,_0x2f849a;for(_0x4a60b5=0x0;_0x4a60b5<_0x2a0c05[_0x1f2beb(0x318)];_0x4a60b5+=0x1){_0x45afb7=new RegExp(_0x2a0c05[_0x4a60b5][_0x1f2beb(0x33f)],'i'),_0x3d667e=_0x45afb7[_0x1f2beb(0x1f6)](_0x203d58);if(_0x3d667e){_0x3d6145=new RegExp(_0x2a0c05[_0x4a60b5][_0x1f2beb(0x32e)]+_0x1f2beb(0x1a1),'i'),_0x4a0aba=_0x203d58['match'](_0x3d6145),_0x2f849a='';_0x4a0aba&&(_0x4a0aba[0x1]&&(_0x4a0aba=_0x4a0aba[0x1]));if(_0x4a0aba){_0x4a0aba=_0x4a0aba[_0x1f2beb(0x203)](/[._]+/);for(_0x51a87b=0x0;_0x51a87b<_0x4a0aba[_0x1f2beb(0x318)];_0x51a87b+=0x1){_0x51a87b===0x0?_0x2f849a+=_0x4a0aba[_0x51a87b]+'.':_0x2f849a+=_0x4a0aba[_0x51a87b];}}else _0x2f849a='0';return{'name':_0x2a0c05[_0x4a60b5][_0x1f2beb(0x1f3)],'version':parseFloat(_0x2f849a)};}}return{'name':_0x1f2beb(0x314),'version':0x0};}},_0x1f079f=_0xc8b2dd[_0x3e1d8d(0x260)]();return _0x1f079f['os'][_0x3e1d8d(0x1f3)];};return{'getDeviceName':_0x4e901f,'getCurrentPlatform':_0x339961,'isApple':_0x44aa5e,'isWindows':_0x34a61c,'isAndroid':_0x2cb833,'isMac':_0x361c73,'isiPhone':_0x3feaa4,'isiPad':_0x8b14e1,'getDeviceDescription':_0x365aff};})()),_0x39750c=_0x4c90bd=>{const _0x5237fe=_0x1bb2;let _0x39d81d=0x3c;switch(_0x4c90bd){case BB[_0x5237fe(0x2e9)]['Src60_MediaTime60']:_0x39d81d=0x3c;break;case BB[_0x5237fe(0x2e9)][_0x5237fe(0x297)]:_0x39d81d=0x3c;break;case BB[_0x5237fe(0x2e9)][_0x5237fe(0x2d7)]:_0x39d81d=0xea60/0x3e9;break;case BB[_0x5237fe(0x2e9)][_0x5237fe(0x2da)]:_0x39d81d=0x7530/0x3e9;break;default:console[_0x5237fe(0x198)](_0x5237fe(0x2ae));break;};return _0x39d81d;},_0x3e3472=_0x33d07e=>{const _0x25bf93=_0x1bb2;let _0x1b89fb=0x3c;switch(_0x33d07e){case BB['FrameRateMode'][_0x25bf93(0x32f)]:_0x1b89fb=0x3c;break;case BB['FrameRateMode'][_0x25bf93(0x297)]:_0x1b89fb=0xea60/0x3e9;break;case BB[_0x25bf93(0x2e9)][_0x25bf93(0x2d7)]:_0x1b89fb=0xea60/0x3e9;break;case BB['FrameRateMode'][_0x25bf93(0x2da)]:_0x1b89fb=0x7530/0x3e9;break;default:console['error'](_0x25bf93(0x283));break;};return _0x1b89fb;},_0x1d5740=(_0x4ee000,_0x219d1a)=>{const _0x232ae0=_0x1bb2,_0x14b289=(_0x166a08,_0x488706)=>{const _0xecba15=_0x1bb2;if(Math[_0xecba15(0x313)](_0x166a08-_0x488706)<0.01)return!![];else return![];};if(_0x14b289(_0x4ee000,0x3c)){if(_0x14b289(BB[_0x232ae0(0x35a)][_0x232ae0(0x299)](_0x219d1a[_0x232ae0(0x2c2)]),0x3c))_0x219d1a[_0x232ae0(0x2c2)]=BB[_0x232ae0(0x2e9)][_0x232ae0(0x32f)];else{if(_0x14b289(BB[_0x232ae0(0x35a)][_0x232ae0(0x299)](_0x219d1a[_0x232ae0(0x2c2)]),0xea60/0x3e9))_0x219d1a[_0x232ae0(0x2c2)]=BB[_0x232ae0(0x2e9)][_0x232ae0(0x297)];else console[_0x232ae0(0x198)]('setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode');}}else{if(_0x14b289(_0x4ee000,0xea60/0x3e9)){if(_0x14b289(BB['Utils'][_0x232ae0(0x299)](_0x219d1a[_0x232ae0(0x2c2)]),0x3c))_0x219d1a['frameRateMode']=BB[_0x232ae0(0x2e9)][_0x232ae0(0x341)];else{if(_0x14b289(BB[_0x232ae0(0x35a)]['getSourceFPS'](_0x219d1a[_0x232ae0(0x2c2)]),0xea60/0x3e9))_0x219d1a[_0x232ae0(0x2c2)]=BB[_0x232ae0(0x2e9)][_0x232ae0(0x2d7)];else console[_0x232ae0(0x198)]('setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode');}}else{if(_0x14b289(_0x4ee000,0x7530/0x3e9)){if(_0x14b289(BB[_0x232ae0(0x35a)]['getSourceFPS'](_0x219d1a[_0x232ae0(0x2c2)]),0x7530/0x3e9))_0x219d1a[_0x232ae0(0x2c2)]=BB['FrameRateMode']['Src29_MediaTime29'];else console[_0x232ae0(0x198)](_0x232ae0(0x17f)+_0x4ee000);}else console['error']('setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode');}}},_0xf220e7=()=>{const _0x53408e=[0x7530/0x3e9,0x1e/0x1],_0x2f7b21=[0xea60/0x3e9,0x3c/0x1];let _0x47c67c=[],_0x32ee66=[],_0x1d659c=0x0,_0x506ced=-0x1,_0x468bac=0x0;const _0x33a01b=_0x1d1f53=>{const _0x7de21d=_0x1bb2;_0x468bac++;let _0x13b0d8=0x3e7,_0x25444e=0x0;if(_0x506ced==-0x1){_0x506ced=_0x1d1f53;return;}else{let _0x21ff4a=_0x1d1f53-_0x506ced;if(_0x1d659c<0x64){_0x32ee66[_0x7de21d(0x2fd)](_0x21ff4a),_0x1d659c++;return;}else _0x32ee66[_0x7de21d(0x2fd)](_0x21ff4a),_0x32ee66[_0x7de21d(0x296)]();let _0x4f076f=0x0;for(let _0xec924b=0x0;_0xec924b<_0x32ee66[_0x7de21d(0x318)];_0xec924b++){_0x4f076f+=_0x32ee66[_0xec924b];}_0x21ff4a=_0x4f076f/_0x32ee66['length'];if(0x1/_0x21ff4a<0x28)possibleFps=_0x53408e;else possibleFps=_0x2f7b21;}_0x506ced=_0x1d1f53;for(let _0x42637f=0x0;_0x42637f<possibleFps[_0x7de21d(0x318)];++_0x42637f){let _0x57be0e=possibleFps[_0x42637f],_0x3745f4=_0x1d1f53*_0x57be0e,_0x352284=Math[_0x7de21d(0x235)](_0x3745f4),_0x19a48a=Math[_0x7de21d(0x313)](_0x3745f4-_0x352284);_0x19a48a<_0x13b0d8&&(_0x13b0d8=_0x19a48a,_0x25444e=_0x57be0e);}let _0x176aff=_0x25444e;_0x47c67c[_0x7de21d(0x2fd)](_0x176aff);if(_0x468bac>0x3e8)_0x47c67c[_0x7de21d(0x296)]();},_0x196b3c=()=>{let _0x8ba665={},_0x86fee7,_0x1cba52=0x0;for(let _0x4fa9cd=0x0;_0x4fa9cd<_0x47c67c['length'];_0x4fa9cd++){let _0x39755a=_0x47c67c[_0x4fa9cd];_0x8ba665[_0x39755a]=(_0x8ba665[_0x39755a]||0x0)+0x1,_0x8ba665[_0x39755a]>_0x1cba52&&(_0x86fee7=_0x39755a,_0x1cba52=_0x8ba665[_0x39755a]);}return _0x86fee7;},_0x2d02e9=()=>{return _0x468bac;};return{'addTime':_0x33a01b,'getProbableFPS':_0x196b3c,'howMany':_0x2d02e9};};return{'TimeCodesFramesTranslator':_0x2a631b,'MedianCalculator':_0x5f0e6a,'Platform':_0x3cced8,'getMediaTimeFPS':_0x39750c,'getSourceFPS':_0x3e3472,'setMediaFPS':_0x1d5740,'FPSGetter':_0xf220e7};})()),BB['Socket']=class{constructor(_0x176a0f){const _0x36a690=_0x334532;this[_0x36a690(0x1d9)]=![],this[_0x36a690(0x222)]='',this['callback']=_0x176a0f,this[_0x36a690(0x1f3)]='';}[_0x334532(0x25c)](_0x28ffeb){const _0x57c27f=_0x334532;if(typeof io==_0x57c27f(0x295)||this[_0x57c27f(0x1d9)])return;this[_0x57c27f(0x1d9)]=!![];const _0x4e37f8=io(_0x57c27f(0x185));_0x4e37f8['on'](_0x57c27f(0x337),()=>{const _0x9b06d0=_0x57c27f;console[_0x9b06d0(0x38e)](_0x9b06d0(0x262));let _0xe431a=BB[_0x9b06d0(0x35a)][_0x9b06d0(0x334)];_0x4e37f8['emit'](_0x9b06d0(0x20d),{'device':_0xe431a['getDeviceName']()},_0x42a94f=>{const _0x25466c=_0x9b06d0;this[_0x25466c(0x1f3)]=_0x42a94f[_0x25466c(0x1f3)],_0x4e37f8['emit'](_0x25466c(0x265),_0x28ffeb,_0x56e66a=>{const _0x28ec43=_0x25466c;console[_0x28ec43(0x38e)](_0x28ec43(0x344)+_0x28ffeb+_0x28ec43(0x391)),this[_0x28ec43(0x231)]('join',_0x56e66a);});});}),_0x4e37f8['on'](_0x57c27f(0x198),_0x4c2c52=>{const _0x1b631b=_0x57c27f;console[_0x1b631b(0x198)](_0x1b631b(0x267)+_0x4c2c52);}),_0x4e37f8['on'](_0x57c27f(0x18f),_0x3b0382=>{const _0x1ce405=_0x57c27f;console[_0x1ce405(0x198)]('disconnect\x20from\x20signaling::'+_0x3b0382);}),_0x4e37f8['on']('messageroom',_0x439741=>{const _0x5ea14c=_0x57c27f;this[_0x5ea14c(0x231)]('messageroom',_0x439741),console['log'](_0x5ea14c(0x212),_0x439741);}),_0x4e37f8['on'](_0x57c27f(0x20f),_0x1620eb=>{const _0x2ab8ac=_0x57c27f;this[_0x2ab8ac(0x231)](_0x2ab8ac(0x20f),_0x1620eb),console['log']('ads:',_0x1620eb);});}},BB[_0x334532(0x228)]=(_0x470946,_0x2521e1,_0x28a381)=>{const _0x30e4ac=_0x334532;console['log'](_0x30e4ac(0x1ff));function _0x3038d3(_0x42b179,_0x1ba8ea){const _0x3801a4=_0x30e4ac;let _0x5d6202='';if(_0x42b179&&_0x42b179[_0x3801a4(0x345)](_0x3801a4(0x305))){const _0x245e65=_0x42b179['replace'](/.*NTC./,'');let _0x358952=0x0;while(_0x358952+0x8<=_0x245e65[_0x3801a4(0x318)]){const _0x31708b=_0x245e65[_0x3801a4(0x2dd)](_0x358952,_0x358952+0x4),_0x52d2b3=((_0x245e65[_0x3801a4(0x1ae)](_0x358952+0x4)*0x100+_0x245e65['charCodeAt'](_0x358952+0x5))*0x100+_0x245e65[_0x3801a4(0x1ae)](_0x358952+0x6))*0x100+_0x245e65[_0x3801a4(0x1ae)](_0x358952+0x7);if(_0x358952+0x8+_0x52d2b3>_0x245e65[_0x3801a4(0x318)])break;const _0x4e4893=_0x245e65[_0x3801a4(0x2dd)](_0x358952+0x8,_0x358952+0x8+_0x52d2b3);_0x31708b==_0x3801a4(0x346)&&(timecodeDateTime=new Date(parseInt(_0x4e4893))[_0x3801a4(0x1c0)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x1ba8ea);_0x31708b=='tc__'&&(tcTimeStamp=new Date(parseInt(_0x4e4893))[_0x3801a4(0x1c0)]());if(_0x31708b==='offs'){timecode_offset=parseInt(_0x4e4893)/0x5a;if(_0x28a381[_0x3801a4(0x315)])console[_0x3801a4(0x38e)](_0x3801a4(0x1f0),timecode_offset);}_0x358952+=0x8+_0x52d2b3;}}return _0x5d6202;}let _0x102048=[0x0,0x0,0x0,0x0,0x0];function _0x3ac89b(_0x5c3cd4){const _0x2e9603=_0x30e4ac;if(_0x5c3cd4&&_0x5c3cd4['metadata']&&_0x5c3cd4['metadata']['id']==0x0||_0x192891[_0x2e9603(0x27c)]()){if(_0x5c3cd4['metadata'][_0x2e9603(0x1fe)])_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x1fe)]=_0x3038d3(_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x1fe)],_0x5c3cd4[_0x2e9603(0x386)]['presentationTime']);else{if(_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x376)]&&_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x376)]['length']&&_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x376)][0x0]['key']&&_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x376)][0x0][_0x2e9603(0x197)][_0x2e9603(0x335)]()===_0x2e9603(0x23a)){const _0x12f16e=_0x5c3cd4[_0x2e9603(0x386)]['frames']['filter'](_0x2cd1db=>{const _0x2a525c=_0x2e9603;return _0x2cd1db[_0x2a525c(0x1b2)]&&_0x2cd1db[_0x2a525c(0x1b2)][_0x2a525c(0x335)]()[_0x2a525c(0x345)](_0x2a525c(0x1d3));});_0x12f16e[_0x2e9603(0x318)]&&(messageData=_0x12f16e[_0x12f16e[_0x2e9603(0x318)]-0x1][_0x2e9603(0x1b2)]+'\x00'+String['fromCharCode'](..._0x12f16e[_0x12f16e[_0x2e9603(0x318)]-0x1]['data']),_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x1fe)]=_0x3038d3(messageData,_0x5c3cd4[_0x2e9603(0x386)]['presentationTime']));}}(_0x5c3cd4[_0x2e9603(0x386)]['id']==0x0||_0x192891['isMac']()&&timecode_offset==0x0)&&(presentationTime=_0x5c3cd4[_0x2e9603(0x386)][_0x2e9603(0x1d0)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0x2e9603(0x235)](offsetTimeCode[_0x2e9603(0x33d)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math[_0x2e9603(0x1cf)](offsetTimeCodeframeNumber),partoff=0x2),_0x102048=[offsetTimeCode['getUTCHours'](),offsetTimeCode[_0x2e9603(0x1d5)](),offsetTimeCode[_0x2e9603(0x36d)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x4def6e(_0x2edda7){const _0x31798f=_0x30e4ac;if(typeof globalConfig!==_0x31798f(0x295)){if(typeof globalConfig[_0x31798f(0x1a8)]!==_0x31798f(0x295)){if(globalConfig[_0x31798f(0x1a8)]=='no')return;}}if(BB['Utils']['getSourceFPS'](_0x28a381['frameRateMode'])==0x7530/0x3e9){let _0x8d2dac={'frame':0x0,'playerTime':0x0};_0x8d2dac[_0x31798f(0x343)]=BB[_0x31798f(0x35a)]['TimeCodesFramesTranslator'][_0x31798f(0x358)](_0x102048,0x7530/0x3e9,![]),_0x8d2dac[_0x31798f(0x2e1)]=BB[_0x31798f(0x35a)][_0x31798f(0x375)][_0x31798f(0x31c)](_0x102048,![],![]),console['log'](_0x31798f(0x20a)+_0x2edda7['url']+_0x31798f(0x244)+_0x8d2dac[_0x31798f(0x2e1)]+'\x20('+_0x8d2dac[_0x31798f(0x343)]+')'+_0x31798f(0x189)+_0x2edda7['playbackTime']),_0x8d2dac['playerTime']=_0x2edda7[_0x31798f(0x348)],_0x28a381[_0x31798f(0x24e)]=_0x8d2dac;}else{if(BB[_0x31798f(0x35a)]['getSourceFPS'](_0x28a381[_0x31798f(0x2c2)])==0xea60/0x3e9){let _0x201b35={'frame':0x0,'playerTime':0x0};_0x201b35[_0x31798f(0x343)]=BB[_0x31798f(0x35a)][_0x31798f(0x375)][_0x31798f(0x358)](_0x102048,0xea60/0x3e9,!![]),_0x201b35[_0x31798f(0x2e1)]=BB[_0x31798f(0x35a)][_0x31798f(0x375)][_0x31798f(0x31c)](_0x102048,!![],![]),console[_0x31798f(0x38e)](_0x31798f(0x20a)+_0x2edda7[_0x31798f(0x1a7)]+'):\x20'+_0x201b35[_0x31798f(0x2e1)]+'\x20('+_0x201b35[_0x31798f(0x343)]+')'+'\x20playing\x20at\x20'+_0x2edda7[_0x31798f(0x348)]),_0x201b35[_0x31798f(0x30f)]=_0x2edda7[_0x31798f(0x348)],_0x28a381['syncPoint']=_0x201b35;}}_0x2edda7[_0x31798f(0x24f)]['includes'](_0x31798f(0x29b))&&console['log']('url:\x20'+_0x2edda7[_0x31798f(0x1a7)]);}function _0x228fd7(_0x544d8c){const _0x3bf421=_0x30e4ac;switch(_0x544d8c[_0x3bf421(0x2d2)]){case wmcEvents['AMC_EVENT_PLAYER_SEGMENT_PLAYBACK']:let _0x4bbf0f={'frame':0x0,'playerTime':0x0};BB['Utils'][_0x3bf421(0x299)](_0x28a381[_0x3bf421(0x2c2)])==0x7530/0x3e9&&(console[_0x3bf421(0x38e)](_0x3bf421(0x20a)+_0x544d8c[_0x3bf421(0x1a7)]+_0x3bf421(0x244)+BB[_0x3bf421(0x35a)]['TimeCodesFramesTranslator'][_0x3bf421(0x28e)](_0x544d8c['dateTime'],0x7530/0x3e9)+'\x20playing\x20at\x20'+_0x544d8c[_0x3bf421(0x348)]),_0x4bbf0f[_0x3bf421(0x343)]=BB[_0x3bf421(0x35a)]['TimeCodesFramesTranslator']['Timecode2Frames'](BB['Utils'][_0x3bf421(0x375)][_0x3bf421(0x352)](_0x544d8c[_0x3bf421(0x195)],0x7530/0x3e9),0x7530/0x3e9,![]),_0x4bbf0f[_0x3bf421(0x2e1)]=BB[_0x3bf421(0x35a)][_0x3bf421(0x375)][_0x3bf421(0x28e)](_0x544d8c[_0x3bf421(0x195)],0x7530/0x3e9));BB['Utils'][_0x3bf421(0x299)](_0x28a381[_0x3bf421(0x2c2)])==0xea60/0x3e9&&(console['log'](_0x3bf421(0x20a)+_0x544d8c[_0x3bf421(0x1a7)]+'):\x20'+BB[_0x3bf421(0x35a)][_0x3bf421(0x375)][_0x3bf421(0x28e)](_0x544d8c[_0x3bf421(0x195)],0xea60/0x3e9)+_0x3bf421(0x189)+_0x544d8c[_0x3bf421(0x348)]),_0x4bbf0f[_0x3bf421(0x343)]=BB['Utils'][_0x3bf421(0x375)][_0x3bf421(0x358)](BB[_0x3bf421(0x35a)][_0x3bf421(0x375)][_0x3bf421(0x352)](_0x544d8c[_0x3bf421(0x195)]),fps,!![]),_0x4bbf0f[_0x3bf421(0x2e1)]=BB[_0x3bf421(0x35a)]['TimeCodesFramesTranslator'][_0x3bf421(0x28e)](_0x544d8c[_0x3bf421(0x195)],0xea60/0x3e9));_0x4bbf0f['playerTime']=_0x544d8c[_0x3bf421(0x348)],_0x28a381[_0x3bf421(0x24e)]=_0x4bbf0f;break;default:}}let _0x17022c=BB[_0x30e4ac(0x35a)][_0x30e4ac(0x375)],_0x47d23f=BB['Utils'][_0x30e4ac(0x299)](_0x28a381[_0x30e4ac(0x2c2)]),_0x2e40ac=BB['Utils'][_0x30e4ac(0x353)](_0x28a381[_0x30e4ac(0x2c2)]);refreshRate=_0x28a381[_0x30e4ac(0x316)];let _0x5ae0c4=null,_0x2434ab=null,_0xe09af3=null;if(_0x28a381[_0x30e4ac(0x191)]==BB[_0x30e4ac(0x21c)][_0x30e4ac(0x38b)]){}else{let _0x52f228=document[_0x30e4ac(0x2fb)]('canvas');_0x52f228[_0x30e4ac(0x325)]=0x1f4,_0x52f228[_0x30e4ac(0x182)]=0x1f4,document['body'][_0x30e4ac(0x312)](_0x52f228),_0xe09af3=_0x52f228[_0x30e4ac(0x1c5)](_0x30e4ac(0x23b));}let _0x192891=BB[_0x30e4ac(0x35a)]['Platform'],_0x3b643e=-0x1,_0x513666=![];const _0x28c7fe=(_0x3183a9,_0x170bb4)=>{const _0xcb302e=_0x30e4ac,_0x2df92d=performance['now']();if(_0x3b643e==_0x3183a9&&_0x170bb4==_0x513666){if(_0x28a381[_0xcb302e(0x315)])console[_0xcb302e(0x1ed)](_0xcb302e(0x214)+_0x3183a9);return 0x0;}if(!_0x28a381[_0xcb302e(0x354)]||_0x28a381[_0xcb302e(0x26a)])return _0x2434ab['CleanGL'](),0x0;if(_0x28a381[_0xcb302e(0x191)]==BB[_0xcb302e(0x21c)][_0xcb302e(0x1b8)])renderDigit(_0xe09af3,_0x3183a9);else{if(_0x28a381['renderingMode']==BB[_0xcb302e(0x21c)][_0xcb302e(0x19c)]){if(_0x47d23f==0xea60/0x3e9||_0x47d23f==0x3c)renderTimecode(_0xe09af3,_0x17022c[_0xcb302e(0x274)](_0x3183a9,_0x47d23f,!![]),!![]);else{if(_0x47d23f==0x7530/0x3e9||_0x47d23f==0x1e)renderTimecode(_0xe09af3,_0x17022c[_0xcb302e(0x274)](_0x3183a9,_0x47d23f,![]),![]);}}else{if(_0x28a381[_0xcb302e(0x191)]==BB['RenderingMode'][_0xcb302e(0x38b)]){if(_0x47d23f==0xea60/0x3e9||_0x47d23f==0x3c)_0x2434ab['renderAugmentation'](_0x17022c['printTimecode'](_0x17022c[_0xcb302e(0x274)](_0x3183a9,_0x47d23f,!![])));else(_0x47d23f==0x7530/0x3e9||_0x47d23f==0x1e)&&(_0x170bb4?_0x2434ab['renderAugmentation'](_0x17022c[_0xcb302e(0x31c)](_0x17022c[_0xcb302e(0x274)](_0x3183a9*0x2+0x1,_0x47d23f*0x2,!![]),!![])):_0x2434ab[_0xcb302e(0x388)](_0x17022c[_0xcb302e(0x31c)](_0x17022c[_0xcb302e(0x274)](_0x3183a9,_0x47d23f,![]),![])));}}}_0x3b643e=_0x3183a9,_0x513666=_0x170bb4;const _0x21c48f=performance[_0xcb302e(0x263)]();return _0x21c48f-_0x2df92d;};let _0x4f9053=0x0,_0x51f19e=0x0,_0x4ddb2b=0x20,_0x5f1adf=0x20,_0x2b421b='',_0x2702b0=function(_0x2ff1f3,_0x17f204){const _0x2847fd=_0x30e4ac;if(_0x2b421b==_0x2847fd(0x2a5)){if(_0x28a381[_0x2847fd(0x315)])console['BBlog'](_0x2847fd(0x374));_0x2521e1[_0x2847fd(0x2b8)](_0x2702b0);return;}_0x2b421b=_0x2847fd(0x27d),lastNow=_0x2ff1f3;let _0x53a235=(_0x17f204[_0x2847fd(0x1e8)]-_0x28a381[_0x2847fd(0x24e)][_0x2847fd(0x30f)])%(0x3c*0x3c*0x18)*_0x2e40ac,_0x486da9=_0x17f204[_0x2847fd(0x1e8)]-_0x28a381[_0x2847fd(0x24e)]['playerTime'];lastFrameFromVideoCallback=Math[_0x2847fd(0x1cf)](_0x53a235+0.1)+_0x28a381[_0x2847fd(0x24e)]['frame'];if(_0x28a381['debug']){var _0x136aae=document[_0x2847fd(0x35c)]('numberInput')[_0x2847fd(0x33f)],_0x2ec27d=parseInt(_0x136aae);lastFrameFromVideoCallback+=_0x2ec27d;}else lastFrameFromVideoCallback+=0x2;_0x4dcd3a=_0x17f204[_0x2847fd(0x1e8)];let _0x2eeab4=_0x2521e1[_0x2847fd(0x2ca)],_0x1e5313=document[_0x2847fd(0x35c)](_0x2847fd(0x1e6));var _0x4af5ca='';if(BB[_0x2847fd(0x35a)]['getSourceFPS'](_0x28a381[_0x2847fd(0x2c2)])==0xea60/0x3e9)_0x4af5ca=_0x17022c[_0x2847fd(0x31c)](_0x17022c[_0x2847fd(0x274)](lastFrameFromVideoCallback,_0x47d23f,!![]),!![],!![]);else BB[_0x2847fd(0x35a)][_0x2847fd(0x299)](_0x28a381[_0x2847fd(0x2c2)])==0x7530/0x3e9?_0x4af5ca=_0x17022c[_0x2847fd(0x31c)](_0x17022c['Frames2Timecode'](lastFrameFromVideoCallback,_0x47d23f,![]),![],![]):_0x4af5ca=_0x2847fd(0x1b3);var _0x102d9a='';if(BB[_0x2847fd(0x35a)][_0x2847fd(0x299)](_0x28a381['frameRateMode'])==0xea60/0x3e9)_0x102d9a=_0x17022c[_0x2847fd(0x31c)](_0x17022c[_0x2847fd(0x274)](_0x28a381[_0x2847fd(0x17d)][_0x2847fd(0x2d3)],_0x47d23f,!![]),!![],!![]);else BB[_0x2847fd(0x35a)]['getSourceFPS'](_0x28a381[_0x2847fd(0x2c2)])==0x7530/0x3e9?_0x102d9a=_0x17022c[_0x2847fd(0x31c)](_0x17022c[_0x2847fd(0x274)](_0x28a381[_0x2847fd(0x17d)]['offset'],_0x47d23f,![]),![],![]):_0x102d9a=_0x2847fd(0x1b3);let _0x59f81f=lastFrameFromVideoCallback-_0x28a381[_0x2847fd(0x17d)]['offset'];if(_0x5ae0c4)_0x5ae0c4[_0x2847fd(0x230)](_0x59f81f);var _0x21f56b='';if(BB[_0x2847fd(0x35a)]['getSourceFPS'](_0x28a381[_0x2847fd(0x2c2)])==0xea60/0x3e9)_0x21f56b=_0x17022c[_0x2847fd(0x31c)](_0x17022c[_0x2847fd(0x274)](_0x59f81f,_0x47d23f,!![]),!![],!![]);else BB[_0x2847fd(0x35a)]['getSourceFPS'](_0x28a381[_0x2847fd(0x2c2)])==0x7530/0x3e9?_0x21f56b=_0x17022c[_0x2847fd(0x31c)](_0x17022c['Frames2Timecode'](_0x59f81f,_0x47d23f,![]),![],![]):_0x21f56b=_0x2847fd(0x1b3);let _0x413347=Date[_0x2847fd(0x263)]()-_0x51f19e,_0x4c331a=new Date(),_0x333ac3=String(_0x4c331a[_0x2847fd(0x2eb)]())['padStart'](0x2,'0'),_0x468978=String(_0x4c331a['getMinutes']())[_0x2847fd(0x397)](0x2,'0'),_0xa08ed3=String(_0x4c331a[_0x2847fd(0x17c)]())[_0x2847fd(0x397)](0x2,'0'),_0x20e8bc=String(_0x4c331a['getMilliseconds']())[_0x2847fd(0x397)](0x3,'0'),_0x2794f0=_0x333ac3+':'+_0x468978+':'+_0xa08ed3+'.'+_0x20e8bc;if(_0x28a381[_0x2847fd(0x315)]){_0x1e5313[_0x2847fd(0x2d9)]=_0x2847fd(0x259)+_0x2847fd(0x302)+_0x28a381[_0x2847fd(0x200)]+',\x20Time\x20Fired:\x20'+_0x2794f0+_0x2847fd(0x1ad)+_0x4af5ca+',\x20offset:\x20'+_0x28a381[_0x2847fd(0x17d)][_0x2847fd(0x2d3)]+'('+_0x102d9a+')'+_0x2847fd(0x31d)+_0x21f56b+'\x20</br>';;}_0x4f9053++,_0x51f19e=Date[_0x2847fd(0x263)]();let _0x40144e=![];if(_0x28a381['debug']){var _0x25db26=document[_0x2847fd(0x35c)]('plus05CorrectionCheckbox');_0x40144e=_0x25db26['checked'];}let _0x43cf2b=0x0;if(BB[_0x2847fd(0x35a)][_0x2847fd(0x299)](_0x28a381[_0x2847fd(0x2c2)])==0x7530/0x3e9){let _0x518a3e=0x18,_0x1a1008=0x21+(0x21-_0x518a3e);_0x413347<_0x518a3e&&_0x4ddb2b<_0x1a1008||_0x4ddb2b<_0x518a3e&&_0x413347<_0x1a1008||_0x5f1adf<_0x518a3e&&_0x4ddb2b<_0x1a1008&&_0x413347<_0x1a1008||_0x40144e==!![]?(_0x1e5313[_0x2847fd(0x2d9)]+=_0x2847fd(0x332),setTimeout(function(){_0x28c7fe(_0x59f81f,![]);},0xa)):_0x28c7fe(_0x59f81f,![]);}else BB[_0x2847fd(0x35a)][_0x2847fd(0x299)](_0x28a381['frameRateMode'])==0xea60/0x3e9?_0x43cf2b=_0x28c7fe(_0x59f81f,![]):console[_0x2847fd(0x1ed)](_0x2847fd(0x266));_0x5f1adf=_0x4ddb2b,_0x4ddb2b=_0x413347;_0x28a381[_0x2847fd(0x315)]&&console['BBlog'](_0x2847fd(0x2b3)+_0x2847fd(0x2e0)+_0x2794f0+',\x20rendering:\x20'+_0x4af5ca+',\x20took:\x20'+_0x43cf2b[_0x2847fd(0x21a)](0x4)+'\x20ms');_0x2521e1[_0x2847fd(0x2b8)](_0x2702b0);return;};const _0x312d43=_0x2afdd3=>{const _0x1d4110=_0x30e4ac;let _0xd8564=new Date(),_0x18acad=String(_0xd8564[_0x1d4110(0x2eb)]())[_0x1d4110(0x397)](0x2,'0'),_0x97182d=String(_0xd8564['getMinutes']())[_0x1d4110(0x397)](0x2,'0'),_0x1db977=String(_0xd8564[_0x1d4110(0x17c)]())[_0x1d4110(0x397)](0x2,'0'),_0x2a6922=String(_0xd8564[_0x1d4110(0x248)]())['padStart'](0x3,'0'),_0x26b379=_0x18acad+':'+_0x97182d+':'+_0x1db977+'.'+_0x2a6922;if(_0x2521e1['paused']){window[_0x1d4110(0x2aa)](_0x312d43);return;}let _0x45668b=document[_0x1d4110(0x35c)](_0x1d4110(0x35b));if(_0x28a381[_0x1d4110(0x315)])_0x45668b[_0x1d4110(0x2d9)]=_0x1d4110(0x1d1)+'\x20Time\x20Fired:\x20'+_0x26b379;if(_0x2b421b==_0x1d4110(0x18a)||_0x2b421b=='ANI2'){var _0x5843de='';if(BB[_0x1d4110(0x35a)][_0x1d4110(0x299)](_0x28a381[_0x1d4110(0x2c2)])==0xea60/0x3e9)_0x5843de=_0x17022c[_0x1d4110(0x31c)](_0x17022c[_0x1d4110(0x274)](_0x3b643e+0x1,_0x47d23f,!![]),!![],!![]);else BB[_0x1d4110(0x35a)]['getSourceFPS'](_0x28a381[_0x1d4110(0x2c2)])==0x7530/0x3e9?_0x5843de=_0x17022c[_0x1d4110(0x31c)](_0x17022c['Frames2Timecode'](_0x3b643e+0x1,_0x47d23f,![]),![],![]):_0x5843de=_0x1d4110(0x1b3);var _0x544dc4='';if(BB[_0x1d4110(0x35a)][_0x1d4110(0x299)](_0x28a381[_0x1d4110(0x2c2)])==0xea60/0x3e9)_0x544dc4=_0x17022c[_0x1d4110(0x31c)](_0x17022c[_0x1d4110(0x274)](_0x28a381['augmentation'][_0x1d4110(0x2d3)],_0x47d23f,!![]),!![],!![]);else BB[_0x1d4110(0x35a)][_0x1d4110(0x299)](_0x28a381[_0x1d4110(0x2c2)])==0x7530/0x3e9?_0x544dc4=_0x17022c[_0x1d4110(0x31c)](_0x17022c[_0x1d4110(0x274)](_0x28a381[_0x1d4110(0x17d)]['offset'],_0x47d23f,![]),![],![]):_0x544dc4=_0x1d4110(0x1b3);let _0x224cac=_0x3b643e-_0x28a381['augmentation'][_0x1d4110(0x2d3)];var _0x4d5e51='';if(BB[_0x1d4110(0x35a)][_0x1d4110(0x299)](_0x28a381['frameRateMode'])==0xea60/0x3e9)_0x4d5e51=_0x17022c[_0x1d4110(0x31c)](_0x17022c[_0x1d4110(0x274)](_0x224cac,_0x47d23f,!![]),!![],!![]);else BB[_0x1d4110(0x35a)][_0x1d4110(0x299)](_0x28a381[_0x1d4110(0x2c2)])==0x7530/0x3e9?_0x4d5e51=_0x17022c['printTimecode'](_0x17022c['Frames2Timecode'](_0x224cac,_0x47d23f,![]),![],![]):_0x4d5e51=_0x1d4110(0x1b3);_0x28a381[_0x1d4110(0x315)]&&(console[_0x1d4110(0x1ed)]('Probable\x20videoFrameCallback\x20was\x20not\x20fired.\x20Apllying\x20correction\x20mechanism\x20('+_0x5843de+')'+',\x20stage:\x20'+_0x2b421b),_0x45668b[_0x1d4110(0x2d9)]+=_0x1d4110(0x1a4));let _0x5138ee=_0x28c7fe(_0x3b643e+0x1,![]);if(_0x28a381[_0x1d4110(0x315)])console['BBlog'](_0x1d4110(0x237)+_0x1d4110(0x242)+_0x26b379+_0x1d4110(0x184)+_0x1d4110(0x249)+_0x5843de+_0x1d4110(0x27a)+_0x28a381[_0x1d4110(0x17d)][_0x1d4110(0x2d3)]+'('+_0x544dc4+')'+_0x1d4110(0x207)+_0x4d5e51+_0x1d4110(0x1dc)+_0x5138ee[_0x1d4110(0x21a)](0x4)+_0x1d4110(0x218));if(_0x2b421b==_0x1d4110(0x18a))_0x2b421b=_0x1d4110(0x2a5);else{if(_0x2b421b==_0x1d4110(0x2a5))_0x2b421b='ANI';}}else{if(_0x28a381['debug'])console[_0x1d4110(0x1ed)]('ANI.'+_0x1d4110(0x242)+_0x26b379);_0x2b421b=_0x1d4110(0x18a);}window[_0x1d4110(0x2aa)](_0x312d43);};let _0x429d92=_0x28a381['frameRateMode']==BB[_0x30e4ac(0x2e9)]['Src59_MediaTime60']?-0.04:+0.05,_0x42f16c=0x0,_0x17a1af={},_0x56c4c4=0x0,_0x435c07=0x0,_0xb4cd7b=0x0,_0x1faca5=0x0,_0x4417a4=0x0,_0x4dcd3a=-0x1,_0xab0a37=0x0,_0x2191c5=![];const _0x3c6263=(_0x4c7737,_0x43ce3d)=>{const _0x247b9c=_0x30e4ac;_0xab0a37=Date[_0x247b9c(0x263)]();let _0x52fac1=_0x43ce3d['mediaTime']*_0x2e40ac;if(_0x28a381[_0x247b9c(0x315)]){var _0x4cfaec=document[_0x247b9c(0x35c)](_0x247b9c(0x2f0))[_0x247b9c(0x33f)],_0x2baf6b=parseInt(_0x4cfaec);_0x52fac1+=_0x2baf6b;}else _0x52fac1+=0x2;_0x4417a4+0x1!=Math['floor'](_0x52fac1)&&(_0x2191c5=!![]);_0x4417a4=Math['floor'](_0x52fac1);var _0x528f71='';if(BB[_0x247b9c(0x35a)][_0x247b9c(0x299)](_0x28a381[_0x247b9c(0x2c2)])==0xea60/0x3e9)_0x528f71=_0x17022c[_0x247b9c(0x31c)](_0x17022c[_0x247b9c(0x274)](_0x4417a4,_0x47d23f,!![]),!![],!![]);else BB[_0x247b9c(0x35a)][_0x247b9c(0x299)](_0x28a381['frameRateMode'])==0x7530/0x3e9?_0x528f71=_0x17022c['printTimecode'](_0x17022c[_0x247b9c(0x274)](_0x4417a4,_0x47d23f,![]),![],![]):_0x528f71='NOT\x20SUPPORTED';let _0x19b490=document['getElementById'](_0x247b9c(0x1e6));_0x19b490[_0x247b9c(0x1bb)]=_0x247b9c(0x254)+_0x52fac1['toFixed'](0x4)+_0x247b9c(0x278)+_0x4417a4+_0x247b9c(0x2e6)+_0x1faca5+'\x20Time:\x20'+_0x528f71,_0x1faca5++,_0x4dcd3a=_0x43ce3d['mediaTime'],_0x2521e1[_0x247b9c(0x2b8)](_0x3c6263);return;};let _0x328185=0x0,_0x510aae=0x0;const _0x108904=_0x102c90=>{const _0x3107c3=_0x30e4ac;var _0x57d222=Date['now'](),_0x4cfe28=_0x57d222-_0xab0a37;let _0x3a2341=document[_0x3107c3(0x35c)](_0x3107c3(0x35b));var _0x48a021=0x0;_0x3a2341['textContent']=_0x3107c3(0x2c4)+_0xada6b0+'\x20Frame:\x20'+_0x4417a4+_0x3107c3(0x1cc)+_0x4cfe28+_0x3107c3(0x218);var _0x5ebd58=0x0;if(_0x28a381[_0x3107c3(0x354)]&&_0x2580ff>=_0x4417a4&&_0x2580ff<_0x4417a4+0x5){_0x5ebd58=0x1+(_0x2580ff-_0x4417a4);if(_0x28a381[_0x3107c3(0x315)])_0x3a2341[_0x3107c3(0x1bb)]+='\x20+'+_0x5ebd58+_0x3107c3(0x2ce)+(_0x4417a4+_0x5ebd58);}else _0x5ebd58=0x0;if(_0x2191c5&&_0x328185==_0x510aae&&_0x5ebd58==_0x328185)_0x3a2341[_0x3107c3(0x1bb)]+='\x20forceSync',_0x48a021=_0x4417a4,_0x2191c5=![];else _0x2191c5&&(_0x328185!=_0x510aae||_0x5ebd58!=_0x328185)?(_0x3a2341[_0x3107c3(0x1bb)]+=_0x3107c3(0x238),_0x48a021=_0x4417a4+_0x5ebd58,_0x2191c5=![]):_0x48a021=_0x4417a4+_0x5ebd58;if(_0x5ae0c4)_0x5ae0c4[_0x3107c3(0x230)](_0x48a021);_0x28c7fe(_0x48a021),_0xada6b0++,_0x2580ff=_0x48a021,_0x510aae=_0x328185,_0x328185=_0x5ebd58,window[_0x3107c3(0x2aa)](_0x108904);return;},_0x409eed=(_0x5233d7,_0x1c5b91)=>{const _0x240fc8=_0x30e4ac;_0xab0a37=performance[_0x240fc8(0x263)]();var _0x1c5679=_0x1c5b91[_0x240fc8(0x1e8)]*_0x2e40ac,_0x3e53b0=Math['floor'](_0x1c5679),_0x27b099='';if(BB[_0x240fc8(0x35a)][_0x240fc8(0x299)](_0x28a381[_0x240fc8(0x2c2)])==0xea60/0x3e9)_0x27b099=_0x17022c['printTimecode'](_0x17022c['Frames2Timecode'](_0x3e53b0,_0x47d23f,!![]),!![],!![]);else BB['Utils'][_0x240fc8(0x299)](_0x28a381[_0x240fc8(0x2c2)])==0x7530/0x3e9?_0x27b099=_0x17022c[_0x240fc8(0x31c)](_0x17022c[_0x240fc8(0x274)](_0x3e53b0,_0x47d23f,![]),![],![]):_0x27b099=_0x240fc8(0x1b3);let _0x1e06a5=document['getElementById']('debugText2');_0x1e06a5['textContent']=_0x240fc8(0x254)+_0x1c5679['toFixed'](0x4)+'\x20Frame:\x20'+_0x3e53b0+_0x240fc8(0x2e6)+_0x1faca5+_0x240fc8(0x1dd)+_0x27b099,_0x1faca5++,_0x2521e1[_0x240fc8(0x2b8)](_0x409eed);return;};let _0x59dc43=![];const _0x568e3b=_0x23a64f=>{const _0x1242ab=_0x30e4ac;var _0x5127bc=0x0;if(_0x28a381[_0x1242ab(0x315)]){let _0x1eb0b2=document[_0x1242ab(0x35c)](_0x1242ab(0x35b));var _0x2875a7=document[_0x1242ab(0x35c)](_0x1242ab(0x2f0))[_0x1242ab(0x33f)];_0x5127bc=parseInt(_0x2875a7);}var _0x89c09=0x0,_0x450678=(_0x2521e1['currentTime']-_0x28a381[_0x1242ab(0x24e)][_0x1242ab(0x30f)])%(0x3c*0x3c*0x18)*_0x2e40ac;_0x89c09=Math['floor'](_0x450678)+_0x28a381['syncPoint'][_0x1242ab(0x343)],_0x89c09+=_0x5127bc;var _0x5a4f6a=_0x450678-Math[_0x1242ab(0x1cf)](_0x450678);if(_0x59dc43||_0x5a4f6a<0.226)_0x59dc43=!![];if(_0x5a4f6a>0.8)_0x59dc43=![];if(_0x59dc43)_0x89c09--;var _0x166c28='';if(BB[_0x1242ab(0x35a)][_0x1242ab(0x299)](_0x28a381['frameRateMode'])==0xea60/0x3e9)_0x166c28=_0x17022c[_0x1242ab(0x31c)](_0x17022c[_0x1242ab(0x274)](_0x89c09,_0x47d23f,!![]),!![],!![]);else BB['Utils'][_0x1242ab(0x299)](_0x28a381[_0x1242ab(0x2c2)])==0x7530/0x3e9?_0x166c28=_0x17022c[_0x1242ab(0x31c)](_0x17022c[_0x1242ab(0x274)](_0x89c09,_0x47d23f,![]),![],![]):_0x166c28=_0x1242ab(0x1b3);var _0x42731c='';if(BB[_0x1242ab(0x35a)]['getSourceFPS'](_0x28a381[_0x1242ab(0x2c2)])==0xea60/0x3e9)_0x42731c=_0x17022c[_0x1242ab(0x31c)](_0x17022c[_0x1242ab(0x274)](_0x28a381['augmentation'][_0x1242ab(0x2d3)],_0x47d23f,!![]),!![],!![]);else BB[_0x1242ab(0x35a)][_0x1242ab(0x299)](_0x28a381['frameRateMode'])==0x7530/0x3e9?_0x42731c=_0x17022c[_0x1242ab(0x31c)](_0x17022c[_0x1242ab(0x274)](_0x28a381[_0x1242ab(0x17d)][_0x1242ab(0x2d3)],_0x47d23f,![]),![],![]):_0x42731c=_0x1242ab(0x1b3);let _0x4225e9=_0x89c09-_0x28a381[_0x1242ab(0x17d)][_0x1242ab(0x2d3)];if(_0x28a381['debug'])DebugLine[_0x1242ab(0x1bb)]=_0x1242ab(0x2c4)+_0xada6b0+_0x1242ab(0x254)+_0x450678['toFixed'](0x4)+'\x20realFrame:\x20'+_0x89c09+',\x20offset:\x20'+_0x28a381[_0x1242ab(0x17d)][_0x1242ab(0x2d3)]+'('+_0x42731c+')'+_0x1242ab(0x207)+resultTimecodeStr+'\x20Time:\x20'+_0x166c28+'\x20correction:\x20'+_0x59dc43;if(_0x5ae0c4)_0x5ae0c4['setLastFrame'](_0x4225e9);_0x28c7fe(_0x4225e9),_0xada6b0++,window[_0x1242ab(0x2aa)](_0x568e3b);return;},_0x20d91c=(_0x5647bd,_0x191b51)=>{const _0x5472ef=_0x30e4ac;let _0x1e1dd2=_0x191b51['mediaTime']*_0x2e40ac;var _0x1f19b4=0x0;if(_0x28a381[_0x5472ef(0x315)]){var _0x1ba558=document[_0x5472ef(0x35c)](_0x5472ef(0x2f0))['value'];_0x1f19b4=parseInt(_0x1ba558);}_0x1e1dd2+=_0x1f19b4,_0x4417a4=Math[_0x5472ef(0x1cf)](_0x1e1dd2);var _0x3d63a9='';if(BB['Utils'][_0x5472ef(0x299)](_0x28a381[_0x5472ef(0x2c2)])==0xea60/0x3e9)_0x3d63a9=_0x17022c['printTimecode'](_0x17022c[_0x5472ef(0x274)](_0x4417a4,_0x47d23f,!![]),!![],!![]);else BB[_0x5472ef(0x35a)]['getSourceFPS'](_0x28a381['frameRateMode'])==0x7530/0x3e9?_0x3d63a9=_0x17022c[_0x5472ef(0x31c)](_0x17022c[_0x5472ef(0x274)](_0x4417a4,_0x47d23f,![]),![],![]):_0x3d63a9=_0x5472ef(0x1b3);let _0x1f588b=document[_0x5472ef(0x35c)](_0x5472ef(0x1e6));_0x1f588b[_0x5472ef(0x1bb)]=_0x5472ef(0x254)+_0x1e1dd2[_0x5472ef(0x21a)](0x4)+_0x5472ef(0x278)+_0x4417a4+_0x5472ef(0x2e6)+_0x1faca5+_0x5472ef(0x1dd)+_0x3d63a9,_0x1faca5++,_0x4dcd3a=_0x191b51['mediaTime'],_0x2521e1['requestVideoFrameCallback'](_0x20d91c);return;_0xb4cd7b=_0x5647bd,_0x17a1af=_0x191b51;let _0x3487c1=_0x2521e1['currentTime'],_0x5d8be8=(_0x3487c1-_0x191b51[_0x5472ef(0x1e8)])*0x3e8;_0x42f16c=_0x5d8be8,_0x2521e1[_0x5472ef(0x2b8)](_0x20d91c);};let _0x611d6d=-0x1,_0x14285c=0x270f,_0x2bcf32=0x0,_0xada6b0=0x0,_0x2580ff=0x0;const _0x13e852=_0x56c690=>{const _0x1e2fc0=_0x30e4ac;let _0x77b2fb=document['getElementById'](_0x1e2fc0(0x35b));var _0xa0a88a=0x0;_0x77b2fb[_0x1e2fc0(0x1bb)]='\x20countAppleANI:\x20'+_0xada6b0+_0x1e2fc0(0x278)+_0x4417a4;if(_0x28a381['enabled']&&_0x2580ff>=_0x4417a4&&_0x2580ff<_0x4417a4+0x5){var _0x3206ba=0x1+(_0x2580ff-_0x4417a4);_0xa0a88a=_0x4417a4+_0x3206ba;if(_0x28a381[_0x1e2fc0(0x315)])_0x77b2fb[_0x1e2fc0(0x1bb)]+='\x20+'+_0x3206ba+_0x1e2fc0(0x2ce)+_0xa0a88a;}else _0xa0a88a=_0x4417a4;if(_0x5ae0c4)_0x5ae0c4[_0x1e2fc0(0x230)](_0xa0a88a);_0x28c7fe(_0xa0a88a),_0xada6b0++,_0x2580ff=_0xa0a88a,window[_0x1e2fc0(0x2aa)](_0x13e852);return;if(_0x611d6d>0x0){_0x28c7fe(_0x611d6d,!![]),_0x611d6d=-0x1,window[_0x1e2fc0(0x2aa)](_0x13e852);return;}let _0x2f45dc=_0x2521e1[_0x1e2fc0(0x2ca)],_0x44aeac=(_0x2f45dc-_0x28a381[_0x1e2fc0(0x24e)][_0x1e2fc0(0x30f)])*_0x2e40ac;_0x44aeac+=_0x28a381['syncPoint'][_0x1e2fc0(0x343)],_0x44aeac=_0x44aeac%(0x3c*0x3c*0x18*_0x2e40ac);if(!![]){let _0x36b179=0x0,_0x2510e7=_0x36b179*_0x470946[_0x1e2fc0(0x251)]+_0x470946[_0x1e2fc0(0x38a)];_0x28a381[_0x1e2fc0(0x2c2)]==BB[_0x1e2fc0(0x2e9)][_0x1e2fc0(0x32f)]&&(_0x192891[_0x1e2fc0(0x232)]()||_0x192891[_0x1e2fc0(0x243)]())&&(_0x429d92=-0.043*_0x36b179+1.36);_0x2510e7+=_0x429d92;let _0x519349=Math[_0x1e2fc0(0x1cf)](_0x44aeac),_0x197436=_0x44aeac-_0x519349,_0xa374a8=0x0;if(_0x28a381[_0x1e2fc0(0x2c2)]==BB['FrameRateMode'][_0x1e2fc0(0x297)]){if(_0x192891[_0x1e2fc0(0x27c)]()&&Math[_0x1e2fc0(0x235)](_0x36b179)<=0x17)_0xa374a8=0x1;else _0x192891['isMac']()&&Math['round'](_0x36b179)>=0x22?_0xa374a8=0x2:_0xa374a8=Math['round'](_0x36b179*_0x470946[_0x1e2fc0(0x251)]+_0x470946['intercept'])-0x1;_0x519349-=Math['floor']((_0x519349-0x1)/0x3e9)+_0xa374a8,_0x192891[_0x1e2fc0(0x243)]()&&_0x519349++;}else{if(_0x28a381[_0x1e2fc0(0x2c2)]==BB[_0x1e2fc0(0x2e9)][_0x1e2fc0(0x32f)]){if(_0x192891[_0x1e2fc0(0x27c)]()&&Math[_0x1e2fc0(0x235)](_0x36b179)>=0x22)_0x519349--;else _0x192891[_0x1e2fc0(0x243)]()&&_0x519349++;}else{if(_0x28a381[_0x1e2fc0(0x2c2)]==BB['FrameRateMode'][_0x1e2fc0(0x2d7)]){if(_0x192891[_0x1e2fc0(0x27c)]()){_0x519349+=0x2;let _0x31dee4=_0x44aeac-Math['floor'](_0x44aeac);if(_0x31dee4>0.35)_0x519349++;}else{if(_0x192891[_0x1e2fc0(0x232)]()){_0x519349+=0x2;let _0x4559fc=_0x44aeac-Math[_0x1e2fc0(0x1cf)](_0x44aeac);if(_0x4559fc<0.08)_0x519349--;}else{if(_0x192891[_0x1e2fc0(0x243)]()){_0x519349+=0x3;let _0x1e79d6=_0x44aeac-Math['floor'](_0x44aeac);if(_0x1e79d6<0.03)_0x519349--;}}}}else _0x28a381[_0x1e2fc0(0x2c2)]==BB['FrameRateMode']['Src29_MediaTime29']&&(_0x519349+=0x1);}}if(_0x519349<0x0)_0x519349=0x0;if(_0x5ae0c4)_0x5ae0c4['setLastFrame'](_0x519349);let _0x123c23=_0x56c690-_0x17a1af[_0x1e2fc0(0x18d)];if(_0x3b643e<_0x519349){_0x519349%0x3c==0x0&&_0x28a381['debug']==!![]&&console[_0x1e2fc0(0x38e)](_0x1e2fc0(0x393)+_0x519349+',\x20time:\x20'+_0x17022c['printTimecode'](_0x17022c[_0x1e2fc0(0x274)](_0x519349,_0x47d23f,![]),![])+_0x1e2fc0(0x2f3)+(_0x44aeac+_0x2510e7)[_0x1e2fc0(0x21a)](0x2)+_0x1e2fc0(0x256)+(_0x44aeac+_0x2510e7-_0x429d92)[_0x1e2fc0(0x21a)](0x2)+_0x1e2fc0(0x19b)+_0x36b179['toFixed'](0x4)+_0x1e2fc0(0x1e5)+_0xa374a8+_0x1e2fc0(0x204)+_0x2510e7[_0x1e2fc0(0x21a)](0x2)+',\x20dblFrame:\x20'+_0x44aeac[_0x1e2fc0(0x21a)](0x4)+_0x1e2fc0(0x1d2)+_0x429d92[_0x1e2fc0(0x21a)](0x2)+_0x1e2fc0(0x247)+_0x2f45dc['toFixed'](0x2));if(_0x28a381['debug']){let _0x5a35a4=document[_0x1e2fc0(0x35c)](_0x1e2fc0(0x35b));_0x5a35a4[_0x1e2fc0(0x1bb)]=_0x1e2fc0(0x300)+_0x44aeac[_0x1e2fc0(0x21a)](0x4)+_0x1e2fc0(0x249)+_0x17022c[_0x1e2fc0(0x31c)](_0x17022c[_0x1e2fc0(0x274)](_0x519349,_0x47d23f,![]),![])+_0x1e2fc0(0x286)+_0x42f16c[_0x1e2fc0(0x21a)](0x4)+_0x1e2fc0(0x247)+_0x2f45dc[_0x1e2fc0(0x21a)](0x4)+',\x20timeAfterSync:\x20'+(_0x2f45dc-_0x28a381[_0x1e2fc0(0x24e)]['playerTime'])['toFixed'](0x4)+_0x1e2fc0(0x240)+_0x28a381['syncPoint'][_0x1e2fc0(0x2e1)]+_0x1e2fc0(0x37a)+_0x28a381[_0x1e2fc0(0x24e)]['frame']+_0x1e2fc0(0x2fa)+_0x56c690[_0x1e2fc0(0x21a)](0x0)+',\x20timeStamp-lastTimeStamp:\x20'+(_0x56c690-_0x435c07)[_0x1e2fc0(0x21a)](0x0)+_0x1e2fc0(0x28a)+(_0x56c690-_0x17a1af[_0x1e2fc0(0x18d)])[_0x1e2fc0(0x21a)](0x0)+',\x20timeStamp-nowFromVideoFrame:\x20'+(_0x56c690-_0xb4cd7b)[_0x1e2fc0(0x21a)](0x0)+_0x1e2fc0(0x329)+(_0xb4cd7b-_0x17a1af[_0x1e2fc0(0x18d)])[_0x1e2fc0(0x21a)](0x0);}_0x56c4c4=_0x17a1af[_0x1e2fc0(0x18d)],_0x435c07=_0x56c690,_0x197436<0.08?_0x611d6d=_0x519349:_0x28c7fe(_0x519349);}}window[_0x1e2fc0(0x2aa)](_0x13e852);};console['BBlog']('Setting\x20Callbacks'),console[_0x30e4ac(0x1ed)](_0x30e4ac(0x27b));typeof window!=='undefined'?console['BBlog']('The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x30e4ac(0x1ed)](_0x30e4ac(0x1aa));_0x30e4ac(0x2aa)in window?console['BBlog']('requestAnimationFrame\x20is\x20supported'):console[_0x30e4ac(0x1ed)](_0x30e4ac(0x2b1));typeof _0x2521e1!=='undefined'?console[_0x30e4ac(0x1ed)](_0x30e4ac(0x1ea)):console['BBlog'](_0x30e4ac(0x336));_0x30e4ac(0x2b8)in _0x2521e1?console[_0x30e4ac(0x1ed)](_0x30e4ac(0x201)):console[_0x30e4ac(0x1ed)](_0x30e4ac(0x394));if(_0x192891[_0x30e4ac(0x1ce)]()||_0x192891[_0x30e4ac(0x2ba)]())window['requestAnimationFrame'](_0x312d43),_0x2521e1[_0x30e4ac(0x19e)]>=0x2?(console[_0x30e4ac(0x1ed)](_0x30e4ac(0x28b)),_0x2521e1[_0x30e4ac(0x2b8)](_0x2702b0)):(console[_0x30e4ac(0x1ed)](_0x30e4ac(0x323)),_0x2521e1[_0x30e4ac(0x384)]('loadedmetadata',()=>{const _0x12f72b=_0x30e4ac;_0x2521e1[_0x12f72b(0x2b8)](_0x2702b0);}));else _0x192891['isMac']()?window['requestAnimationFrame'](_0x568e3b):console[_0x30e4ac(0x1ed)](_0x30e4ac(0x2c9));console[_0x30e4ac(0x1ed)](_0x30e4ac(0x1da)),console[_0x30e4ac(0x1ed)]('Calculating\x20ScreenFrameRate');function _0xf4d8e1(){return new Promise(_0x9f563e=>{let _0x149816=0x0;const _0x46829c=[],_0x925915=0x14;function _0xb2f52f(_0xc6230c){const _0x23be43=_0x1bb2;if(_0x149816){const _0x28ea26=_0xc6230c-_0x149816,_0x3afe24=0x3e8/_0x28ea26;if(!(_0x3afe24===undefined)){if(_0x3afe24>0x0&&_0x3afe24<0xc8)_0x46829c[_0x23be43(0x2fd)](_0x3afe24);}if(_0x46829c[_0x23be43(0x318)]===_0x925915){const _0x501420=_0x46829c[_0x23be43(0x1df)]((_0x5e6281,_0x19128c)=>_0x5e6281+_0x19128c,0x0)/_0x925915;_0x9f563e(Math[_0x23be43(0x235)](_0x501420));return;}}_0x149816=_0xc6230c,requestAnimationFrame(_0xb2f52f);}requestAnimationFrame(_0xb2f52f);});}_0xf4d8e1()[_0x30e4ac(0x34d)](_0x1a237d=>{const _0xf5fdb8=_0x30e4ac;_0x28a381['ScreenFPS']=_0x1a237d,_0x28a381[_0xf5fdb8(0x183)]>0x46||_0x28a381[_0xf5fdb8(0x183)]<0x32?(console[_0xf5fdb8(0x328)](_0xf5fdb8(0x2ad)+_0x1a237d+'\x20FPS,\x20Aborting\x20augmentation.\x20Only\x2060FPS\x20screens\x20supported'),_0x28a381[_0xf5fdb8(0x26a)]=!![]):console['BBlog'](_0xf5fdb8(0x2ad)+_0x1a237d+_0xf5fdb8(0x221));});const _0x30ada5=()=>{const _0x379467=_0x30e4ac;let _0x2a329e=_0x2521e1[_0x379467(0x270)];_0x2434ab=new BB[(_0x379467(0x209))](_0x2a329e,_0x2521e1,_0x28a381),ads=BB['Ads'](_0x2434ab,_0x28a381),_0x5ae0c4=BB['MetaDataFetcher'](_0x28a381,_0x2434ab);},_0x2bbbe5=()=>{return _0x2434ab['getCanvas']();},_0x108829=_0x4e1c2f=>{_0x4def6e(_0x4e1c2f);},_0x220a08=_0x239ea8=>{_0x3ac89b(_0x239ea8);};return{'getCanvas':_0x2bbbe5,'onNewSegmentInterface':_0x108829,'onNewMetadataInterface':_0x220a08,'initializeComponents':_0x30ada5};},BB[_0x334532(0x209)]=class{constructor(_0x4c96a4,_0x53139e,_0x554a0c){const _0x52e759=_0x334532;if(_0x554a0c[_0x52e759(0x17d)][_0x52e759(0x2d1)]){this[_0x52e759(0x36a)]={};for(let _0x1375d4=0x0;_0x1375d4<0xa;++_0x1375d4){let _0x354ae2=_0x1375d4+'.1',_0x866f41=_0x1375d4+'.2';this[_0x52e759(0x36a)][_0x354ae2]=this[_0x52e759(0x298)](_0x354ae2),this[_0x52e759(0x36a)][_0x866f41]=this[_0x52e759(0x298)](_0x866f41);}}this[_0x52e759(0x32b)]=Object[_0x52e759(0x2ea)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x554a0c||{}),this['sourceFPS']=BB[_0x52e759(0x35a)]['getSourceFPS'](this[_0x52e759(0x32b)][_0x52e759(0x2c2)]),this[_0x52e759(0x1bc)]=[],this['metadataMap']={},this['videoStarted']=![],this['advertisementMap']={},this[_0x52e759(0x250)]={},this[_0x52e759(0x2db)]=null,this['canvas']=document['createElement'](_0x52e759(0x2b4)),this[_0x52e759(0x2ac)]=this['canvas']['getContext']('webgl2',{'premultipliedAlpha':![]});this[_0x52e759(0x2ac)]==null?(this['ctx']=this['canvas'][_0x52e759(0x1c5)]('webgl',{'premultipliedAlpha':![]}),this[_0x52e759(0x338)]=0x1):this[_0x52e759(0x338)]=0x2;console[_0x52e759(0x38e)](_0x52e759(0x2f6)+this[_0x52e759(0x2ac)]+_0x52e759(0x29d)+this[_0x52e759(0x338)]);let _0x565fb9=_0x4c96a4[_0x52e759(0x257)],_0x1dfd6d=_0x4c96a4['offsetLeft'];this[_0x52e759(0x2b4)][_0x52e759(0x395)][_0x52e759(0x36e)]=_0x565fb9,this[_0x52e759(0x2b4)][_0x52e759(0x395)][_0x52e759(0x21f)]=_0x1dfd6d,this['canvas']['width']=_0x4c96a4[_0x52e759(0x38f)],this[_0x52e759(0x2b4)]['height']=_0x4c96a4[_0x52e759(0x284)],this['canvas'][_0x52e759(0x395)][_0x52e759(0x279)]='absolute';let _0x3b6534=_0x4c96a4[_0x52e759(0x34e)]('video')[0x0],_0x4b9aab=_0x3b6534[_0x52e759(0x25e)];if(_0x4b9aab)_0x4c96a4[_0x52e759(0x24c)](this[_0x52e759(0x2b4)],_0x4b9aab);else _0x4c96a4[_0x52e759(0x312)](this['canvas']);this[_0x52e759(0x2b4)][_0x52e759(0x395)][_0x52e759(0x2a2)]=_0x52e759(0x276),_0x3b6534[_0x52e759(0x384)](_0x52e759(0x36f),_0x232b5c=>{const _0x21fb05=_0x52e759;this[_0x21fb05(0x1a6)](_0x232b5c);}),this[_0x52e759(0x258)](),this[_0x52e759(0x2a6)]=null,this[_0x52e759(0x1fc)]={},this[_0x52e759(0x1d8)]={},this['ad2place']={},this[_0x52e759(0x19a)]=[],this['lastTimeReportedIncomingTC']=0x0,this[_0x52e759(0x271)]=null;}[_0x334532(0x29e)](_0x3811a7){return(_0x3811a7&_0x3811a7-0x1)==0x0;}[_0x334532(0x298)](_0xba6e90){const _0x47b0a1=_0x334532;let _0x519e65=document['createElement']('canvas');_0x519e65['width']=0x32,_0x519e65[_0x47b0a1(0x182)]=0x32;let _0x37366b=_0x519e65[_0x47b0a1(0x1c5)]('2d');_0x37366b[_0x47b0a1(0x389)]=_0x47b0a1(0x2a7),_0x37366b[_0x47b0a1(0x324)](0x0,0x0,_0x519e65[_0x47b0a1(0x325)],_0x519e65['height']),_0x37366b['font']=_0x47b0a1(0x1c6),_0x37366b[_0x47b0a1(0x389)]=_0x47b0a1(0x368),_0x37366b[_0x47b0a1(0x1c4)](_0xba6e90,0xa,0x23);let _0x12ab06=_0x519e65[_0x47b0a1(0x223)](),_0x226d0b=document[_0x47b0a1(0x2fb)](_0x47b0a1(0x33b));return _0x226d0b[_0x47b0a1(0x1e0)]=_0x12ab06,_0x226d0b;}[_0x334532(0x1a6)](_0x471b51){const _0x5a72d9=_0x334532,_0x4eb20f=this[_0x5a72d9(0x2b4)][_0x5a72d9(0x188)]();let _0x58f237=event['clientX']-_0x4eb20f['left'],_0x188d95=event['clientY']-_0x4eb20f['top'];_0x58f237=_0x58f237/(_0x4eb20f[_0x5a72d9(0x38d)]-_0x4eb20f[_0x5a72d9(0x21f)]),_0x188d95=_0x188d95/(_0x4eb20f[_0x5a72d9(0x26c)]-_0x4eb20f[_0x5a72d9(0x36e)]);for(let _0x46fb6f of this['currentAds2BoundingRect']){if(_0x46fb6f[_0x5a72d9(0x269)]['l']<=_0x58f237&&_0x46fb6f[_0x5a72d9(0x269)]['r']>=_0x58f237&&_0x46fb6f[_0x5a72d9(0x269)]['t']<=_0x188d95&&_0x46fb6f[_0x5a72d9(0x269)]['b']>=_0x188d95){let _0x357d37=_0x46fb6f[_0x5a72d9(0x1f3)][_0x5a72d9(0x2dd)](0x1);if(this[_0x5a72d9(0x250)][_0x357d37]){let _0x1bce79=this[_0x5a72d9(0x250)][_0x357d37];console[_0x5a72d9(0x38e)]('Clicked\x20on\x20ad:\x20'+_0x357d37+_0x5a72d9(0x357)+_0x1bce79+_0x5a72d9(0x2ab)),window['open'](_0x1bce79,_0x5a72d9(0x20b));}return;}}}[_0x334532(0x239)](){return 0x0;}['TexUnitForAdInPlace'](_0x234e0b){const _0x3730c6=_0x334532;let _0x4f8635=Object[_0x3730c6(0x2bc)](this[_0x3730c6(0x1d8)]);for(let _0x48c8a2=0x0;_0x48c8a2<_0x4f8635[_0x3730c6(0x318)];++_0x48c8a2){if(_0x234e0b==_0x4f8635[_0x48c8a2])return _0x48c8a2+0x1;}return 0x0;}[_0x334532(0x321)](_0xbbadcd){const _0xca3d73=_0x334532;let _0x645944=Object[_0xca3d73(0x2bc)](this[_0xca3d73(0x1d8)]);for(let _0x2bf17e=0x0;_0x2bf17e<_0x645944[_0xca3d73(0x318)];++_0x2bf17e){let _0x104fa7=_0x645944[_0x2bf17e];if(_0xbbadcd[_0xca3d73(0x1f3)][_0xca3d73(0x1cd)](_0x104fa7)>=0x0)return _0x2bf17e;}return 0x0;}['AdNameForPlaceHolder'](_0x394b44){const _0x1e1a0b=_0x334532;let _0x1db295=Object[_0x1e1a0b(0x2bc)](this[_0x1e1a0b(0x1d8)]);for(let _0x261b8d=0x0;_0x261b8d<_0x1db295[_0x1e1a0b(0x318)];++_0x261b8d){let _0x51bc9a=_0x1db295[_0x261b8d];if(_0x394b44['name'][_0x1e1a0b(0x1cd)](_0x51bc9a)>=0x0&&this[_0x1e1a0b(0x1fc)]&&this[_0x1e1a0b(0x1fc)][_0x51bc9a]&&this[_0x1e1a0b(0x1fc)][_0x51bc9a][_0x1e1a0b(0x1f3)])return this[_0x1e1a0b(0x1fc)][_0x51bc9a][_0x1e1a0b(0x1f3)];}return this[_0x1e1a0b(0x2fc)];}['TexUnitBaseForAlpha'](){const _0x2fcd63=_0x334532;return 0x1+Object[_0x2fcd63(0x2bc)](this[_0x2fcd63(0x1d8)])[_0x2fcd63(0x318)];}[_0x334532(0x258)](){const _0x28cfc0=_0x334532;let _0x456cc0=BB['GL'][_0x28cfc0(0x380)];if(BB['Utils']['Platform'][_0x28cfc0(0x27c)]())_0x456cc0=BB['GL']['fragmentShaderSource'][_0x28cfc0(0x211)](_0x28cfc0(0x17a),_0x28cfc0(0x181));this['program']=webglUtils[_0x28cfc0(0x2f1)](this[_0x28cfc0(0x2ac)],this['webGLVersion']==0x2?[BB['GL'][_0x28cfc0(0x2e5)],_0x456cc0]:[BB['GL'][_0x28cfc0(0x1ab)],BB['GL'][_0x28cfc0(0x1db)]]),this[_0x28cfc0(0x2ac)]['clearColor'](0x0,0x0,0x0,0x0),this[_0x28cfc0(0x2ac)]['clear'](this['ctx']['COLOR_BUFFER_BIT']),this[_0x28cfc0(0x2ac)][_0x28cfc0(0x309)](this[_0x28cfc0(0x33c)]),this[_0x28cfc0(0x23e)]();}[_0x334532(0x23e)](){const _0x586e10=_0x334532;this[_0x586e10(0x2b4)]['style'][_0x586e10(0x1d4)]='none',this[_0x586e10(0x21e)]=0x0;}[_0x334532(0x192)](_0xbf4afc,_0x2d6839,_0x4f46b1,_0x415a85,_0x4888e9,_0x1c90ef,_0x97200b){const _0x451478=_0x334532;_0x97200b?this[_0x451478(0x2ac)]['pixelStorei'](this[_0x451478(0x2ac)][_0x451478(0x2f9)],0x1):this[_0x451478(0x2ac)][_0x451478(0x25f)](this[_0x451478(0x2ac)][_0x451478(0x2f9)],0x4);this['ctx'][_0x451478(0x25f)](this[_0x451478(0x2ac)][_0x451478(0x37f)],![]);const _0x220847=this[_0x451478(0x2ac)]['createTexture']();this['ctx'][_0x451478(0x33e)](this[_0x451478(0x2ac)][_0x451478(0x34b)]+_0x2d6839),this[_0x451478(0x2ac)]['bindTexture'](this[_0x451478(0x2ac)]['TEXTURE_2D'],_0x220847);try{_0x4888e9&&_0x1c90ef?this[_0x451478(0x2ac)][_0x451478(0x1c7)](this[_0x451478(0x2ac)][_0x451478(0x355)],0x0,_0x415a85==null?this['ctx']['RGBA']:_0x415a85,_0x4888e9,_0x1c90ef,0x0,_0x415a85==null?this['ctx']['RGBA']:_0x415a85,this['ctx']['UNSIGNED_BYTE'],_0xbf4afc):this[_0x451478(0x2ac)][_0x451478(0x1c7)](this[_0x451478(0x2ac)][_0x451478(0x355)],0x0,_0x415a85==null?this[_0x451478(0x2ac)][_0x451478(0x347)]:_0x415a85,this[_0x451478(0x2ac)][_0x451478(0x347)],this[_0x451478(0x2ac)][_0x451478(0x292)],_0xbf4afc);}catch(_0x267bc2){return console[_0x451478(0x198)](_0x267bc2),null;}if(this[_0x451478(0x338)]==0x1){let _0xe15e0c=_0x4888e9||_0xbf4afc[_0x451478(0x325)],_0x45b5b9=_0x1c90ef||_0xbf4afc['height'];_0xe15e0c&&this[_0x451478(0x29e)](_0xe15e0c)&&_0x45b5b9&&this['isPowerOf2'](_0x45b5b9)?this[_0x451478(0x2ac)][_0x451478(0x227)](this['ctx'][_0x451478(0x355)]):(this['ctx'][_0x451478(0x32c)](this[_0x451478(0x2ac)]['TEXTURE_2D'],this[_0x451478(0x2ac)][_0x451478(0x320)],this[_0x451478(0x2ac)][_0x451478(0x2f5)]),this[_0x451478(0x2ac)][_0x451478(0x32c)](this[_0x451478(0x2ac)][_0x451478(0x355)],this[_0x451478(0x2ac)][_0x451478(0x2bf)],this[_0x451478(0x2ac)]['CLAMP_TO_EDGE']),this[_0x451478(0x2ac)]['texParameteri'](this['ctx']['TEXTURE_2D'],this[_0x451478(0x2ac)][_0x451478(0x2d0)],this[_0x451478(0x2ac)][_0x451478(0x213)]));}else this[_0x451478(0x2ac)][_0x451478(0x32c)](this[_0x451478(0x2ac)][_0x451478(0x355)],this[_0x451478(0x2ac)][_0x451478(0x320)],this['ctx'][_0x451478(0x2f5)]),this[_0x451478(0x2ac)][_0x451478(0x32c)](this[_0x451478(0x2ac)][_0x451478(0x355)],this[_0x451478(0x2ac)]['TEXTURE_WRAP_T'],this[_0x451478(0x2ac)][_0x451478(0x2f5)]),this['ctx'][_0x451478(0x32c)](this['ctx']['TEXTURE_2D'],this[_0x451478(0x2ac)][_0x451478(0x2d0)],this[_0x451478(0x2ac)]['LINEAR']),this[_0x451478(0x2ac)][_0x451478(0x32c)](this[_0x451478(0x2ac)][_0x451478(0x355)],this[_0x451478(0x2ac)][_0x451478(0x220)],this['ctx'][_0x451478(0x213)]);let _0x5af4f3=this[_0x451478(0x2ac)]['getUniformLocation'](this[_0x451478(0x33c)],_0x4f46b1);return _0x5af4f3&&this[_0x451478(0x2ac)][_0x451478(0x252)](_0x5af4f3,_0x2d6839),_0x220847;}[_0x334532(0x1d6)](){const _0x217b78=_0x334532;this[_0x217b78(0x271)]=setTimeout(()=>{const _0x380463=_0x217b78,_0x3f6d91=Object['keys'](this['advertisementMap']);_0x3f6d91[_0x380463(0x318)]&&(this[_0x380463(0x2cb)](_0x3f6d91[Math['floor'](Math[_0x380463(0x1cb)]()*_0x3f6d91[_0x380463(0x318)])]),this[_0x380463(0x1d6)]());},this[_0x217b78(0x32b)][_0x217b78(0x194)]);}[_0x334532(0x1ba)](_0x187f7e,_0x5e1a43,_0x119aec=null){const _0x3174f9=_0x334532;if(_0x187f7e[_0x3174f9(0x1cd)](_0x3174f9(0x234))>-0x1){fetch(_0x5e1a43)[_0x3174f9(0x34d)](async _0x353a49=>{const _0x5bd4bd=_0x3174f9;this['place2ad']=await _0x353a49[_0x5bd4bd(0x2cf)](),this[_0x5bd4bd(0x322)]={};let _0x49b851=Object[_0x5bd4bd(0x2bc)](this[_0x5bd4bd(0x1d8)]);for(let _0x4c68f5=0x0;_0x4c68f5<_0x49b851[_0x5bd4bd(0x318)];++_0x4c68f5){let _0x36191d=_0x49b851[_0x4c68f5];if(_0x36191d==_0x5bd4bd(0x2a4)){this[_0x5bd4bd(0x250)]=this[_0x5bd4bd(0x1d8)][_0x36191d],delete this[_0x5bd4bd(0x1d8)][_0x36191d];continue;}let _0x3a5969=this[_0x5bd4bd(0x1d8)][_0x36191d];for(let _0x5a83fd=0x0;_0x5a83fd<_0x3a5969['length'];++_0x5a83fd){let _0x4b0ef6=_0x3a5969[_0x5a83fd];this[_0x5bd4bd(0x322)]['#'+_0x4b0ef6]=_0x36191d;}}Object[_0x5bd4bd(0x2bc)](this['place2ad'])[_0x5bd4bd(0x318)]>0x0&&(console[_0x5bd4bd(0x38e)](_0x5bd4bd(0x1a5),this[_0x5bd4bd(0x1d8)]),console[_0x5bd4bd(0x38e)](_0x5bd4bd(0x378),this[_0x5bd4bd(0x322)]),setTimeout(()=>{this['MakeSureAdPerPlace']();},0xbb8));});if(_0x119aec)_0x119aec();return;}const _0x350903=new Image();return _0x350903['crossOrigin']='Anonymous',_0x350903[_0x3174f9(0x356)]=()=>{const _0x520912=_0x3174f9;let _0x52361b=Object[_0x520912(0x2bc)](this[_0x520912(0x210)])[_0x520912(0x318)]===0x0;this['advertisementMap'][_0x187f7e]=_0x350903;_0x52361b&&(this[_0x520912(0x2cb)](_0x187f7e),this['options'][_0x520912(0x2e4)]&&(clearTimeout(this[_0x520912(0x271)]),this[_0x520912(0x1d6)]()));if(_0x119aec)_0x119aec();},_0x350903[_0x3174f9(0x367)]=()=>{alert('(\x20Security\x20)\x20We\x20cant\x20reach\x20'+_0x5e1a43+'\x20.');},_0x350903[_0x3174f9(0x1e0)]=_0x5e1a43,_0x350903;}[_0x334532(0x1a9)](){const _0x1839e0=_0x334532;if(this[_0x1839e0(0x1d8)]){let _0x5de969=Object['keys'](this[_0x1839e0(0x1d8)]);for(let _0x5079ea=0x0;_0x5079ea<_0x5de969['length'];++_0x5079ea){let _0x502c8d=_0x5de969[_0x5079ea];!this[_0x1839e0(0x1fc)][_0x502c8d]&&this['place2ad'][_0x502c8d][_0x1839e0(0x318)]>0x0&&(console[_0x1839e0(0x38e)](_0x1839e0(0x339)+this[_0x1839e0(0x1d8)][_0x502c8d][0x0]+_0x1839e0(0x24d)+_0x502c8d),this['SelectAd']('#'+this[_0x1839e0(0x1d8)][_0x502c8d][0x0]));}}}[_0x334532(0x2cb)](_0x4e1e85){const _0x7bd85=_0x334532;console[_0x7bd85(0x38e)](_0x7bd85(0x196)+_0x4e1e85);let _0x2e77ce=this[_0x7bd85(0x210)][_0x4e1e85];if(!_0x2e77ce)console['error'](_0x7bd85(0x27e)+_0x4e1e85+'\x27');else{if(this[_0x7bd85(0x322)]&&this['ad2place'][_0x4e1e85]){let _0x5db234=this[_0x7bd85(0x322)][_0x4e1e85];console['log'](_0x7bd85(0x327)+_0x5db234);let _0x410b4d=this[_0x7bd85(0x20c)](_0x5db234),_0x54dcd5='ad'+(_0x410b4d-0x1);if(this['place2AdTexture'][_0x5db234])this[_0x7bd85(0x2ac)][_0x7bd85(0x28f)](this['place2AdTexture'][_0x5db234][_0x7bd85(0x390)]);this[_0x7bd85(0x1fc)][_0x5db234]={'tex':this[_0x7bd85(0x192)](_0x2e77ce,_0x410b4d,_0x54dcd5),'texUnitId':_0x410b4d,'texName':_0x54dcd5,'name':_0x4e1e85};}else this['adTexture']!=null&&this['ctx'][_0x7bd85(0x28f)](this[_0x7bd85(0x2a6)]),this[_0x7bd85(0x2a6)]=this[_0x7bd85(0x192)](_0x2e77ce,this['TexUnitForGenericAd'](),_0x7bd85(0x1c3)),this['lastAd']=_0x2e77ce,this[_0x7bd85(0x2fc)]=_0x4e1e85;}}[_0x334532(0x291)](_0x2cb23d){const _0x12fafd=_0x334532;this['metadataMap'][_0x2cb23d[_0x12fafd(0x30e)]]=_0x2cb23d,this[_0x12fafd(0x1bc)][_0x12fafd(0x2fd)](_0x2cb23d[_0x12fafd(0x30e)]);}[_0x334532(0x361)](){const _0x5b7fbe=_0x334532;(this[_0x5b7fbe(0x1f9)]||this[_0x5b7fbe(0x381)])['call'](this)[_0x5b7fbe(0x1f7)](_0x41136d=>{const _0x2ba9ba=_0x5b7fbe;console[_0x2ba9ba(0x198)](_0x41136d);});}[_0x334532(0x24b)](){const _0x4e6f5a=_0x334532;let _0x3b8ba8=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2d5)](this[_0x4e6f5a(0x33c)],_0x4e6f5a(0x1ee)),_0x4ff99b=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x330)](this['program'],_0x4e6f5a(0x2a0)),_0x4a8d9d=this['ctx'][_0x4e6f5a(0x330)](this[_0x4e6f5a(0x33c)],_0x4e6f5a(0x2be));this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x1ef)](_0x4ff99b,this[_0x4e6f5a(0x2ac)]['canvas'][_0x4e6f5a(0x325)],this[_0x4e6f5a(0x2ac)]['canvas'][_0x4e6f5a(0x182)]),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x1ef)](_0x4a8d9d,this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b4)][_0x4e6f5a(0x325)],this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b4)][_0x4e6f5a(0x182)]);if(this['webGLVersion']==0x2){let _0x489496=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x330)](this[_0x4e6f5a(0x33c)],_0x4e6f5a(0x30a)),_0x29feb0=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this['ctx'][_0x4e6f5a(0x2ee)](_0x489496,![],_0x29feb0);}let _0x533d7d=null;this['webGLVersion']==0x2&&(_0x533d7d=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x225)](),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2c6)](_0x533d7d));let _0x380908=this['ctx'][_0x4e6f5a(0x25d)]();this[_0x4e6f5a(0x2ac)]['enableVertexAttribArray'](_0x3b8ba8),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2f7)](this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b0)],_0x380908);let _0x12e5c5=0x2,_0x1052be=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x253)],_0x174586=![],_0x4f5965=0x0,_0x42fa7b=0x0;this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x29c)](_0x3b8ba8,_0x12e5c5,_0x1052be,_0x174586,_0x4f5965,_0x42fa7b);let _0x4d20d2=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x25d)]();this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2f7)](this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b0)],_0x4d20d2),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2c1)](this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b0)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x33a)]),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2e3)](0x0,0x0,this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x2b4)]['width'],this[_0x4e6f5a(0x2ac)]['canvas'][_0x4e6f5a(0x182)]),this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x1a3)](0x0,0x0,0x0,0x0),this['ctx']['clear'](this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x236)]|this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x26b)]),this['ctx'][_0x4e6f5a(0x2f7)](this[_0x4e6f5a(0x2ac)]['ARRAY_BUFFER'],_0x380908),this[_0x4e6f5a(0x2df)](this[_0x4e6f5a(0x2ac)],0x0,0x0,this[_0x4e6f5a(0x2b4)][_0x4e6f5a(0x325)],this[_0x4e6f5a(0x2b4)][_0x4e6f5a(0x182)]);let _0x3119ea=this[_0x4e6f5a(0x2ac)][_0x4e6f5a(0x364)],_0x463b67=0x6;this['ctx'][_0x4e6f5a(0x22c)](_0x3119ea,_0x42fa7b,_0x463b67);}['SetRectangle'](_0x4e65c9,_0x2586ed,_0x4a71db,_0x28cef4,_0x48fa71){const _0x279eda=_0x334532;let _0x272d0c=_0x2586ed,_0x4f0f87=_0x2586ed+_0x28cef4,_0x1d5b1a=_0x4a71db,_0x55139b=_0x4a71db+_0x48fa71;this[_0x279eda(0x2ac)][_0x279eda(0x2c1)](this[_0x279eda(0x2ac)][_0x279eda(0x2b0)],new Float32Array([_0x272d0c,_0x1d5b1a,_0x4f0f87,_0x1d5b1a,_0x272d0c,_0x55139b,_0x272d0c,_0x55139b,_0x4f0f87,_0x1d5b1a,_0x4f0f87,_0x55139b]),this[_0x279eda(0x2ac)][_0x279eda(0x33a)]);}[_0x334532(0x388)](_0x16eaba){const _0x12fb51=_0x334532;let _0x47288a=BB[_0x12fb51(0x35a)]['TimeCodesFramesTranslator'],_0x111ef5=_0x47288a[_0x12fb51(0x301)](_0x16eaba),_0x5e5ced=_0x47288a[_0x12fb51(0x30b)](_0x111ef5,0x1,this[_0x12fb51(0x349)]),_0x362de7=_0x47288a[_0x12fb51(0x30b)](_0x111ef5,0x2,this[_0x12fb51(0x349)]),_0x280264=_0x47288a[_0x12fb51(0x31c)](_0x5e5ced),_0x590d49=_0x47288a[_0x12fb51(0x31c)](_0x362de7);this['videoStarted']=!![];const _0x7ba52f=performance[_0x12fb51(0x263)]();let _0x4bde12=null,_0x5360b5=[];if(this[_0x12fb51(0x2c3)][_0x16eaba]){_0x4bde12=this[_0x12fb51(0x2c3)][_0x16eaba];this[_0x12fb51(0x2c3)][_0x280264]&&_0x5360b5['push']({'nextVideo':this[_0x12fb51(0x2c3)][_0x280264],'nextTimeCode':_0x280264});this[_0x12fb51(0x2c3)][_0x590d49]&&_0x5360b5[_0x12fb51(0x2fd)]({'nextVideo':this[_0x12fb51(0x2c3)][_0x590d49],'nextTimeCode':_0x590d49});const _0x13eda0=this['metadataArr'][_0x12fb51(0x1cd)](_0x16eaba);if(_0x13eda0>-0x5)this[_0x12fb51(0x1bc)][_0x12fb51(0x32d)](0x0,_0x13eda0-0x4)[_0x12fb51(0x226)](_0x3f51fe=>{const _0x5974a7=_0x12fb51;delete this[_0x5974a7(0x2c3)][_0x3f51fe];});this[_0x12fb51(0x21e)]++;}else console[_0x12fb51(0x198)]('Missing\x20meta\x20data\x20at\x20time\x20code\x20'+_0x16eaba),this[_0x12fb51(0x21e)]++;this[_0x12fb51(0x21e)]>0x1e&&this[_0x12fb51(0x2b4)][_0x12fb51(0x395)][_0x12fb51(0x1d4)]==_0x12fb51(0x276)&&(this[_0x12fb51(0x2b4)][_0x12fb51(0x395)][_0x12fb51(0x1d4)]='');let _0x207efb=[];this[_0x12fb51(0x2b4)][_0x12fb51(0x325)]=0x500,this['canvas'][_0x12fb51(0x182)]=0x2d0;let _0x3796d4=0x0;this['currentAds2BoundingRect']=[];if(_0x4bde12){let _0x162174=![];if(this[_0x12fb51(0x32b)][_0x12fb51(0x315)]){var _0x3b4f8a=document[_0x12fb51(0x35c)](_0x12fb51(0x362));_0x162174=_0x3b4f8a[_0x12fb51(0x217)];}if(!_0x162174)for(const _0x57cb80 in _0x4bde12[_0x12fb51(0x319)]){const _0x3c037b=_0x4bde12['placeholders'][_0x57cb80];if(!_0x3c037b[_0x12fb51(0x275)])continue;let _0x4eb3f6=_0x12fb51(0x186)+_0x3796d4,_0x27ef4e=this[_0x12fb51(0x27f)]()+_0x3796d4;_0x3c037b['alphaTex']=this[_0x12fb51(0x192)](_0x3c037b[_0x12fb51(0x275)],_0x27ef4e,_0x4eb3f6,this[_0x12fb51(0x2ac)][_0x12fb51(0x331)],_0x3c037b['width'],_0x3c037b['height'],!![]),_0x3c037b[_0x12fb51(0x275)]=null;if(!_0x3c037b[_0x12fb51(0x1e2)]){console[_0x12fb51(0x198)](_0x12fb51(0x35f));continue;}_0x207efb[_0x12fb51(0x2fd)](_0x3c037b[_0x12fb51(0x1e2)]);let _0x2eeb28='hasLogo'+_0x3796d4,_0x199a23=this['ctx'][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x2eeb28);this[_0x12fb51(0x2ac)]['uniform1i'](_0x199a23,0x1);let _0x1f943f=_0x12fb51(0x371)+_0x3796d4,_0x526511=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this['program'],_0x1f943f),_0x3229af=![];_0x3c037b[_0x12fb51(0x1f3)][_0x12fb51(0x1cd)](_0x12fb51(0x365))>=0x0?(this[_0x12fb51(0x2ac)][_0x12fb51(0x252)](_0x526511,0x63),_0x3229af=!![]):this[_0x12fb51(0x2ac)][_0x12fb51(0x252)](_0x526511,this['TexUnitForPlaceHolder'](_0x3c037b));let _0x599ebd=_0x12fb51(0x17e)+_0x3796d4+_0x12fb51(0x303),_0x41eb40=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this['program'],_0x599ebd);this[_0x12fb51(0x2ac)][_0x12fb51(0x233)](_0x41eb40,[_0x3c037b[_0x12fb51(0x2a3)],_0x3c037b[_0x12fb51(0x26f)]]);let _0x4f7341=_0x12fb51(0x17e)+_0x3796d4+'Size',_0x401b25=this['ctx'][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x4f7341);this[_0x12fb51(0x2ac)]['uniform2fv'](_0x401b25,[_0x3c037b[_0x12fb51(0x325)],_0x3c037b[_0x12fb51(0x182)]]);let _0x40d921=_0x12fb51(0x30a)+_0x3796d4,_0x19ac71=this['ctx'][_0x12fb51(0x330)](this['program'],_0x40d921);this[_0x12fb51(0x2ac)][_0x12fb51(0x2ee)](_0x19ac71,![],_0x3c037b[_0x12fb51(0x261)]);if(!_0x3229af){let _0x254ff5={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x246231 of _0x3c037b[_0x12fb51(0x373)]){if(_0x246231['x']<_0x254ff5['l']||_0x254ff5['l']==-0x1)_0x254ff5['l']=_0x246231['x'];if(_0x246231['x']>_0x254ff5['r']||_0x254ff5['r']==-0x1)_0x254ff5['r']=_0x246231['x'];if(_0x246231['y']<_0x254ff5['t']||_0x254ff5['t']==-0x1)_0x254ff5['t']=_0x246231['y'];if(_0x246231['y']>_0x254ff5['b']||_0x254ff5['b']==-0x1)_0x254ff5['b']=_0x246231['y'];}_0x254ff5['l']/=_0x4bde12[_0x12fb51(0x2cc)][_0x12fb51(0x325)],_0x254ff5['r']/=_0x4bde12['canvasSize']['width'],_0x254ff5['t']/=_0x4bde12[_0x12fb51(0x2cc)][_0x12fb51(0x182)],_0x254ff5['b']/=_0x4bde12['canvasSize'][_0x12fb51(0x182)],this[_0x12fb51(0x19a)][_0x12fb51(0x2fd)]({'name':this[_0x12fb51(0x1b1)](_0x3c037b),'rect':_0x254ff5});}_0x3796d4++;}}else{}for(;_0x3796d4<BB[_0x12fb51(0x208)];++_0x3796d4){let _0x5a30c3=_0x12fb51(0x304)+_0x3796d4,_0x44c964=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x5a30c3);this[_0x12fb51(0x2ac)]['uniform1i'](_0x44c964,0x0);let _0x67f1b=_0x12fb51(0x186)+_0x3796d4,_0x597419=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this['program'],_0x67f1b);this[_0x12fb51(0x2ac)][_0x12fb51(0x252)](_0x597419,0x0);}if(this[_0x12fb51(0x32b)][_0x12fb51(0x17d)][_0x12fb51(0x2d1)]){let _0x5bf8b0=_0x16eaba[_0x12fb51(0x203)](':')[0x3],_0x22cee1=_0x5bf8b0[_0x12fb51(0x1cd)]('.')>=0x0?0x2:0x1,_0x4db2ff=parseInt(_0x5bf8b0[_0x12fb51(0x203)]('.')[0x0])%0xa,_0x1a42a5=_0x4db2ff+'.'+_0x22cee1,_0x2e265f=this[_0x12fb51(0x27f)]()+0x5,_0x2560d7=this[_0x12fb51(0x192)](this[_0x12fb51(0x36a)][_0x1a42a5],_0x2e265f,_0x12fb51(0x382));_0x207efb[_0x12fb51(0x2fd)](_0x2560d7);let _0x5d6c8a=_0x12fb51(0x31f),_0x8baeef=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x5d6c8a);this[_0x12fb51(0x2ac)][_0x12fb51(0x252)](_0x8baeef,0x1);let _0x2f6e42=_0x12fb51(0x1b4),_0x3680f9=this[_0x12fb51(0x2ac)][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x2f6e42);this[_0x12fb51(0x2ac)][_0x12fb51(0x233)](_0x3680f9,[0x0,0x0]);let _0x1ca604=_0x12fb51(0x377),_0x3f4a56=this['ctx'][_0x12fb51(0x330)](this[_0x12fb51(0x33c)],_0x1ca604);this[_0x12fb51(0x2ac)][_0x12fb51(0x233)](_0x3f4a56,[0xc8,0xc8]);}else{let _0x443833=_0x12fb51(0x31f),_0x1b3e8a=this[_0x12fb51(0x2ac)]['getUniformLocation'](this[_0x12fb51(0x33c)],_0x443833);this[_0x12fb51(0x2ac)][_0x12fb51(0x252)](_0x1b3e8a,0x0);}this[_0x12fb51(0x24b)]();for(const _0x21e6c6 of _0x207efb){this['ctx']['deleteTexture'](_0x21e6c6);}}[_0x334532(0x187)](){const _0x1bf52e=_0x334532;return this[_0x1bf52e(0x2b4)];}},BB['Ads']=(_0x510e58,_0x5d37aa)=>{const _0x592c8b=_0x334532;let _0x5c0bfb=[];const _0x2265f9=new BB[(_0x592c8b(0x1e7))]((_0x9153c8,_0x3e1fc6)=>{const _0x2fa7bf=_0x592c8b;switch(_0x9153c8){case _0x2fa7bf(0x306):console[_0x2fa7bf(0x38e)](_0x2fa7bf(0x1de),_0x3e1fc6);break;case _0x2fa7bf(0x265):const _0x235f93=document[_0x2fa7bf(0x35c)](_0x2fa7bf(0x1f3));_0x235f93&&(_0x235f93[_0x2fa7bf(0x1bb)]=_0x2265f9[_0x2fa7bf(0x1f3)]);break;case _0x2fa7bf(0x2b9):if(_0x3e1fc6['player']===_0x2265f9[_0x2fa7bf(0x1f3)]){if(_0x3e1fc6[_0x2fa7bf(0x1a7)]){const _0x1ec495='#external';_0x510e58[_0x2fa7bf(0x1ba)](_0x1ec495,_0x3e1fc6[_0x2fa7bf(0x1a7)],()=>{_0x510e58['SelectAd'](_0x1ec495);});}else _0x5c0bfb=_0x3e1fc6[_0x2fa7bf(0x20f)],_0x5c0bfb[_0x2fa7bf(0x318)]&&_0x510e58[_0x2fa7bf(0x2cb)](_0x5c0bfb[0x0]);}break;case'ads':_0x5c0bfb=_0x3e1fc6;_0x5c0bfb[_0x2fa7bf(0x318)]&&_0x510e58[_0x2fa7bf(0x2cb)](_0x5c0bfb[0x0]);break;}});var _0x42e378=document[_0x592c8b(0x2fb)](_0x592c8b(0x1ca));_0x42e378['src']=_0x592c8b(0x22d),document['getElementsByTagName']('head')[0x0][_0x592c8b(0x312)](_0x42e378),_0x42e378[_0x592c8b(0x356)]=function(){const _0x2082d6=_0x592c8b;_0x2265f9[_0x2082d6(0x25c)](_0x5d37aa[_0x2082d6(0x17d)][_0x2082d6(0x180)]);},_0x5d37aa[_0x592c8b(0x17d)][_0x592c8b(0x1ac)]?_0x510e58['AddAdvertisement'](_0x592c8b(0x2ff),_0x5d37aa[_0x592c8b(0x17d)][_0x592c8b(0x1ac)]):fetch('https://www.virtualott.com/ads/'+_0x5d37aa[_0x592c8b(0x17d)][_0x592c8b(0x180)])['then'](async _0x5c744d=>{const _0x53e387=_0x592c8b,_0x1ca9fb=await _0x5c744d[_0x53e387(0x2cf)]();_0x1ca9fb[_0x53e387(0x226)](_0x253896=>{const _0x22dffe=_0x53e387;_0x510e58['AddAdvertisement']('#'+_0x253896[_0x22dffe(0x1f3)],_0x253896['url']);});});},BB[_0x334532(0x37c)]=(_0x13fe22,_0x556427)=>{const _0x16d402=_0x334532;let _0x9c91ae=BB[_0x16d402(0x35a)][_0x16d402(0x375)],_0x411887=BB[_0x16d402(0x35a)][_0x16d402(0x299)](_0x13fe22[_0x16d402(0x2c2)]),_0x83e6e4,_0x4afeec,_0x5213b6=null,_0x195958=null;console[_0x16d402(0x38e)]('Project\x20name:\x20'+_0x13fe22[_0x16d402(0x200)]);const _0x46903a=_0x3aee5f=>{const _0x2a8dc0=_0x16d402;_0x83e6e4=_0x3aee5f,console[_0x2a8dc0(0x38e)](_0x2a8dc0(0x1fb)+_0x13fe22[_0x2a8dc0(0x200)]+':\x20'+_0x83e6e4),_0x4afeec&&_0x38de46(_0x4afeec);};async function _0xd1d03(){const _0x4f5c29=_0x16d402,_0x4a7c0c=await fetch(_0x13fe22[_0x4f5c29(0x37e)]),_0x24eae7=await _0x4a7c0c[_0x4f5c29(0x2cf)]();_0x46903a(_0x13fe22[_0x4f5c29(0x200)]);}_0xd1d03();const _0x697f89=_0x4e4477=>{_0x4afeec=_0x4e4477,_0x83e6e4&&_0x38de46(_0x4afeec);},_0x38de46=_0x5e8e6d=>{const _0x2a47e3=_0x16d402;if(_0x5213b6==null){console[_0x2a47e3(0x1ed)](_0x2a47e3(0x28d));let _0x2c7be1=new Blob([META_WORKER],{'type':_0x2a47e3(0x2c7)});_0x5213b6=new Worker(URL[_0x2a47e3(0x1b7)](_0x2c7be1)),_0x5213b6['onerror']=function(_0x38f2fd){const _0x5ac825=_0x2a47e3;console[_0x5ac825(0x198)](_0x5ac825(0x31e),_0x38f2fd);},_0x5213b6['addEventListener'](_0x2a47e3(0x198),function(_0x62aec6){const _0x47403e=_0x2a47e3;console[_0x47403e(0x198)](_0x47403e(0x23d),_0x62aec6['message']);});if(_0x5213b6)console[_0x2a47e3(0x1ed)](_0x2a47e3(0x1c9));else console['BBlog'](_0x2a47e3(0x215));_0x5213b6[_0x2a47e3(0x384)](_0x2a47e3(0x2e7),_0x2c2d68=>{const _0x22a8a4=_0x2a47e3;if(_0x2c2d68[_0x22a8a4(0x1ec)][_0x22a8a4(0x29f)]){}else _0x556427[_0x22a8a4(0x291)](_0x2c2d68[_0x22a8a4(0x1ec)]);});let _0x22d7d4=_0x9c91ae[_0x2a47e3(0x2a1)](_0x9c91ae['Frames2Timecode'](_0x5e8e6d,_0x411887,!![]));_0x5213b6['postMessage']({'cloudFrontURL':_0x13fe22[_0x2a47e3(0x22b)],'folderName':_0x83e6e4,'tc':_0x9c91ae[_0x2a47e3(0x31c)](_0x22d7d4,![])});}else{let _0x13d02c=_0x9c91ae[_0x2a47e3(0x2a1)](_0x9c91ae[_0x2a47e3(0x274)](_0x5e8e6d,_0x411887,!![]));_0x5213b6[_0x2a47e3(0x22e)]({'tc':_0x9c91ae['printTimecode'](_0x13d02c,![]),'enabled':_0x13fe22[_0x2a47e3(0x354)]});}};return{'setLastFrame':_0x697f89};},BB['OTTPlayer']=class{constructor(_0xb05965,_0x18c7b6,_0x5a3f9b){const _0xf731e4=_0x334532;this['video']=_0xb05965,this[_0xf731e4(0x264)]=_0x18c7b6,console[_0xf731e4(0x38e)](_0xf731e4(0x392),_0x5a3f9b),this[_0xf731e4(0x32b)]=Object['assign']({'enabled':!![],'stopAugment':![],'gameId':_0xf731e4(0x36b),'medialook':![],'allGamesURL':_0xf731e4(0x1b6),'cloudFrontURL':_0xf731e4(0x311),'mediaIdJsonURL':'https://games-prod.virtualott.com/map','offsetJsonURL':'https://games-prod.virtualott.com/offset','frameRateMode':BB[_0xf731e4(0x2e9)][_0xf731e4(0x297)],'renderingMode':BB['RenderingMode'][_0xf731e4(0x38b)],'SynchMethod':BB[_0xf731e4(0x379)][_0xf731e4(0x1be)],'debug':![],'augmentation':{'renderTimecode':!![],'offset':0x0},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x5a3f9b||{}),console[_0xf731e4(0x38e)](_0xf731e4(0x280),this[_0xf731e4(0x32b)]),this['options'][_0xf731e4(0x17d)][_0xf731e4(0x180)]=_0xf731e4(0x1b5),console[_0xf731e4(0x1ed)]=function(_0x457edd){const _0x331753=_0xf731e4;console[_0x331753(0x38e)](_0x331753(0x272)+_0x457edd);},console[_0xf731e4(0x328)]=function(_0x583d27){const _0x4da4a7=_0xf731e4;console['error'](_0x4da4a7(0x272)+_0x583d27);};function _0x2e89ae(_0x5d1771,_0x457b6c){const _0x4788e1=_0xf731e4,_0x9ffeeb=_0x5d1771[_0x4788e1(0x203)]('.')[_0x4788e1(0x35e)](Number),_0x3c6231=_0x457b6c['split']('.')[_0x4788e1(0x35e)](Number);for(let _0x41883d=0x0;_0x41883d<Math[_0x4788e1(0x350)](_0x9ffeeb['length'],_0x3c6231['length']);_0x41883d++){const _0x2a7cbc=_0x9ffeeb[_0x41883d]||0x0,_0x547e27=_0x3c6231[_0x41883d]||0x0;if(_0x2a7cbc<_0x547e27)return-0x1;else{if(_0x2a7cbc>_0x547e27)return 0x1;}}return 0x0;}this[_0xf731e4(0x22f)]();}[_0x334532(0x260)](){const _0x19dd7a=_0x334532;if(typeof globalConfig===_0x19dd7a(0x295))this[_0x19dd7a(0x32b)]=Object[_0x19dd7a(0x2ea)](this['options'],{});else this[_0x19dd7a(0x32b)]=Object[_0x19dd7a(0x2ea)](this[_0x19dd7a(0x32b)],globalConfig);this[_0x19dd7a(0x32b)][_0x19dd7a(0x17d)]['offset']=0x0,console[_0x19dd7a(0x38e)](_0x19dd7a(0x340),this['options']);if(!this[_0x19dd7a(0x32b)][_0x19dd7a(0x315)]){let _0x58ad7b=[_0x19dd7a(0x35b),_0x19dd7a(0x2ed),'forDoNotRender',_0x19dd7a(0x1e6),_0x19dd7a(0x2e8),_0x19dd7a(0x2f0),'plus05CorrectionCheckbox',_0x19dd7a(0x362),_0x19dd7a(0x273),_0x19dd7a(0x2bb)];for(let _0x6dba7c=0x0;_0x6dba7c<_0x58ad7b['length'];_0x6dba7c++){const _0x85c4fa=document[_0x19dd7a(0x35c)](_0x58ad7b[_0x6dba7c]);_0x85c4fa&&(_0x85c4fa['style'][_0x19dd7a(0x1d4)]=_0x19dd7a(0x276));}}let _0x58cb1b=BB[_0x19dd7a(0x35a)][_0x19dd7a(0x334)],_0x48059b=BB['Utils']['TimeCodesFramesTranslator'];if(this['srcFrameRate'])this[_0x19dd7a(0x268)](this[_0x19dd7a(0x264)]);this[_0x19dd7a(0x285)](this[_0x19dd7a(0x32b)][_0x19dd7a(0x200)]);}[_0x334532(0x2ec)](){const _0x418e06=_0x334532;let _0x1a53b0={};this[_0x418e06(0x2bd)]=BB[_0x418e06(0x228)](_0x1a53b0,this['video'],this[_0x418e06(0x32b)]),this[_0x418e06(0x32b)][_0x418e06(0x191)]==BB[_0x418e06(0x21c)]['Augment']&&this[_0x418e06(0x2bd)][_0x418e06(0x1fa)]();}async[_0x334532(0x22f)](){const _0x4f993e=_0x334532,_0xc97f70=new URL(document[_0x4f993e(0x2c5)]),_0x573f81=_0xc97f70[_0x4f993e(0x30c)][_0x4f993e(0x20e)](_0x4f993e(0x1c8))||'';if(_0x573f81!=='')try{const _0x154009=await fetch(_0x573f81);if(!_0x154009['ok'])throw new Error(_0x4f993e(0x363));const _0x5493d8=await _0x154009[_0x4f993e(0x2cf)]();console[_0x4f993e(0x38e)](_0x4f993e(0x32a),_0x5493d8),globalConfig=Object['assign']({},globalConfig,_0x5493d8);}catch(_0x3e15ec){console[_0x4f993e(0x198)](_0x4f993e(0x246),_0x3e15ec);}this[_0x4f993e(0x260)]();}async['fetchAndFindGameIdAndOffestFromMediaId'](_0x470489){const _0x5e2c04=_0x334532;try{const _0x103999=await fetch(this[_0x5e2c04(0x32b)][_0x5e2c04(0x229)]+'/'+_0x470489);if(!_0x103999['ok'])throw new Error(_0x5e2c04(0x18e)+_0x103999[_0x5e2c04(0x2c8)]);const _0x5111ad=await _0x103999[_0x5e2c04(0x2cf)]();if(_0x5111ad['hasOwnProperty'](_0x5e2c04(0x31b))){const _0xf7d6ea=_0x5111ad[_0x5e2c04(0x31b)];console['BBlog'](_0x5e2c04(0x1bf)+_0x470489+':\x20'+_0xf7d6ea),this[_0x5e2c04(0x32b)][_0x5e2c04(0x200)]=_0xf7d6ea,console[_0x5e2c04(0x38e)]('fetchAndFindGameIdAndOffestFromMediaId:\x20I\x20Know\x20what\x20is\x20the\x20game\x20id\x20!\x20Its\x20'+this[_0x5e2c04(0x32b)][_0x5e2c04(0x200)]+',\x20so\x20I\x27m\x20launching\x20the\x20meta-data\x20fetcher\x20web-worker'),this[_0x5e2c04(0x2ec)](),this[_0x5e2c04(0x17b)](this[_0x5e2c04(0x32b)][_0x5e2c04(0x200)]);}else console[_0x5e2c04(0x328)](_0x5e2c04(0x310)+_0x470489+'\x20not\x20found\x20in\x20JSON.'),this[_0x5e2c04(0x32b)]['stopAugment']=!![];}catch(_0x5bb85a){console[_0x5e2c04(0x328)](_0x5e2c04(0x1bd),_0x5bb85a);}}async[_0x334532(0x17b)](_0x42712f){const _0x13f7af=_0x334532;try{const _0x2cd44e=await fetch(this['options'][_0x13f7af(0x34c)]+'/'+this[_0x13f7af(0x32b)][_0x13f7af(0x200)]);!_0x2cd44e['ok']&&(console[_0x13f7af(0x1ed)](_0x13f7af(0x18e)+_0x2cd44e[_0x13f7af(0x2c8)]),setTimeout(()=>{const _0x3ebd38=_0x13f7af;this[_0x3ebd38(0x17b)](_0x42712f);},0x1388));const _0x25004f=await _0x2cd44e['json']();if(_0x25004f[_0x13f7af(0x245)](_0x13f7af(0x2d3))&&_0x25004f[_0x13f7af(0x245)](_0x13f7af(0x2a8))){const _0x29747f=_0x25004f['offset'],_0x19972c=_0x25004f[_0x13f7af(0x2a8)];_0x19972c==!![]&&(console[_0x13f7af(0x1ed)](_0x13f7af(0x26e)+_0x42712f+':\x20'+_0x29747f),this[_0x13f7af(0x32b)][_0x13f7af(0x17d)][_0x13f7af(0x2d3)]=_0x29747f,setTimeout(()=>{const _0x134ea4=_0x13f7af;this[_0x134ea4(0x17b)](_0x42712f);},0xea60));}else console['BBlog'](_0x13f7af(0x25b)+mediaID+_0x13f7af(0x1e3)),setTimeout(()=>{this['fetchOffsetForGameId'](_0x42712f);},0x1388);}catch(_0x16b0df){console[_0x13f7af(0x328)]('Error\x20fetching\x20and\x20processing\x20JSON:',_0x16b0df),setTimeout(()=>{const _0x1dde8f=_0x13f7af;this[_0x1dde8f(0x17b)](_0x42712f);},0x1388);}}[_0x334532(0x385)](_0x1d958e){const _0x48e95a=_0x334532;this[_0x48e95a(0x32b)]['enabled']=_0x1d958e;}['GetCanvas'](){const _0xeb0b3e=_0x334532;return this[_0xeb0b3e(0x2bd)][_0xeb0b3e(0x187)]();}[_0x334532(0x268)](_0x30ab35){const _0x342587=_0x334532;let _0x31339f=BB['Utils']['Platform'];switch(_0x30ab35){case 0x3c:this[_0x342587(0x32b)]['frameRateMode']=BB[_0x342587(0x2e9)][_0x342587(0x32f)];break;case 0xea60/0x3e9:case 59.94:_0x31339f[_0x342587(0x1ce)]()||_0x31339f['isAndroid']()?this[_0x342587(0x32b)][_0x342587(0x2c2)]=BB['FrameRateMode'][_0x342587(0x2d7)]:this['options'][_0x342587(0x2c2)]=BB[_0x342587(0x2e9)][_0x342587(0x2d7)];break;case 0x7530/0x3e9:case 29.97:this[_0x342587(0x32b)]['frameRateMode']=BB['FrameRateMode'][_0x342587(0x2da)];break;default:console[_0x342587(0x198)]('Unsupported\x20src\x20frame-rate:\x20'+_0x30ab35+_0x342587(0x1e9));break;}}['SetSyncPoint'](_0xe38749){const _0x33baaf=_0x334532;this[_0x33baaf(0x32b)][_0x33baaf(0x24e)]=_0xe38749;}['onNewSegment'](_0x103c18){const _0x3c0906=_0x334532;this[_0x3c0906(0x2bd)]['onNewSegmentInterface'](_0x103c18);}[_0x334532(0x19f)](_0x322faa){const _0x56deb6=_0x334532;this[_0x56deb6(0x2bd)]['onNewMetadataInterface'](_0x322faa);}};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brandbrigade/ott-bb-player",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "ott bb player",
5
5
  "main": "OTTPlayer.prod.js",
6
6
  "directories": {
package/sample.html CHANGED
@@ -189,7 +189,10 @@ function onPlaybackControlBlock(eventObj) {
189
189
  wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA_PARSED, processEvent);
190
190
  wmcMgr.addEventListener(wmcEvents.AMC_EVENT_METRICS_UPDATE, processEvent);
191
191
  wmcMgr.setPlayerKey("60a31c68-c920-42be-a74a-506d51df7233");
192
- wmcMgr.setExternalSourceParams({ sourceUrl: "https://nbablpng.akamaized.net/live/hls-itc/bbtest45/v1-121.m3u8?stSecret=rj12sw543terw32422334swees", licenseUrl: "" });
192
+ //prod
193
+ //wmcMgr.setExternalSourceParams({ sourceUrl: "https://nbablpng.akamaized.net/live/hls-itc/bbtest45/v1-121.m3u8?stSecret=rj12sw543terw32422334swees", licenseUrl: "" });
194
+ //dev
195
+ wmcMgr.setExternalSourceParams({ sourceUrl: "https://nbablpng.akamaized.net/live/hls-itc/bbtestexternal/v1-121.m3u8?stSecret=rj12sw543terw32422334swees", licenseUrl: "" });
193
196
  wmcMgr.init();
194
197
  const toggleBtn = document.getElementById("toggleBtn");
195
198
 
@@ -207,6 +210,8 @@ const URLParams = new URL(document.location);
207
210
  }
208
211
  const configJson = await response.json();
209
212
  console.log("Got the following config: ", configJson);
213
+ if (typeof globalConfig === 'undefined')
214
+ globalConfig = {};
210
215
  globalConfig = Object.assign({}, globalConfig, configJson);
211
216
  doAllStuff();
212
217