@brandbrigade/ott-bb-player 1.0.3 → 1.0.5
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 +23 -6
- package/js/OTTPlayer.prod.js +1 -1
- package/js/worker/MetaDataDownloaderThread.js +1 -1
- package/package.json +1 -1
- package/sample.html +12 -5
- package/sample_BB_stream.html +188 -0
package/README.md
CHANGED
|
@@ -34,16 +34,13 @@ To initialize the SDK, one should provide:
|
|
|
34
34
|
2. Frame rate
|
|
35
35
|
(In the future this parameter will be omitted and fetched internally with the MediaKind API)
|
|
36
36
|
|
|
37
|
-
3.
|
|
37
|
+
3. A game id: This is an identifier for the game which is shared between the NBA app and the BB DTC client to define the appropriate smart feed to be accessed
|
|
38
38
|
|
|
39
|
-
4. A
|
|
40
|
-
|
|
41
|
-
5. A channel name: The programmatic emulation channel to demonstrate the targeted ad
|
|
39
|
+
4. A channel name: The programmatic emulation channel to demonstrate the targeted ad
|
|
42
40
|
```
|
|
43
41
|
bbPlayer = new BB.OTTPlayer(
|
|
44
42
|
video, //Video Tag
|
|
45
43
|
30000/1001, // frame rate
|
|
46
|
-
wmcMgr,//MKPlayer instance
|
|
47
44
|
{ gameId:<game id>,//game id
|
|
48
45
|
augmentation:{“channelName”:”nba”}});//channel name
|
|
49
46
|
```
|
|
@@ -53,7 +50,7 @@ bbPlayer = new BB.OTTPlayer(
|
|
|
53
50
|
A test page hosted on the BB server can be accessed [here](http://bb-ott-player.s3-website-us-east-1.amazonaws.com/demo/node_modules/@brandbrigade/ott-bb-player/sample.html)
|
|
54
51
|
|
|
55
52
|
The inital configuration on the config json on the top of the sample.html page, requires:
|
|
56
|
-
1. A Stream URL. An example stream can be accessed at [this link](https://injecto-streams.s3-accelerate.amazonaws.com/hls_fileTest_tmp/index_test.m3u8)
|
|
53
|
+
1. A Stream URL. An example stream can be accessed at [this link](https://nbablpng.akamaized.net/live/hls-itc/bbtest49/v0-121.m3u8?stSecret=rj12sw543terw32422334swees) (MK Stream with MetadataEvents) or [here](https://injecto-streams.s3-accelerate.amazonaws.com/hls_fileTest_tmp/index_test.m3u8) (BB Stream without MetadataEvents)
|
|
57
54
|
2. The game id. For a test case use “arena_nba_BB_test_Lakers_long”. The game id is a convention to be agreed between the NBA App and the BrandBrigade SDK to identify the playing game.
|
|
58
55
|
3. A Channel for the programmatic ads simulation. For a test case use “nba”
|
|
59
56
|
Example:
|
|
@@ -64,6 +61,18 @@ var config = {
|
|
|
64
61
|
"channel":"nba"
|
|
65
62
|
};
|
|
66
63
|
```
|
|
64
|
+
To get Timecode information AMC_EVENT_PLAYER_METADATA and AMC_EVENT_PLAYER_SEGMENT_PLAYBACK events should be forwarded to OTTPlayer
|
|
65
|
+
```
|
|
66
|
+
function onNewMetadata(eventObj) {
|
|
67
|
+
bbPlayer.onNewMetadata(eventObj)
|
|
68
|
+
};
|
|
69
|
+
function onNewSegment(eventObj) {
|
|
70
|
+
bbPlayer.onNewSegment(eventObj);
|
|
71
|
+
};
|
|
72
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA, onNewMetadata);
|
|
73
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK, onNewSegment);
|
|
74
|
+
|
|
75
|
+
```
|
|
67
76
|
|
|
68
77
|
### Control
|
|
69
78
|
To toggle the SDK on off, use the SDK Toggle method with a boolean:
|
|
@@ -85,3 +94,11 @@ Initial version
|
|
|
85
94
|
|
|
86
95
|
### Version 1.0.3
|
|
87
96
|
Added readme.md
|
|
97
|
+
|
|
98
|
+
### Version 1.0.4
|
|
99
|
+
Added support of 59.94 streams
|
|
100
|
+
|
|
101
|
+
Added interface functions to get sync timecodes from MK MetadataEvents
|
|
102
|
+
|
|
103
|
+
### Version 1.0.5
|
|
104
|
+
Added support of Safari on Mac
|
package/js/OTTPlayer.prod.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x24410c=_0x7235;(function(_0x3c29ee,_0x47cfd4){const _0x370fda=_0x7235,_0x34e852=_0x3c29ee();while(!![]){try{const _0x3e2d74=parseInt(_0x370fda(0x2f8))/0x1+-parseInt(_0x370fda(0x1f6))/0x2*(parseInt(_0x370fda(0x1c5))/0x3)+-parseInt(_0x370fda(0x2a0))/0x4*(parseInt(_0x370fda(0x1a5))/0x5)+parseInt(_0x370fda(0x2a3))/0x6+-parseInt(_0x370fda(0x216))/0x7+parseInt(_0x370fda(0x241))/0x8*(parseInt(_0x370fda(0x2a5))/0x9)+parseInt(_0x370fda(0x1fa))/0xa;if(_0x3e2d74===_0x47cfd4)break;else _0x34e852['push'](_0x34e852['shift']());}catch(_0x3fcc24){_0x34e852['push'](_0x34e852['shift']());}}}(_0x2eed,0x233ab));function _0x7235(_0xce6d06,_0x12a263){const _0x2eeddb=_0x2eed();return _0x7235=function(_0x7235eb,_0x291feb){_0x7235eb=_0x7235eb-0x159;let _0x49490f=_0x2eeddb[_0x7235eb];return _0x49490f;},_0x7235(_0xce6d06,_0x12a263);}function _0x2eed(){const _0x5cde07=['RGBA','databrowser','TEXTURE0','autoAddIndex','#external','shift','Clicked\x20on\x20ad:\x20','fillText','createProgramFromSources','Setting\x20Callbacks','clear','json','45273fDcZia','pointer-events','NOT\x20SUPPORTED','CallBacks\x20are\x20set','hasLogo','Unsupported\x20src\x20frame-rate:\x20','OnMetaData','composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20','BlackBerry','error','clearColor','allGamesURL','round','TexUnitForGenericAd','CreateDigitImg','Silk','shaderSource','createElement','presentationTime','amd','vendor','TEXTURE_WRAP_S','open','u_resolution2','printTimecode','Platform','messageData','InitGL','getSourceFPS','Win','error::','PlayBook','NETS','corners','tex','\x20room','for\x20more\x20about\x20webgl-utils.js\x20see:','GetCanvas','enabled','split','ad2place','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','folderName','disconnect','isAndroid','a\x20Mac','Windows\x20Phone','https://www.virtualott.com','getShaderInfoLog','TimeCodeAddFrames','.json','deleteTexture','white','texParameteri','height','absolute','u_digitTopLeft','offsetTop','New\x20segment\x20(','alphaFound','AdNameForPlaceHolder','stringTime','renderAugmentation','parentElement','filter','messageroom','ARRAY_BUFFER','MakeSureAdPerPlace:\x20Set\x20default\x20image\x20','left','SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27','max','webgl','ALPHA','join\x20\x20','message','logoURL','img','mimeType','\x20so\x20should\x20navigate\x20to\x20','then','31985LRwPsu','ad2Url','roommembers\x20message:\x20','Macintosh','SHADER_TYPE','clientY','RenderingMode','js/worker/MetaDataDownloaderThread.js','urls','place2ad','isConnected','url','value','field','body','frames','Something\x20else','uniform1i','STATIC_DRAW','sort','mediaTime','deleteProgram','color:blue;font-weight:bold;','#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','UNPACK_ALIGNMENT','GenerateTexture','gameId','MAX_LOGOS','map','forEach','appendChild','channelName','33eURdhI','alpha','vertexShaderSourceV1','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','length','hasDigit','advertisementMap','PLAYER','getTime','Missing\x20meta\x20data\x20at\x20time\x20code\x20','):\x20','ctx','bufferData','TopLeft','composer::SelectAd:\x20selected\x20ad\x20is\x20','videoStarted','OTTPlayer','get','Opera','sourceFPS','\x20playing\x20at\x20','UNPACK_FLIP_Y_WEBGL','emit','RenderFrame','timeDate2TC','isApple','timeDate2TCString','onerror','random','url:\x20','getDeviceName','CLDC','Created\x20webgl1\x20context:\x20','slice','webglUtils','time','info','textContent','RenderDigits','join','lastAdName','AddAdvertisement','toDataURL','FLOAT','data','bindVertexArray','setinfo','lastAd','console','44456EpOYor','Chrome','createProgram','canvasSize','4568190sgZJbW','LINEAR','OS\x20X','uniform2f','replace','isArray','https://www.virtualott.com/ads/','getElementsByTagName','indexOf','requestAnimationFrame','onload','offs','TexUnitForPlaceHolder','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20','getContext','Android','none','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','Linux','Palm','padStart','undefined','frame','matchAll','CLAMP_TO_EDGE','videoCopier','type','pixelStorei','1315321RiiBcr','ontouchstart','Src60_MediaTime59','#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','rect','TRIANGLES','***\x20Error:\x20unknown\x20script\x20element','text','[-\x20/:;]([\x5cd._]+)','CleanGL','Internet\x20Explorer','drawArrays','u_resolution','getUTCHours','(\x20Security\x20)\x20We\x20cant\x20reach\x20','ads','adTexture','requestAnimationFrame\x20is\x20not\x20supported','key','frameDrawer','utc_','TexUnitBaseForAlpha','version','place2AdTexture','requestAnimationFrame\x20is\x20supported','BBSyncPoint','\x0a\x0a^^^\x20','log','LINK_STATUS','disconnect\x20from\x20signaling::','header','a_position','AMC_EVENT_PLAYER_METADATA','deleteShader','style','options','callback','Timecode2Frames','platform','Firefox','TEXTURE_2D','dateTime','metadataArr','986808jxaSZJ','clientWidth','getBoundingClientRect','uniform2fv','name','digitTex','getUniformLocation','push','Kindle','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','call','enableVertexAttribArray','Mozilla','insertBefore','renderTimecode','webGLVersion','renderingMode','function','useProgram','requestVideoFrameCallback','UNSIGNED_BYTE','\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','Ads','program','ads:','getProgramInfoLog','timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20','assign','match','MSIE','isWindows','msMaxTouchPoints','getShaderSource','TexUnitForAdInPlace','Size','now','bottom','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','toString','metadata','VERTEX_SHADER','display','fragmentShaderSource','texImage2D','timeCodeStr2TimeCodeArray','getUTCSeconds','getElementById','MetaDataFetcher','catch','Connect','an\x20iPhone','Socket','FPS\x20not\x20supported','MakeSureAdPerPlace','TimeCodeArray2TimeCodeJson','abs','src','generateMipmap','createVertexArray','playerTime','bindBuffer','***\x20Error:\x20unknown\x20shader\x20type','Windows','%c%s','BBlog','test','uniformMatrix3fv','offsetLeft','createBuffer','None','top','getShaderParameter','timecode','toLowerCase','userAgent','DEPTH_BUFFER_BIT','_nextAdvertisement','canvas','Failed\x20to\x20create\x20alpha\x20texture','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','alphaAsUint8Array','Anonymous','x-shader/x-vertex','frameRateMode','SelectAd','!!!\x20MK\x20version\x20is\x20lower\x20than\x20required.\x20Normal\x20operation\x20is\x20not\x20guaranteed!','compileShader','eventType','Augmenter','metadataMap','tranform','Composer3d','digitImg','FrameRateMode','COLOR_BUFFER_BIT','32lYHyMY','Safari','TEXTURE_MAG_FILTER','14658qBtHdm','a\x20Windows\x20PC','9ZwAxKd','includes','linkProgram','script','substring','Error\x20in\x20program\x20linking:\x20','Src59_MediaTime60','RenderTimecode','SyncPoint','fragmentShaderSourceV1','fps','playbackTime','activeTexture','OnNewSegment','Augment','PalmOS','Frames2Timecode','SetRectangle','getUTCMilliseconds','syncPoint','Src29_MediaTime29','toISOString','Src60_MediaTime60','getSdkVersion','getAttribLocation','postMessage','width','nextSibling','iPad','TimeCodesFramesTranslator','keys','addEventListener','currentAds2BoundingRect','augmentation','30px\x20Arial','OnUserClickOnCanvas','opera','getUTCMinutes','charCodeAt','\x20for\x20place\x20','u_alpha','\x20version\x20','createShader','right','TEXTURE_WRAP_T','http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html','x-shader/x-fragment','FRAGMENT_SHADER','SynchMethod','alphaTex','Mac','We\x20are\x20HERE:TimeCode','click','blur','maxTouchPoints','SetSyncPoint','isPowerOf2','iPhone','TEXTURE_MIN_FILTER','Src59_MediaTime59','adForLogo','getCanvas','iOS','Utils','floor','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','appVersion','maskY','Checking\x20window\x20and\x20methods','position','matchItem'];_0x2eed=function(){return _0x5cde07;};return _0x2eed();}let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';(function(_0xe99596,_0x32cb57){const _0x30f676=_0x7235;typeof define===_0x30f676(0x252)&&define[_0x30f676(0x168)]?define([],function(){const _0x2075c4=_0x30f676;return _0x32cb57[_0x2075c4(0x24b)](_0xe99596);}):_0xe99596[_0x30f676(0x1e7)]=_0x32cb57[_0x30f676(0x24b)](_0xe99596);}(this,function(){'use strict';const _0xac4f58=_0x7235;const _0x132e8f=this;function _0x3dce89(_0x5cfb6e){return _0x5cfb6e=_0x5cfb6e||_0x132e8f,_0x5cfb6e!==_0x5cfb6e['top'];}!_0x3dce89()&&(console['log'](_0xac4f58(0x280),_0xac4f58(0x1bb),_0xac4f58(0x179)),console['log'](_0xac4f58(0x280),'color:blue;font-weight:bold;',_0xac4f58(0x2d2)));function _0x3908a4(_0x3768ce){const _0x52a38f=_0xac4f58;if(_0x132e8f[_0x52a38f(0x1f5)]){if(_0x132e8f[_0x52a38f(0x1f5)][_0x52a38f(0x15e)])_0x132e8f[_0x52a38f(0x1f5)][_0x52a38f(0x15e)](_0x3768ce);else _0x132e8f[_0x52a38f(0x1f5)][_0x52a38f(0x231)]&&_0x132e8f[_0x52a38f(0x1f5)]['log'](_0x3768ce);}}const _0x5c6efc=/ERROR:\s*\d+:(\d+)/gi;function _0x132e32(_0x4450d8,_0x27830b=''){const _0x395be8=_0xac4f58,_0x410880=[..._0x27830b[_0x395be8(0x211)](_0x5c6efc)],_0x1b3406=new Map(_0x410880[_0x395be8(0x1c1)]((_0xa0b6d8,_0x5492fa)=>{const _0x104512=_0x395be8,_0x499594=parseInt(_0xa0b6d8[0x1]),_0x5ef669=_0x410880[_0x5492fa+0x1],_0x563eb1=_0x5ef669?_0x5ef669['index']:_0x27830b[_0x104512(0x1c9)],_0x4bc377=_0x27830b['substring'](_0xa0b6d8['index'],_0x563eb1);return[_0x499594-0x1,_0x4bc377];}));return _0x4450d8[_0x395be8(0x17c)]('\x0a')[_0x395be8(0x1c1)]((_0x35091b,_0x40cb83)=>{const _0x1ee70a=_0x395be8,_0x3378dd=_0x1b3406[_0x1ee70a(0x1d6)](_0x40cb83);return _0x40cb83+0x1+':\x20'+_0x35091b+(_0x3378dd?_0x1ee70a(0x230)+_0x3378dd:'');})[_0x395be8(0x1ec)]('\x0a');}function _0x3b0921(_0x231383,_0x4a43e8,_0x5347f9,_0x402393){const _0x125c0f=_0xac4f58,_0x4c70b4=_0x402393||_0x3908a4,_0x2f0b31=_0x231383[_0x125c0f(0x2cf)](_0x5347f9);_0x231383[_0x125c0f(0x165)](_0x2f0b31,_0x4a43e8),_0x231383[_0x125c0f(0x297)](_0x2f0b31);const _0x33ec2e=_0x231383['getShaderParameter'](_0x2f0b31,_0x231383['COMPILE_STATUS']);if(!_0x33ec2e){const _0xd0ac44=_0x231383[_0x125c0f(0x185)](_0x2f0b31);return _0x4c70b4('Error\x20compiling\x20shader:\x20'+_0xd0ac44+'\x0a'+_0x132e32(_0x4a43e8,_0xd0ac44)),_0x231383[_0x125c0f(0x237)](_0x2f0b31),null;}return _0x2f0b31;}function _0x2b0898(_0x2cbd68,_0x5b5af7,_0x1e0278,_0x576990,_0x5aa34d){const _0x19c3c7=_0xac4f58,_0x117767=_0x5aa34d||_0x3908a4,_0x7a7bc4=_0x2cbd68[_0x19c3c7(0x1f8)]();_0x5b5af7[_0x19c3c7(0x1c2)](function(_0x16044e){_0x2cbd68['attachShader'](_0x7a7bc4,_0x16044e);});_0x1e0278&&_0x1e0278[_0x19c3c7(0x1c2)](function(_0x339c31,_0x270140){_0x2cbd68['bindAttribLocation'](_0x7a7bc4,_0x576990?_0x576990[_0x270140]:_0x270140,_0x339c31);});_0x2cbd68[_0x19c3c7(0x2a7)](_0x7a7bc4);const _0x2f0428=_0x2cbd68['getProgramParameter'](_0x7a7bc4,_0x2cbd68[_0x19c3c7(0x232)]);if(!_0x2f0428){const _0x48151e=_0x2cbd68[_0x19c3c7(0x25a)](_0x7a7bc4);return _0x117767(_0x19c3c7(0x2aa)+_0x48151e+'\x0a'+_0x5b5af7[_0x19c3c7(0x1c1)](_0x5011f6=>{const _0x1312c5=_0x19c3c7,_0xae9fe2=_0x132e32(_0x2cbd68[_0x1312c5(0x261)](_0x5011f6)),_0x2a09cb=_0x2cbd68[_0x1312c5(0x288)](_0x5011f6,_0x2cbd68[_0x1312c5(0x1a9)]);return glEnumToString(_0x2cbd68,_0x2a09cb)+':\x0a'+_0xae9fe2;})['join']('\x0a')),_0x2cbd68[_0x19c3c7(0x1ba)](_0x7a7bc4),null;}return _0x7a7bc4;}function _0x4f95e0(_0x11364f,_0x19218f,_0x5a3741,_0x590a92){const _0x3d0b7e=_0xac4f58;let _0x36ddc4='',_0x3c8980;const _0x27ed2d=document[_0x3d0b7e(0x26f)](_0x19218f);if(!_0x27ed2d)throw _0x3d0b7e(0x21c)+_0x19218f;_0x36ddc4=_0x27ed2d[_0x3d0b7e(0x21d)];if(!_0x5a3741){if(_0x27ed2d[_0x3d0b7e(0x214)]===_0x3d0b7e(0x293))_0x3c8980=_0x11364f[_0x3d0b7e(0x269)];else{if(_0x27ed2d[_0x3d0b7e(0x214)]===_0x3d0b7e(0x2d3))_0x3c8980=_0x11364f[_0x3d0b7e(0x2d4)];else{if(_0x3c8980!==_0x11364f[_0x3d0b7e(0x269)]&&_0x3c8980!==_0x11364f['FRAGMENT_SHADER'])throw _0x3d0b7e(0x27e);}}}return _0x3b0921(_0x11364f,_0x36ddc4,_0x5a3741?_0x5a3741:_0x3c8980,_0x590a92);}const _0x5f51ef=[_0xac4f58(0x269),_0xac4f58(0x2d4)];function _0x455b21(_0x2debd1,_0x157314,_0x4eaee5,_0x42e03e,_0x43609a){const _0x16fcb1=_0xac4f58,_0x1c50b8=[];for(let _0x4dc167=0x0;_0x4dc167<_0x157314[_0x16fcb1(0x1c9)];++_0x4dc167){_0x1c50b8[_0x16fcb1(0x248)](_0x4f95e0(_0x2debd1,_0x157314[_0x4dc167],_0x2debd1[_0x5f51ef[_0x4dc167]],_0x43609a));}return _0x2b0898(_0x2debd1,_0x1c50b8,_0x4eaee5,_0x42e03e,_0x43609a);}function _0x4166aa(_0x386008,_0x7ca3a6,_0xe361a8,_0x564c40,_0x75a77a){const _0x27d295=_0xac4f58,_0xda6cba=[];for(let _0x10f638=0x0;_0x10f638<_0x7ca3a6[_0x27d295(0x1c9)];++_0x10f638){_0xda6cba[_0x27d295(0x248)](_0x3b0921(_0x386008,_0x7ca3a6[_0x10f638],_0x386008[_0x5f51ef[_0x10f638]],_0x75a77a));}return _0x2b0898(_0x386008,_0xda6cba,_0xe361a8,_0x564c40,_0x75a77a);}function _0x10dfcc(_0x4a65c8,_0x24524c){const _0x2b4b78=_0xac4f58;_0x24524c=_0x24524c||0x1;const _0x538d87=_0x4a65c8[_0x2b4b78(0x242)]*_0x24524c|0x0,_0x344470=_0x4a65c8['clientHeight']*_0x24524c|0x0;if(_0x4a65c8[_0x2b4b78(0x2bf)]!==_0x538d87||_0x4a65c8[_0x2b4b78(0x18b)]!==_0x344470)return _0x4a65c8[_0x2b4b78(0x2bf)]=_0x538d87,_0x4a65c8[_0x2b4b78(0x18b)]=_0x344470,!![];return![];}return{'createProgram':_0x2b0898,'createProgramFromScripts':_0x455b21,'createProgramFromSources':_0x4166aa,'resizeCanvasToDisplaySize':_0x10dfcc};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x24410c(0x1bc),'fragmentShaderSource':_0x24410c(0x219),'vertexShaderSourceV1':_0x24410c(0x256),'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[_0x24410c(0x29e)]={'Src60_MediaTime60':Symbol(_0x24410c(0x2bb)),'Src59_MediaTime60':Symbol('Src59_MediaTime60'),'Src59_MediaTime59':Symbol(_0x24410c(0x2e0)),'Src29_MediaTime29':Symbol(_0x24410c(0x2b9))},BB[_0x24410c(0x1ab)]={'RenderDigits':Symbol(_0x24410c(0x1eb)),'RenderTimecode':Symbol('RenderTimecode'),'Augment':Symbol(_0x24410c(0x2b3))},BB['SynchMethod']={'OnNewSegment':Symbol(_0x24410c(0x2b2)),'OnMetadata':Symbol('OnMetadata'),'None':Symbol(_0x24410c(0x286))},BB[_0x24410c(0x2e4)]=((()=>{const _0x43ad05=_0x593d1c=>{const _0x432ac0=_0x7235;return _0x593d1c[_0x432ac0(0x267)]()[_0x432ac0(0x20e)](0x2,'0');},_0x4db9a8=((()=>{const _0x3fc34b=(_0x5cff3f,_0x2bd849,_0x3b1160)=>{const _0x171a2a=_0x7235;let _0x395a3c='';if(Array[_0x171a2a(0x1ff)](_0x5cff3f)){_0x395a3c=[_0x43ad05(_0x5cff3f[0x0]),_0x43ad05(_0x5cff3f[0x1]),_0x43ad05(_0x5cff3f[0x2]),_0x43ad05(_0x5cff3f[0x3])][_0x171a2a(0x1ec)](':');if(_0x3b1160==!![]){if(_0x5cff3f[0x4]==0x1&&(_0x2bd849===undefined||_0x2bd849))_0x395a3c+='.2';else _0x395a3c+='.1';}else{if(_0x5cff3f[0x4]==0x1&&(_0x2bd849===undefined||_0x2bd849))_0x395a3c+='.1';}}else{const _0x19fede=':';_0x395a3c=('0'+_0x5cff3f['h'])['slice'](-0x2)+_0x19fede+('0'+_0x5cff3f['m'])[_0x171a2a(0x1e6)](-0x2)+_0x19fede+('0'+_0x5cff3f['s'])[_0x171a2a(0x1e6)](-0x2)+_0x19fede+('0'+_0x5cff3f['f'])['slice'](-0x2);if(_0x2bd849)_0x395a3c+='.'+(_0x5cff3f[_0x171a2a(0x1b2)]?'1':'2');}return _0x395a3c;},_0x4267ca=_0x31a340=>{const _0x321ed2=_0x7235;let _0x54b713=_0x31a340[_0x321ed2(0x17c)](':');if(_0x54b713['length']!=0x4)return console['error'](_0x321ed2(0x25b)+_0x31a340),[0x0,0x0,0x0,0x0,0x0];let _0x37a15a=[parseInt(_0x54b713[0x0]),parseInt(_0x54b713[0x1]),parseInt(_0x54b713[0x2])];if(_0x54b713[0x3][_0x321ed2(0x202)]('.')>=0x0){let _0x2c0699=_0x54b713[0x3][_0x321ed2(0x17c)]('.');_0x37a15a['push'](parseInt(_0x2c0699[0x0])),_0x37a15a[_0x321ed2(0x248)](parseInt(_0x2c0699[0x1]));}else _0x37a15a['push'](parseInt(_0x54b713[0x3])),_0x37a15a[_0x321ed2(0x248)](0x0);return _0x37a15a;},_0x3c4cbb=(_0x286f9f,_0x49c372,_0x557def)=>{const _0x2f0e97=_0x7235;let _0x292743=0x3c,_0x4b09bb=0x0;if(Math[_0x2f0e97(0x2e5)](_0x49c372)==0x3c)_0x292743=0x3c,_0x4b09bb=0x0;else{if(Math[_0x2f0e97(0x2e5)](_0x49c372)==0x3b)_0x292743=0x3c,_0x4b09bb=0x4;else{if(Math[_0x2f0e97(0x2e5)](_0x49c372)==0x1e)_0x292743=0x1e,_0x4b09bb=0x0;else Math['floor'](_0x49c372)==0x1d&&(_0x292743=0x1e,_0x4b09bb=0x2);}}let _0x3ca350=0x0,_0x47318a=Math[_0x2f0e97(0x2e5)](_0x49c372*0x3c),_0x18a77a=Math[_0x2f0e97(0x2e5)](_0x49c372*0x3c*0xa),_0x2d3de5=_0x18a77a*0x6,_0x58d40f=_0x286f9f[0x0],_0x1ef009=_0x286f9f[0x1],_0x2387b5=_0x286f9f[0x2],_0x4a8ea2=_0x286f9f[0x3],_0x233504=_0x286f9f[0x4];_0x3ca350+=_0x58d40f*_0x2d3de5,_0x3ca350+=_0x1ef009*(_0x292743*0x3c),_0x3ca350+=_0x2387b5*_0x292743;if(_0x557def)_0x3ca350+=_0x4a8ea2*0x2+_0x233504;else _0x3ca350+=_0x4a8ea2;return _0x3ca350-=_0x4b09bb*_0x1ef009,_0x3ca350+=_0x4b09bb*Math[_0x2f0e97(0x2e5)](_0x1ef009/0xa),_0x3ca350;},_0xafbc90=(_0x23e2a9,_0x3f7f5e,_0x3ebca0)=>{const _0x2a34be=_0x7235;let _0x391e9a=0x3c,_0x3ce813=0x0;if(Math[_0x2a34be(0x2e5)](_0x3f7f5e)==0x3c)_0x391e9a=0x3c,_0x3ce813=0x0;else{if(Math[_0x2a34be(0x2e5)](_0x3f7f5e)==0x3b)_0x391e9a=0x3c,_0x3ce813=0x4;else{if(Math['floor'](_0x3f7f5e)==0x1e)_0x391e9a=0x1e,_0x3ce813=0x0;else Math[_0x2a34be(0x2e5)](_0x3f7f5e)==0x1d&&(_0x391e9a=0x1e,_0x3ce813=0x2);}}let _0x48cc3=0x0,_0x27764d=Math['floor'](_0x3f7f5e*0x3c),_0x56b4a1=Math['floor'](_0x3f7f5e*0x3c*0xa),_0x1ebab1=_0x56b4a1*0x6,_0x18b6ec=_0x23e2a9,_0x572f17=Math[_0x2a34be(0x2e5)](_0x18b6ec/_0x1ebab1);_0x18b6ec-=_0x572f17*_0x1ebab1;let _0x57fd6a=Math[_0x2a34be(0x2e5)](_0x18b6ec/_0x56b4a1);_0x18b6ec-=_0x57fd6a*_0x56b4a1;if(_0x18b6ec>=_0x391e9a*0x3c)_0x18b6ec+=_0x3ce813*(Math[_0x2a34be(0x2e5)]((_0x18b6ec-_0x391e9a*0x3c)/_0x27764d)+0x1);let _0x5f23aa=Math[_0x2a34be(0x2e5)](_0x18b6ec/(_0x391e9a*0x3c));_0x18b6ec-=_0x5f23aa*(_0x391e9a*0x3c);let _0x59bc60=Math[_0x2a34be(0x2e5)](_0x18b6ec/_0x391e9a);_0x18b6ec-=_0x59bc60*_0x391e9a;let _0x1ce027=_0x18b6ec;_0x5f23aa+=_0x57fd6a*0xa,dotOne=0x0;_0x3ebca0&&(dotOne=_0x1ce027%0x2,_0x1ce027=Math[_0x2a34be(0x2e5)](_0x1ce027/0x2));let _0x2a3372=[_0x572f17,_0x5f23aa,_0x59bc60,_0x1ce027,dotOne];return _0x2a3372;},_0x2c23ae=(_0x5738f9,_0x372080,_0x45becf)=>{let _0x407d62=_0x45becf>0x1e,_0x3adb1f=_0x3c4cbb(_0x5738f9,_0x45becf,_0x407d62);return _0x3adb1f+=_0x372080,_0xafbc90(_0x3adb1f,_0x45becf,_0x407d62);},_0x3de267=_0x3f879a=>{return{'h':_0x3f879a[0x0],'m':_0x3f879a[0x1],'s':_0x3f879a[0x2],'f':_0x3f879a[0x3],'field':_0x3f879a[0x4]};},_0x3c0a0d=(_0x335d37,_0x5d6804)=>{const _0x53fd27=_0x7235;let _0x4da958=BB['Utils'][_0x53fd27(0x1dd)](_0x335d37,_0x5d6804);return _0x5d6804>0x3b?BB[_0x53fd27(0x2e4)]['TimeCodesFramesTranslator']['printTimecode'](tcFromMessage,!![]):BB[_0x53fd27(0x2e4)][_0x53fd27(0x2c2)][_0x53fd27(0x16d)](tcFromMessage,![]);let _0x665038=BB['Utils']['Platform'],_0x32f586='';_0x665038[_0x53fd27(0x1de)]()?_0x32f586=_0x335d37:_0x32f586=_0x335d37['toISOString']();let _0x302024=_0x32f586[_0x53fd27(0x17c)]('T')[0x1],_0x3d73ef=_0x302024[_0x53fd27(0x17c)](':'),_0x4c8c03=parseInt(_0x3d73ef[0x0]),_0x526bd7=parseInt(_0x3d73ef[0x1]),_0xa642c8=_0x3d73ef[0x2][_0x53fd27(0x17c)]('.'),_0x5d29c3=parseInt(_0xa642c8[0x0]),_0x48c9cc=parseInt(_0xa642c8[0x1][_0x53fd27(0x2a9)](0x0,0x3)),_0x369595=Math['round'](_0x48c9cc/0x3e8*_0x5d6804);if(_0x5d6804>0x3b){let _0x1c0b5e=_0x369595%0x2==0x0?0x1:0x2;_0x369595=Math[_0x53fd27(0x2e5)](_0x369595/0x2);let _0x5b991f=_0x4c8c03[_0x53fd27(0x267)]()[_0x53fd27(0x20e)](0x2,'0')+':'+_0x526bd7[_0x53fd27(0x267)]()[_0x53fd27(0x20e)](0x2,'0')+':'+_0x5d29c3['toString']()[_0x53fd27(0x20e)](0x2,'0')+':'+_0x369595[_0x53fd27(0x267)]()[_0x53fd27(0x20e)](0x2,'0')+'.'+_0x1c0b5e['toString']();return _0x5b991f;}else{let _0x5c9640=_0x4c8c03[_0x53fd27(0x267)]()[_0x53fd27(0x20e)](0x2,'0')+':'+_0x526bd7['toString']()[_0x53fd27(0x20e)](0x2,'0')+':'+_0x5d29c3[_0x53fd27(0x267)]()['padStart'](0x2,'0')+':'+_0x369595[_0x53fd27(0x267)]()[_0x53fd27(0x20e)](0x2,'0');return _0x5c9640;}return str;},_0x27c7c1=(_0x5bc35e,_0x48a035)=>{const _0x1ef1dd=_0x7235;let _0x26a3ca=BB[_0x1ef1dd(0x2e4)][_0x1ef1dd(0x16e)],_0x2c350f='';_0x26a3ca['isApple']()?_0x2c350f=_0x5bc35e:_0x2c350f=_0x5bc35e[_0x1ef1dd(0x2ba)]();let _0x44bd14=_0x2c350f[_0x1ef1dd(0x17c)]('T')[0x1],_0x5a9770=_0x44bd14[_0x1ef1dd(0x17c)](':'),_0x47690b=parseInt(_0x5a9770[0x0]),_0x1f0752=parseInt(_0x5a9770[0x1]),_0x1b87ac=_0x5a9770[0x2]['split']('.'),_0x299137=parseInt(_0x1b87ac[0x0]),_0x13df77=parseInt(_0x1b87ac[0x1][_0x1ef1dd(0x2a9)](0x0,0x3));if(_0x48a035>0x3b){let _0x519cb7=Math[_0x1ef1dd(0x161)]((_0x13df77/0x3e8+_0x299137+_0x1f0752*0x3c+_0x47690b*0x3c*0x3c)*_0x48a035),_0x2c0783=BB[_0x1ef1dd(0x2e4)][_0x1ef1dd(0x2c2)][_0x1ef1dd(0x2b5)](_0x519cb7,_0x48a035,!![]);return _0x2c0783;}else{let _0x258cca=Math[_0x1ef1dd(0x161)]((_0x13df77/0x3e8+_0x299137+_0x1f0752*0x3c+_0x47690b*0x3c*0x3c)*_0x48a035),_0x15211c=BB[_0x1ef1dd(0x2e4)][_0x1ef1dd(0x2c2)][_0x1ef1dd(0x2b5)](_0x258cca,_0x48a035,![]);return _0x15211c;}};return{'printTimecode':_0x3fc34b,'timeCodeStr2TimeCodeArray':_0x4267ca,'Timecode2Frames':_0x3c4cbb,'Frames2Timecode':_0xafbc90,'TimeCodeAddFrames':_0x2c23ae,'TimeCodeArray2TimeCodeJson':_0x3de267,'timeDate2TCString':_0x3c0a0d,'timeDate2TC':_0x27c7c1};})()),_0x40a505=_0x295b30=>{let _0x316a85=_0x295b30||0x2540be3ff,_0x2c74e6=[],_0x12747f=0x0;const _0x3973bb=_0x5c2796=>{const _0x2243dd=_0x7235;++_0x12747f,_0x2c74e6['push'](_0x5c2796);while(_0x2c74e6['length']>_0x316a85)_0x2c74e6[_0x2243dd(0x2f1)]();},_0x447dbe=()=>{const _0x3f797c=_0x7235;if(_0x2c74e6['length']==0x0)return-0x1;let _0x4324c4=Array['from'](_0x2c74e6)[_0x3f797c(0x1b8)]((_0x16d315,_0x2dff15)=>{return _0x16d315-_0x2dff15;});return _0x4324c4[parseInt(_0x4324c4['length']/0x2)];},_0x51f5fc=()=>{return _0x12747f;};return{'add':_0x3973bb,'getMedian':_0x447dbe,'howMany':_0x51f5fc};},_0x2b1d99=((()=>{const _0x112deb=()=>{const _0x2aa4d5=_0x7235,_0x246329=navigator[_0x2aa4d5(0x28b)];if(/windows/i[_0x2aa4d5(0x282)](_0x246329))return _0x2aa4d5(0x27f);else{if(/android/i[_0x2aa4d5(0x282)](_0x246329))return _0x2aa4d5(0x209);else{if(/iphone|ipad|ipod/i['test'](_0x246329))return'iOS';else{if(/mac/i[_0x2aa4d5(0x282)](_0x246329)){let _0x3f11e0=_0x2aa4d5(0x217)in window||navigator[_0x2aa4d5(0x2db)]>0x0||navigator[_0x2aa4d5(0x260)]>0x0;if(_0x3f11e0)return'iPad';else return _0x2aa4d5(0x2d7);}else return/ipad/i[_0x2aa4d5(0x282)](_0x246329)?_0x2aa4d5(0x2c1):_0x2aa4d5(0x1b5);}}}},_0x11c2f8=()=>{const _0xb2b677=_0x7235;let _0x433edc=_0x112deb();return _0x433edc==_0xb2b677(0x2d7);},_0x1964af=()=>{const _0x457f32=_0x7235;let _0x14652c=_0x112deb();return _0x14652c==_0x457f32(0x2c1);},_0x56bb34=()=>{const _0xd1f32f=_0x7235;let _0x2479ba=_0x112deb();return _0x2479ba==_0xd1f32f(0x2e3);},_0x50dc75=()=>{const _0x580033=_0x7235;let _0x3562bf=_0x112deb();return _0x3562bf==_0x580033(0x2e3)||_0x3562bf==_0x580033(0x2d7)||_0x3562bf==_0x580033(0x2c1);},_0x276440=()=>{let _0xab409a=_0x112deb();return _0xab409a=='Windows';},_0x634df9=()=>{const _0x8659ed=_0x7235;let _0x5db7c9=_0x112deb();return _0x5db7c9==_0x8659ed(0x209);},_0x5bf012=()=>{const _0x1ad7ad=_0x7235;let _0x1395c6=_0x112deb();if(_0x1395c6==_0x1ad7ad(0x27f))return _0x1ad7ad(0x2a4);else{if(_0x1395c6==_0x1ad7ad(0x209))return'an\x20Android\x20phone';else{if(_0x1395c6==_0x1ad7ad(0x2e3))return _0x1ad7ad(0x273);else{if(_0x1395c6==_0x1ad7ad(0x2d7))return _0x1ad7ad(0x182);else{if(_0x1395c6==_0x1ad7ad(0x2c1))return'an\x20iPad';else return'an\x20Unknown\x20device';}}}}},_0x2d5cd1=()=>{const _0x1018be=_0x7235;let _0x452290={'options':[],'header':[navigator[_0x1018be(0x23c)],navigator[_0x1018be(0x28b)],navigator[_0x1018be(0x2e7)],navigator[_0x1018be(0x169)],window[_0x1018be(0x2c9)]],'dataos':[{'name':_0x1018be(0x183),'value':_0x1018be(0x183),'version':'OS'},{'name':_0x1018be(0x27f),'value':_0x1018be(0x172),'version':'NT'},{'name':_0x1018be(0x2de),'value':_0x1018be(0x2de),'version':'OS'},{'name':_0x1018be(0x2c1),'value':_0x1018be(0x2c1),'version':'OS'},{'name':_0x1018be(0x249),'value':_0x1018be(0x164),'version':_0x1018be(0x164)},{'name':_0x1018be(0x209),'value':_0x1018be(0x209),'version':'Android'},{'name':'PlayBook','value':_0x1018be(0x174),'version':'OS'},{'name':_0x1018be(0x15d),'value':_0x1018be(0x15d),'version':'/'},{'name':_0x1018be(0x1a8),'value':_0x1018be(0x2d7),'version':_0x1018be(0x1fc)},{'name':_0x1018be(0x20c),'value':_0x1018be(0x20c),'version':'rv'},{'name':_0x1018be(0x20d),'value':_0x1018be(0x20d),'version':_0x1018be(0x2b4)}],'databrowser':[{'name':'Chrome','value':_0x1018be(0x1f7),'version':_0x1018be(0x1f7)},{'name':_0x1018be(0x23d),'value':'Firefox','version':_0x1018be(0x23d)},{'name':_0x1018be(0x2a1),'value':_0x1018be(0x2a1),'version':'Version'},{'name':_0x1018be(0x220),'value':'MSIE','version':_0x1018be(0x25e)},{'name':_0x1018be(0x1d7),'value':_0x1018be(0x1d7),'version':'Opera'},{'name':_0x1018be(0x15d),'value':_0x1018be(0x1e4),'version':_0x1018be(0x1e4)},{'name':_0x1018be(0x24d),'value':_0x1018be(0x24d),'version':_0x1018be(0x24d)}],'init':function(){const _0x4ee9e2=_0x1018be;let _0x552b72=this[_0x4ee9e2(0x234)]['join']('\x20'),_0x3efba8=this[_0x4ee9e2(0x2eb)](_0x552b72,this['dataos']),_0x41fb7e=this[_0x4ee9e2(0x2eb)](_0x552b72,this[_0x4ee9e2(0x2ed)]);return{'os':_0x3efba8,'browser':_0x41fb7e};},'matchItem':function(_0x16c2ee,_0x197048){const _0x2f7b4c=_0x1018be;let _0x3595c8=0x0,_0x12b541=0x0,_0x85c5eb='',_0x2d3d3d,_0x207fa8,_0x3883d3,_0x172842,_0x19b27f;for(_0x3595c8=0x0;_0x3595c8<_0x197048[_0x2f7b4c(0x1c9)];_0x3595c8+=0x1){_0x2d3d3d=new RegExp(_0x197048[_0x3595c8][_0x2f7b4c(0x1b1)],'i'),_0x3883d3=_0x2d3d3d[_0x2f7b4c(0x282)](_0x16c2ee);if(_0x3883d3){_0x207fa8=new RegExp(_0x197048[_0x3595c8][_0x2f7b4c(0x22c)]+_0x2f7b4c(0x21e),'i'),_0x172842=_0x16c2ee[_0x2f7b4c(0x25d)](_0x207fa8),_0x19b27f='';_0x172842&&(_0x172842[0x1]&&(_0x172842=_0x172842[0x1]));if(_0x172842){_0x172842=_0x172842[_0x2f7b4c(0x17c)](/[._]+/);for(_0x12b541=0x0;_0x12b541<_0x172842[_0x2f7b4c(0x1c9)];_0x12b541+=0x1){_0x12b541===0x0?_0x19b27f+=_0x172842[_0x12b541]+'.':_0x19b27f+=_0x172842[_0x12b541];}}else _0x19b27f='0';return{'name':_0x197048[_0x3595c8][_0x2f7b4c(0x245)],'version':parseFloat(_0x19b27f)};}}return{'name':'unknown','version':0x0};}},_0x94a34e=_0x452290['init']();return _0x94a34e['os'][_0x1018be(0x245)];};return{'getDeviceName':_0x2d5cd1,'getCurrentPlatform':_0x112deb,'isApple':_0x50dc75,'isWindows':_0x276440,'isAndroid':_0x634df9,'isMac':_0x11c2f8,'isiPhone':_0x56bb34,'isiPad':_0x1964af,'getDeviceDescription':_0x5bf012};})()),_0x38e472=_0x5c32ff=>{const _0x1fa80f=_0x7235;let _0x28c273=0x3c;switch(_0x5c32ff){case BB['FrameRateMode'][_0x1fa80f(0x2bb)]:_0x28c273=0x3c;break;case BB[_0x1fa80f(0x29e)][_0x1fa80f(0x2ab)]:_0x28c273=0x3c;break;case BB['FrameRateMode']['Src59_MediaTime59']:_0x28c273=0xea60/0x3e9;break;case BB[_0x1fa80f(0x29e)][_0x1fa80f(0x2b9)]:_0x28c273=0x7530/0x3e9;break;default:console['error'](_0x1fa80f(0x266));break;};return _0x28c273;},_0x289d76=_0x26261c=>{const _0x46d2ab=_0x7235;let _0x52c337=0x3c;switch(_0x26261c){case BB[_0x46d2ab(0x29e)][_0x46d2ab(0x2bb)]:_0x52c337=0x3c;break;case BB[_0x46d2ab(0x29e)][_0x46d2ab(0x2ab)]:_0x52c337=0xea60/0x3e9;break;case BB[_0x46d2ab(0x29e)][_0x46d2ab(0x2e0)]:_0x52c337=0xea60/0x3e9;break;case BB[_0x46d2ab(0x29e)][_0x46d2ab(0x2b9)]:_0x52c337=0x7530/0x3e9;break;default:console[_0x46d2ab(0x15e)]('BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode');break;};return _0x52c337;},_0x1932ca=(_0x2d280a,_0x14ad0b)=>{const _0x164985=_0x7235,_0xc6c7c0=(_0x155e1f,_0x453a28)=>{const _0x607ef9=_0x7235;if(Math[_0x607ef9(0x278)](_0x155e1f-_0x453a28)<0.01)return!![];else return![];};if(_0xc6c7c0(_0x2d280a,0x3c)){if(_0xc6c7c0(BB[_0x164985(0x2e4)][_0x164985(0x171)](_0x14ad0b[_0x164985(0x294)]),0x3c))_0x14ad0b[_0x164985(0x294)]=BB[_0x164985(0x29e)][_0x164985(0x2bb)];else{if(_0xc6c7c0(BB[_0x164985(0x2e4)][_0x164985(0x171)](_0x14ad0b[_0x164985(0x294)]),0xea60/0x3e9))_0x14ad0b['frameRateMode']=BB[_0x164985(0x29e)][_0x164985(0x2ab)];else console[_0x164985(0x15e)](_0x164985(0x24a));}}else{if(_0xc6c7c0(_0x2d280a,0xea60/0x3e9)){if(_0xc6c7c0(BB[_0x164985(0x2e4)]['getSourceFPS'](_0x14ad0b[_0x164985(0x294)]),0x3c))_0x14ad0b[_0x164985(0x294)]=BB[_0x164985(0x29e)][_0x164985(0x218)];else{if(_0xc6c7c0(BB[_0x164985(0x2e4)]['getSourceFPS'](_0x14ad0b[_0x164985(0x294)]),0xea60/0x3e9))_0x14ad0b[_0x164985(0x294)]=BB[_0x164985(0x29e)][_0x164985(0x2e0)];else console[_0x164985(0x15e)]('setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode');}}else{if(_0xc6c7c0(_0x2d280a,0x7530/0x3e9)){if(_0xc6c7c0(BB[_0x164985(0x2e4)][_0x164985(0x171)](_0x14ad0b['frameRateMode']),0x7530/0x3e9))_0x14ad0b[_0x164985(0x294)]=BB[_0x164985(0x29e)][_0x164985(0x2b9)];else console[_0x164985(0x15e)](_0x164985(0x207)+_0x2d280a);}else console[_0x164985(0x15e)](_0x164985(0x2e6));}}},_0x5b7ade=()=>{const _0x2a7a5c=[0x7530/0x3e9,0x1e/0x1],_0x2f9631=[0xea60/0x3e9,0x3c/0x1];let _0x13d0fd=[],_0x59b905=[],_0x599a80=0x0,_0x190078=-0x1,_0x5694c9=0x0;const _0x2cf842=_0x11590d=>{const _0xa70f6c=_0x7235;_0x5694c9++;let _0x48ee27=0x3e7,_0x3efee1=0x0;if(_0x190078==-0x1){_0x190078=_0x11590d;return;}else{let _0x29d780=_0x11590d-_0x190078;if(_0x599a80<0x64){_0x59b905[_0xa70f6c(0x248)](_0x29d780),_0x599a80++;return;}else _0x59b905[_0xa70f6c(0x248)](_0x29d780),_0x59b905['shift']();let _0x1fda69=0x0;for(let _0x5886ed=0x0;_0x5886ed<_0x59b905[_0xa70f6c(0x1c9)];_0x5886ed++){_0x1fda69+=_0x59b905[_0x5886ed];}_0x29d780=_0x1fda69/_0x59b905['length'];if(0x1/_0x29d780<0x28)possibleFps=_0x2a7a5c;else possibleFps=_0x2f9631;}_0x190078=_0x11590d;for(let _0x13749d=0x0;_0x13749d<possibleFps[_0xa70f6c(0x1c9)];++_0x13749d){let _0x1b8dfd=possibleFps[_0x13749d],_0x4dc8b3=_0x11590d*_0x1b8dfd,_0x699b0b=Math[_0xa70f6c(0x161)](_0x4dc8b3),_0x42f663=Math[_0xa70f6c(0x278)](_0x4dc8b3-_0x699b0b);_0x42f663<_0x48ee27&&(_0x48ee27=_0x42f663,_0x3efee1=_0x1b8dfd);}let _0x49ecef=_0x3efee1;_0x13d0fd['push'](_0x49ecef);if(_0x5694c9>0x3e8)_0x13d0fd[_0xa70f6c(0x2f1)]();},_0x5a2511=()=>{const _0x5465ee=_0x7235;let _0x28255e={},_0x4d88b6,_0x4f90c1=0x0;for(let _0x1f8c81=0x0;_0x1f8c81<_0x13d0fd[_0x5465ee(0x1c9)];_0x1f8c81++){let _0x1bacb0=_0x13d0fd[_0x1f8c81];_0x28255e[_0x1bacb0]=(_0x28255e[_0x1bacb0]||0x0)+0x1,_0x28255e[_0x1bacb0]>_0x4f90c1&&(_0x4d88b6=_0x1bacb0,_0x4f90c1=_0x28255e[_0x1bacb0]);}return _0x4d88b6;},_0x1e79e=()=>{return _0x5694c9;};return{'addTime':_0x2cf842,'getProbableFPS':_0x5a2511,'howMany':_0x1e79e};};return{'TimeCodesFramesTranslator':_0x4db9a8,'MedianCalculator':_0x40a505,'Platform':_0x2b1d99,'getMediaTimeFPS':_0x38e472,'getSourceFPS':_0x289d76,'setMediaFPS':_0x1932ca,'FPSGetter':_0x5b7ade};})()),BB[_0x24410c(0x274)]=class{constructor(_0x3d8869){const _0xae8101=_0x24410c;this[_0xae8101(0x1af)]=![],this[_0xae8101(0x17f)]='',this[_0xae8101(0x23a)]=_0x3d8869,this[_0xae8101(0x245)]='';}[_0x24410c(0x272)](_0x13c175){const _0x5f08cc=_0x24410c;if(typeof io==_0x5f08cc(0x20f)||this[_0x5f08cc(0x1af)])return;this[_0x5f08cc(0x1af)]=!![];const _0x1a705f=io(_0x5f08cc(0x184));_0x1a705f['on']('connect',()=>{const _0x8e887a=_0x5f08cc;console[_0x8e887a(0x231)]('socket\x20connected');let _0x2c10af=BB['Utils'][_0x8e887a(0x16e)];_0x1a705f[_0x8e887a(0x1db)](_0x8e887a(0x1f3),{'device':_0x2c10af[_0x8e887a(0x1e3)]()},_0x33ab3b=>{const _0x374284=_0x8e887a;this[_0x374284(0x245)]=_0x33ab3b[_0x374284(0x245)],_0x1a705f[_0x374284(0x1db)]('join',_0x13c175,_0x5dc663=>{const _0x4c1070=_0x374284;console['log'](_0x4c1070(0x19e)+_0x13c175+_0x4c1070(0x178)),this[_0x4c1070(0x23a)](_0x4c1070(0x1ec),_0x5dc663);});});}),_0x1a705f['on'](_0x5f08cc(0x15e),_0x140771=>{const _0x1aeb87=_0x5f08cc;console[_0x1aeb87(0x15e)](_0x1aeb87(0x173)+_0x140771);}),_0x1a705f['on'](_0x5f08cc(0x180),_0x797432=>{const _0x429139=_0x5f08cc;console[_0x429139(0x15e)](_0x429139(0x233)+_0x797432);}),_0x1a705f['on']('messageroom',_0x439873=>{const _0x3b6e3b=_0x5f08cc;this[_0x3b6e3b(0x23a)](_0x3b6e3b(0x196),_0x439873),console[_0x3b6e3b(0x231)]('messageroom:\x20',_0x439873);}),_0x1a705f['on'](_0x5f08cc(0x225),_0x1554ac=>{const _0x5901d7=_0x5f08cc;this[_0x5901d7(0x23a)](_0x5901d7(0x225),_0x1554ac),console[_0x5901d7(0x231)](_0x5901d7(0x259),_0x1554ac);});}},BB[_0x24410c(0x299)]=(_0x27ab57,_0x2269d5,_0x49d9af,_0x46dad7)=>{const _0x202725=_0x24410c;console[_0x202725(0x231)]('BB.Augmenter\x20Start');function _0x519cd0(_0x3c3a4e,_0x24b512){const _0x3bf042=_0x202725;let _0x227829='';if(_0x3c3a4e&&_0x3c3a4e[_0x3bf042(0x2a6)]('www.mediakind.com/NTC')){const _0x18640a=_0x3c3a4e[_0x3bf042(0x1fe)](/.*NTC./,'');let _0x4c6f66=0x0;while(_0x4c6f66+0x8<=_0x18640a[_0x3bf042(0x1c9)]){const _0x2e35dd=_0x18640a[_0x3bf042(0x2a9)](_0x4c6f66,_0x4c6f66+0x4),_0x3ce914=((_0x18640a[_0x3bf042(0x2cb)](_0x4c6f66+0x4)*0x100+_0x18640a[_0x3bf042(0x2cb)](_0x4c6f66+0x5))*0x100+_0x18640a[_0x3bf042(0x2cb)](_0x4c6f66+0x6))*0x100+_0x18640a[_0x3bf042(0x2cb)](_0x4c6f66+0x7);if(_0x4c6f66+0x8+_0x3ce914>_0x18640a[_0x3bf042(0x1c9)])break;const _0x293661=_0x18640a[_0x3bf042(0x2a9)](_0x4c6f66+0x8,_0x4c6f66+0x8+_0x3ce914);_0x2e35dd==_0x3bf042(0x22a)&&(timecodeDateTime=new Date(parseInt(_0x293661))[_0x3bf042(0x1cd)]()/0x3e8,timecodeDelta=timecodeDateTime-_0x24b512),_0x2e35dd=='tc__'&&(tcTimeStamp=new Date(parseInt(_0x293661))[_0x3bf042(0x1cd)]()),_0x2e35dd===_0x3bf042(0x205)&&(timecode_offset=parseInt(_0x293661)/0x5a,console[_0x3bf042(0x231)](_0x3bf042(0x2d8),timecode_offset)),_0x4c6f66+=0x8+_0x3ce914;}}return _0x227829;}let _0x409815=[0x0,0x0,0x0,0x0,0x0];function _0x5ab3b0(_0x2468be){const _0x6d4ee0=_0x202725;if(_0x2468be&&_0x2468be[_0x6d4ee0(0x268)]&&_0x2468be['metadata']['id']==0x0){if(_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x16f)])_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x16f)]=_0x519cd0(_0x2468be['metadata'][_0x6d4ee0(0x16f)],_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x167)]);else{if(_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x1b4)]&&_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x1b4)][_0x6d4ee0(0x1c9)]&&_0x2468be[_0x6d4ee0(0x268)]['frames'][0x0][_0x6d4ee0(0x228)]&&_0x2468be[_0x6d4ee0(0x268)]['frames'][0x0][_0x6d4ee0(0x228)]['toLowerCase']()==='priv'){const _0x1e3ea5=_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x1b4)][_0x6d4ee0(0x195)](_0x41f9cf=>{const _0x15686b=_0x6d4ee0;return _0x41f9cf['info']&&_0x41f9cf['info'][_0x15686b(0x28a)]()['includes']('ntc');});_0x1e3ea5[_0x6d4ee0(0x1c9)]&&(messageData=_0x1e3ea5[_0x1e3ea5[_0x6d4ee0(0x1c9)]-0x1][_0x6d4ee0(0x1e9)]+'\x00'+String['fromCharCode'](..._0x1e3ea5[_0x1e3ea5[_0x6d4ee0(0x1c9)]-0x1][_0x6d4ee0(0x1f1)]),_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x16f)]=_0x519cd0(messageData,_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x167)]));}}_0x2468be[_0x6d4ee0(0x268)]['id']==0x0&&(presentationTime=_0x2468be[_0x6d4ee0(0x268)][_0x6d4ee0(0x167)]*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math[_0x6d4ee0(0x161)](offsetTimeCode[_0x6d4ee0(0x2b7)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math[_0x6d4ee0(0x2e5)](offsetTimeCodeframeNumber),partoff=0x2),_0x409815=[offsetTimeCode[_0x6d4ee0(0x223)](),offsetTimeCode[_0x6d4ee0(0x2ca)](),offsetTimeCode[_0x6d4ee0(0x26e)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x3cc21d(_0x3a5531){const _0xe90849=_0x202725;if(BB[_0xe90849(0x2e4)]['getSourceFPS'](_0x46dad7[_0xe90849(0x294)])==0x7530/0x3e9){let _0x45ce8a={'frame':0x0,'playerTime':0x0};_0x45ce8a['frame']=BB[_0xe90849(0x2e4)]['TimeCodesFramesTranslator'][_0xe90849(0x23b)](_0x409815,0x7530/0x3e9,![]),_0x45ce8a[_0xe90849(0x192)]=BB[_0xe90849(0x2e4)][_0xe90849(0x2c2)]['printTimecode'](_0x409815,![],![]),console[_0xe90849(0x231)]('New\x20segment\x20('+_0x3a5531[_0xe90849(0x1b0)]+'):\x20'+_0x45ce8a[_0xe90849(0x192)]+'\x20('+_0x45ce8a[_0xe90849(0x210)]+')'+'\x20playing\x20at\x20'+_0x3a5531[_0xe90849(0x2b0)]),_0x45ce8a[_0xe90849(0x27c)]=_0x3a5531[_0xe90849(0x2b0)],_0x46dad7[_0xe90849(0x2b8)]=_0x45ce8a;}_0x3a5531[_0xe90849(0x1a2)][_0xe90849(0x2a6)]('video')&&console[_0xe90849(0x231)](_0xe90849(0x1e2)+_0x3a5531['url']);}function _0x3955d3(_0x2ba94b){const _0x108aac=_0x202725;switch(_0x2ba94b[_0x108aac(0x298)]){case wmcEvents[_0x108aac(0x1c8)]:let _0x52d186={'frame':0x0,'playerTime':0x0};BB['Utils'][_0x108aac(0x171)](_0x46dad7[_0x108aac(0x294)])==0x7530/0x3e9&&(console[_0x108aac(0x231)](_0x108aac(0x18f)+_0x2ba94b['url']+_0x108aac(0x1cf)+BB['Utils'][_0x108aac(0x2c2)][_0x108aac(0x1df)](_0x2ba94b[_0x108aac(0x23f)],0x7530/0x3e9)+_0x108aac(0x1d9)+_0x2ba94b[_0x108aac(0x2b0)]),_0x52d186[_0x108aac(0x210)]=BB[_0x108aac(0x2e4)]['TimeCodesFramesTranslator']['Timecode2Frames'](BB[_0x108aac(0x2e4)]['TimeCodesFramesTranslator'][_0x108aac(0x1dd)](_0x2ba94b[_0x108aac(0x23f)],0x7530/0x3e9),0x7530/0x3e9,![]),_0x52d186[_0x108aac(0x192)]=BB[_0x108aac(0x2e4)][_0x108aac(0x2c2)][_0x108aac(0x1df)](_0x2ba94b[_0x108aac(0x23f)],0x7530/0x3e9));BB[_0x108aac(0x2e4)]['getSourceFPS'](_0x46dad7[_0x108aac(0x294)])==0xea60/0x3e9&&(console[_0x108aac(0x231)](_0x108aac(0x18f)+_0x2ba94b[_0x108aac(0x1b0)]+'):\x20'+BB[_0x108aac(0x2e4)][_0x108aac(0x2c2)][_0x108aac(0x1df)](_0x2ba94b[_0x108aac(0x23f)],0xea60/0x3e9)+_0x108aac(0x1d9)+_0x2ba94b[_0x108aac(0x2b0)]),_0x52d186[_0x108aac(0x210)]=BB[_0x108aac(0x2e4)][_0x108aac(0x2c2)][_0x108aac(0x23b)](BB[_0x108aac(0x2e4)][_0x108aac(0x2c2)]['timeDate2TC'](_0x2ba94b[_0x108aac(0x23f)]),fps,!![]),_0x52d186['stringTime']=BB[_0x108aac(0x2e4)]['TimeCodesFramesTranslator'][_0x108aac(0x1df)](_0x2ba94b['dateTime'],0xea60/0x3e9));_0x52d186['playerTime']=_0x2ba94b[_0x108aac(0x2b0)],_0x46dad7[_0x108aac(0x2b8)]=_0x52d186;break;default:}}if(_0x49d9af!={}){if(_0x46dad7[_0x202725(0x2d5)]==BB[_0x202725(0x2d5)][_0x202725(0x2b2)])wmcMgr[_0x202725(0x2c4)](wmcEvents[_0x202725(0x1c8)],_0x3955d3);else _0x46dad7[_0x202725(0x2d5)]==BB[_0x202725(0x2d5)]['OnMetadata']&&(wmcMgr[_0x202725(0x22f)]=_0x46dad7[_0x202725(0x2ad)],wmcMgr[_0x202725(0x2c4)](wmcEvents[_0x202725(0x236)],_0x5ab3b0));}let _0x2d89da=BB[_0x202725(0x2e4)][_0x202725(0x2c2)],_0x5957dd=BB['Utils'][_0x202725(0x171)](_0x46dad7[_0x202725(0x294)]),_0x4f3f7f=BB[_0x202725(0x2e4)]['getMediaTimeFPS'](_0x46dad7[_0x202725(0x294)]);refreshRate=_0x46dad7['refreshRate'];let _0x29a171=null,_0x32fdc5=null,_0xb24713=null;if(_0x46dad7[_0x202725(0x251)]==BB[_0x202725(0x1ab)]['Augment']){let _0x482c68=_0x2269d5[_0x202725(0x194)];_0x32fdc5=new BB[(_0x202725(0x29c))](_0x482c68,_0x2269d5,_0x46dad7),ads=BB['Ads'](_0x32fdc5,_0x46dad7),_0x29a171=BB['MetaDataFetcher'](_0x46dad7,_0x32fdc5);}else{let _0x50b02e=document[_0x202725(0x166)]('canvas');_0x50b02e[_0x202725(0x2bf)]=0x1f4,_0x50b02e[_0x202725(0x18b)]=0x1f4,document[_0x202725(0x1b3)][_0x202725(0x1c3)](_0x50b02e),_0xb24713=_0x50b02e[_0x202725(0x208)](_0x202725(0x19c));}let _0x3823a8=BB[_0x202725(0x2e4)]['Platform'],_0x4abcf7=-0x1,_0x3e6c2e=![];const _0x587292=(_0x5e2648,_0xacb83c)=>{const _0x4b4fc1=_0x202725;if(_0x4abcf7==_0x5e2648&&_0xacb83c==_0x3e6c2e){console[_0x4b4fc1(0x281)](_0x4b4fc1(0x290)+_0x5e2648);return;}if(!_0x46dad7[_0x4b4fc1(0x17b)]){_0x32fdc5['CleanGL']();return;}if(_0x46dad7[_0x4b4fc1(0x251)]==BB[_0x4b4fc1(0x1ab)][_0x4b4fc1(0x1eb)])renderDigit(_0xb24713,_0x5e2648);else{if(_0x46dad7[_0x4b4fc1(0x251)]==BB['RenderingMode'][_0x4b4fc1(0x2ac)]){if(_0x5957dd==0xea60/0x3e9||_0x5957dd==0x3c)renderTimecode(_0xb24713,_0x2d89da[_0x4b4fc1(0x2b5)](_0x5e2648,_0x5957dd,!![]),!![]);else{if(_0x5957dd==0x7530/0x3e9||_0x5957dd==0x1e)renderTimecode(_0xb24713,_0x2d89da[_0x4b4fc1(0x2b5)](_0x5e2648,_0x5957dd,![]),![]);}}else{if(_0x46dad7['renderingMode']==BB['RenderingMode'][_0x4b4fc1(0x2b3)]){if(_0x5957dd==0xea60/0x3e9||_0x5957dd==0x3c)_0x32fdc5['renderAugmentation'](_0x2d89da['printTimecode'](_0x2d89da[_0x4b4fc1(0x2b5)](_0x5e2648,_0x5957dd,!![])));else(_0x5957dd==0x7530/0x3e9||_0x5957dd==0x1e)&&(_0xacb83c?_0x32fdc5[_0x4b4fc1(0x193)](_0x2d89da[_0x4b4fc1(0x16d)](_0x2d89da[_0x4b4fc1(0x2b5)](_0x5e2648*0x2+0x1,_0x5957dd*0x2,!![]),!![])):_0x32fdc5[_0x4b4fc1(0x193)](_0x2d89da[_0x4b4fc1(0x16d)](_0x2d89da[_0x4b4fc1(0x2b5)](_0x5e2648,_0x5957dd,![]),![])));}}}_0x4abcf7=_0x5e2648,_0x3e6c2e=_0xacb83c;};let _0x590ea8=0x0,_0x158ab5=0x20,_0x30c4aa=0x20,_0x8b1659=function(_0x270d43,_0x2b712a){const _0x1bd39b=_0x202725;lastNow=_0x270d43;let _0x13fa14=(_0x2b712a[_0x1bd39b(0x1b9)]-_0x46dad7['syncPoint'][_0x1bd39b(0x27c)])%(0x3c*0x3c*0x18)*_0x4f3f7f;lastFrameFromVideoCallback=Math[_0x1bd39b(0x2e5)](_0x13fa14+0.1)+_0x46dad7[_0x1bd39b(0x2b8)]['frame'],lastFrameFromVideoCallback+=-0x1,lastMediaTime=_0x2b712a['mediaTime'];if(_0x29a171)_0x29a171['setLastFrame'](lastFrameFromVideoCallback);let _0x535193=_0x2269d5['currentTime'];var _0x3927a6='';if(BB[_0x1bd39b(0x2e4)][_0x1bd39b(0x171)](_0x46dad7[_0x1bd39b(0x294)])==0xea60/0x3e9)_0x3927a6=_0x2d89da[_0x1bd39b(0x16d)](_0x2d89da[_0x1bd39b(0x2b5)](lastFrameFromVideoCallback,_0x5957dd,!![]),!![],!![]);else BB[_0x1bd39b(0x2e4)][_0x1bd39b(0x171)](_0x46dad7[_0x1bd39b(0x294)])==0x7530/0x3e9?_0x3927a6=_0x2d89da['printTimecode'](_0x2d89da[_0x1bd39b(0x2b5)](lastFrameFromVideoCallback,_0x5957dd,![]),![],![]):_0x3927a6=_0x1bd39b(0x2fa);let _0x24e02f=Date[_0x1bd39b(0x264)]()-_0x590ea8;_0x590ea8=Date[_0x1bd39b(0x264)]();if(BB['Utils'][_0x1bd39b(0x171)](_0x46dad7[_0x1bd39b(0x294)])==0x7530/0x3e9){let _0x19fb94=0x18,_0x385e37=0x21+(0x21-_0x19fb94);_0x24e02f<_0x19fb94&&_0x158ab5<_0x385e37||_0x158ab5<_0x19fb94&&_0x24e02f<_0x385e37||_0x30c4aa<_0x19fb94&&_0x158ab5<_0x385e37&&_0x24e02f<_0x385e37?setTimeout(function(){_0x587292(lastFrameFromVideoCallback,![]);},0xa):_0x587292(lastFrameFromVideoCallback,![]);}else BB[_0x1bd39b(0x2e4)][_0x1bd39b(0x171)](_0x46dad7[_0x1bd39b(0x294)])==0xea60/0x3e9?_0x587292(lastFrameFromVideoCallback,![]):console[_0x1bd39b(0x281)](_0x1bd39b(0x275));_0x30c4aa=_0x158ab5,_0x158ab5=_0x24e02f,_0x2269d5[_0x1bd39b(0x254)](_0x8b1659);return;};console['BBlog'](_0x202725(0x2f5)),console[_0x202725(0x281)](_0x202725(0x2e9));typeof window!=='undefined'?console[_0x202725(0x281)](_0x202725(0x20b)):console[_0x202725(0x281)]('The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');_0x202725(0x203)in window?console[_0x202725(0x281)](_0x202725(0x22e)):console[_0x202725(0x281)](_0x202725(0x227));typeof _0x2269d5!==_0x202725(0x20f)?console[_0x202725(0x281)]('Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.'):console[_0x202725(0x281)]('Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');'requestVideoFrameCallback'in _0x2269d5?console['BBlog']('requestVideoFrameCallback\x20is\x20supported'):console[_0x202725(0x281)]('requestVideoFrameCallback\x20is\x20not\x20supported');_0x3823a8[_0x202725(0x25f)]()||_0x3823a8[_0x202725(0x181)]()?_0x2269d5[_0x202725(0x254)](_0x8b1659):console['BBLog']('Platform\x20not\x20supported');console['BBlog'](_0x202725(0x2fb));const _0x22a139=()=>{const _0xf5fa96=_0x202725;return _0x32fdc5[_0xf5fa96(0x2e2)]();};return{'getCanvas':_0x22a139};},BB[_0x24410c(0x29c)]=class{constructor(_0x17f5b7,_0x567e6f,_0x2e8c15){const _0xbfb11a=_0x24410c;if(_0x2e8c15[_0xbfb11a(0x2c6)][_0xbfb11a(0x24f)]){this[_0xbfb11a(0x29d)]={};for(let _0x331d3b=0x0;_0x331d3b<0xa;++_0x331d3b){let _0x35ee93=_0x331d3b+'.1',_0x1b72eb=_0x331d3b+'.2';this[_0xbfb11a(0x29d)][_0x35ee93]=this[_0xbfb11a(0x163)](_0x35ee93),this[_0xbfb11a(0x29d)][_0x1b72eb]=this[_0xbfb11a(0x163)](_0x1b72eb);}}this[_0xbfb11a(0x239)]=Object[_0xbfb11a(0x25c)]({'adLoopTime':0x1388,'isAdLoop':![]},_0x2e8c15||{}),this[_0xbfb11a(0x1d8)]=BB['Utils'][_0xbfb11a(0x171)](this[_0xbfb11a(0x239)][_0xbfb11a(0x294)]),this['metadataArr']=[],this['metadataMap']={},this[_0xbfb11a(0x1d4)]=![],this['advertisementMap']={},this[_0xbfb11a(0x1a6)]={},this[_0xbfb11a(0x213)]=null,this[_0xbfb11a(0x28e)]=document[_0xbfb11a(0x166)](_0xbfb11a(0x28e)),this[_0xbfb11a(0x1d0)]=this[_0xbfb11a(0x28e)][_0xbfb11a(0x208)]('webgl2',{'premultipliedAlpha':![]});this[_0xbfb11a(0x1d0)]==null?(this[_0xbfb11a(0x1d0)]=this[_0xbfb11a(0x28e)][_0xbfb11a(0x208)](_0xbfb11a(0x19c),{'premultipliedAlpha':![]}),this[_0xbfb11a(0x250)]=0x1):this[_0xbfb11a(0x250)]=0x2;console[_0xbfb11a(0x231)](_0xbfb11a(0x1e5)+this[_0xbfb11a(0x1d0)]+_0xbfb11a(0x2ce)+this[_0xbfb11a(0x250)]);let _0x14f4ed=_0x17f5b7[_0xbfb11a(0x18e)],_0x2c4ed3=_0x17f5b7[_0xbfb11a(0x284)];this[_0xbfb11a(0x28e)][_0xbfb11a(0x238)][_0xbfb11a(0x287)]=_0x14f4ed,this[_0xbfb11a(0x28e)]['style'][_0xbfb11a(0x199)]=_0x2c4ed3,this[_0xbfb11a(0x28e)]['width']=_0x17f5b7[_0xbfb11a(0x242)],this['canvas']['height']=_0x17f5b7['clientHeight'],this[_0xbfb11a(0x28e)]['style'][_0xbfb11a(0x2ea)]=_0xbfb11a(0x18c);let _0x57e1af=_0x17f5b7['getElementsByTagName']('video')[0x0],_0x14e123=_0x57e1af[_0xbfb11a(0x2c0)];if(_0x14e123)_0x17f5b7[_0xbfb11a(0x24e)](this[_0xbfb11a(0x28e)],_0x14e123);else _0x17f5b7[_0xbfb11a(0x1c3)](this[_0xbfb11a(0x28e)]);this[_0xbfb11a(0x28e)][_0xbfb11a(0x238)][_0xbfb11a(0x2f9)]=_0xbfb11a(0x20a),_0x57e1af[_0xbfb11a(0x2c4)](_0xbfb11a(0x2d9),_0x19fb90=>{const _0x45ed5f=_0xbfb11a;this[_0x45ed5f(0x2c8)](_0x19fb90);}),this[_0xbfb11a(0x170)](),this['adTexture']=null,this[_0xbfb11a(0x22d)]={},this[_0xbfb11a(0x1ae)]={},this[_0xbfb11a(0x17d)]={},this[_0xbfb11a(0x2c5)]=[],this['lastTimeReportedIncomingTC']=0x0,this['autoAddIndex']=null;}['isPowerOf2'](_0x3ce52a){return(_0x3ce52a&_0x3ce52a-0x1)==0x0;}[_0x24410c(0x163)](_0x146853){const _0x10b06d=_0x24410c;let _0x4cc951=document[_0x10b06d(0x166)](_0x10b06d(0x28e));_0x4cc951[_0x10b06d(0x2bf)]=0x32,_0x4cc951[_0x10b06d(0x18b)]=0x32;let _0x4efd3a=_0x4cc951[_0x10b06d(0x208)]('2d');_0x4efd3a['font']=_0x10b06d(0x2c7),_0x4efd3a['fillStyle']=_0x10b06d(0x189),_0x4efd3a[_0x10b06d(0x2f3)](_0x146853,0xa,0x23);let _0x3f288d=_0x4cc951[_0x10b06d(0x1ef)](),_0x26dd09=document[_0x10b06d(0x166)](_0x10b06d(0x1a1));return _0x26dd09[_0x10b06d(0x279)]=_0x3f288d,_0x26dd09;}['OnUserClickOnCanvas'](_0x56159e){const _0x5da188=_0x24410c,_0x2b7614=this[_0x5da188(0x28e)][_0x5da188(0x243)]();let _0x5e50bf=event['clientX']-_0x2b7614[_0x5da188(0x199)],_0x32a184=event[_0x5da188(0x1aa)]-_0x2b7614[_0x5da188(0x287)];_0x5e50bf=_0x5e50bf/(_0x2b7614[_0x5da188(0x2d0)]-_0x2b7614['left']),_0x32a184=_0x32a184/(_0x2b7614[_0x5da188(0x265)]-_0x2b7614['top']);for(let _0x317ade of this[_0x5da188(0x2c5)]){if(_0x317ade[_0x5da188(0x21a)]['l']<=_0x5e50bf&&_0x317ade[_0x5da188(0x21a)]['r']>=_0x5e50bf&&_0x317ade[_0x5da188(0x21a)]['t']<=_0x32a184&&_0x317ade['rect']['b']>=_0x32a184){let _0x19a6d7=_0x317ade[_0x5da188(0x245)]['substring'](0x1);if(this['ad2Url'][_0x19a6d7]){let _0x4ce65f=this[_0x5da188(0x1a6)][_0x19a6d7];console[_0x5da188(0x231)](_0x5da188(0x2f2)+_0x19a6d7+_0x5da188(0x1a3)+_0x4ce65f+'\x20!!!!!!!!!!!!!!!!!!!!!!'),window[_0x5da188(0x16b)](_0x4ce65f,'_blank');}return;}}}[_0x24410c(0x162)](){return 0x0;}[_0x24410c(0x262)](_0x15f552){const _0x118605=_0x24410c;let _0x23e026=Object[_0x118605(0x2c3)](this[_0x118605(0x1ae)]);for(let _0x526e6c=0x0;_0x526e6c<_0x23e026[_0x118605(0x1c9)];++_0x526e6c){if(_0x15f552==_0x23e026[_0x526e6c])return _0x526e6c+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0x4352b1){const _0x1ed09b=_0x24410c;let _0x37d3c5=Object['keys'](this[_0x1ed09b(0x1ae)]);for(let _0x306e9f=0x0;_0x306e9f<_0x37d3c5[_0x1ed09b(0x1c9)];++_0x306e9f){let _0x359ee6=_0x37d3c5[_0x306e9f];if(_0x4352b1[_0x1ed09b(0x245)][_0x1ed09b(0x202)](_0x359ee6)>=0x0)return _0x306e9f;}return 0x0;}['AdNameForPlaceHolder'](_0x2a86d9){const _0x38fb80=_0x24410c;let _0x1acee1=Object[_0x38fb80(0x2c3)](this[_0x38fb80(0x1ae)]);for(let _0x39db84=0x0;_0x39db84<_0x1acee1[_0x38fb80(0x1c9)];++_0x39db84){let _0x536e14=_0x1acee1[_0x39db84];if(_0x2a86d9[_0x38fb80(0x245)][_0x38fb80(0x202)](_0x536e14)>=0x0&&this['place2AdTexture']&&this['place2AdTexture'][_0x536e14]&&this[_0x38fb80(0x22d)][_0x536e14][_0x38fb80(0x245)])return this[_0x38fb80(0x22d)][_0x536e14]['name'];}return this['lastAdName'];}[_0x24410c(0x22b)](){const _0x5d55bb=_0x24410c;return 0x1+Object['keys'](this[_0x5d55bb(0x1ae)])[_0x5d55bb(0x1c9)];}['InitGL'](){const _0x5e5f1a=_0x24410c;this['program']=webglUtils[_0x5e5f1a(0x2f4)](this[_0x5e5f1a(0x1d0)],this['webGLVersion']==0x2?[BB['GL']['vertexShaderSource'],BB['GL'][_0x5e5f1a(0x26b)]]:[BB['GL'][_0x5e5f1a(0x1c7)],BB['GL'][_0x5e5f1a(0x2ae)]]),this[_0x5e5f1a(0x1d0)][_0x5e5f1a(0x15f)](0x0,0x0,0x0,0x0),this[_0x5e5f1a(0x1d0)][_0x5e5f1a(0x2f6)](this['ctx'][_0x5e5f1a(0x29f)]),this[_0x5e5f1a(0x1d0)][_0x5e5f1a(0x253)](this[_0x5e5f1a(0x258)]),this[_0x5e5f1a(0x21f)]();}['CleanGL'](){const _0x631cfd=_0x24410c;this[_0x631cfd(0x28e)][_0x631cfd(0x238)][_0x631cfd(0x26a)]='none',this['alphaFound']=0x0;}[_0x24410c(0x1be)](_0x15f7f9,_0x28a70a,_0x805307,_0x833019,_0x5c8bb8,_0x586e27,_0x771139){const _0x1fd8b6=_0x24410c;_0x771139?this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x215)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x1bd)],0x1):this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x215)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x1bd)],0x4);this['ctx']['pixelStorei'](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x1da)],![]);const _0x48ee37=this[_0x1fd8b6(0x1d0)]['createTexture']();this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2b1)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2ee)]+_0x28a70a),this[_0x1fd8b6(0x1d0)]['bindTexture'](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],_0x48ee37);try{_0x5c8bb8&&_0x586e27?this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x26c)](this[_0x1fd8b6(0x1d0)]['TEXTURE_2D'],0x0,_0x833019==null?this['ctx'][_0x1fd8b6(0x2ec)]:_0x833019,_0x5c8bb8,_0x586e27,0x0,_0x833019==null?this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2ec)]:_0x833019,this['ctx'][_0x1fd8b6(0x255)],_0x15f7f9):this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x26c)](this[_0x1fd8b6(0x1d0)]['TEXTURE_2D'],0x0,_0x833019==null?this['ctx']['RGBA']:_0x833019,this[_0x1fd8b6(0x1d0)]['RGBA'],this['ctx'][_0x1fd8b6(0x255)],_0x15f7f9);}catch(_0x1f890c){return console[_0x1fd8b6(0x15e)](_0x1f890c),null;}if(this[_0x1fd8b6(0x250)]==0x1){let _0x9e5926=_0x5c8bb8||_0x15f7f9[_0x1fd8b6(0x2bf)],_0x337c0f=_0x586e27||_0x15f7f9[_0x1fd8b6(0x18b)];_0x9e5926&&this[_0x1fd8b6(0x2dd)](_0x9e5926)&&_0x337c0f&&this['isPowerOf2'](_0x337c0f)?this['ctx'][_0x1fd8b6(0x27a)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)]):(this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x18a)](this['ctx'][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x16a)],this[_0x1fd8b6(0x1d0)]['CLAMP_TO_EDGE']),this[_0x1fd8b6(0x1d0)]['texParameteri'](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this['ctx'][_0x1fd8b6(0x2d1)],this[_0x1fd8b6(0x1d0)]['CLAMP_TO_EDGE']),this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x18a)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2df)],this[_0x1fd8b6(0x1d0)]['LINEAR']));}else this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x18a)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x16a)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x212)]),this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x18a)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2d1)],this['ctx'][_0x1fd8b6(0x212)]),this['ctx']['texParameteri'](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2df)],this['ctx'][_0x1fd8b6(0x1fb)]),this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x18a)](this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x23e)],this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x2a2)],this[_0x1fd8b6(0x1d0)]['LINEAR']);let _0x24add9=this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x247)](this[_0x1fd8b6(0x258)],_0x805307);return _0x24add9&&this[_0x1fd8b6(0x1d0)][_0x1fd8b6(0x1b6)](_0x24add9,_0x28a70a),_0x48ee37;}[_0x24410c(0x28d)](){const _0x30bab2=_0x24410c;this[_0x30bab2(0x2ef)]=setTimeout(()=>{const _0x2863ed=_0x30bab2,_0x42b7e2=Object[_0x2863ed(0x2c3)](this['advertisementMap']);_0x42b7e2['length']&&(this[_0x2863ed(0x295)](_0x42b7e2[Math['floor'](Math[_0x2863ed(0x1e1)]()*_0x42b7e2['length'])]),this['_nextAdvertisement']());},this[_0x30bab2(0x239)]['adLoopTime']);}[_0x24410c(0x1ee)](_0x4fc337,_0x53900b,_0x28a9cb=null){const _0x207d36=_0x24410c;if(_0x4fc337[_0x207d36(0x202)](_0x207d36(0x187))>-0x1){fetch(_0x53900b)[_0x207d36(0x1a4)](async _0x49f32b=>{const _0x294f84=_0x207d36;this[_0x294f84(0x1ae)]=await _0x49f32b[_0x294f84(0x2f7)](),this[_0x294f84(0x17d)]={};let _0x562ead=Object['keys'](this[_0x294f84(0x1ae)]);for(let _0x2504f0=0x0;_0x2504f0<_0x562ead['length'];++_0x2504f0){let _0x3764c5=_0x562ead[_0x2504f0];if(_0x3764c5==_0x294f84(0x1ad)){this['ad2Url']=this['place2ad'][_0x3764c5],delete this[_0x294f84(0x1ae)][_0x3764c5];continue;}let _0x543461=this['place2ad'][_0x3764c5];for(let _0x220db8=0x0;_0x220db8<_0x543461[_0x294f84(0x1c9)];++_0x220db8){let _0x2a35c0=_0x543461[_0x220db8];this[_0x294f84(0x17d)]['#'+_0x2a35c0]=_0x3764c5;}}Object[_0x294f84(0x2c3)](this[_0x294f84(0x1ae)])['length']>0x0&&(console[_0x294f84(0x231)]('composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20',this['place2ad']),console[_0x294f84(0x231)]('composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20',this['ad2place']),setTimeout(()=>{const _0x44932e=_0x294f84;this[_0x44932e(0x276)]();},0xbb8));});if(_0x28a9cb)_0x28a9cb();return;}const _0x621695=new Image();return _0x621695['crossOrigin']=_0x207d36(0x292),_0x621695[_0x207d36(0x204)]=()=>{const _0x2f4e05=_0x207d36;let _0x5ca8dd=Object[_0x2f4e05(0x2c3)](this[_0x2f4e05(0x1cb)])[_0x2f4e05(0x1c9)]===0x0;this['advertisementMap'][_0x4fc337]=_0x621695;_0x5ca8dd&&(this[_0x2f4e05(0x295)](_0x4fc337),this[_0x2f4e05(0x239)]['isAdLoop']&&(clearTimeout(this[_0x2f4e05(0x2ef)]),this[_0x2f4e05(0x28d)]()));if(_0x28a9cb)_0x28a9cb();},_0x621695[_0x207d36(0x1e0)]=()=>{const _0x8800f6=_0x207d36;alert(_0x8800f6(0x224)+_0x53900b+'\x20.');},_0x621695[_0x207d36(0x279)]=_0x53900b,_0x621695;}[_0x24410c(0x276)](){const _0xc17f8a=_0x24410c;if(this[_0xc17f8a(0x1ae)]){let _0x5f020b=Object[_0xc17f8a(0x2c3)](this[_0xc17f8a(0x1ae)]);for(let _0x200a5=0x0;_0x200a5<_0x5f020b[_0xc17f8a(0x1c9)];++_0x200a5){let _0x1d079d=_0x5f020b[_0x200a5];!this['place2AdTexture'][_0x1d079d]&&this[_0xc17f8a(0x1ae)][_0x1d079d][_0xc17f8a(0x1c9)]>0x0&&(console['log'](_0xc17f8a(0x198)+this[_0xc17f8a(0x1ae)][_0x1d079d][0x0]+_0xc17f8a(0x2cc)+_0x1d079d),this['SelectAd']('#'+this[_0xc17f8a(0x1ae)][_0x1d079d][0x0]));}}}[_0x24410c(0x295)](_0x3ca131){const _0x32a482=_0x24410c;console[_0x32a482(0x231)](_0x32a482(0x1d3)+_0x3ca131);let _0x15c0de=this[_0x32a482(0x1cb)][_0x3ca131];if(!_0x15c0de)console[_0x32a482(0x15e)](_0x32a482(0x19a)+_0x3ca131+'\x27');else{if(this[_0x32a482(0x17d)]&&this[_0x32a482(0x17d)][_0x3ca131]){let _0x16a0a4=this[_0x32a482(0x17d)][_0x3ca131];console[_0x32a482(0x231)](_0x32a482(0x15c)+_0x16a0a4);let _0x168ca3=this[_0x32a482(0x262)](_0x16a0a4),_0x491de4='ad'+(_0x168ca3-0x1);if(this['place2AdTexture'][_0x16a0a4])this['ctx'][_0x32a482(0x188)](this[_0x32a482(0x22d)][_0x16a0a4][_0x32a482(0x177)]);this[_0x32a482(0x22d)][_0x16a0a4]={'tex':this['GenerateTexture'](_0x15c0de,_0x168ca3,_0x491de4),'texUnitId':_0x168ca3,'texName':_0x491de4,'name':_0x3ca131};}else this[_0x32a482(0x226)]!=null&&this['ctx'][_0x32a482(0x188)](this[_0x32a482(0x226)]),this[_0x32a482(0x226)]=this['GenerateTexture'](_0x15c0de,this[_0x32a482(0x162)](),'ad0'),this[_0x32a482(0x1f4)]=_0x15c0de,this[_0x32a482(0x1ed)]=_0x3ca131;}}[_0x24410c(0x15b)](_0x5c22d4){const _0x3845a8=_0x24410c;this[_0x3845a8(0x29a)][_0x5c22d4[_0x3845a8(0x289)]]=_0x5c22d4,this[_0x3845a8(0x240)][_0x3845a8(0x248)](_0x5c22d4[_0x3845a8(0x289)]);}['ToggleFullscreen'](){const _0x24c297=_0x24410c;(this['requestFullscreen']||this['webkitRequestFullscreen'])[_0x24c297(0x24b)](this)[_0x24c297(0x271)](_0x408495=>{console['error'](_0x408495);});}[_0x24410c(0x1dc)](){const _0x12a4d9=_0x24410c;let _0x3b24a3=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x2bd)](this[_0x12a4d9(0x258)],_0x12a4d9(0x235)),_0x45ba20=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x247)](this[_0x12a4d9(0x258)],_0x12a4d9(0x222)),_0x1f2a79=this[_0x12a4d9(0x1d0)]['getUniformLocation'](this[_0x12a4d9(0x258)],_0x12a4d9(0x16c));this[_0x12a4d9(0x1d0)][_0x12a4d9(0x1fd)](_0x45ba20,this[_0x12a4d9(0x1d0)][_0x12a4d9(0x28e)][_0x12a4d9(0x2bf)],this[_0x12a4d9(0x1d0)][_0x12a4d9(0x28e)][_0x12a4d9(0x18b)]),this['ctx']['uniform2f'](_0x1f2a79,this[_0x12a4d9(0x1d0)]['canvas'][_0x12a4d9(0x2bf)],this[_0x12a4d9(0x1d0)][_0x12a4d9(0x28e)][_0x12a4d9(0x18b)]);if(this[_0x12a4d9(0x250)]==0x2){let _0x4c59e8=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x247)](this[_0x12a4d9(0x258)],'u_matrix'),_0x533dce=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this['ctx'][_0x12a4d9(0x283)](_0x4c59e8,![],_0x533dce);}let _0x32788c=null;this[_0x12a4d9(0x250)]==0x2&&(_0x32788c=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x27b)](),this[_0x12a4d9(0x1d0)][_0x12a4d9(0x1f2)](_0x32788c));let _0x268ffe=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x285)]();this[_0x12a4d9(0x1d0)][_0x12a4d9(0x24c)](_0x3b24a3),this[_0x12a4d9(0x1d0)][_0x12a4d9(0x27d)](this['ctx'][_0x12a4d9(0x197)],_0x268ffe);let _0x1ed6a7=0x2,_0xebca55=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x1f0)],_0x141574=![],_0x13827d=0x0,_0x5b1c9b=0x0;this[_0x12a4d9(0x1d0)]['vertexAttribPointer'](_0x3b24a3,_0x1ed6a7,_0xebca55,_0x141574,_0x13827d,_0x5b1c9b);let _0x4237b9=this['ctx'][_0x12a4d9(0x285)]();this['ctx'][_0x12a4d9(0x27d)](this['ctx']['ARRAY_BUFFER'],_0x4237b9),this['ctx'][_0x12a4d9(0x1d1)](this[_0x12a4d9(0x1d0)][_0x12a4d9(0x197)],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x12a4d9(0x1d0)][_0x12a4d9(0x1b7)]),this['ctx']['viewport'](0x0,0x0,this[_0x12a4d9(0x1d0)][_0x12a4d9(0x28e)][_0x12a4d9(0x2bf)],this[_0x12a4d9(0x1d0)][_0x12a4d9(0x28e)][_0x12a4d9(0x18b)]),this[_0x12a4d9(0x1d0)]['clearColor'](0x0,0x0,0x0,0x0),this['ctx'][_0x12a4d9(0x2f6)](this[_0x12a4d9(0x1d0)][_0x12a4d9(0x29f)]|this['ctx'][_0x12a4d9(0x28c)]),this[_0x12a4d9(0x1d0)][_0x12a4d9(0x27d)](this['ctx'][_0x12a4d9(0x197)],_0x268ffe),this[_0x12a4d9(0x2b6)](this[_0x12a4d9(0x1d0)],0x0,0x0,this['canvas']['width'],this[_0x12a4d9(0x28e)]['height']);let _0x27c1cd=this[_0x12a4d9(0x1d0)][_0x12a4d9(0x21b)],_0x1f4ce0=0x6;this[_0x12a4d9(0x1d0)][_0x12a4d9(0x221)](_0x27c1cd,_0x5b1c9b,_0x1f4ce0);}[_0x24410c(0x2b6)](_0x5e5aef,_0x1d3c3f,_0x45d078,_0x42ecb5,_0x2edf32){const _0x54d6f1=_0x24410c;let _0x226242=_0x1d3c3f,_0x16eb17=_0x1d3c3f+_0x42ecb5,_0x5308ff=_0x45d078,_0x5d97ac=_0x45d078+_0x2edf32;this[_0x54d6f1(0x1d0)][_0x54d6f1(0x1d1)](this[_0x54d6f1(0x1d0)][_0x54d6f1(0x197)],new Float32Array([_0x226242,_0x5308ff,_0x16eb17,_0x5308ff,_0x226242,_0x5d97ac,_0x226242,_0x5d97ac,_0x16eb17,_0x5308ff,_0x16eb17,_0x5d97ac]),this[_0x54d6f1(0x1d0)][_0x54d6f1(0x1b7)]);}[_0x24410c(0x193)](_0x27e8bc){const _0x4e6d7f=_0x24410c;let _0x56b09b=BB[_0x4e6d7f(0x2e4)][_0x4e6d7f(0x2c2)],_0x53ff71=_0x56b09b[_0x4e6d7f(0x26d)](_0x27e8bc),_0x1a3403=_0x56b09b['TimeCodeAddFrames'](_0x53ff71,0x1,this[_0x4e6d7f(0x1d8)]),_0x526627=_0x56b09b[_0x4e6d7f(0x186)](_0x53ff71,0x2,this[_0x4e6d7f(0x1d8)]),_0x9af80f=_0x56b09b[_0x4e6d7f(0x16d)](_0x1a3403),_0x5d7e11=_0x56b09b[_0x4e6d7f(0x16d)](_0x526627);this[_0x4e6d7f(0x1d4)]=!![];const _0x456487=performance[_0x4e6d7f(0x264)]();let _0x41d4c0=null,_0x4b696a=[];if(this[_0x4e6d7f(0x29a)][_0x27e8bc]){_0x41d4c0=this[_0x4e6d7f(0x29a)][_0x27e8bc];this['metadataMap'][_0x9af80f]&&_0x4b696a[_0x4e6d7f(0x248)]({'nextVideo':this['metadataMap'][_0x9af80f],'nextTimeCode':_0x9af80f});this[_0x4e6d7f(0x29a)][_0x5d7e11]&&_0x4b696a[_0x4e6d7f(0x248)]({'nextVideo':this[_0x4e6d7f(0x29a)][_0x5d7e11],'nextTimeCode':_0x5d7e11});const _0x409ff0=this[_0x4e6d7f(0x240)][_0x4e6d7f(0x202)](_0x27e8bc);if(_0x409ff0>-0x5)this[_0x4e6d7f(0x240)]['splice'](0x0,_0x409ff0-0x4)[_0x4e6d7f(0x1c2)](_0x195ad8=>{delete this['metadataMap'][_0x195ad8];});this[_0x4e6d7f(0x190)]++;}else console[_0x4e6d7f(0x15e)](_0x4e6d7f(0x1ce)+_0x27e8bc),this[_0x4e6d7f(0x190)]++;this[_0x4e6d7f(0x190)]>0x1e&&this[_0x4e6d7f(0x28e)]['style']['display']==_0x4e6d7f(0x20a)&&(this[_0x4e6d7f(0x28e)]['style'][_0x4e6d7f(0x26a)]='');let _0x428dda=[];this['canvas'][_0x4e6d7f(0x2bf)]=0x500,this[_0x4e6d7f(0x28e)][_0x4e6d7f(0x18b)]=0x2d0;let _0x3b6831=0x0;this['currentAds2BoundingRect']=[];if(_0x41d4c0)for(const _0x3f4d79 in _0x41d4c0['placeholders']){const _0x318d42=_0x41d4c0['placeholders'][_0x3f4d79];if(!_0x318d42['alphaAsUint8Array'])continue;let _0x133a4d=_0x4e6d7f(0x1c6)+_0x3b6831,_0x906bdb=this[_0x4e6d7f(0x22b)]()+_0x3b6831;_0x318d42[_0x4e6d7f(0x2d6)]=this[_0x4e6d7f(0x1be)](_0x318d42[_0x4e6d7f(0x291)],_0x906bdb,_0x133a4d,this['ctx'][_0x4e6d7f(0x19d)],_0x318d42['width'],_0x318d42[_0x4e6d7f(0x18b)],!![]),_0x318d42[_0x4e6d7f(0x291)]=null;if(!_0x318d42[_0x4e6d7f(0x2d6)]){console[_0x4e6d7f(0x15e)](_0x4e6d7f(0x28f));continue;}_0x428dda[_0x4e6d7f(0x248)](_0x318d42[_0x4e6d7f(0x2d6)]);let _0x5f99f6=_0x4e6d7f(0x159)+_0x3b6831,_0x43cfb4=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x5f99f6);this['ctx']['uniform1i'](_0x43cfb4,0x1);let _0x1b89ae=_0x4e6d7f(0x2e1)+_0x3b6831,_0x4e5687=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x1b89ae),_0x35ef29=![];_0x318d42[_0x4e6d7f(0x245)][_0x4e6d7f(0x202)](_0x4e6d7f(0x2da))>=0x0?(this['ctx'][_0x4e6d7f(0x1b6)](_0x4e5687,0x63),_0x35ef29=!![]):this['ctx'][_0x4e6d7f(0x1b6)](_0x4e5687,this[_0x4e6d7f(0x206)](_0x318d42));let _0x1442a5=_0x4e6d7f(0x2cd)+_0x3b6831+_0x4e6d7f(0x1d2),_0x5d6ec9=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x1442a5);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x244)](_0x5d6ec9,[_0x318d42['maskX'],_0x318d42[_0x4e6d7f(0x2e8)]]);let _0x42e951=_0x4e6d7f(0x2cd)+_0x3b6831+_0x4e6d7f(0x263),_0x23411f=this[_0x4e6d7f(0x1d0)]['getUniformLocation'](this[_0x4e6d7f(0x258)],_0x42e951);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x244)](_0x23411f,[_0x318d42[_0x4e6d7f(0x2bf)],_0x318d42[_0x4e6d7f(0x18b)]]);let _0x5d4f0b='u_matrix'+_0x3b6831,_0x1c5828=this['ctx']['getUniformLocation'](this[_0x4e6d7f(0x258)],_0x5d4f0b);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x283)](_0x1c5828,![],_0x318d42[_0x4e6d7f(0x29b)]);if(!_0x35ef29){let _0x376dc5={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x4c2c19 of _0x318d42[_0x4e6d7f(0x176)]){if(_0x4c2c19['x']<_0x376dc5['l']||_0x376dc5['l']==-0x1)_0x376dc5['l']=_0x4c2c19['x'];if(_0x4c2c19['x']>_0x376dc5['r']||_0x376dc5['r']==-0x1)_0x376dc5['r']=_0x4c2c19['x'];if(_0x4c2c19['y']<_0x376dc5['t']||_0x376dc5['t']==-0x1)_0x376dc5['t']=_0x4c2c19['y'];if(_0x4c2c19['y']>_0x376dc5['b']||_0x376dc5['b']==-0x1)_0x376dc5['b']=_0x4c2c19['y'];}_0x376dc5['l']/=_0x41d4c0[_0x4e6d7f(0x1f9)][_0x4e6d7f(0x2bf)],_0x376dc5['r']/=_0x41d4c0[_0x4e6d7f(0x1f9)][_0x4e6d7f(0x2bf)],_0x376dc5['t']/=_0x41d4c0[_0x4e6d7f(0x1f9)][_0x4e6d7f(0x18b)],_0x376dc5['b']/=_0x41d4c0[_0x4e6d7f(0x1f9)][_0x4e6d7f(0x18b)],this[_0x4e6d7f(0x2c5)][_0x4e6d7f(0x248)]({'name':this[_0x4e6d7f(0x191)](_0x318d42),'rect':_0x376dc5});}_0x3b6831++;}else{}for(;_0x3b6831<BB[_0x4e6d7f(0x1c0)];++_0x3b6831){let _0x2e061d=_0x4e6d7f(0x159)+_0x3b6831,_0x1b0d9a=this['ctx']['getUniformLocation'](this[_0x4e6d7f(0x258)],_0x2e061d);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x1b6)](_0x1b0d9a,0x0);let _0x4018f0='alpha'+_0x3b6831,_0x459500=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x4018f0);this['ctx'][_0x4e6d7f(0x1b6)](_0x459500,0x0);}if(this[_0x4e6d7f(0x239)][_0x4e6d7f(0x2c6)][_0x4e6d7f(0x24f)]){let _0x5ad5b6=_0x27e8bc[_0x4e6d7f(0x17c)](':')[0x3],_0x36e7fc=_0x5ad5b6['indexOf']('.')>=0x0?0x2:0x1,_0x62fd72=parseInt(_0x5ad5b6[_0x4e6d7f(0x17c)]('.')[0x0])%0xa,_0x560f41=_0x62fd72+'.'+_0x36e7fc,_0x1892d3=this['TexUnitBaseForAlpha']()+0x5,_0x17b6c7=this[_0x4e6d7f(0x1be)](this[_0x4e6d7f(0x29d)][_0x560f41],_0x1892d3,_0x4e6d7f(0x246));_0x428dda['push'](_0x17b6c7);let _0x3f0696=_0x4e6d7f(0x1ca),_0x18af79=this['ctx']['getUniformLocation'](this[_0x4e6d7f(0x258)],_0x3f0696);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x1b6)](_0x18af79,0x1);let _0x49bb29=_0x4e6d7f(0x18d),_0x993b3d=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x49bb29);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x244)](_0x993b3d,[0x0,0x0]);let _0x5f3071='u_digitSize',_0xddf39e=this[_0x4e6d7f(0x1d0)]['getUniformLocation'](this[_0x4e6d7f(0x258)],_0x5f3071);this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x244)](_0xddf39e,[0xc8,0xc8]);}else{let _0x5314f8='hasDigit',_0x1a9242=this[_0x4e6d7f(0x1d0)][_0x4e6d7f(0x247)](this[_0x4e6d7f(0x258)],_0x5314f8);this['ctx'][_0x4e6d7f(0x1b6)](_0x1a9242,0x0);}this['RenderFrame']();for(const _0x1674cf of _0x428dda){this['ctx'][_0x4e6d7f(0x188)](_0x1674cf);}}[_0x24410c(0x2e2)](){const _0x124989=_0x24410c;return this[_0x124989(0x28e)];}},BB[_0x24410c(0x257)]=(_0xcb18ec,_0x3fbb8e)=>{const _0x42e60c=_0x24410c;let _0x2e7ee8=[];const _0x5c4d48=new BB[(_0x42e60c(0x274))]((_0x28e89a,_0x53db5f)=>{const _0x122b4d=_0x42e60c;switch(_0x28e89a){case'roommembers':console[_0x122b4d(0x231)](_0x122b4d(0x1a7),_0x53db5f);break;case _0x122b4d(0x1ec):const _0x45e4df=document['getElementById'](_0x122b4d(0x245));_0x45e4df&&(_0x45e4df[_0x122b4d(0x1ea)]=_0x5c4d48[_0x122b4d(0x245)]);break;case _0x122b4d(0x196):if(_0x53db5f['player']===_0x5c4d48[_0x122b4d(0x245)]){if(_0x53db5f[_0x122b4d(0x1b0)]){const _0x33e0cd=_0x122b4d(0x2f0);_0xcb18ec[_0x122b4d(0x1ee)](_0x33e0cd,_0x53db5f[_0x122b4d(0x1b0)],()=>{const _0x3fee32=_0x122b4d;_0xcb18ec[_0x3fee32(0x295)](_0x33e0cd);});}else _0x2e7ee8=_0x53db5f[_0x122b4d(0x225)],_0x2e7ee8[_0x122b4d(0x1c9)]&&_0xcb18ec[_0x122b4d(0x295)](_0x2e7ee8[0x0]);}break;case'ads':_0x2e7ee8=_0x53db5f;_0x2e7ee8[_0x122b4d(0x1c9)]&&_0xcb18ec['SelectAd'](_0x2e7ee8[0x0]);break;}});var _0x1613c8=document[_0x42e60c(0x166)](_0x42e60c(0x2a8));_0x1613c8[_0x42e60c(0x279)]=_0x42e60c(0x17e),document[_0x42e60c(0x201)]('head')[0x0]['appendChild'](_0x1613c8),_0x1613c8['onload']=function(){const _0x42e4c4=_0x42e60c;_0x5c4d48['Connect'](_0x3fbb8e[_0x42e4c4(0x2c6)][_0x42e4c4(0x1c4)]);},_0x3fbb8e['augmentation'][_0x42e60c(0x1a0)]?_0xcb18ec['AddAdvertisement']('#ad',_0x3fbb8e[_0x42e60c(0x2c6)][_0x42e60c(0x1a0)]):fetch(_0x42e60c(0x200)+_0x3fbb8e[_0x42e60c(0x2c6)][_0x42e60c(0x1c4)])[_0x42e60c(0x1a4)](async _0xf183e3=>{const _0x4fb930=_0x42e60c,_0x52ea3d=await _0xf183e3[_0x4fb930(0x2f7)]();_0x52ea3d[_0x4fb930(0x1c2)](_0x1b164d=>{const _0x43d6fc=_0x4fb930;_0xcb18ec['AddAdvertisement']('#'+_0x1b164d[_0x43d6fc(0x245)],_0x1b164d[_0x43d6fc(0x1b0)]);});});},BB[_0x24410c(0x270)]=(_0x18091c,_0x2b70b0)=>{const _0x558ea2=_0x24410c;let _0x5de707=BB[_0x558ea2(0x2e4)][_0x558ea2(0x2c2)],_0x2f4f41=BB['Utils']['getSourceFPS'](_0x18091c[_0x558ea2(0x294)]),_0x2120d4,_0x1cae0b,_0x342ddd=null,_0x48b92d=null;console[_0x558ea2(0x231)]('Project\x20name:\x20'+_0x18091c[_0x558ea2(0x1bf)]);const _0xb49b92=_0xa5e006=>{_0x2120d4=_0xa5e006,console['log']('Folder\x20name\x20for\x20'+_0x18091c['gameId']+':\x20'+_0x2120d4),_0x1cae0b&&_0x1cc08e(_0x1cae0b);};async function _0x4f8dd7(){const _0x12fdfc=_0x558ea2,_0x47137f=await fetch(_0x18091c[_0x12fdfc(0x160)]),_0x531c74=await _0x47137f[_0x12fdfc(0x2f7)]();_0xb49b92(_0x18091c[_0x12fdfc(0x1bf)]);}_0x4f8dd7();const _0x46b283=_0x12569f=>{_0x1cae0b=_0x12569f,_0x2120d4&&_0x1cc08e(_0x1cae0b);},_0x1cc08e=_0x51393b=>{const _0x5785d1=_0x558ea2;if(_0x342ddd==null){_0x342ddd=new Worker(_0x5785d1(0x1ac)),_0x342ddd[_0x5785d1(0x2c4)](_0x5785d1(0x19f),_0x4e2d8b=>{const _0x273260=_0x5785d1;if(_0x4e2d8b['data'][_0x273260(0x1e8)]){}else _0x2b70b0[_0x273260(0x15b)](_0x4e2d8b[_0x273260(0x1f1)]);});let _0x2378b3=_0x5de707['TimeCodeArray2TimeCodeJson'](_0x5de707[_0x5785d1(0x2b5)](_0x51393b,_0x2f4f41,!![]));_0x342ddd[_0x5785d1(0x2be)]({'cloudFrontURL':_0x18091c['cloudFrontURL'],'folderName':_0x2120d4,'tc':_0x5de707['printTimecode'](_0x2378b3,![])});}else{let _0x3b817a=_0x5de707[_0x5785d1(0x277)](_0x5de707[_0x5785d1(0x2b5)](_0x51393b,_0x2f4f41,!![]));_0x342ddd[_0x5785d1(0x2be)]({'tc':_0x5de707[_0x5785d1(0x16d)](_0x3b817a,![]),'enabled':_0x18091c[_0x5785d1(0x17b)]});}};return{'setLastFrame':_0x46b283};},BB[_0x24410c(0x1d5)]=class{constructor(_0x20ecf7,_0x3cc03b,_0x4a456f,_0x5d105a){const _0x28f67c=_0x24410c;console['BBlog']=function(_0x54a153){const _0x36cb29=_0x7235;console[_0x36cb29(0x231)](_0x54a153);};function _0x5b3e2a(_0x987a30,_0x3d399b){const _0x599219=_0x7235,_0x295007=_0x987a30['split']('.')[_0x599219(0x1c1)](Number),_0x8fc7c2=_0x3d399b[_0x599219(0x17c)]('.')[_0x599219(0x1c1)](Number);for(let _0x19fa51=0x0;_0x19fa51<Math[_0x599219(0x19b)](_0x295007[_0x599219(0x1c9)],_0x8fc7c2[_0x599219(0x1c9)]);_0x19fa51++){const _0x5d575e=_0x295007[_0x19fa51]||0x0,_0x3487ef=_0x8fc7c2[_0x19fa51]||0x0;if(_0x5d575e<_0x3487ef)return-0x1;else{if(_0x5d575e>_0x3487ef)return 0x1;}}return 0x0;}_0x5b3e2a(_0x4a456f[_0x28f67c(0x2bc)]()[_0x28f67c(0x1cc)],'8.124.0')==-0x1&&console['BBlog'](_0x28f67c(0x296));this['options']=Object[_0x28f67c(0x25c)]({'enabled':!![],'gameId':_0x28f67c(0x175),'medialook':![],'allGamesURL':'https://www.virtualott.com/games/','cloudFrontURL':'https://db8igqxlbvayn.cloudfront.net','testMode':{'runTest':![],'defaultSlope':0.06,'defaultIntercept':0x0,'testTimes':0xa,'howManyFramesEachTest':0x3c,'drawTestResult':![]},'frameRateMode':BB['FrameRateMode'][_0x28f67c(0x2ab)],'renderingMode':BB[_0x28f67c(0x1ab)][_0x28f67c(0x2b3)],'SynchMethod':BB['SynchMethod'][_0x28f67c(0x286)],'debug':![],'augmentation':{'renderTimecode':!![]},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x5d105a||{});let _0x4452d5=BB['Utils'][_0x28f67c(0x16e)],_0xb74ac5=BB[_0x28f67c(0x2e4)]['TimeCodesFramesTranslator'];if(_0x3cc03b)this['SetFps'](_0x3cc03b);let _0x27d5df={};this['frameDrawer']=BB[_0x28f67c(0x299)](_0x27d5df,_0x20ecf7,_0x4a456f,this[_0x28f67c(0x239)]);}['Toggle'](_0x460475){this['options']['enabled']=_0x460475;}[_0x24410c(0x17a)](){const _0x169b2d=_0x24410c;return this[_0x169b2d(0x229)]['getCanvas']();}['SetFps'](_0x40c1dc){const _0x4ece8e=_0x24410c;let _0x21a122=BB[_0x4ece8e(0x2e4)][_0x4ece8e(0x16e)];switch(_0x40c1dc){case 0x3c:this['options'][_0x4ece8e(0x294)]=BB[_0x4ece8e(0x29e)][_0x4ece8e(0x2bb)];break;case 0xea60/0x3e9:case 59.94:_0x21a122[_0x4ece8e(0x25f)]()||_0x21a122[_0x4ece8e(0x181)]()?this[_0x4ece8e(0x239)][_0x4ece8e(0x294)]=BB[_0x4ece8e(0x29e)]['Src59_MediaTime59']:this[_0x4ece8e(0x239)][_0x4ece8e(0x294)]=BB[_0x4ece8e(0x29e)][_0x4ece8e(0x2e0)];break;case 0x7530/0x3e9:case 29.97:this[_0x4ece8e(0x239)][_0x4ece8e(0x294)]=BB[_0x4ece8e(0x29e)][_0x4ece8e(0x2b9)];break;default:console['error'](_0x4ece8e(0x15a)+_0x40c1dc+_0x4ece8e(0x2af));break;}}[_0x24410c(0x2dc)](_0x1a427c){const _0x1c9253=_0x24410c;this[_0x1c9253(0x239)][_0x1c9253(0x2b8)]=_0x1a427c;}};
|
|
1
|
+
const _0x311d80=_0x61da;(function(_0x42d87b,_0x591239){const _0x4fa99e=_0x61da,_0x21d495=_0x42d87b();while(!![]){try{const _0x3b0efb=parseInt(_0x4fa99e(0x23e))/0x1+-parseInt(_0x4fa99e(0x231))/0x2+parseInt(_0x4fa99e(0x25c))/0x3+parseInt(_0x4fa99e(0x189))/0x4+-parseInt(_0x4fa99e(0x192))/0x5*(parseInt(_0x4fa99e(0x269))/0x6)+-parseInt(_0x4fa99e(0x201))/0x7+parseInt(_0x4fa99e(0x2a8))/0x8;if(_0x3b0efb===_0x591239)break;else _0x21d495['push'](_0x21d495['shift']());}catch(_0x312d14){_0x21d495['push'](_0x21d495['shift']());}}}(_0x3467,0x333f0));function _0x61da(_0x1bee0d,_0x38e67a){const _0x346762=_0x3467();return _0x61da=function(_0x61dae8,_0x46b8ef){_0x61dae8=_0x61dae8-0x117;let _0x21fd66=_0x346762[_0x61dae8];return _0x21fd66;},_0x61da(_0x1bee0d,_0x38e67a);}let debug_lastFrameFromVideoCallback=-0x1,debug_tc='';function _0x3467(){const _0x5b50d5=['then','callback','stringTime','roommembers','Folder\x20name\x20for\x20','fillStyle','log','round','isConnected','Macintosh','SHADER_TYPE','onNewMetadataInterface','vertexAttribPointer','enabled','OnMetaData','webgl','messageroom:\x20','iOS','Mozilla','adTexture','catch','mediaTime','info','MetaDataFetcher','tex','Src29_MediaTime29','Platform','Src60_MediaTime60','Mac','CallBacks\x20are\x20set','bufferData','FLOAT','ARRAY_BUFFER','Error\x20in\x20program\x20linking:\x20','appVersion','frameDrawer','player','%c%s','createTexture','key','CleanGL','isArray','TexUnitBaseForAlpha','img','allGamesURL','Opera','renderingMode','js/worker/MetaDataDownloaderThread.js','pointer-events','offsetLeft','None','createBuffer','.json','Src59_MediaTime60','MakeSureAdPerPlace','utc_','error','hasDigit','Src59_MediaTime59','Video\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.','PalmOS','alphaTex','STATIC_DRAW','composer::AddAdvertisement:\x20ads-to-place\x20mapping:\x20','bottom','OnMetadata','version','NOT\x20SUPPORTED','nextSibling','none','bindTexture','Video\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','createProgramFromSources','MAX_LOGOS','currentTime','ad0','Palm','30px\x20Arial','metadataMap','uniform2f','deleteShader','TimeCodesFramesTranslator','isWindows','https://www.virtualott.com/ads/','json','requestAnimationFrame\x20is\x20supported','BlackBerry','matchAll','ToggleFullscreen','u_digitSize','setLastFrame','clearColor','SelectAd','InitGL','toLowerCase','get','program','Created\x20webgl1\x20context:\x20','[-\x20/:;]([\x5cd._]+)','an\x20iPad','postMessage','frames','adLoopTime','UNPACK_FLIP_Y_WEBGL','2135644fiwlCf','isAdLoop','timeDate2TCString','header','VERTEX_SHADER','refreshRate','\x20version\x20','getShaderSource','opera','requestVideoFrameCallback','enableVertexAttribArray','disconnect','getUTCMilliseconds','msMaxTouchPoints','socket\x20connected','urls','toISOString','Composer3d','alphaAsUint8Array','place2AdTexture','attachShader','type','lastTimeReportedIncomingTC','RGBA','splice','split','ad2Url','font','fps','TopLeft','FrameRateMode','RenderDigits','ads:','CLAMP_TO_EDGE','generateMipmap','NETS','map','corners','lastAdName','parentElement','iPhone','PlayBook','push','\x20for\x20place\x20','\x0a\x0a^^^\x20','alpha','BBlog','isPowerOf2','518324VIXwrJ','charCodeAt','databrowser','value','test','deleteProgram','metadata','channelName','\x20!!!!!!!!!!!!!!!!!!!!!!','Connect','LINK_STATUS','call','getProgramInfoLog','334255lVseNW','clientHeight','logoURL','src','BB.Utils.getMediaTimeFPS:\x20Unknown\x20FrameRate\x20mode','OTTPlayer','BB.Augmenter\x20Start','Setting\x20Callbacks','TexUnitForAdInPlace','FRAGMENT_SHADER','substring','linkProgram','a\x20Windows\x20PC','message','Src60_MediaTime59','crossOrigin','alphaFound','canvasSize','FPS\x20not\x20supported','videoStarted','floor','webGLVersion','now','presentationTime','ads','keys','Failed\x20to\x20create\x20alpha\x20texture','https://db8igqxlbvayn.cloudfront.net','createVertexArray','TexUnitForGenericAd','1033884ZMkeJQ','UNSIGNED_BYTE','assign','Size','uniform2fv','bindBuffer','u_alpha','error::','onNewSegmentInterface','autoAddIndex','Augmenter','display','amd','6ZAtDTG','gameId','TEXTURE_WRAP_T','messageroom','matchItem','drawArrays','BBerror','TimeCodeAddFrames','length','abs','createShader','getMediaTimeFPS','\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','webglUtils','CreateDigitImg','videoCopier','Version','The\x20window\x20object\x20is\x20defined.\x20This\x20script\x20is\x20running\x20in\x20a\x20browser\x20environment.','Timecode2Frames','createProgram','platform','\x20playing\x20at\x20','canvas','\x20so\x20should\x20navigate\x20to\x20','an\x20Android\x20phone','Android','data','uniform1i','Error\x20compiling\x20shader:\x20','getElementsByTagName','position','iPad','vendor','New\x20segment\x20(','tranform','a_position','onNewMetadata','AMC_EVENT_PLAYER_SEGMENT_PLAYBACK','roommembers\x20message:\x20','sourceFPS','body','getSourceFPS','#external','width','We\x20are\x20HERE:TimeCode','getShaderParameter','console','join','getUTCMinutes','currentAds2BoundingRect','DEPTH_BUFFER_BIT','frameRateMode','Windows','u_resolution','bindVertexArray','getDeviceName','index','Checking\x20window\x20and\x20methods','offs','top','messageData','from','GetCanvas','3694984zGYMRW','getTime','options','pixelStorei','textContent','deleteTexture','setMediaFPS:\x20Unknown\x20Media\x20FrameRate\x20mode','TEXTURE_MIN_FILTER','mimeType','shift','digitImg','TEXTURE_WRAP_S','video','Augment','texImage2D','eventType','Socket','field','GenerateTexture','padStart','Win','CLDC','toString','includes','Chrome','unknown','uniformMatrix3fv','forEach','#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','join\x20\x20','absolute','sort','Windows\x20Phone','onNewSegment','getContext','requestAnimationFrame','BB.Utils.getSourceFPS:\x20Unknown\x20FrameRate\x20mode','style','getUTCHours','getUTCSeconds','Silk','ad2place','match','playerTime','MSIE','Kindle','disconnect\x20from\x20signaling::','name','playbackTime','toDataURL','vertexShaderSourceV1','metadataArr','userAgent','ontouchstart','place2ad','left','Safari','click','height','ctx','https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.3.0/socket.io.js','hasLogo','addEventListener','setinfo','clear','adForLogo','RenderingMode','useProgram','renderTimecode','url','augmentation','Utils','for\x20more\x20about\x20webgl-utils.js\x20see:','Ads','):\x20','***\x20Error:\x20unknown\x20shader\x20type','TimeCodeArray2TimeCodeJson','AdNameForPlaceHolder','renderAugmentation','color:blue;font-weight:bold;','_nextAdvertisement','time','createElement','compileShader','TEXTURE_MAG_FILTER','composer::AddAdvertisement:\x20place-to-ads\x20mapping:\x20','x-shader/x-fragment','SynchMethod','LINEAR','getUniformLocation','folderName','getProgramParameter','SetRectangle','webkitRequestFullscreen','timeDate2TC','slice','OnUserClickOnCanvas','appendChild','connect','requestVideoFrameCallback\x20is\x20supported','emit','Frames2Timecode','COLOR_BUFFER_BIT','RenderTimecode','render():\x20lastVideoFrameRenderedInGL==currentFrame:\x20','requestVideoFrameCallback\x20is\x20not\x20supported','fragmentShaderSourceV1','insertBefore','u_matrix','random','frame','RenderFrame','dateTime','www.mediakind.com/NTC','advertisementMap','script','UNPACK_ALIGNMENT','rect','u_resolution2','indexOf','Firefox','AddAdvertisement','texParameteri','setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode','TEXTURE_2D','getCanvas','112688bYQIxh','clientWidth','undefined','syncPoint','Linux','maskY','onload','getElementById','composer::SelectAd:\x20selected\x20ad\x20is\x20','1973850BpaRUj','https://www.virtualott.com','_blank','u_digitTopLeft','white','placeholders','printTimecode'];_0x3467=function(){return _0x5b50d5;};return _0x3467();}(function(_0x224cfb,_0x49b6d0){const _0x2ee691=_0x61da;typeof define==='function'&&define[_0x2ee691(0x268)]?define([],function(){return _0x49b6d0['call'](_0x224cfb);}):_0x224cfb[_0x2ee691(0x276)]=_0x49b6d0['call'](_0x224cfb);}(this,function(){'use strict';const _0xa72a4b=_0x61da;const _0x4595f4=this;function _0x5e5c7d(_0xe41ad1){const _0x56f1f1=_0x61da;return _0xe41ad1=_0xe41ad1||_0x4595f4,_0xe41ad1!==_0xe41ad1[_0x56f1f1(0x2a4)];}!_0x5e5c7d()&&(console[_0xa72a4b(0x19f)](_0xa72a4b(0x1be),_0xa72a4b(0x15a),_0xa72a4b(0x153)),console['log'](_0xa72a4b(0x1be),_0xa72a4b(0x15a),'http://webgl2fundamentals.org/webgl/lessons/webgl-boilerplate.html'));function _0x357c32(_0x4c166c){const _0x2dc72a=_0xa72a4b;if(_0x4595f4['console']){if(_0x4595f4['console'][_0x2dc72a(0x1d1)])_0x4595f4[_0x2dc72a(0x297)]['error'](_0x4c166c);else _0x4595f4[_0x2dc72a(0x297)][_0x2dc72a(0x19f)]&&_0x4595f4[_0x2dc72a(0x297)][_0x2dc72a(0x19f)](_0x4c166c);}}const _0x420419=/ERROR:\s*\d+:(\d+)/gi;function _0x4c0d8d(_0x277d11,_0x27fcab=''){const _0xff1158=_0xa72a4b,_0x6d0d8c=[..._0x27fcab[_0xff1158(0x1f0)](_0x420419)],_0x1eef7c=new Map(_0x6d0d8c[_0xff1158(0x225)]((_0x40c7d2,_0x4bc5bd)=>{const _0x43890c=_0xff1158,_0x12b908=parseInt(_0x40c7d2[0x1]),_0x36e057=_0x6d0d8c[_0x4bc5bd+0x1],_0x1e3f0d=_0x36e057?_0x36e057[_0x43890c(0x2a1)]:_0x27fcab[_0x43890c(0x271)],_0x2f8eea=_0x27fcab['substring'](_0x40c7d2[_0x43890c(0x2a1)],_0x1e3f0d);return[_0x12b908-0x1,_0x2f8eea];}));return _0x277d11[_0xff1158(0x21a)]('\x0a')[_0xff1158(0x225)]((_0x43406e,_0x2461dc)=>{const _0xf663f8=_0xff1158,_0x5415de=_0x1eef7c[_0xf663f8(0x1f8)](_0x2461dc);return _0x2461dc+0x1+':\x20'+_0x43406e+(_0x5415de?_0xf663f8(0x22d)+_0x5415de:'');})[_0xff1158(0x298)]('\x0a');}function _0x23f945(_0x3d68a4,_0x1b4780,_0x2c7883,_0x5bd09f){const _0x325aed=_0xa72a4b,_0x16420e=_0x5bd09f||_0x357c32,_0x224484=_0x3d68a4[_0x325aed(0x273)](_0x2c7883);_0x3d68a4['shaderSource'](_0x224484,_0x1b4780),_0x3d68a4[_0x325aed(0x15e)](_0x224484);const _0x3fa1ad=_0x3d68a4['getShaderParameter'](_0x224484,_0x3d68a4['COMPILE_STATUS']);if(!_0x3fa1ad){const _0x55c5a4=_0x3d68a4['getShaderInfoLog'](_0x224484);return _0x16420e(_0x325aed(0x285)+_0x55c5a4+'\x0a'+_0x4c0d8d(_0x1b4780,_0x55c5a4)),_0x3d68a4[_0x325aed(0x1e9)](_0x224484),null;}return _0x224484;}function _0x4701aa(_0x465cca,_0x389db9,_0x4c531e,_0x380aa5,_0x457bc1){const _0x337bb4=_0xa72a4b,_0x4a2611=_0x457bc1||_0x357c32,_0x53bf30=_0x465cca[_0x337bb4(0x27c)]();_0x389db9[_0x337bb4(0x126)](function(_0xa604f6){const _0x3db831=_0x337bb4;_0x465cca[_0x3db831(0x215)](_0x53bf30,_0xa604f6);});_0x4c531e&&_0x4c531e[_0x337bb4(0x126)](function(_0x27f26a,_0x2d60d7){_0x465cca['bindAttribLocation'](_0x53bf30,_0x380aa5?_0x380aa5[_0x2d60d7]:_0x2d60d7,_0x27f26a);});_0x465cca[_0x337bb4(0x249)](_0x53bf30);const _0x1c4407=_0x465cca[_0x337bb4(0x166)](_0x53bf30,_0x465cca[_0x337bb4(0x23b)]);if(!_0x1c4407){const _0x461dc1=_0x465cca[_0x337bb4(0x23d)](_0x53bf30);return _0x4a2611(_0x337bb4(0x1ba)+_0x461dc1+'\x0a'+_0x389db9['map'](_0x43f583=>{const _0x235a17=_0x337bb4,_0x49252c=_0x4c0d8d(_0x465cca[_0x235a17(0x208)](_0x43f583)),_0x29712d=_0x465cca[_0x235a17(0x296)](_0x43f583,_0x465cca[_0x235a17(0x1a3)]);return glEnumToString(_0x465cca,_0x29712d)+':\x0a'+_0x49252c;})[_0x337bb4(0x298)]('\x0a')),_0x465cca[_0x337bb4(0x236)](_0x53bf30),null;}return _0x53bf30;}function _0x479d48(_0x39c8d2,_0x41a583,_0x36ec96,_0x347e4e){const _0x1fe3e2=_0xa72a4b;let _0x372603='',_0x8d0fac;const _0x429647=document[_0x1fe3e2(0x190)](_0x41a583);if(!_0x429647)throw'***\x20Error:\x20unknown\x20script\x20element'+_0x41a583;_0x372603=_0x429647['text'];if(!_0x36ec96){if(_0x429647[_0x1fe3e2(0x216)]==='x-shader/x-vertex')_0x8d0fac=_0x39c8d2[_0x1fe3e2(0x205)];else{if(_0x429647[_0x1fe3e2(0x216)]===_0x1fe3e2(0x161))_0x8d0fac=_0x39c8d2['FRAGMENT_SHADER'];else{if(_0x8d0fac!==_0x39c8d2[_0x1fe3e2(0x205)]&&_0x8d0fac!==_0x39c8d2[_0x1fe3e2(0x247)])throw _0x1fe3e2(0x156);}}}return _0x23f945(_0x39c8d2,_0x372603,_0x36ec96?_0x36ec96:_0x8d0fac,_0x347e4e);}const _0x4b4f44=[_0xa72a4b(0x205),_0xa72a4b(0x247)];function _0x4a786e(_0x1ca613,_0x1f8b69,_0x238e5d,_0x5f0e05,_0x11e9b2){const _0xb19536=_0xa72a4b,_0x4e4237=[];for(let _0xd33f5b=0x0;_0xd33f5b<_0x1f8b69[_0xb19536(0x271)];++_0xd33f5b){_0x4e4237[_0xb19536(0x22b)](_0x479d48(_0x1ca613,_0x1f8b69[_0xd33f5b],_0x1ca613[_0x4b4f44[_0xd33f5b]],_0x11e9b2));}return _0x4701aa(_0x1ca613,_0x4e4237,_0x238e5d,_0x5f0e05,_0x11e9b2);}function _0x5e8b83(_0x5b1192,_0x4870cd,_0x90d4b5,_0xfdcc24,_0x353388){const _0x51b998=_0xa72a4b,_0x4d37b0=[];for(let _0x55b4d4=0x0;_0x55b4d4<_0x4870cd[_0x51b998(0x271)];++_0x55b4d4){_0x4d37b0[_0x51b998(0x22b)](_0x23f945(_0x5b1192,_0x4870cd[_0x55b4d4],_0x5b1192[_0x4b4f44[_0x55b4d4]],_0x353388));}return _0x4701aa(_0x5b1192,_0x4d37b0,_0x90d4b5,_0xfdcc24,_0x353388);}function _0x19c58c(_0x555e53,_0x1833f1){const _0x37ddf9=_0xa72a4b;_0x1833f1=_0x1833f1||0x1;const _0x59c4f7=_0x555e53[_0x37ddf9(0x18a)]*_0x1833f1|0x0,_0x3647f9=_0x555e53[_0x37ddf9(0x23f)]*_0x1833f1|0x0;if(_0x555e53[_0x37ddf9(0x294)]!==_0x59c4f7||_0x555e53[_0x37ddf9(0x145)]!==_0x3647f9)return _0x555e53[_0x37ddf9(0x294)]=_0x59c4f7,_0x555e53[_0x37ddf9(0x145)]=_0x3647f9,!![];return![];}return{'createProgram':_0x4701aa,'createProgramFromScripts':_0x4a786e,'createProgramFromSources':_0x5e8b83,'resizeCanvasToDisplaySize':_0x19c58c};}));const BB={'MAX_LOGOS':0x4};BB['GL']={'vertexShaderSource':_0x311d80(0x127),'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':_0x311d80(0x275)},BB[_0x311d80(0x21f)]={'Src60_MediaTime60':Symbol('Src60_MediaTime60'),'Src59_MediaTime60':Symbol(_0x311d80(0x1ce)),'Src59_MediaTime59':Symbol(_0x311d80(0x1d3)),'Src29_MediaTime29':Symbol(_0x311d80(0x1b2))},BB[_0x311d80(0x14d)]={'RenderDigits':Symbol(_0x311d80(0x220)),'RenderTimecode':Symbol(_0x311d80(0x172)),'Augment':Symbol(_0x311d80(0x118))},BB[_0x311d80(0x162)]={'OnNewSegment':Symbol('OnNewSegment'),'OnMetadata':Symbol(_0x311d80(0x1da)),'None':Symbol(_0x311d80(0x1cb))},BB[_0x311d80(0x152)]=((()=>{const _0x5230dd=_0xf2d9d3=>{const _0x22ef4d=_0x61da;return _0xf2d9d3[_0x22ef4d(0x121)]()['padStart'](0x2,'0');},_0x3ab84d=((()=>{const _0x4c2f4b=(_0x4b8b6a,_0x27acda,_0x5d03a)=>{const _0x541cfb=_0x61da;let _0x32c34d='';if(Array[_0x541cfb(0x1c2)](_0x4b8b6a)){_0x32c34d=[_0x5230dd(_0x4b8b6a[0x0]),_0x5230dd(_0x4b8b6a[0x1]),_0x5230dd(_0x4b8b6a[0x2]),_0x5230dd(_0x4b8b6a[0x3])][_0x541cfb(0x298)](':');if(_0x5d03a==!![]){if(_0x4b8b6a[0x4]==0x1&&(_0x27acda===undefined||_0x27acda))_0x32c34d+='.2';else _0x32c34d+='.1';}else{if(_0x4b8b6a[0x4]==0x1&&(_0x27acda===undefined||_0x27acda))_0x32c34d+='.1';}}else{const _0x51efcd=':';_0x32c34d=('0'+_0x4b8b6a['h'])[_0x541cfb(0x16a)](-0x2)+_0x51efcd+('0'+_0x4b8b6a['m'])['slice'](-0x2)+_0x51efcd+('0'+_0x4b8b6a['s'])[_0x541cfb(0x16a)](-0x2)+_0x51efcd+('0'+_0x4b8b6a['f'])[_0x541cfb(0x16a)](-0x2);if(_0x27acda)_0x32c34d+='.'+(_0x4b8b6a[_0x541cfb(0x11c)]?'1':'2');}return _0x32c34d;},_0x123579=_0x1fcd9c=>{const _0x2060bb=_0x61da;let _0x54f7bd=_0x1fcd9c[_0x2060bb(0x21a)](':');if(_0x54f7bd[_0x2060bb(0x271)]!=0x4)return console['error']('timeCodeStr2TimeCodeArray:\x20Failed\x20to\x20parse\x20'+_0x1fcd9c),[0x0,0x0,0x0,0x0,0x0];let _0x575b5d=[parseInt(_0x54f7bd[0x0]),parseInt(_0x54f7bd[0x1]),parseInt(_0x54f7bd[0x2])];if(_0x54f7bd[0x3][_0x2060bb(0x182)]('.')>=0x0){let _0x20cda8=_0x54f7bd[0x3][_0x2060bb(0x21a)]('.');_0x575b5d[_0x2060bb(0x22b)](parseInt(_0x20cda8[0x0])),_0x575b5d[_0x2060bb(0x22b)](parseInt(_0x20cda8[0x1]));}else _0x575b5d[_0x2060bb(0x22b)](parseInt(_0x54f7bd[0x3])),_0x575b5d[_0x2060bb(0x22b)](0x0);return _0x575b5d;},_0x24732a=(_0x3df778,_0x82f04c,_0x516da7)=>{const _0x2f7819=_0x61da;let _0x26c579=0x3c,_0x290fe6=0x0;if(Math[_0x2f7819(0x252)](_0x82f04c)==0x3c)_0x26c579=0x3c,_0x290fe6=0x0;else{if(Math[_0x2f7819(0x252)](_0x82f04c)==0x3b)_0x26c579=0x3c,_0x290fe6=0x4;else{if(Math[_0x2f7819(0x252)](_0x82f04c)==0x1e)_0x26c579=0x1e,_0x290fe6=0x0;else Math['floor'](_0x82f04c)==0x1d&&(_0x26c579=0x1e,_0x290fe6=0x2);}}let _0x25c300=0x0,_0x1078c5=Math['floor'](_0x82f04c*0x3c),_0x1b8c2c=Math[_0x2f7819(0x252)](_0x82f04c*0x3c*0xa),_0x4c13ed=_0x1b8c2c*0x6,_0x4e6c0f=_0x3df778[0x0],_0x299c81=_0x3df778[0x1],_0x21ed62=_0x3df778[0x2],_0x213b87=_0x3df778[0x3],_0x2a4751=_0x3df778[0x4];_0x25c300+=_0x4e6c0f*_0x4c13ed,_0x25c300+=_0x299c81*(_0x26c579*0x3c),_0x25c300+=_0x21ed62*_0x26c579;if(_0x516da7)_0x25c300+=_0x213b87*0x2+_0x2a4751;else _0x25c300+=_0x213b87;return _0x25c300-=_0x290fe6*_0x299c81,_0x25c300+=_0x290fe6*Math['floor'](_0x299c81/0xa),_0x25c300;},_0x4b8a7e=(_0x2a92ca,_0x44b984,_0xf73037)=>{const _0x31aa57=_0x61da;let _0x43009d=0x3c,_0x2cedba=0x0;if(Math[_0x31aa57(0x252)](_0x44b984)==0x3c)_0x43009d=0x3c,_0x2cedba=0x0;else{if(Math[_0x31aa57(0x252)](_0x44b984)==0x3b)_0x43009d=0x3c,_0x2cedba=0x4;else{if(Math[_0x31aa57(0x252)](_0x44b984)==0x1e)_0x43009d=0x1e,_0x2cedba=0x0;else Math['floor'](_0x44b984)==0x1d&&(_0x43009d=0x1e,_0x2cedba=0x2);}}let _0x43d3eb=0x0,_0x502528=Math['floor'](_0x44b984*0x3c),_0x33cee1=Math[_0x31aa57(0x252)](_0x44b984*0x3c*0xa),_0x4f59b2=_0x33cee1*0x6,_0x5a1148=_0x2a92ca,_0x522087=Math[_0x31aa57(0x252)](_0x5a1148/_0x4f59b2);_0x5a1148-=_0x522087*_0x4f59b2;let _0x2b2eae=Math[_0x31aa57(0x252)](_0x5a1148/_0x33cee1);_0x5a1148-=_0x2b2eae*_0x33cee1;if(_0x5a1148>=_0x43009d*0x3c)_0x5a1148+=_0x2cedba*(Math['floor']((_0x5a1148-_0x43009d*0x3c)/_0x502528)+0x1);let _0x485deb=Math[_0x31aa57(0x252)](_0x5a1148/(_0x43009d*0x3c));_0x5a1148-=_0x485deb*(_0x43009d*0x3c);let _0x271d29=Math[_0x31aa57(0x252)](_0x5a1148/_0x43009d);_0x5a1148-=_0x271d29*_0x43009d;let _0x584c6f=_0x5a1148;_0x485deb+=_0x2b2eae*0xa,dotOne=0x0;_0xf73037&&(dotOne=_0x584c6f%0x2,_0x584c6f=Math[_0x31aa57(0x252)](_0x584c6f/0x2));let _0x2b0616=[_0x522087,_0x485deb,_0x271d29,_0x584c6f,dotOne];return _0x2b0616;},_0x4966aa=(_0x155ecf,_0x5400f0,_0x2063eb)=>{let _0x44397b=_0x2063eb>0x1e,_0x1f4b6=_0x24732a(_0x155ecf,_0x2063eb,_0x44397b);return _0x1f4b6+=_0x5400f0,_0x4b8a7e(_0x1f4b6,_0x2063eb,_0x44397b);},_0x401d79=_0x57a9ac=>{return{'h':_0x57a9ac[0x0],'m':_0x57a9ac[0x1],'s':_0x57a9ac[0x2],'f':_0x57a9ac[0x3],'field':_0x57a9ac[0x4]};},_0x4f071e=(_0x35b3aa,_0x412390)=>{const _0x203be4=_0x61da;let _0x488c5d=BB[_0x203be4(0x152)][_0x203be4(0x169)](_0x35b3aa,_0x412390);return _0x412390>0x3b?BB[_0x203be4(0x152)][_0x203be4(0x1ea)][_0x203be4(0x198)](tcFromMessage,!![]):BB[_0x203be4(0x152)][_0x203be4(0x1ea)][_0x203be4(0x198)](tcFromMessage,![]);let _0x92b559=BB[_0x203be4(0x152)][_0x203be4(0x1b3)],_0x2af34d='';_0x92b559['isApple']()?_0x2af34d=_0x35b3aa:_0x2af34d=_0x35b3aa[_0x203be4(0x211)]();let _0x16115b=_0x2af34d['split']('T')[0x1],_0x562419=_0x16115b[_0x203be4(0x21a)](':'),_0x1c9476=parseInt(_0x562419[0x0]),_0x1ec8a3=parseInt(_0x562419[0x1]),_0x33cdd5=_0x562419[0x2][_0x203be4(0x21a)]('.'),_0x7210ba=parseInt(_0x33cdd5[0x0]),_0x5a75bd=parseInt(_0x33cdd5[0x1][_0x203be4(0x248)](0x0,0x3)),_0x52c49f=Math[_0x203be4(0x1a0)](_0x5a75bd/0x3e8*_0x412390);if(_0x412390>0x3b){let _0x4a717b=_0x52c49f%0x2==0x0?0x1:0x2;_0x52c49f=Math['floor'](_0x52c49f/0x2);let _0x6d1d43=_0x1c9476[_0x203be4(0x121)]()[_0x203be4(0x11e)](0x2,'0')+':'+_0x1ec8a3[_0x203be4(0x121)]()[_0x203be4(0x11e)](0x2,'0')+':'+_0x7210ba[_0x203be4(0x121)]()['padStart'](0x2,'0')+':'+_0x52c49f['toString']()[_0x203be4(0x11e)](0x2,'0')+'.'+_0x4a717b[_0x203be4(0x121)]();return _0x6d1d43;}else{let _0x33a36a=_0x1c9476[_0x203be4(0x121)]()['padStart'](0x2,'0')+':'+_0x1ec8a3[_0x203be4(0x121)]()[_0x203be4(0x11e)](0x2,'0')+':'+_0x7210ba[_0x203be4(0x121)]()[_0x203be4(0x11e)](0x2,'0')+':'+_0x52c49f[_0x203be4(0x121)]()['padStart'](0x2,'0');return _0x33a36a;}return str;},_0x840d34=(_0x2d2122,_0x1fb716)=>{const _0x358878=_0x61da;let _0x3b4eca=BB['Utils']['Platform'],_0x40ba8e='';_0x3b4eca['isApple']()?_0x40ba8e=_0x2d2122:_0x40ba8e=_0x2d2122['toISOString']();let _0xcc75a3=_0x40ba8e['split']('T')[0x1],_0x3503d2=_0xcc75a3[_0x358878(0x21a)](':'),_0x46853d=parseInt(_0x3503d2[0x0]),_0xfbb9cf=parseInt(_0x3503d2[0x1]),_0x4efc69=_0x3503d2[0x2][_0x358878(0x21a)]('.'),_0x2423a5=parseInt(_0x4efc69[0x0]),_0x297a1a=parseInt(_0x4efc69[0x1][_0x358878(0x248)](0x0,0x3));if(_0x1fb716>0x3b){let _0xc837c9=Math[_0x358878(0x1a0)]((_0x297a1a/0x3e8+_0x2423a5+_0xfbb9cf*0x3c+_0x46853d*0x3c*0x3c)*_0x1fb716),_0x1b1188=BB[_0x358878(0x152)][_0x358878(0x1ea)][_0x358878(0x170)](_0xc837c9,_0x1fb716,!![]);return _0x1b1188;}else{let _0x476860=Math[_0x358878(0x1a0)]((_0x297a1a/0x3e8+_0x2423a5+_0xfbb9cf*0x3c+_0x46853d*0x3c*0x3c)*_0x1fb716),_0x17dc0e=BB[_0x358878(0x152)][_0x358878(0x1ea)]['Frames2Timecode'](_0x476860,_0x1fb716,![]);return _0x17dc0e;}};return{'printTimecode':_0x4c2f4b,'timeCodeStr2TimeCodeArray':_0x123579,'Timecode2Frames':_0x24732a,'Frames2Timecode':_0x4b8a7e,'TimeCodeAddFrames':_0x4966aa,'TimeCodeArray2TimeCodeJson':_0x401d79,'timeDate2TCString':_0x4f071e,'timeDate2TC':_0x840d34};})()),_0x56a662=_0x39cb7b=>{let _0x3b2fd9=_0x39cb7b||0x2540be3ff,_0x3e7a2d=[],_0x37583b=0x0;const _0x24b0db=_0x2938d2=>{const _0x13a982=_0x61da;++_0x37583b,_0x3e7a2d[_0x13a982(0x22b)](_0x2938d2);while(_0x3e7a2d['length']>_0x3b2fd9)_0x3e7a2d[_0x13a982(0x2b1)]();},_0x123f7f=()=>{const _0x1d445d=_0x61da;if(_0x3e7a2d[_0x1d445d(0x271)]==0x0)return-0x1;let _0x42b049=Array[_0x1d445d(0x2a6)](_0x3e7a2d)[_0x1d445d(0x12a)]((_0x436153,_0x4a3904)=>{return _0x436153-_0x4a3904;});return _0x42b049[parseInt(_0x42b049[_0x1d445d(0x271)]/0x2)];},_0x5f4339=()=>{return _0x37583b;};return{'add':_0x24b0db,'getMedian':_0x123f7f,'howMany':_0x5f4339};},_0x5e5e2f=((()=>{const _0x50c4d2=()=>{const _0x446385=_0x61da,_0x2643c2=navigator[_0x446385(0x13f)];if(/windows/i[_0x446385(0x235)](_0x2643c2))return'Windows';else{if(/android/i[_0x446385(0x235)](_0x2643c2))return'Android';else{if(/iphone|ipad|ipod/i['test'](_0x2643c2))return _0x446385(0x1aa);else{if(/mac/i[_0x446385(0x235)](_0x2643c2)){let _0x329f5f=_0x446385(0x140)in window||navigator['maxTouchPoints']>0x0||navigator[_0x446385(0x20e)]>0x0;if(_0x329f5f)return'iPad';else return _0x446385(0x1b5);}else return/ipad/i[_0x446385(0x235)](_0x2643c2)?'iPad':'Something\x20else';}}}},_0x1f2084=()=>{const _0x4d9453=_0x61da;let _0x35b488=_0x50c4d2();return _0x35b488==_0x4d9453(0x1b5);},_0x3a6d94=()=>{const _0x513ef1=_0x61da;let _0x2cf874=_0x50c4d2();return _0x2cf874==_0x513ef1(0x288);},_0xa0de5b=()=>{const _0x2c3115=_0x61da;let _0xc37d9a=_0x50c4d2();return _0xc37d9a==_0x2c3115(0x1aa);},_0x2f3ad9=()=>{const _0x4a5dd4=_0x61da;let _0x4399e3=_0x50c4d2();return _0x4399e3==_0x4a5dd4(0x1aa)||_0x4399e3=='Mac'||_0x4399e3==_0x4a5dd4(0x288);},_0x5b2bf3=()=>{const _0x446c25=_0x61da;let _0x539c40=_0x50c4d2();return _0x539c40==_0x446c25(0x29d);},_0x56c65c=()=>{let _0x3d0917=_0x50c4d2();return _0x3d0917=='Android';},_0x481203=()=>{const _0x53606a=_0x61da;let _0x31a94a=_0x50c4d2();if(_0x31a94a=='Windows')return _0x53606a(0x24a);else{if(_0x31a94a==_0x53606a(0x282))return _0x53606a(0x281);else{if(_0x31a94a==_0x53606a(0x1aa))return'an\x20iPhone';else{if(_0x31a94a==_0x53606a(0x1b5))return'a\x20Mac';else{if(_0x31a94a=='iPad')return _0x53606a(0x1fc);else return'an\x20Unknown\x20device';}}}}},_0x383a5f=()=>{const _0x4a3528=_0x61da;let _0x4f5208={'options':[],'header':[navigator[_0x4a3528(0x27d)],navigator[_0x4a3528(0x13f)],navigator[_0x4a3528(0x1bb)],navigator[_0x4a3528(0x289)],window[_0x4a3528(0x209)]],'dataos':[{'name':_0x4a3528(0x12b),'value':_0x4a3528(0x12b),'version':'OS'},{'name':_0x4a3528(0x29d),'value':_0x4a3528(0x11f),'version':'NT'},{'name':_0x4a3528(0x229),'value':_0x4a3528(0x229),'version':'OS'},{'name':_0x4a3528(0x288),'value':_0x4a3528(0x288),'version':'OS'},{'name':_0x4a3528(0x138),'value':_0x4a3528(0x133),'version':'Silk'},{'name':_0x4a3528(0x282),'value':_0x4a3528(0x282),'version':_0x4a3528(0x282)},{'name':_0x4a3528(0x22a),'value':_0x4a3528(0x22a),'version':'OS'},{'name':_0x4a3528(0x1ef),'value':_0x4a3528(0x1ef),'version':'/'},{'name':_0x4a3528(0x1a2),'value':_0x4a3528(0x1b5),'version':'OS\x20X'},{'name':_0x4a3528(0x18d),'value':_0x4a3528(0x18d),'version':'rv'},{'name':_0x4a3528(0x1e5),'value':'Palm','version':_0x4a3528(0x1d5)}],'databrowser':[{'name':'Chrome','value':_0x4a3528(0x123),'version':_0x4a3528(0x123)},{'name':'Firefox','value':_0x4a3528(0x183),'version':_0x4a3528(0x183)},{'name':_0x4a3528(0x143),'value':_0x4a3528(0x143),'version':_0x4a3528(0x279)},{'name':'Internet\x20Explorer','value':_0x4a3528(0x137),'version':_0x4a3528(0x137)},{'name':_0x4a3528(0x1c6),'value':'Opera','version':_0x4a3528(0x1c6)},{'name':_0x4a3528(0x1ef),'value':_0x4a3528(0x120),'version':'CLDC'},{'name':_0x4a3528(0x1ab),'value':_0x4a3528(0x1ab),'version':_0x4a3528(0x1ab)}],'init':function(){const _0x207434=_0x4a3528;let _0x507c6c=this[_0x207434(0x204)][_0x207434(0x298)]('\x20'),_0x587da3=this[_0x207434(0x26d)](_0x507c6c,this['dataos']),_0x1f075c=this[_0x207434(0x26d)](_0x507c6c,this[_0x207434(0x233)]);return{'os':_0x587da3,'browser':_0x1f075c};},'matchItem':function(_0x337356,_0x1902d8){const _0x13f531=_0x4a3528;let _0xa0618f=0x0,_0x265f4b=0x0,_0x41a2a3='',_0x4593e4,_0x52e266,_0x56ed55,_0x945cf7,_0x402572;for(_0xa0618f=0x0;_0xa0618f<_0x1902d8[_0x13f531(0x271)];_0xa0618f+=0x1){_0x4593e4=new RegExp(_0x1902d8[_0xa0618f][_0x13f531(0x234)],'i'),_0x56ed55=_0x4593e4[_0x13f531(0x235)](_0x337356);if(_0x56ed55){_0x52e266=new RegExp(_0x1902d8[_0xa0618f][_0x13f531(0x1db)]+_0x13f531(0x1fb),'i'),_0x945cf7=_0x337356[_0x13f531(0x135)](_0x52e266),_0x402572='';_0x945cf7&&(_0x945cf7[0x1]&&(_0x945cf7=_0x945cf7[0x1]));if(_0x945cf7){_0x945cf7=_0x945cf7[_0x13f531(0x21a)](/[._]+/);for(_0x265f4b=0x0;_0x265f4b<_0x945cf7[_0x13f531(0x271)];_0x265f4b+=0x1){_0x265f4b===0x0?_0x402572+=_0x945cf7[_0x265f4b]+'.':_0x402572+=_0x945cf7[_0x265f4b];}}else _0x402572='0';return{'name':_0x1902d8[_0xa0618f][_0x13f531(0x13a)],'version':parseFloat(_0x402572)};}}return{'name':_0x13f531(0x124),'version':0x0};}},_0x458f7f=_0x4f5208['init']();return _0x458f7f['os']['name'];};return{'getDeviceName':_0x383a5f,'getCurrentPlatform':_0x50c4d2,'isApple':_0x2f3ad9,'isWindows':_0x5b2bf3,'isAndroid':_0x56c65c,'isMac':_0x1f2084,'isiPhone':_0xa0de5b,'isiPad':_0x3a6d94,'getDeviceDescription':_0x481203};})()),_0x27c3ca=_0x384c33=>{const _0x574c01=_0x61da;let _0x1ad163=0x3c;switch(_0x384c33){case BB[_0x574c01(0x21f)][_0x574c01(0x1b4)]:_0x1ad163=0x3c;break;case BB['FrameRateMode'][_0x574c01(0x1ce)]:_0x1ad163=0x3c;break;case BB['FrameRateMode'][_0x574c01(0x1d3)]:_0x1ad163=0xea60/0x3e9;break;case BB[_0x574c01(0x21f)][_0x574c01(0x1b2)]:_0x1ad163=0x7530/0x3e9;break;default:console['error'](_0x574c01(0x242));break;};return _0x1ad163;},_0x130653=_0x4dd484=>{const _0x2b110f=_0x61da;let _0x4a0a8c=0x3c;switch(_0x4dd484){case BB[_0x2b110f(0x21f)][_0x2b110f(0x1b4)]:_0x4a0a8c=0x3c;break;case BB['FrameRateMode'][_0x2b110f(0x1ce)]:_0x4a0a8c=0xea60/0x3e9;break;case BB[_0x2b110f(0x21f)][_0x2b110f(0x1d3)]:_0x4a0a8c=0xea60/0x3e9;break;case BB[_0x2b110f(0x21f)][_0x2b110f(0x1b2)]:_0x4a0a8c=0x7530/0x3e9;break;default:console[_0x2b110f(0x1d1)](_0x2b110f(0x12f));break;};return _0x4a0a8c;},_0x1d54ae=(_0x31f511,_0x43f1ba)=>{const _0x5784d1=_0x61da,_0x291659=(_0x292a1a,_0x3a8083)=>{if(Math['abs'](_0x292a1a-_0x3a8083)<0.01)return!![];else return![];};if(_0x291659(_0x31f511,0x3c)){if(_0x291659(BB[_0x5784d1(0x152)]['getSourceFPS'](_0x43f1ba[_0x5784d1(0x29c)]),0x3c))_0x43f1ba[_0x5784d1(0x29c)]=BB['FrameRateMode'][_0x5784d1(0x1b4)];else{if(_0x291659(BB[_0x5784d1(0x152)][_0x5784d1(0x292)](_0x43f1ba[_0x5784d1(0x29c)]),0xea60/0x3e9))_0x43f1ba['frameRateMode']=BB[_0x5784d1(0x21f)][_0x5784d1(0x1ce)];else console[_0x5784d1(0x1d1)](_0x5784d1(0x186));}}else{if(_0x291659(_0x31f511,0xea60/0x3e9)){if(_0x291659(BB[_0x5784d1(0x152)][_0x5784d1(0x292)](_0x43f1ba[_0x5784d1(0x29c)]),0x3c))_0x43f1ba[_0x5784d1(0x29c)]=BB[_0x5784d1(0x21f)][_0x5784d1(0x24c)];else{if(_0x291659(BB[_0x5784d1(0x152)]['getSourceFPS'](_0x43f1ba[_0x5784d1(0x29c)]),0xea60/0x3e9))_0x43f1ba[_0x5784d1(0x29c)]=BB[_0x5784d1(0x21f)][_0x5784d1(0x1d3)];else console[_0x5784d1(0x1d1)](_0x5784d1(0x186));}}else{if(_0x291659(_0x31f511,0x7530/0x3e9)){if(_0x291659(BB[_0x5784d1(0x152)][_0x5784d1(0x292)](_0x43f1ba[_0x5784d1(0x29c)]),0x7530/0x3e9))_0x43f1ba[_0x5784d1(0x29c)]=BB['FrameRateMode'][_0x5784d1(0x1b2)];else console[_0x5784d1(0x1d1)]('setMediaFPS:\x20Unknown\x20Source\x20FrameRate\x20mode,\x20fps\x20=\x20'+_0x31f511);}else console[_0x5784d1(0x1d1)](_0x5784d1(0x2ae));}}},_0x5b3cca=()=>{const _0x1374dd=[0x7530/0x3e9,0x1e/0x1],_0x1ab8e8=[0xea60/0x3e9,0x3c/0x1];let _0x603efc=[],_0x572ef4=[],_0x106996=0x0,_0x2fc519=-0x1,_0x220bb7=0x0;const _0x4ff31e=_0x122a1f=>{const _0x5efbfd=_0x61da;_0x220bb7++;let _0x373fab=0x3e7,_0x2413ce=0x0;if(_0x2fc519==-0x1){_0x2fc519=_0x122a1f;return;}else{let _0x25a97f=_0x122a1f-_0x2fc519;if(_0x106996<0x64){_0x572ef4[_0x5efbfd(0x22b)](_0x25a97f),_0x106996++;return;}else _0x572ef4['push'](_0x25a97f),_0x572ef4[_0x5efbfd(0x2b1)]();let _0x1663dd=0x0;for(let _0x340337=0x0;_0x340337<_0x572ef4['length'];_0x340337++){_0x1663dd+=_0x572ef4[_0x340337];}_0x25a97f=_0x1663dd/_0x572ef4[_0x5efbfd(0x271)];if(0x1/_0x25a97f<0x28)possibleFps=_0x1374dd;else possibleFps=_0x1ab8e8;}_0x2fc519=_0x122a1f;for(let _0x3e05f4=0x0;_0x3e05f4<possibleFps[_0x5efbfd(0x271)];++_0x3e05f4){let _0x5d68fc=possibleFps[_0x3e05f4],_0x398205=_0x122a1f*_0x5d68fc,_0x26d8d7=Math[_0x5efbfd(0x1a0)](_0x398205),_0x26e8a4=Math[_0x5efbfd(0x272)](_0x398205-_0x26d8d7);_0x26e8a4<_0x373fab&&(_0x373fab=_0x26e8a4,_0x2413ce=_0x5d68fc);}let _0x557074=_0x2413ce;_0x603efc[_0x5efbfd(0x22b)](_0x557074);if(_0x220bb7>0x3e8)_0x603efc[_0x5efbfd(0x2b1)]();},_0x195087=()=>{let _0x2f6dd4={},_0x183fee,_0x4f61cb=0x0;for(let _0x2a529c=0x0;_0x2a529c<_0x603efc['length'];_0x2a529c++){let _0x55308e=_0x603efc[_0x2a529c];_0x2f6dd4[_0x55308e]=(_0x2f6dd4[_0x55308e]||0x0)+0x1,_0x2f6dd4[_0x55308e]>_0x4f61cb&&(_0x183fee=_0x55308e,_0x4f61cb=_0x2f6dd4[_0x55308e]);}return _0x183fee;},_0xc0f1dd=()=>{return _0x220bb7;};return{'addTime':_0x4ff31e,'getProbableFPS':_0x195087,'howMany':_0xc0f1dd};};return{'TimeCodesFramesTranslator':_0x3ab84d,'MedianCalculator':_0x56a662,'Platform':_0x5e5e2f,'getMediaTimeFPS':_0x27c3ca,'getSourceFPS':_0x130653,'setMediaFPS':_0x1d54ae,'FPSGetter':_0x5b3cca};})()),BB[_0x311d80(0x11b)]=class{constructor(_0x2c9139){const _0x26b8cd=_0x311d80;this[_0x26b8cd(0x1a1)]=![],this[_0x26b8cd(0x165)]='',this[_0x26b8cd(0x19a)]=_0x2c9139,this[_0x26b8cd(0x13a)]='';}[_0x311d80(0x23a)](_0x4e2ab7){const _0x4d03f3=_0x311d80;if(typeof io==_0x4d03f3(0x18b)||this[_0x4d03f3(0x1a1)])return;this[_0x4d03f3(0x1a1)]=!![];const _0x3bc076=io(_0x4d03f3(0x193));_0x3bc076['on'](_0x4d03f3(0x16d),()=>{const _0x436162=_0x4d03f3;console[_0x436162(0x19f)](_0x436162(0x20f));let _0x4fd75d=BB[_0x436162(0x152)][_0x436162(0x1b3)];_0x3bc076[_0x436162(0x16f)](_0x436162(0x14a),{'device':_0x4fd75d[_0x436162(0x2a0)]()},_0x118df5=>{const _0x182235=_0x436162;this[_0x182235(0x13a)]=_0x118df5[_0x182235(0x13a)],_0x3bc076[_0x182235(0x16f)](_0x182235(0x298),_0x4e2ab7,_0x540ce5=>{const _0x25159c=_0x182235;console[_0x25159c(0x19f)](_0x25159c(0x128)+_0x4e2ab7+'\x20room'),this['callback'](_0x25159c(0x298),_0x540ce5);});});}),_0x3bc076['on']('error',_0x1a0ac7=>{const _0x3d96e2=_0x4d03f3;console[_0x3d96e2(0x1d1)](_0x3d96e2(0x263)+_0x1a0ac7);}),_0x3bc076['on'](_0x4d03f3(0x20c),_0x3a6271=>{const _0x4028a4=_0x4d03f3;console[_0x4028a4(0x1d1)](_0x4028a4(0x139)+_0x3a6271);}),_0x3bc076['on']('messageroom',_0x1661be=>{const _0x34f80f=_0x4d03f3;this[_0x34f80f(0x19a)](_0x34f80f(0x26c),_0x1661be),console[_0x34f80f(0x19f)](_0x34f80f(0x1a9),_0x1661be);}),_0x3bc076['on'](_0x4d03f3(0x256),_0x4da7e5=>{const _0x5195bf=_0x4d03f3;this['callback'](_0x5195bf(0x256),_0x4da7e5),console[_0x5195bf(0x19f)](_0x5195bf(0x221),_0x4da7e5);});}},BB[_0x311d80(0x266)]=(_0xb56fa1,_0x4fddf4,_0xca82d4)=>{const _0x17421a=_0x311d80;console[_0x17421a(0x19f)](_0x17421a(0x244));function _0x2b0728(_0x1847ec,_0x284c47){const _0x2541e3=_0x17421a;let _0x250537='';if(_0x1847ec&&_0x1847ec[_0x2541e3(0x122)](_0x2541e3(0x17c))){const _0x474763=_0x1847ec['replace'](/.*NTC./,'');let _0x47b18b=0x0;while(_0x47b18b+0x8<=_0x474763[_0x2541e3(0x271)]){const _0x5d93af=_0x474763['substring'](_0x47b18b,_0x47b18b+0x4),_0x47a355=((_0x474763[_0x2541e3(0x232)](_0x47b18b+0x4)*0x100+_0x474763['charCodeAt'](_0x47b18b+0x5))*0x100+_0x474763[_0x2541e3(0x232)](_0x47b18b+0x6))*0x100+_0x474763['charCodeAt'](_0x47b18b+0x7);if(_0x47b18b+0x8+_0x47a355>_0x474763[_0x2541e3(0x271)])break;const _0x52bc63=_0x474763[_0x2541e3(0x248)](_0x47b18b+0x8,_0x47b18b+0x8+_0x47a355);_0x5d93af==_0x2541e3(0x1d0)&&(timecodeDateTime=new Date(parseInt(_0x52bc63))['getTime']()/0x3e8,timecodeDelta=timecodeDateTime-_0x284c47),_0x5d93af=='tc__'&&(tcTimeStamp=new Date(parseInt(_0x52bc63))[_0x2541e3(0x2a9)]()),_0x5d93af===_0x2541e3(0x2a3)&&(timecode_offset=parseInt(_0x52bc63)/0x5a,console['log'](_0x2541e3(0x295),timecode_offset)),_0x47b18b+=0x8+_0x47a355;}}return _0x250537;}let _0x45b748=[0x0,0x0,0x0,0x0,0x0];function _0x1c5863(_0x131253){const _0x2d4e35=_0x17421a;if(_0x131253&&_0x131253[_0x2d4e35(0x237)]&&_0x131253[_0x2d4e35(0x237)]['id']==0x0){if(_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x2a5)])_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x2a5)]=_0x2b0728(_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x2a5)],_0x131253[_0x2d4e35(0x237)]['presentationTime']);else{if(_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x1fe)]&&_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x1fe)][_0x2d4e35(0x271)]&&_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x1fe)][0x0]['key']&&_0x131253['metadata'][_0x2d4e35(0x1fe)][0x0][_0x2d4e35(0x1c0)][_0x2d4e35(0x1f7)]()==='priv'){const _0x5e08ca=_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x1fe)]['filter'](_0x7bbdba=>{const _0x482850=_0x2d4e35;return _0x7bbdba['info']&&_0x7bbdba[_0x482850(0x1af)]['toLowerCase']()[_0x482850(0x122)]('ntc');});_0x5e08ca[_0x2d4e35(0x271)]&&(messageData=_0x5e08ca[_0x5e08ca[_0x2d4e35(0x271)]-0x1]['info']+'\x00'+String['fromCharCode'](..._0x5e08ca[_0x5e08ca[_0x2d4e35(0x271)]-0x1][_0x2d4e35(0x283)]),_0x131253[_0x2d4e35(0x237)]['messageData']=_0x2b0728(messageData,_0x131253[_0x2d4e35(0x237)][_0x2d4e35(0x255)]));}}_0x131253[_0x2d4e35(0x237)]['id']==0x0&&(presentationTime=_0x131253[_0x2d4e35(0x237)]['presentationTime']*0x3e8,offsetTimeCode=new Date(tcTimeStamp-timecode_offset),offsetTimeCodeframeNumber=Math['round'](offsetTimeCode[_0x2d4e35(0x20d)]()*0x1e*0x2/0x3e9)/0x2,decimalPartOff=offsetTimeCodeframeNumber%0x1,partoff=0x1,decimalPartOff==0.5&&(offsetTimeCodeframeNumber=Math['floor'](offsetTimeCodeframeNumber),partoff=0x2),_0x45b748=[offsetTimeCode[_0x2d4e35(0x131)](),offsetTimeCode[_0x2d4e35(0x299)](),offsetTimeCode[_0x2d4e35(0x132)](),parseInt(offsetTimeCodeframeNumber),partoff==0x1?0x0:0x1]);}}function _0x3f33bc(_0x116c06){const _0x15fedc=_0x17421a;if(BB[_0x15fedc(0x152)][_0x15fedc(0x292)](_0xca82d4[_0x15fedc(0x29c)])==0x7530/0x3e9){let _0x19ccc7={'frame':0x0,'playerTime':0x0};_0x19ccc7[_0x15fedc(0x179)]=BB[_0x15fedc(0x152)][_0x15fedc(0x1ea)][_0x15fedc(0x27b)](_0x45b748,0x7530/0x3e9,![]),_0x19ccc7[_0x15fedc(0x19b)]=BB['Utils'][_0x15fedc(0x1ea)]['printTimecode'](_0x45b748,![],![]),console[_0x15fedc(0x19f)](_0x15fedc(0x28a)+_0x116c06[_0x15fedc(0x150)]+_0x15fedc(0x155)+_0x19ccc7[_0x15fedc(0x19b)]+'\x20('+_0x19ccc7[_0x15fedc(0x179)]+')'+_0x15fedc(0x27e)+_0x116c06[_0x15fedc(0x13b)]),_0x19ccc7[_0x15fedc(0x136)]=_0x116c06['playbackTime'],_0xca82d4[_0x15fedc(0x18c)]=_0x19ccc7;}else{if(BB[_0x15fedc(0x152)][_0x15fedc(0x292)](_0xca82d4[_0x15fedc(0x29c)])==0xea60/0x3e9){let _0x39cfc3={'frame':0x0,'playerTime':0x0};_0x39cfc3[_0x15fedc(0x179)]=BB[_0x15fedc(0x152)][_0x15fedc(0x1ea)][_0x15fedc(0x27b)](_0x45b748,0xea60/0x3e9,!![]),_0x39cfc3[_0x15fedc(0x19b)]=BB[_0x15fedc(0x152)][_0x15fedc(0x1ea)]['printTimecode'](_0x45b748,!![],![]),console[_0x15fedc(0x19f)](_0x15fedc(0x28a)+_0x116c06[_0x15fedc(0x150)]+_0x15fedc(0x155)+_0x39cfc3['stringTime']+'\x20('+_0x39cfc3[_0x15fedc(0x179)]+')'+_0x15fedc(0x27e)+_0x116c06[_0x15fedc(0x13b)]),_0x39cfc3[_0x15fedc(0x136)]=_0x116c06['playbackTime'],_0xca82d4[_0x15fedc(0x18c)]=_0x39cfc3;}}_0x116c06[_0x15fedc(0x2b0)][_0x15fedc(0x122)]('video')&&console['log']('url:\x20'+_0x116c06[_0x15fedc(0x150)]);}function _0x424d75(_0x565a93){const _0x44d513=_0x17421a;switch(_0x565a93[_0x44d513(0x11a)]){case wmcEvents[_0x44d513(0x28e)]:let _0xe19ac6={'frame':0x0,'playerTime':0x0};BB[_0x44d513(0x152)][_0x44d513(0x292)](_0xca82d4[_0x44d513(0x29c)])==0x7530/0x3e9&&(console[_0x44d513(0x19f)](_0x44d513(0x28a)+_0x565a93[_0x44d513(0x150)]+'):\x20'+BB[_0x44d513(0x152)]['TimeCodesFramesTranslator'][_0x44d513(0x203)](_0x565a93[_0x44d513(0x17b)],0x7530/0x3e9)+_0x44d513(0x27e)+_0x565a93[_0x44d513(0x13b)]),_0xe19ac6[_0x44d513(0x179)]=BB[_0x44d513(0x152)]['TimeCodesFramesTranslator'][_0x44d513(0x27b)](BB['Utils'][_0x44d513(0x1ea)]['timeDate2TC'](_0x565a93['dateTime'],0x7530/0x3e9),0x7530/0x3e9,![]),_0xe19ac6['stringTime']=BB[_0x44d513(0x152)]['TimeCodesFramesTranslator'][_0x44d513(0x203)](_0x565a93[_0x44d513(0x17b)],0x7530/0x3e9));BB['Utils']['getSourceFPS'](_0xca82d4[_0x44d513(0x29c)])==0xea60/0x3e9&&(console[_0x44d513(0x19f)](_0x44d513(0x28a)+_0x565a93['url']+_0x44d513(0x155)+BB['Utils']['TimeCodesFramesTranslator']['timeDate2TCString'](_0x565a93[_0x44d513(0x17b)],0xea60/0x3e9)+_0x44d513(0x27e)+_0x565a93[_0x44d513(0x13b)]),_0xe19ac6['frame']=BB[_0x44d513(0x152)][_0x44d513(0x1ea)][_0x44d513(0x27b)](BB['Utils']['TimeCodesFramesTranslator'][_0x44d513(0x169)](_0x565a93[_0x44d513(0x17b)]),fps,!![]),_0xe19ac6[_0x44d513(0x19b)]=BB[_0x44d513(0x152)]['TimeCodesFramesTranslator'][_0x44d513(0x203)](_0x565a93['dateTime'],0xea60/0x3e9));_0xe19ac6['playerTime']=_0x565a93[_0x44d513(0x13b)],_0xca82d4[_0x44d513(0x18c)]=_0xe19ac6;break;default:}}let _0x5cc690=BB[_0x17421a(0x152)][_0x17421a(0x1ea)],_0x11d993=BB[_0x17421a(0x152)][_0x17421a(0x292)](_0xca82d4[_0x17421a(0x29c)]),_0x577743=BB[_0x17421a(0x152)][_0x17421a(0x274)](_0xca82d4[_0x17421a(0x29c)]);refreshRate=_0xca82d4[_0x17421a(0x206)];let _0x2c6a10=null,_0x2951c5=null,_0x3b129d=null;if(_0xca82d4[_0x17421a(0x1c7)]==BB[_0x17421a(0x14d)][_0x17421a(0x118)]){let _0x46a7c6=_0x4fddf4[_0x17421a(0x228)];_0x2951c5=new BB['Composer3d'](_0x46a7c6,_0x4fddf4,_0xca82d4),ads=BB[_0x17421a(0x154)](_0x2951c5,_0xca82d4),_0x2c6a10=BB[_0x17421a(0x1b0)](_0xca82d4,_0x2951c5);}else{let _0xf7495d=document[_0x17421a(0x15d)]('canvas');_0xf7495d[_0x17421a(0x294)]=0x1f4,_0xf7495d['height']=0x1f4,document[_0x17421a(0x291)][_0x17421a(0x16c)](_0xf7495d),_0x3b129d=_0xf7495d['getContext'](_0x17421a(0x1a8));}let _0x38a2f0=BB[_0x17421a(0x152)][_0x17421a(0x1b3)],_0x2a8a67=-0x1,_0x460cee=![];const _0x22d143=(_0x4b9380,_0x167f16)=>{const _0x2c49fe=_0x17421a;if(_0x2a8a67==_0x4b9380&&_0x167f16==_0x460cee){console['BBlog'](_0x2c49fe(0x173)+_0x4b9380);return;}if(!_0xca82d4[_0x2c49fe(0x1a6)]){_0x2951c5[_0x2c49fe(0x1c1)]();return;}if(_0xca82d4[_0x2c49fe(0x1c7)]==BB[_0x2c49fe(0x14d)]['RenderDigits'])renderDigit(_0x3b129d,_0x4b9380);else{if(_0xca82d4[_0x2c49fe(0x1c7)]==BB[_0x2c49fe(0x14d)][_0x2c49fe(0x172)]){if(_0x11d993==0xea60/0x3e9||_0x11d993==0x3c)renderTimecode(_0x3b129d,_0x5cc690[_0x2c49fe(0x170)](_0x4b9380,_0x11d993,!![]),!![]);else{if(_0x11d993==0x7530/0x3e9||_0x11d993==0x1e)renderTimecode(_0x3b129d,_0x5cc690[_0x2c49fe(0x170)](_0x4b9380,_0x11d993,![]),![]);}}else{if(_0xca82d4[_0x2c49fe(0x1c7)]==BB[_0x2c49fe(0x14d)][_0x2c49fe(0x118)]){if(_0x11d993==0xea60/0x3e9||_0x11d993==0x3c)_0x2951c5['renderAugmentation'](_0x5cc690['printTimecode'](_0x5cc690[_0x2c49fe(0x170)](_0x4b9380,_0x11d993,!![])));else(_0x11d993==0x7530/0x3e9||_0x11d993==0x1e)&&(_0x167f16?_0x2951c5[_0x2c49fe(0x159)](_0x5cc690[_0x2c49fe(0x198)](_0x5cc690[_0x2c49fe(0x170)](_0x4b9380*0x2+0x1,_0x11d993*0x2,!![]),!![])):_0x2951c5['renderAugmentation'](_0x5cc690[_0x2c49fe(0x198)](_0x5cc690['Frames2Timecode'](_0x4b9380,_0x11d993,![]),![])));}}}_0x2a8a67=_0x4b9380,_0x460cee=_0x167f16;};let _0x20b341=0x0,_0x4660eb=0x20,_0xcab5c0=0x20,_0x40bbe4=function(_0x5c35d1,_0x2f9d39){const _0x55114b=_0x17421a;lastNow=_0x5c35d1;let _0x3cb301=(_0x2f9d39[_0x55114b(0x1ae)]-_0xca82d4[_0x55114b(0x18c)][_0x55114b(0x136)])%(0x3c*0x3c*0x18)*_0x577743;lastFrameFromVideoCallback=Math['floor'](_0x3cb301+0.1)+_0xca82d4['syncPoint']['frame'];if(BB['Utils'][_0x55114b(0x292)](_0xca82d4[_0x55114b(0x29c)])==0x7530/0x3e9)lastFrameFromVideoCallback+=-0x1;else BB['Utils']['getSourceFPS'](_0xca82d4[_0x55114b(0x29c)])==0xea60/0x3e9&&(lastFrameFromVideoCallback+=0x2);lastMediaTime=_0x2f9d39[_0x55114b(0x1ae)];if(_0x2c6a10)_0x2c6a10[_0x55114b(0x1f3)](lastFrameFromVideoCallback);let _0x2f038e=_0x4fddf4[_0x55114b(0x1e3)];var _0x1f35d1='';if(BB[_0x55114b(0x152)][_0x55114b(0x292)](_0xca82d4[_0x55114b(0x29c)])==0xea60/0x3e9)_0x1f35d1=_0x5cc690['printTimecode'](_0x5cc690[_0x55114b(0x170)](lastFrameFromVideoCallback,_0x11d993,!![]),!![],!![]);else BB['Utils'][_0x55114b(0x292)](_0xca82d4[_0x55114b(0x29c)])==0x7530/0x3e9?_0x1f35d1=_0x5cc690[_0x55114b(0x198)](_0x5cc690[_0x55114b(0x170)](lastFrameFromVideoCallback,_0x11d993,![]),![],![]):_0x1f35d1=_0x55114b(0x1dc);let _0x4f3e78=Date[_0x55114b(0x254)]()-_0x20b341;_0x20b341=Date[_0x55114b(0x254)]();if(BB[_0x55114b(0x152)]['getSourceFPS'](_0xca82d4[_0x55114b(0x29c)])==0x7530/0x3e9){let _0x2fbae4=0x18,_0x28a25c=0x21+(0x21-_0x2fbae4);_0x4f3e78<_0x2fbae4&&_0x4660eb<_0x28a25c||_0x4660eb<_0x2fbae4&&_0x4f3e78<_0x28a25c||_0xcab5c0<_0x2fbae4&&_0x4660eb<_0x28a25c&&_0x4f3e78<_0x28a25c||plus05Correction==!![]?setTimeout(function(){_0x22d143(lastFrameFromVideoCallback,![]);},0xa):_0x22d143(lastFrameFromVideoCallback,![]);}else BB[_0x55114b(0x152)][_0x55114b(0x292)](_0xca82d4[_0x55114b(0x29c)])==0xea60/0x3e9?_0x22d143(lastFrameFromVideoCallback,![]):console[_0x55114b(0x22f)](_0x55114b(0x250));_0xcab5c0=_0x4660eb,_0x4660eb=_0x4f3e78,_0x4fddf4[_0x55114b(0x20a)](_0x40bbe4);return;},_0x25ec3f=![];const _0x23d184=_0x4bc044=>{const _0x367b14=_0x17421a;var _0x26d56d=0x0,_0x3d4a41=_0x4fddf4[_0x367b14(0x1e3)]*_0x577743;_0x26d56d=Math[_0x367b14(0x252)](_0x3d4a41)+0x3;var _0x5a9ac6=_0x3d4a41-Math[_0x367b14(0x252)](_0x3d4a41);if(_0x25ec3f||_0x5a9ac6<0.226)_0x25ec3f=!![];if(_0x5a9ac6>0.8)_0x25ec3f=![];if(_0x25ec3f)_0x26d56d--;if(_0x2c6a10)_0x2c6a10[_0x367b14(0x1f3)](_0x26d56d);_0x22d143(_0x26d56d),window[_0x367b14(0x12e)](_0x23d184);return;};console['BBlog'](_0x17421a(0x245)),console[_0x17421a(0x22f)](_0x17421a(0x2a2));typeof window!=='undefined'?console['BBlog'](_0x17421a(0x27a)):console[_0x17421a(0x22f)]('The\x20window\x20object\x20is\x20not\x20defined.\x20This\x20script\x20might\x20not\x20be\x20running\x20in\x20a\x20browser\x20environment.');_0x17421a(0x12e)in window?console[_0x17421a(0x22f)](_0x17421a(0x1ee)):console['BBlog']('requestAnimationFrame\x20is\x20not\x20supported');typeof _0x4fddf4!==_0x17421a(0x18b)?console[_0x17421a(0x22f)](_0x17421a(0x1e0)):console[_0x17421a(0x22f)](_0x17421a(0x1d4));_0x17421a(0x20a)in _0x4fddf4?console[_0x17421a(0x22f)](_0x17421a(0x16e)):console[_0x17421a(0x22f)](_0x17421a(0x174));if(_0x38a2f0[_0x17421a(0x1eb)]()||_0x38a2f0['isAndroid']())_0x4fddf4[_0x17421a(0x20a)](_0x40bbe4);else _0x38a2f0['isMac']()?window[_0x17421a(0x12e)](_0x23d184):console['BBLog']('Platform\x20not\x20supported');console[_0x17421a(0x22f)](_0x17421a(0x1b6));const _0x8c4626=()=>{const _0x29115e=_0x17421a;return _0x2951c5[_0x29115e(0x188)]();},_0x541ae3=_0xf6001b=>{_0x3f33bc(_0xf6001b);},_0x3bac3a=_0x27e031=>{_0x1c5863(_0x27e031);};return{'getCanvas':_0x8c4626,'onNewSegmentInterface':_0x541ae3,'onNewMetadataInterface':_0x3bac3a};},BB[_0x311d80(0x212)]=class{constructor(_0x3c3e4d,_0x2aa65e,_0x288ffd){const _0xe062dc=_0x311d80;if(_0x288ffd['augmentation']['renderTimecode']){this[_0xe062dc(0x2b2)]={};for(let _0x3fcc3f=0x0;_0x3fcc3f<0xa;++_0x3fcc3f){let _0x52f6f7=_0x3fcc3f+'.1',_0x50f812=_0x3fcc3f+'.2';this[_0xe062dc(0x2b2)][_0x52f6f7]=this[_0xe062dc(0x277)](_0x52f6f7),this[_0xe062dc(0x2b2)][_0x50f812]=this[_0xe062dc(0x277)](_0x50f812);}}this[_0xe062dc(0x2aa)]=Object['assign']({'adLoopTime':0x1388,'isAdLoop':![]},_0x288ffd||{}),this[_0xe062dc(0x290)]=BB[_0xe062dc(0x152)][_0xe062dc(0x292)](this[_0xe062dc(0x2aa)]['frameRateMode']),this[_0xe062dc(0x13e)]=[],this[_0xe062dc(0x1e7)]={},this[_0xe062dc(0x251)]=![],this[_0xe062dc(0x17d)]={},this['ad2Url']={},this[_0xe062dc(0x278)]=null,this[_0xe062dc(0x27f)]=document[_0xe062dc(0x15d)]('canvas'),this[_0xe062dc(0x146)]=this[_0xe062dc(0x27f)]['getContext']('webgl2',{'premultipliedAlpha':![]});this[_0xe062dc(0x146)]==null?(this[_0xe062dc(0x146)]=this[_0xe062dc(0x27f)]['getContext'](_0xe062dc(0x1a8),{'premultipliedAlpha':![]}),this['webGLVersion']=0x1):this['webGLVersion']=0x2;console['log'](_0xe062dc(0x1fa)+this['ctx']+_0xe062dc(0x207)+this[_0xe062dc(0x253)]);let _0x41918a=_0x3c3e4d['offsetTop'],_0x194e5b=_0x3c3e4d[_0xe062dc(0x1ca)];this['canvas']['style'][_0xe062dc(0x2a4)]=_0x41918a,this[_0xe062dc(0x27f)][_0xe062dc(0x130)][_0xe062dc(0x142)]=_0x194e5b,this[_0xe062dc(0x27f)][_0xe062dc(0x294)]=_0x3c3e4d[_0xe062dc(0x18a)],this[_0xe062dc(0x27f)]['height']=_0x3c3e4d[_0xe062dc(0x23f)],this[_0xe062dc(0x27f)][_0xe062dc(0x130)][_0xe062dc(0x287)]=_0xe062dc(0x129);let _0x3fe1d4=_0x3c3e4d[_0xe062dc(0x286)](_0xe062dc(0x117))[0x0],_0x6f4a69=_0x3fe1d4[_0xe062dc(0x1dd)];if(_0x6f4a69)_0x3c3e4d[_0xe062dc(0x176)](this[_0xe062dc(0x27f)],_0x6f4a69);else _0x3c3e4d[_0xe062dc(0x16c)](this[_0xe062dc(0x27f)]);this[_0xe062dc(0x27f)][_0xe062dc(0x130)][_0xe062dc(0x1c9)]=_0xe062dc(0x1de),_0x3fe1d4['addEventListener'](_0xe062dc(0x144),_0x4d0bf7=>{const _0x1f0978=_0xe062dc;this[_0x1f0978(0x16b)](_0x4d0bf7);}),this['InitGL'](),this['adTexture']=null,this[_0xe062dc(0x214)]={},this[_0xe062dc(0x141)]={},this['ad2place']={},this[_0xe062dc(0x29a)]=[],this[_0xe062dc(0x217)]=0x0,this[_0xe062dc(0x265)]=null;}['isPowerOf2'](_0x5b9e1a){return(_0x5b9e1a&_0x5b9e1a-0x1)==0x0;}[_0x311d80(0x277)](_0x592f3f){const _0x510c19=_0x311d80;let _0xc7cadf=document[_0x510c19(0x15d)]('canvas');_0xc7cadf[_0x510c19(0x294)]=0x32,_0xc7cadf[_0x510c19(0x145)]=0x32;let _0x4010a8=_0xc7cadf[_0x510c19(0x12d)]('2d');_0x4010a8[_0x510c19(0x21c)]=_0x510c19(0x1e6),_0x4010a8[_0x510c19(0x19e)]=_0x510c19(0x196),_0x4010a8['fillText'](_0x592f3f,0xa,0x23);let _0xaf5b9e=_0xc7cadf[_0x510c19(0x13c)](),_0x37b410=document[_0x510c19(0x15d)](_0x510c19(0x1c4));return _0x37b410[_0x510c19(0x241)]=_0xaf5b9e,_0x37b410;}[_0x311d80(0x16b)](_0x55f224){const _0x19a4bd=_0x311d80,_0x3d4359=this['canvas']['getBoundingClientRect']();let _0x1d71a9=event['clientX']-_0x3d4359[_0x19a4bd(0x142)],_0x910978=event['clientY']-_0x3d4359[_0x19a4bd(0x2a4)];_0x1d71a9=_0x1d71a9/(_0x3d4359['right']-_0x3d4359[_0x19a4bd(0x142)]),_0x910978=_0x910978/(_0x3d4359[_0x19a4bd(0x1d9)]-_0x3d4359[_0x19a4bd(0x2a4)]);for(let _0x305763 of this[_0x19a4bd(0x29a)]){if(_0x305763[_0x19a4bd(0x180)]['l']<=_0x1d71a9&&_0x305763[_0x19a4bd(0x180)]['r']>=_0x1d71a9&&_0x305763[_0x19a4bd(0x180)]['t']<=_0x910978&&_0x305763[_0x19a4bd(0x180)]['b']>=_0x910978){let _0x3aa9d2=_0x305763[_0x19a4bd(0x13a)][_0x19a4bd(0x248)](0x1);if(this[_0x19a4bd(0x21b)][_0x3aa9d2]){let _0x47dedb=this[_0x19a4bd(0x21b)][_0x3aa9d2];console[_0x19a4bd(0x19f)]('Clicked\x20on\x20ad:\x20'+_0x3aa9d2+_0x19a4bd(0x280)+_0x47dedb+_0x19a4bd(0x239)),window['open'](_0x47dedb,_0x19a4bd(0x194));}return;}}}['TexUnitForGenericAd'](){return 0x0;}[_0x311d80(0x246)](_0x534fa4){const _0x42e880=_0x311d80;let _0x4cfa48=Object[_0x42e880(0x257)](this[_0x42e880(0x141)]);for(let _0x26e14c=0x0;_0x26e14c<_0x4cfa48[_0x42e880(0x271)];++_0x26e14c){if(_0x534fa4==_0x4cfa48[_0x26e14c])return _0x26e14c+0x1;}return 0x0;}['TexUnitForPlaceHolder'](_0x193f17){const _0x39c1e2=_0x311d80;let _0xa1bfec=Object['keys'](this[_0x39c1e2(0x141)]);for(let _0x3374d1=0x0;_0x3374d1<_0xa1bfec[_0x39c1e2(0x271)];++_0x3374d1){let _0x5134f9=_0xa1bfec[_0x3374d1];if(_0x193f17[_0x39c1e2(0x13a)][_0x39c1e2(0x182)](_0x5134f9)>=0x0)return _0x3374d1;}return 0x0;}[_0x311d80(0x158)](_0x3f0587){const _0x159355=_0x311d80;let _0x12b154=Object[_0x159355(0x257)](this[_0x159355(0x141)]);for(let _0x5db34e=0x0;_0x5db34e<_0x12b154[_0x159355(0x271)];++_0x5db34e){let _0x43d678=_0x12b154[_0x5db34e];if(_0x3f0587['name']['indexOf'](_0x43d678)>=0x0&&this[_0x159355(0x214)]&&this[_0x159355(0x214)][_0x43d678]&&this[_0x159355(0x214)][_0x43d678]['name'])return this[_0x159355(0x214)][_0x43d678][_0x159355(0x13a)];}return this[_0x159355(0x227)];}['TexUnitBaseForAlpha'](){const _0x2c6c8e=_0x311d80;return 0x1+Object[_0x2c6c8e(0x257)](this[_0x2c6c8e(0x141)])[_0x2c6c8e(0x271)];}[_0x311d80(0x1f6)](){const _0x3a816f=_0x311d80;this[_0x3a816f(0x1f9)]=webglUtils[_0x3a816f(0x1e1)](this[_0x3a816f(0x146)],this[_0x3a816f(0x253)]==0x2?[BB['GL']['vertexShaderSource'],BB['GL']['fragmentShaderSource']]:[BB['GL'][_0x3a816f(0x13d)],BB['GL'][_0x3a816f(0x175)]]),this[_0x3a816f(0x146)][_0x3a816f(0x1f4)](0x0,0x0,0x0,0x0),this['ctx']['clear'](this[_0x3a816f(0x146)]['COLOR_BUFFER_BIT']),this[_0x3a816f(0x146)][_0x3a816f(0x14e)](this[_0x3a816f(0x1f9)]),this['CleanGL']();}[_0x311d80(0x1c1)](){const _0x15e003=_0x311d80;this[_0x15e003(0x27f)][_0x15e003(0x130)][_0x15e003(0x267)]=_0x15e003(0x1de),this[_0x15e003(0x24e)]=0x0;}[_0x311d80(0x11d)](_0x57eda9,_0x3abe6,_0x277b92,_0x1df137,_0x4fe81c,_0xdc005d,_0x594b0d){const _0x40fe7b=_0x311d80;_0x594b0d?this[_0x40fe7b(0x146)][_0x40fe7b(0x2ab)](this['ctx'][_0x40fe7b(0x17f)],0x1):this[_0x40fe7b(0x146)][_0x40fe7b(0x2ab)](this['ctx'][_0x40fe7b(0x17f)],0x4);this['ctx']['pixelStorei'](this[_0x40fe7b(0x146)][_0x40fe7b(0x200)],![]);const _0x2b1f82=this[_0x40fe7b(0x146)][_0x40fe7b(0x1bf)]();this[_0x40fe7b(0x146)]['activeTexture'](this[_0x40fe7b(0x146)]['TEXTURE0']+_0x3abe6),this['ctx'][_0x40fe7b(0x1df)](this['ctx']['TEXTURE_2D'],_0x2b1f82);try{_0x4fe81c&&_0xdc005d?this[_0x40fe7b(0x146)][_0x40fe7b(0x119)](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)],0x0,_0x1df137==null?this[_0x40fe7b(0x146)]['RGBA']:_0x1df137,_0x4fe81c,_0xdc005d,0x0,_0x1df137==null?this[_0x40fe7b(0x146)]['RGBA']:_0x1df137,this['ctx'][_0x40fe7b(0x25d)],_0x57eda9):this[_0x40fe7b(0x146)][_0x40fe7b(0x119)](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)],0x0,_0x1df137==null?this['ctx'][_0x40fe7b(0x218)]:_0x1df137,this['ctx'][_0x40fe7b(0x218)],this[_0x40fe7b(0x146)][_0x40fe7b(0x25d)],_0x57eda9);}catch(_0x118727){return console[_0x40fe7b(0x1d1)](_0x118727),null;}if(this['webGLVersion']==0x1){let _0x1301f8=_0x4fe81c||_0x57eda9[_0x40fe7b(0x294)],_0x2eb8d0=_0xdc005d||_0x57eda9[_0x40fe7b(0x145)];_0x1301f8&&this[_0x40fe7b(0x230)](_0x1301f8)&&_0x2eb8d0&&this[_0x40fe7b(0x230)](_0x2eb8d0)?this[_0x40fe7b(0x146)][_0x40fe7b(0x223)](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)]):(this[_0x40fe7b(0x146)][_0x40fe7b(0x185)](this['ctx'][_0x40fe7b(0x187)],this[_0x40fe7b(0x146)][_0x40fe7b(0x2b3)],this[_0x40fe7b(0x146)]['CLAMP_TO_EDGE']),this[_0x40fe7b(0x146)][_0x40fe7b(0x185)](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)],this[_0x40fe7b(0x146)]['TEXTURE_WRAP_T'],this[_0x40fe7b(0x146)][_0x40fe7b(0x222)]),this['ctx'][_0x40fe7b(0x185)](this[_0x40fe7b(0x146)]['TEXTURE_2D'],this[_0x40fe7b(0x146)][_0x40fe7b(0x2af)],this[_0x40fe7b(0x146)][_0x40fe7b(0x163)]));}else this[_0x40fe7b(0x146)][_0x40fe7b(0x185)](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)],this[_0x40fe7b(0x146)][_0x40fe7b(0x2b3)],this[_0x40fe7b(0x146)]['CLAMP_TO_EDGE']),this[_0x40fe7b(0x146)]['texParameteri'](this[_0x40fe7b(0x146)][_0x40fe7b(0x187)],this[_0x40fe7b(0x146)][_0x40fe7b(0x26b)],this['ctx'][_0x40fe7b(0x222)]),this[_0x40fe7b(0x146)]['texParameteri'](this['ctx']['TEXTURE_2D'],this[_0x40fe7b(0x146)][_0x40fe7b(0x2af)],this[_0x40fe7b(0x146)][_0x40fe7b(0x163)]),this[_0x40fe7b(0x146)][_0x40fe7b(0x185)](this[_0x40fe7b(0x146)]['TEXTURE_2D'],this[_0x40fe7b(0x146)][_0x40fe7b(0x15f)],this[_0x40fe7b(0x146)][_0x40fe7b(0x163)]);let _0x425c31=this['ctx'][_0x40fe7b(0x164)](this[_0x40fe7b(0x1f9)],_0x277b92);return _0x425c31&&this[_0x40fe7b(0x146)]['uniform1i'](_0x425c31,_0x3abe6),_0x2b1f82;}[_0x311d80(0x15b)](){const _0x2a4ef0=_0x311d80;this['autoAddIndex']=setTimeout(()=>{const _0x14b8cc=_0x61da,_0x43fe05=Object[_0x14b8cc(0x257)](this[_0x14b8cc(0x17d)]);_0x43fe05[_0x14b8cc(0x271)]&&(this[_0x14b8cc(0x1f5)](_0x43fe05[Math['floor'](Math[_0x14b8cc(0x178)]()*_0x43fe05[_0x14b8cc(0x271)])]),this['_nextAdvertisement']());},this[_0x2a4ef0(0x2aa)][_0x2a4ef0(0x1ff)]);}[_0x311d80(0x184)](_0x35d108,_0x5b3f43,_0x4b4207=null){const _0x4b8f76=_0x311d80;if(_0x35d108[_0x4b8f76(0x182)](_0x4b8f76(0x1cd))>-0x1){fetch(_0x5b3f43)[_0x4b8f76(0x199)](async _0x2f72d5=>{const _0x160ffc=_0x4b8f76;this[_0x160ffc(0x141)]=await _0x2f72d5['json'](),this[_0x160ffc(0x134)]={};let _0x53a263=Object[_0x160ffc(0x257)](this[_0x160ffc(0x141)]);for(let _0x589099=0x0;_0x589099<_0x53a263[_0x160ffc(0x271)];++_0x589099){let _0x519a66=_0x53a263[_0x589099];if(_0x519a66==_0x160ffc(0x210)){this['ad2Url']=this[_0x160ffc(0x141)][_0x519a66],delete this[_0x160ffc(0x141)][_0x519a66];continue;}let _0x276a3c=this[_0x160ffc(0x141)][_0x519a66];for(let _0x27bdb4=0x0;_0x27bdb4<_0x276a3c[_0x160ffc(0x271)];++_0x27bdb4){let _0xaac50e=_0x276a3c[_0x27bdb4];this[_0x160ffc(0x134)]['#'+_0xaac50e]=_0x519a66;}}Object[_0x160ffc(0x257)](this[_0x160ffc(0x141)])[_0x160ffc(0x271)]>0x0&&(console[_0x160ffc(0x19f)](_0x160ffc(0x160),this[_0x160ffc(0x141)]),console[_0x160ffc(0x19f)](_0x160ffc(0x1d8),this['ad2place']),setTimeout(()=>{const _0x1d4470=_0x160ffc;this[_0x1d4470(0x1cf)]();},0xbb8));});if(_0x4b4207)_0x4b4207();return;}const _0x28bd79=new Image();return _0x28bd79[_0x4b8f76(0x24d)]='Anonymous',_0x28bd79[_0x4b8f76(0x18f)]=()=>{const _0x219394=_0x4b8f76;let _0x2ffc68=Object['keys'](this[_0x219394(0x17d)])['length']===0x0;this[_0x219394(0x17d)][_0x35d108]=_0x28bd79;_0x2ffc68&&(this['SelectAd'](_0x35d108),this[_0x219394(0x2aa)][_0x219394(0x202)]&&(clearTimeout(this[_0x219394(0x265)]),this[_0x219394(0x15b)]()));if(_0x4b4207)_0x4b4207();},_0x28bd79['onerror']=()=>{alert('(\x20Security\x20)\x20We\x20cant\x20reach\x20'+_0x5b3f43+'\x20.');},_0x28bd79[_0x4b8f76(0x241)]=_0x5b3f43,_0x28bd79;}[_0x311d80(0x1cf)](){const _0x132f5c=_0x311d80;if(this[_0x132f5c(0x141)]){let _0x434fe0=Object[_0x132f5c(0x257)](this[_0x132f5c(0x141)]);for(let _0x2e12d8=0x0;_0x2e12d8<_0x434fe0[_0x132f5c(0x271)];++_0x2e12d8){let _0x4be572=_0x434fe0[_0x2e12d8];!this['place2AdTexture'][_0x4be572]&&this['place2ad'][_0x4be572][_0x132f5c(0x271)]>0x0&&(console[_0x132f5c(0x19f)]('MakeSureAdPerPlace:\x20Set\x20default\x20image\x20'+this[_0x132f5c(0x141)][_0x4be572][0x0]+_0x132f5c(0x22c)+_0x4be572),this[_0x132f5c(0x1f5)]('#'+this[_0x132f5c(0x141)][_0x4be572][0x0]));}}}[_0x311d80(0x1f5)](_0x271859){const _0x1b5f85=_0x311d80;console[_0x1b5f85(0x19f)](_0x1b5f85(0x191)+_0x271859);let _0x572522=this['advertisementMap'][_0x271859];if(!_0x572522)console[_0x1b5f85(0x1d1)]('SelectAd:\x20Failed\x20to\x20find\x20image\x20\x27'+_0x271859+'\x27');else{if(this[_0x1b5f85(0x134)]&&this[_0x1b5f85(0x134)][_0x271859]){let _0x1e52f7=this['ad2place'][_0x271859];console[_0x1b5f85(0x19f)]('composer::SelectAd:\x20The\x20selected\x20ad\x20should\x20be\x20in\x20place\x20'+_0x1e52f7);let _0x216b08=this[_0x1b5f85(0x246)](_0x1e52f7),_0x20cd0a='ad'+(_0x216b08-0x1);if(this[_0x1b5f85(0x214)][_0x1e52f7])this[_0x1b5f85(0x146)]['deleteTexture'](this[_0x1b5f85(0x214)][_0x1e52f7][_0x1b5f85(0x1b1)]);this[_0x1b5f85(0x214)][_0x1e52f7]={'tex':this[_0x1b5f85(0x11d)](_0x572522,_0x216b08,_0x20cd0a),'texUnitId':_0x216b08,'texName':_0x20cd0a,'name':_0x271859};}else this['adTexture']!=null&&this[_0x1b5f85(0x146)][_0x1b5f85(0x2ad)](this[_0x1b5f85(0x1ac)]),this[_0x1b5f85(0x1ac)]=this[_0x1b5f85(0x11d)](_0x572522,this[_0x1b5f85(0x25b)](),_0x1b5f85(0x1e4)),this['lastAd']=_0x572522,this['lastAdName']=_0x271859;}}[_0x311d80(0x1a7)](_0x49d576){const _0x5786c7=_0x311d80;this[_0x5786c7(0x1e7)][_0x49d576['timecode']]=_0x49d576,this[_0x5786c7(0x13e)][_0x5786c7(0x22b)](_0x49d576['timecode']);}[_0x311d80(0x1f1)](){const _0x54b253=_0x311d80;(this['requestFullscreen']||this[_0x54b253(0x168)])[_0x54b253(0x23c)](this)[_0x54b253(0x1ad)](_0x335645=>{const _0x2f3ae9=_0x54b253;console[_0x2f3ae9(0x1d1)](_0x335645);});}[_0x311d80(0x17a)](){const _0x249be4=_0x311d80;let _0x21aded=this[_0x249be4(0x146)]['getAttribLocation'](this['program'],_0x249be4(0x28c)),_0x5e72ed=this[_0x249be4(0x146)]['getUniformLocation'](this['program'],_0x249be4(0x29e)),_0xc2bf1c=this[_0x249be4(0x146)][_0x249be4(0x164)](this[_0x249be4(0x1f9)],_0x249be4(0x181));this['ctx'][_0x249be4(0x1e8)](_0x5e72ed,this[_0x249be4(0x146)][_0x249be4(0x27f)][_0x249be4(0x294)],this[_0x249be4(0x146)]['canvas'][_0x249be4(0x145)]),this[_0x249be4(0x146)][_0x249be4(0x1e8)](_0xc2bf1c,this[_0x249be4(0x146)][_0x249be4(0x27f)][_0x249be4(0x294)],this[_0x249be4(0x146)][_0x249be4(0x27f)]['height']);if(this['webGLVersion']==0x2){let _0x565db0=this[_0x249be4(0x146)][_0x249be4(0x164)](this[_0x249be4(0x1f9)],_0x249be4(0x177)),_0x2f7010=[0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1];this[_0x249be4(0x146)]['uniformMatrix3fv'](_0x565db0,![],_0x2f7010);}let _0x3d9c2e=null;this['webGLVersion']==0x2&&(_0x3d9c2e=this[_0x249be4(0x146)][_0x249be4(0x25a)](),this[_0x249be4(0x146)][_0x249be4(0x29f)](_0x3d9c2e));let _0x525584=this['ctx'][_0x249be4(0x1cc)]();this[_0x249be4(0x146)][_0x249be4(0x20b)](_0x21aded),this[_0x249be4(0x146)][_0x249be4(0x261)](this['ctx'][_0x249be4(0x1b9)],_0x525584);let _0x859dae=0x2,_0x1134eb=this[_0x249be4(0x146)][_0x249be4(0x1b8)],_0x47e4bb=![],_0x25d0e2=0x0,_0x481a07=0x0;this[_0x249be4(0x146)][_0x249be4(0x1a5)](_0x21aded,_0x859dae,_0x1134eb,_0x47e4bb,_0x25d0e2,_0x481a07);let _0x2b447=this['ctx'][_0x249be4(0x1cc)]();this[_0x249be4(0x146)][_0x249be4(0x261)](this[_0x249be4(0x146)]['ARRAY_BUFFER'],_0x2b447),this[_0x249be4(0x146)][_0x249be4(0x1b7)](this[_0x249be4(0x146)]['ARRAY_BUFFER'],new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x1]),this[_0x249be4(0x146)]['STATIC_DRAW']),this[_0x249be4(0x146)]['viewport'](0x0,0x0,this[_0x249be4(0x146)]['canvas']['width'],this[_0x249be4(0x146)]['canvas']['height']),this[_0x249be4(0x146)][_0x249be4(0x1f4)](0x0,0x0,0x0,0x0),this[_0x249be4(0x146)][_0x249be4(0x14b)](this['ctx'][_0x249be4(0x171)]|this[_0x249be4(0x146)][_0x249be4(0x29b)]),this[_0x249be4(0x146)][_0x249be4(0x261)](this[_0x249be4(0x146)][_0x249be4(0x1b9)],_0x525584),this['SetRectangle'](this[_0x249be4(0x146)],0x0,0x0,this[_0x249be4(0x27f)][_0x249be4(0x294)],this[_0x249be4(0x27f)][_0x249be4(0x145)]);let _0x3fd4a7=this[_0x249be4(0x146)]['TRIANGLES'],_0x1722cc=0x6;this[_0x249be4(0x146)][_0x249be4(0x26e)](_0x3fd4a7,_0x481a07,_0x1722cc);}[_0x311d80(0x167)](_0x2bf55a,_0x3d53b4,_0x132bbc,_0x4e7fb2,_0x1ebcad){const _0x53da7d=_0x311d80;let _0x3b8889=_0x3d53b4,_0x9e9f44=_0x3d53b4+_0x4e7fb2,_0xf42201=_0x132bbc,_0x351158=_0x132bbc+_0x1ebcad;this[_0x53da7d(0x146)][_0x53da7d(0x1b7)](this['ctx'][_0x53da7d(0x1b9)],new Float32Array([_0x3b8889,_0xf42201,_0x9e9f44,_0xf42201,_0x3b8889,_0x351158,_0x3b8889,_0x351158,_0x9e9f44,_0xf42201,_0x9e9f44,_0x351158]),this[_0x53da7d(0x146)][_0x53da7d(0x1d7)]);}[_0x311d80(0x159)](_0x30c463){const _0x192402=_0x311d80;let _0x2efbc8=BB['Utils'][_0x192402(0x1ea)],_0x5957ac=_0x2efbc8['timeCodeStr2TimeCodeArray'](_0x30c463),_0x3b435c=_0x2efbc8[_0x192402(0x270)](_0x5957ac,0x1,this['sourceFPS']),_0x46bee6=_0x2efbc8['TimeCodeAddFrames'](_0x5957ac,0x2,this[_0x192402(0x290)]),_0x5efb05=_0x2efbc8['printTimecode'](_0x3b435c),_0x3d0a7a=_0x2efbc8[_0x192402(0x198)](_0x46bee6);this[_0x192402(0x251)]=!![];const _0xdef889=performance[_0x192402(0x254)]();let _0x1c32b2=null,_0x1eaffa=[];if(this[_0x192402(0x1e7)][_0x30c463]){_0x1c32b2=this[_0x192402(0x1e7)][_0x30c463];this[_0x192402(0x1e7)][_0x5efb05]&&_0x1eaffa[_0x192402(0x22b)]({'nextVideo':this[_0x192402(0x1e7)][_0x5efb05],'nextTimeCode':_0x5efb05});this['metadataMap'][_0x3d0a7a]&&_0x1eaffa[_0x192402(0x22b)]({'nextVideo':this['metadataMap'][_0x3d0a7a],'nextTimeCode':_0x3d0a7a});const _0x12f7bb=this[_0x192402(0x13e)][_0x192402(0x182)](_0x30c463);if(_0x12f7bb>-0x5)this[_0x192402(0x13e)][_0x192402(0x219)](0x0,_0x12f7bb-0x4)['forEach'](_0x2deaa6=>{const _0x379d72=_0x192402;delete this[_0x379d72(0x1e7)][_0x2deaa6];});this[_0x192402(0x24e)]++;}else console[_0x192402(0x1d1)]('Missing\x20meta\x20data\x20at\x20time\x20code\x20'+_0x30c463),this[_0x192402(0x24e)]++;this[_0x192402(0x24e)]>0x1e&&this['canvas'][_0x192402(0x130)][_0x192402(0x267)]=='none'&&(this['canvas'][_0x192402(0x130)][_0x192402(0x267)]='');let _0x3b5e4b=[];this['canvas'][_0x192402(0x294)]=0x500,this[_0x192402(0x27f)][_0x192402(0x145)]=0x2d0;let _0x7c78d5=0x0;this[_0x192402(0x29a)]=[];if(_0x1c32b2)for(const _0x20a76f in _0x1c32b2[_0x192402(0x197)]){const _0x5776fc=_0x1c32b2[_0x192402(0x197)][_0x20a76f];if(!_0x5776fc[_0x192402(0x213)])continue;let _0x2caaac=_0x192402(0x22e)+_0x7c78d5,_0x403d4c=this[_0x192402(0x1c3)]()+_0x7c78d5;_0x5776fc[_0x192402(0x1d6)]=this[_0x192402(0x11d)](_0x5776fc[_0x192402(0x213)],_0x403d4c,_0x2caaac,this[_0x192402(0x146)]['ALPHA'],_0x5776fc['width'],_0x5776fc[_0x192402(0x145)],!![]),_0x5776fc[_0x192402(0x213)]=null;if(!_0x5776fc[_0x192402(0x1d6)]){console[_0x192402(0x1d1)](_0x192402(0x258));continue;}_0x3b5e4b['push'](_0x5776fc[_0x192402(0x1d6)]);let _0x43d6e8=_0x192402(0x148)+_0x7c78d5,_0x1e9ada=this[_0x192402(0x146)][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x43d6e8);this[_0x192402(0x146)]['uniform1i'](_0x1e9ada,0x1);let _0x2764bb=_0x192402(0x14c)+_0x7c78d5,_0x105247=this[_0x192402(0x146)][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x2764bb),_0x1b30d5=![];_0x5776fc[_0x192402(0x13a)][_0x192402(0x182)]('blur')>=0x0?(this[_0x192402(0x146)]['uniform1i'](_0x105247,0x63),_0x1b30d5=!![]):this[_0x192402(0x146)][_0x192402(0x284)](_0x105247,this['TexUnitForPlaceHolder'](_0x5776fc));let _0x276e96=_0x192402(0x262)+_0x7c78d5+_0x192402(0x21e),_0x298036=this['ctx'][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x276e96);this[_0x192402(0x146)]['uniform2fv'](_0x298036,[_0x5776fc['maskX'],_0x5776fc[_0x192402(0x18e)]]);let _0x299aee=_0x192402(0x262)+_0x7c78d5+_0x192402(0x25f),_0x38771c=this['ctx']['getUniformLocation'](this['program'],_0x299aee);this['ctx'][_0x192402(0x260)](_0x38771c,[_0x5776fc['width'],_0x5776fc['height']]);let _0x5b10c2=_0x192402(0x177)+_0x7c78d5,_0x508471=this['ctx'][_0x192402(0x164)](this['program'],_0x5b10c2);this[_0x192402(0x146)][_0x192402(0x125)](_0x508471,![],_0x5776fc[_0x192402(0x28b)]);if(!_0x1b30d5){let _0x113548={'l':-0x1,'t':-0x1,'r':-0x1,'b':-0x1};for(let _0x3161ae of _0x5776fc[_0x192402(0x226)]){if(_0x3161ae['x']<_0x113548['l']||_0x113548['l']==-0x1)_0x113548['l']=_0x3161ae['x'];if(_0x3161ae['x']>_0x113548['r']||_0x113548['r']==-0x1)_0x113548['r']=_0x3161ae['x'];if(_0x3161ae['y']<_0x113548['t']||_0x113548['t']==-0x1)_0x113548['t']=_0x3161ae['y'];if(_0x3161ae['y']>_0x113548['b']||_0x113548['b']==-0x1)_0x113548['b']=_0x3161ae['y'];}_0x113548['l']/=_0x1c32b2[_0x192402(0x24f)][_0x192402(0x294)],_0x113548['r']/=_0x1c32b2[_0x192402(0x24f)][_0x192402(0x294)],_0x113548['t']/=_0x1c32b2[_0x192402(0x24f)]['height'],_0x113548['b']/=_0x1c32b2['canvasSize']['height'],this['currentAds2BoundingRect'][_0x192402(0x22b)]({'name':this['AdNameForPlaceHolder'](_0x5776fc),'rect':_0x113548});}_0x7c78d5++;}else{}for(;_0x7c78d5<BB[_0x192402(0x1e2)];++_0x7c78d5){let _0x15a322='hasLogo'+_0x7c78d5,_0x3e955f=this[_0x192402(0x146)]['getUniformLocation'](this['program'],_0x15a322);this[_0x192402(0x146)][_0x192402(0x284)](_0x3e955f,0x0);let _0x21aec9=_0x192402(0x22e)+_0x7c78d5,_0x2d2668=this[_0x192402(0x146)][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x21aec9);this[_0x192402(0x146)][_0x192402(0x284)](_0x2d2668,0x0);}if(this['options']['augmentation'][_0x192402(0x14f)]){let _0x31d6fd=_0x30c463['split'](':')[0x3],_0x2d03d9=_0x31d6fd['indexOf']('.')>=0x0?0x2:0x1,_0x3c0445=parseInt(_0x31d6fd['split']('.')[0x0])%0xa,_0x1c554a=_0x3c0445+'.'+_0x2d03d9,_0x9cd36=this[_0x192402(0x1c3)]()+0x5,_0x35bc91=this[_0x192402(0x11d)](this[_0x192402(0x2b2)][_0x1c554a],_0x9cd36,'digitTex');_0x3b5e4b[_0x192402(0x22b)](_0x35bc91);let _0x490eb5='hasDigit',_0x2f7ef5=this[_0x192402(0x146)][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x490eb5);this[_0x192402(0x146)][_0x192402(0x284)](_0x2f7ef5,0x1);let _0x3955e5=_0x192402(0x195),_0x453429=this['ctx'][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x3955e5);this[_0x192402(0x146)][_0x192402(0x260)](_0x453429,[0x0,0x0]);let _0x40d1e1=_0x192402(0x1f2),_0x24ad26=this[_0x192402(0x146)][_0x192402(0x164)](this[_0x192402(0x1f9)],_0x40d1e1);this[_0x192402(0x146)][_0x192402(0x260)](_0x24ad26,[0xc8,0xc8]);}else{let _0x46f35c=_0x192402(0x1d2),_0x2645e3=this[_0x192402(0x146)][_0x192402(0x164)](this['program'],_0x46f35c);this[_0x192402(0x146)][_0x192402(0x284)](_0x2645e3,0x0);}this[_0x192402(0x17a)]();for(const _0x33455c of _0x3b5e4b){this[_0x192402(0x146)][_0x192402(0x2ad)](_0x33455c);}}['getCanvas'](){const _0x456d88=_0x311d80;return this[_0x456d88(0x27f)];}},BB[_0x311d80(0x154)]=(_0x163ccc,_0x37dcf2)=>{const _0x2707ea=_0x311d80;let _0x1ea733=[];const _0x19b12b=new BB[(_0x2707ea(0x11b))]((_0x2af38e,_0x14e0be)=>{const _0x43576d=_0x2707ea;switch(_0x2af38e){case _0x43576d(0x19c):console['log'](_0x43576d(0x28f),_0x14e0be);break;case _0x43576d(0x298):const _0x4a90a0=document[_0x43576d(0x190)](_0x43576d(0x13a));_0x4a90a0&&(_0x4a90a0[_0x43576d(0x2ac)]=_0x19b12b[_0x43576d(0x13a)]);break;case'messageroom':if(_0x14e0be[_0x43576d(0x1bd)]===_0x19b12b[_0x43576d(0x13a)]){if(_0x14e0be[_0x43576d(0x150)]){const _0x5121b0=_0x43576d(0x293);_0x163ccc[_0x43576d(0x184)](_0x5121b0,_0x14e0be[_0x43576d(0x150)],()=>{const _0x100d1e=_0x43576d;_0x163ccc[_0x100d1e(0x1f5)](_0x5121b0);});}else _0x1ea733=_0x14e0be['ads'],_0x1ea733[_0x43576d(0x271)]&&_0x163ccc[_0x43576d(0x1f5)](_0x1ea733[0x0]);}break;case _0x43576d(0x256):_0x1ea733=_0x14e0be;_0x1ea733[_0x43576d(0x271)]&&_0x163ccc[_0x43576d(0x1f5)](_0x1ea733[0x0]);break;}});var _0x3d4d74=document['createElement'](_0x2707ea(0x17e));_0x3d4d74[_0x2707ea(0x241)]=_0x2707ea(0x147),document[_0x2707ea(0x286)]('head')[0x0][_0x2707ea(0x16c)](_0x3d4d74),_0x3d4d74[_0x2707ea(0x18f)]=function(){const _0x2c0a76=_0x2707ea;_0x19b12b[_0x2c0a76(0x23a)](_0x37dcf2[_0x2c0a76(0x151)]['channelName']);},_0x37dcf2['augmentation'][_0x2707ea(0x240)]?_0x163ccc[_0x2707ea(0x184)]('#ad',_0x37dcf2[_0x2707ea(0x151)][_0x2707ea(0x240)]):fetch(_0x2707ea(0x1ec)+_0x37dcf2['augmentation'][_0x2707ea(0x238)])['then'](async _0x2ad9ff=>{const _0x5e48be=_0x2707ea,_0x18122c=await _0x2ad9ff[_0x5e48be(0x1ed)]();_0x18122c[_0x5e48be(0x126)](_0x1767a3=>{const _0x228c13=_0x5e48be;_0x163ccc[_0x228c13(0x184)]('#'+_0x1767a3[_0x228c13(0x13a)],_0x1767a3[_0x228c13(0x150)]);});});},BB[_0x311d80(0x1b0)]=(_0x591483,_0x49629c)=>{const _0x37c683=_0x311d80;let _0x52d730=BB[_0x37c683(0x152)][_0x37c683(0x1ea)],_0x3060bf=BB['Utils'][_0x37c683(0x292)](_0x591483[_0x37c683(0x29c)]),_0x295f78,_0x2f68bf,_0x4166e3=null,_0x4ccbee=null;console[_0x37c683(0x19f)]('Project\x20name:\x20'+_0x591483['gameId']);const _0x52121c=_0x1fc4db=>{const _0x3a2a01=_0x37c683;_0x295f78=_0x1fc4db,console[_0x3a2a01(0x19f)](_0x3a2a01(0x19d)+_0x591483[_0x3a2a01(0x26a)]+':\x20'+_0x295f78),_0x2f68bf&&_0x10db89(_0x2f68bf);};async function _0x5a0a01(){const _0x43b2ca=_0x37c683,_0x206547=await fetch(_0x591483[_0x43b2ca(0x1c5)]),_0x28bb70=await _0x206547['json']();_0x52121c(_0x591483[_0x43b2ca(0x26a)]);}_0x5a0a01();const _0xc7afc=_0x3e624f=>{_0x2f68bf=_0x3e624f,_0x295f78&&_0x10db89(_0x2f68bf);},_0x10db89=_0x16907d=>{const _0x4bb13d=_0x37c683;if(_0x4166e3==null){_0x4166e3=new Worker(_0x4bb13d(0x1c8)),_0x4166e3[_0x4bb13d(0x149)](_0x4bb13d(0x24b),_0x1494d0=>{const _0x3b8b7f=_0x4bb13d;if(_0x1494d0[_0x3b8b7f(0x283)][_0x3b8b7f(0x15c)]){}else _0x49629c[_0x3b8b7f(0x1a7)](_0x1494d0[_0x3b8b7f(0x283)]);});let _0x3e213c=_0x52d730[_0x4bb13d(0x157)](_0x52d730['Frames2Timecode'](_0x16907d,_0x3060bf,!![]));_0x4166e3[_0x4bb13d(0x1fd)]({'cloudFrontURL':_0x591483['cloudFrontURL'],'folderName':_0x295f78,'tc':_0x52d730[_0x4bb13d(0x198)](_0x3e213c,![])});}else{let _0x599aa9=_0x52d730[_0x4bb13d(0x157)](_0x52d730[_0x4bb13d(0x170)](_0x16907d,_0x3060bf,!![]));_0x4166e3[_0x4bb13d(0x1fd)]({'tc':_0x52d730['printTimecode'](_0x599aa9,![]),'enabled':_0x591483[_0x4bb13d(0x1a6)]});}};return{'setLastFrame':_0xc7afc};},BB[_0x311d80(0x243)]=class{constructor(_0x533296,_0x48459f,_0x5691c5){const _0x4f0cd6=_0x311d80;console['BBlog']=function(_0x1ae38c){const _0x430052=_0x61da;console[_0x430052(0x19f)](_0x1ae38c);},console[_0x4f0cd6(0x26f)]=function(_0x9dfd5){const _0x1fd08a=_0x4f0cd6;console[_0x1fd08a(0x1d1)](_0x9dfd5);};function _0x2c6cae(_0x5a10fd,_0x143575){const _0x1184e0=_0x4f0cd6,_0x3c912c=_0x5a10fd[_0x1184e0(0x21a)]('.')[_0x1184e0(0x225)](Number),_0x2079fc=_0x143575[_0x1184e0(0x21a)]('.')[_0x1184e0(0x225)](Number);for(let _0x21e0f7=0x0;_0x21e0f7<Math['max'](_0x3c912c[_0x1184e0(0x271)],_0x2079fc[_0x1184e0(0x271)]);_0x21e0f7++){const _0xf788dc=_0x3c912c[_0x21e0f7]||0x0,_0x3f3ec3=_0x2079fc[_0x21e0f7]||0x0;if(_0xf788dc<_0x3f3ec3)return-0x1;else{if(_0xf788dc>_0x3f3ec3)return 0x1;}}return 0x0;}this['options']=Object[_0x4f0cd6(0x25e)]({'enabled':!![],'gameId':_0x4f0cd6(0x224),'medialook':![],'allGamesURL':'https://www.virtualott.com/games/','cloudFrontURL':_0x4f0cd6(0x259),'testMode':{'runTest':![],'defaultSlope':0.06,'defaultIntercept':0x0,'testTimes':0xa,'howManyFramesEachTest':0x3c,'drawTestResult':![]},'frameRateMode':BB[_0x4f0cd6(0x21f)][_0x4f0cd6(0x1ce)],'renderingMode':BB[_0x4f0cd6(0x14d)]['Augment'],'SynchMethod':BB[_0x4f0cd6(0x162)][_0x4f0cd6(0x1cb)],'debug':![],'augmentation':{'renderTimecode':!![]},'syncPoint':{'frame':0x0,'playerTime':0x0,'mediaTimeMS':0x0}},_0x5691c5||{});let _0x1cdb85=BB['Utils'][_0x4f0cd6(0x1b3)],_0x24cb1d=BB[_0x4f0cd6(0x152)]['TimeCodesFramesTranslator'];if(_0x48459f)this['SetFps'](_0x48459f);let _0x46b139={};this['frameDrawer']=BB['Augmenter'](_0x46b139,_0x533296,this[_0x4f0cd6(0x2aa)]);}['Toggle'](_0x910b18){const _0x3fc80d=_0x311d80;this['options'][_0x3fc80d(0x1a6)]=_0x910b18;}[_0x311d80(0x2a7)](){const _0x2a212c=_0x311d80;return this[_0x2a212c(0x1bc)]['getCanvas']();}['SetFps'](_0x495e86){const _0xcf3488=_0x311d80;let _0x190aba=BB['Utils'][_0xcf3488(0x1b3)];switch(_0x495e86){case 0x3c:this[_0xcf3488(0x2aa)][_0xcf3488(0x29c)]=BB['FrameRateMode']['Src60_MediaTime60'];break;case 0xea60/0x3e9:case 59.94:_0x190aba['isWindows']()||_0x190aba['isAndroid']()?this['options'][_0xcf3488(0x29c)]=BB[_0xcf3488(0x21f)]['Src59_MediaTime59']:this[_0xcf3488(0x2aa)][_0xcf3488(0x29c)]=BB['FrameRateMode'][_0xcf3488(0x1d3)];break;case 0x7530/0x3e9:case 29.97:this['options'][_0xcf3488(0x29c)]=BB[_0xcf3488(0x21f)][_0xcf3488(0x1b2)];break;default:console[_0xcf3488(0x1d1)]('Unsupported\x20src\x20frame-rate:\x20'+_0x495e86+_0xcf3488(0x21d));break;}}['SetSyncPoint'](_0x2c0b50){const _0x4e7fd7=_0x311d80;this[_0x4e7fd7(0x2aa)][_0x4e7fd7(0x18c)]=_0x2c0b50;}[_0x311d80(0x12c)](_0xceca05){const _0x358fa5=_0x311d80;this['frameDrawer'][_0x358fa5(0x264)](_0xceca05);}[_0x311d80(0x28d)](_0x16c942){const _0x3e4f44=_0x311d80;this[_0x3e4f44(0x1bc)][_0x3e4f44(0x1a4)](_0x16c942);}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x215d47=_0x3b4b;function _0x3b4b(_0x55d48b,_0x3fec4e){const _0x231770=_0x2317();return _0x3b4b=function(_0x3b4b30,_0x56836b){_0x3b4b30=_0x3b4b30-0x67;let _0x506217=_0x231770[_0x3b4b30];return _0x506217;},_0x3b4b(_0x55d48b,_0x3fec4e);}(function(_0x4fb6cb,_0x49ff23){const _0x42da32=_0x3b4b,_0x1d2ad3=_0x4fb6cb();while(!![]){try{const _0x69f54c=parseInt(_0x42da32(0x70))/0x1*(parseInt(_0x42da32(0x74))/0x2)+parseInt(_0x42da32(0x80))/0x3*(parseInt(_0x42da32(0x6d))/0x4)+-parseInt(_0x42da32(0x90))/0x5+-parseInt(_0x42da32(0x8c))/0x6+-parseInt(_0x42da32(0x71))/0x7*(parseInt(_0x42da32(0x68))/0x8)+parseInt(_0x42da32(0x73))/0x9*(parseInt(_0x42da32(0x81))/0xa)+parseInt(_0x42da32(0x8f))/0xb;if(_0x69f54c===_0x49ff23)break;else _0x1d2ad3['push'](_0x1d2ad3['shift']());}catch(_0x106158){_0x1d2ad3['push'](_0x1d2ad3['shift']());}}}(_0x2317,0x49fda),importScripts(_0x215d47(0x8e)));function _0x2317(){const _0x553890=['cloudFrontURL','95928yzlikE','assign','enabled','buffer','replace','94876ynGOGs','timecode','slice','139427gizbyh','245rrxXbO','data','333DIewUh','4YfyhRQ','error','Didn\x27t\x20find\x20timecode\x20',',\x20now\x20for\x20','split','\x20seconds\x20-\x20give\x20up\x20!','.zip','path','parse','log','alphaAsUint8Array','folderName','39AfXNRN','43560yQYoev','length','now','push','keys','Error\x20on\x20url\x20','Meta-data\x20worker\x20jumps\x20forward\x20to\x20this\x20time-code:\x20','sort','decode','endsWith','placeholders','294864ifuezQ','status','../lib/uzip.js','2369818nyFjyR','959580oujIkx','\x20seconds','toFixed','Meta-data\x20worker\x20starting\x20from\x20this\x20time-code:\x20'];_0x2317=function(){return _0x553890;};return _0x2317();}let started=![],cloudFrontURL='',folderName='',lastRequest={},lastTimeCodeFound=null,msecAvg=[];const delimiter='_';let maxTimeCode={},enabled=!![],isWorking=![];const HandleData=async _0x3a4dcd=>{const _0x2c1e5c=_0x215d47,_0x4880e6=UZIP[_0x2c1e5c(0x7c)](_0x3a4dcd);let _0x4d2a26=Object[_0x2c1e5c(0x85)](_0x4880e6)[_0x2c1e5c(0x88)]();for(const _0x58e217 of _0x4d2a26){if(_0x58e217[_0x2c1e5c(0x8a)]('.json')){let _0x2f563a=[];const _0x41f654=JSON['parse'](new TextDecoder()[_0x2c1e5c(0x89)](_0x4880e6[_0x58e217])),_0x51f4ee=_0x41f654[_0x2c1e5c(0x6e)][_0x2c1e5c(0x6c)](/:/g,'_');if(_0x41f654['placeholders'])for(const _0x2eb56f in _0x41f654[_0x2c1e5c(0x8b)]){let _0x413d81=_0x51f4ee+'_'+_0x2eb56f+'.alpha';_0x4880e6[_0x413d81]&&(_0x41f654['placeholders'][_0x2eb56f][_0x2c1e5c(0x7e)]=_0x4880e6[_0x413d81],_0x2f563a[_0x2c1e5c(0x84)](_0x4880e6[_0x413d81][_0x2c1e5c(0x6b)]));}postMessage(_0x41f654,_0x2f563a);}}},Str2TimeCode=_0x312f63=>{const _0x1f7995=_0x215d47,_0x253f2d=_0x312f63[_0x1f7995(0x78)](delimiter),_0x50f56f={'h':parseInt(_0x253f2d[0x0]),'m':parseInt(_0x253f2d[0x1]),'s':parseInt(_0x253f2d[0x2]),'f':parseInt(_0x253f2d[0x3])};return _0x50f56f;},TimeCode2Str=_0x4b608f=>{const _0x479fef=_0x215d47;return('0'+_0x4b608f['h'])[_0x479fef(0x6f)](-0x2)+delimiter+('0'+_0x4b608f['m'])[_0x479fef(0x6f)](-0x2)+delimiter+('0'+_0x4b608f['s'])[_0x479fef(0x6f)](-0x2)+delimiter+('0'+_0x4b608f['f'])['slice'](-0x2);},AddSecondsToTimeCode=(_0x2833f2,_0x3cce9f)=>{let _0x32e6cc={..._0x2833f2};return _0x32e6cc['s']+=_0x3cce9f,_0x32e6cc['s']>=0x3c&&(_0x32e6cc['s']=0x0,_0x32e6cc['m']++,_0x32e6cc['m']>=0x3c&&(_0x32e6cc['m']=0x0,_0x32e6cc['h']++)),_0x32e6cc;},GetNextTimeCode_TC=(_0x15d037,_0x2a4d95=0x0)=>{let _0x1cd3e4=Str2TimeCode(_0x15d037);if(_0x2a4d95)_0x1cd3e4=AddSecondsToTimeCode(_0x1cd3e4,_0x2a4d95);return _0x1cd3e4;},GetNextTimeCode=(_0xe5f0d4,_0x55e60e=0x0)=>{let _0x51e6db=GetNextTimeCode_TC(_0xe5f0d4,_0x55e60e);return TimeCode2Str(_0x51e6db);},IsTCBigger=(_0x9b6798,_0x2229c4)=>{if(_0x9b6798['h']>_0x2229c4['h'])return!![];else{if(_0x9b6798['h']<_0x2229c4['h'])return![];else{if(_0x9b6798['m']>_0x2229c4['m'])return!![];else{if(_0x9b6798['m']<_0x2229c4['m'])return![];else{if(_0x9b6798['s']>_0x2229c4['s'])return!![];else{if(_0x9b6798['s']<_0x2229c4['s'])return![];else{if(_0x9b6798['f']>_0x2229c4['f'])return!![];else return![];}}}}}}},TryNextFrame=_0x5abb51=>{if(!enabled)return;_0x5abb51>0x0&&IsTCBigger(GetNextTimeCode_TC(lastRequest['tc'],_0x5abb51),maxTimeCode)?setTimeout(()=>{TryNextFrame(_0x5abb51);},0x64):setTimeout(()=>{lastRequest['tc']=GetNextTimeCode(lastRequest['tc'],_0x5abb51),GetMetaData();},0x0);},AvgMetaDataMsec=()=>{const _0x5be2e2=_0x215d47;let _0xa8d27f=0x0;for(let _0x4ce500=0x0;_0x4ce500<msecAvg[_0x5be2e2(0x82)];_0x4ce500++){_0xa8d27f+=msecAvg[_0x4ce500];}return _0xa8d27f/msecAvg[_0x5be2e2(0x82)];},GetMetaData=async()=>{const _0x25c0a=_0x215d47;isWorking=!![];const _0x596c92=lastRequest,_0x1da0f1=_0x596c92[_0x25c0a(0x7b)]+'/'+_0x596c92['tc']+_0x25c0a(0x7a);try{const _0x430649=performance[_0x25c0a(0x83)](),_0x2b007d=await fetch(_0x1da0f1);if(_0x2b007d[_0x25c0a(0x8d)]>=0x190){let _0x2fd15f=performance[_0x25c0a(0x83)](),_0x2359d0=_0x2fd15f-lastTimeCodeFound,_0x35edda=_0x2359d0/0x3e8;_0x35edda>0x4?(console[_0x25c0a(0x75)](_0x25c0a(0x76),_0x596c92['tc'],_0x25c0a(0x77)+_0x35edda['toFixed'](0x2)+_0x25c0a(0x79)),TryNextFrame(0x2)):(console[_0x25c0a(0x75)](_0x25c0a(0x76),_0x596c92['tc'],',\x20now\x20for\x20'+_0x35edda[_0x25c0a(0x92)](0x2)+_0x25c0a(0x91)),TryNextFrame(0x0));isWorking=![];return;}let _0x411aba=performance[_0x25c0a(0x83)](),_0x4e887c=0x0;if(lastTimeCodeFound){_0x4e887c=_0x411aba-lastTimeCodeFound,msecAvg[_0x25c0a(0x84)](_0x4e887c);while(msecAvg['length']>0x3e8)msecAvg['shift']();}lastTimeCodeFound=_0x411aba;const _0x544483=await _0x2b007d['arrayBuffer']();await HandleData(_0x544483);const _0xad1ce=performance['now']();}catch(_0x44e1d7){console[_0x25c0a(0x75)](_0x25c0a(0x86)+_0x1da0f1,_0x44e1d7);}isWorking=![],TryNextFrame(0x2);};addEventListener('message',_0x2d0485=>{const _0x46fdac=_0x215d47;if(!started&&_0x2d0485['data'][_0x46fdac(0x67)]){started=!![],cloudFrontURL=_0x2d0485['data']['cloudFrontURL'],folderName=_0x2d0485[_0x46fdac(0x72)][_0x46fdac(0x7f)];let _0x34d016=_0x2d0485[_0x46fdac(0x72)]['tc'][_0x46fdac(0x6c)](/:/g,'_');lastRequest={'tc':_0x34d016,'path':cloudFrontURL+'/'+folderName};let _0x5f1432=Str2TimeCode(lastRequest['tc']);maxTimeCode=AddSecondsToTimeCode(Object[_0x46fdac(0x69)]({},_0x5f1432),0x4),_0x5f1432['f']=0x0,_0x5f1432['s']=_0x5f1432['s']%0x2===0x0?_0x5f1432['s']:_0x5f1432['s']-0x1,lastRequest['tc']=TimeCode2Str(_0x5f1432),console[_0x46fdac(0x7d)](_0x46fdac(0x93),lastRequest['tc']),GetMetaData();}else{let _0xdb75c8=_0x2d0485[_0x46fdac(0x72)]['tc'][_0x46fdac(0x6c)](/:/g,'_'),_0x275873=Str2TimeCode(_0xdb75c8);_0x275873['f']=0x0,_0x275873['s']=_0x275873['s']%0x2===0x0?_0x275873['s']:_0x275873['s']-0x1;IsTCBigger(_0x275873,maxTimeCode)&&(lastRequest['tc']=TimeCode2Str(_0x275873),console[_0x46fdac(0x7d)](_0x46fdac(0x87),lastRequest['tc']));IsTCBigger(Str2TimeCode(lastRequest['tc']),AddSecondsToTimeCode(_0x275873,0x4))&&(lastRequest['tc']=TimeCode2Str(_0x275873),console[_0x46fdac(0x7d)]('Meta-data\x20worker\x20jumps\x20back\x20to\x20this\x20time-code:\x20',lastRequest['tc']));maxTimeCode=AddSecondsToTimeCode(_0x275873,0x4);if(!enabled&&_0x2d0485[_0x46fdac(0x72)][_0x46fdac(0x6a)]){enabled=_0x2d0485['data'][_0x46fdac(0x6a)];if(!isWorking)GetMetaData();}else enabled=_0x2d0485['data'][_0x46fdac(0x6a)];}});
|
package/package.json
CHANGED
package/sample.html
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<script type="text/javascript">
|
|
3
3
|
var globalConfig = {
|
|
4
|
-
url:"https://
|
|
4
|
+
url:"https://nbablpng.akamaized.net/live/hls-itc/bbtest49/v0-121.m3u8?stSecret=rj12sw543terw32422334swees",
|
|
5
5
|
gameId:"arena_nba_BB_test_Lakers_long",
|
|
6
6
|
channel:"nba"
|
|
7
7
|
};
|
|
@@ -83,15 +83,22 @@
|
|
|
83
83
|
case wmcEvents.AMC_EVENT_PLAY_READY:
|
|
84
84
|
wmcMgr.setContainer(video);
|
|
85
85
|
wmcMgr.start();
|
|
86
|
-
// init
|
|
87
|
-
bbPlayer = new BB.OTTPlayer(video /*video tag */,
|
|
86
|
+
// init BB OTT player
|
|
87
|
+
bbPlayer = new BB.OTTPlayer(video /*video tag */,60000/1001 /* frame rate */,{
|
|
88
88
|
gameId:globalConfig.gameId,
|
|
89
89
|
augmentation:{
|
|
90
|
-
channelName: globalConfig.channel
|
|
91
|
-
renderTimecode:false
|
|
90
|
+
channelName: globalConfig.channel
|
|
92
91
|
}
|
|
93
92
|
});
|
|
94
93
|
//bbPlayer.Toggle(true/false)// to enable/disable - sample below
|
|
94
|
+
function onNewMetadata(eventObj) {
|
|
95
|
+
bbPlayer.onNewMetadata(eventObj)
|
|
96
|
+
};
|
|
97
|
+
function onNewSegment(eventObj) {
|
|
98
|
+
bbPlayer.onNewSegment(eventObj);
|
|
99
|
+
};
|
|
100
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA, onNewMetadata);
|
|
101
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK, onNewSegment);
|
|
95
102
|
break;
|
|
96
103
|
case wmcEvents.AMC_EVENT_PLAYER_METADATA:
|
|
97
104
|
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<script type="text/javascript">
|
|
3
|
+
var globalConfig = {
|
|
4
|
+
//url:"https://nbablpng.akamaized.net/live/hls-itc/bbtest49/v0-121.m3u8?stSecret=rj12sw543terw32422334swees", //MK stream
|
|
5
|
+
url:"https://injecto-streams.s3-accelerate.amazonaws.com/hls_fileTest_tmp/index_test.m3u8", //BB Stream (disable onNewMetadata and onNewSegment callbacks for this stream)
|
|
6
|
+
gameId:"arena_nba_BB_test_Lakers_long",
|
|
7
|
+
channel:"nba"
|
|
8
|
+
};
|
|
9
|
+
</script>
|
|
10
|
+
<html lang="en">
|
|
11
|
+
<head>
|
|
12
|
+
<meta charset="UTF-8">
|
|
13
|
+
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
|
14
|
+
<meta http-equiv="Pragma" content="no-cache" />
|
|
15
|
+
<meta http-equiv="Expires" content="0" />
|
|
16
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
17
|
+
<title>MK Player & BB OTT</title>
|
|
18
|
+
|
|
19
|
+
<script src="wmc_new.prod.js"></script>
|
|
20
|
+
<script src="js/OTTPlayer.prod.js"></script>
|
|
21
|
+
|
|
22
|
+
<style>
|
|
23
|
+
body {
|
|
24
|
+
margin: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#player_container {
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#player_container > * {
|
|
33
|
+
position: absolute;
|
|
34
|
+
text-align: center;
|
|
35
|
+
width: 100%;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
</head>
|
|
39
|
+
<body>
|
|
40
|
+
<br/>
|
|
41
|
+
<br/>
|
|
42
|
+
<button id="toggleBtn" onclick="toggleBBPlayer()">Toggle ott player OFF</button>
|
|
43
|
+
<br/>
|
|
44
|
+
<div id="debugText2"></div>
|
|
45
|
+
<div id="player_container">
|
|
46
|
+
<video id="video_element" poster="" crossOrigin controls></video>
|
|
47
|
+
</div>
|
|
48
|
+
<canvas id="canvas" style="display: none;"></canvas>
|
|
49
|
+
<script type="text/javascript">
|
|
50
|
+
const video = document.getElementById("video_element");
|
|
51
|
+
const wmcEvents = amc.AmcEvents;
|
|
52
|
+
const wmcConstants = amc.AmcConstants;
|
|
53
|
+
|
|
54
|
+
// MK STUF
|
|
55
|
+
let config = {
|
|
56
|
+
server_url: "https://ottapp-appgw-amp-a.proda.nba.tv3cloud.com",
|
|
57
|
+
owner_Uid: "azuki",
|
|
58
|
+
playback_mode: wmcConstants.IMC_MODE_LIVE,
|
|
59
|
+
media_id: "NBATVD",
|
|
60
|
+
app_id: "1023",
|
|
61
|
+
authorization_token: "AuthToken1jZHLbtswEEW_xtpJIIcPkQstVDd1giIIkCbZ8zGK2ciSS1Jx3K8v7SYtULRFAGI4uLx3BjjsFx9wcthtc96nFetX8KmciOMxTI97E_Ox2cfZm2aypsnPzI3z4hs374qrukppwfhHNuX0n8jJ-9vqtrgzqXnZjWk2-2aOj0U9pFKAEFGucwkepxzysbRuNGF3ep_MDrsl1URb4_1AaiqFqbkgulbck9qAG1qrEVrPqjuczJSvfOdxMMuYq34c5wP6Nz39erhPGIvvvYN75-blPJmZ1hoErIW1vOa-bWutBdZKAPHOusERrD7-3PK65F2Rv_LaBRfnNA_5leobMXUiJv9BLM4jdmmxycVgMVb9krdzDN9NDvN0bdJTR4WmnHEmpKCU0RYEV7oFYFRzIrUCKZViQLnQUoEQVFCQWiiilRQEKDANjBPKSi9a4KBEgdeCqi5e9iFiupk6KjUIDYrQah3RZPRnUemyukSrz3jcLKH8lLUeEHntiLcFDkCtvSW1ciAtmJLgorq87tdfLnsQsrsPcRzaFVjycF9q6A9rnOD29oF_fVabp-WuiBf98uFmO_TfNn0xMf8D"
|
|
62
|
+
}
|
|
63
|
+
let bbPlayer = null;
|
|
64
|
+
let fps = 0;
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
function processEvent(eventObj) {
|
|
69
|
+
switch (eventObj.eventType) {
|
|
70
|
+
case wmcEvents.AMC_EVENT_METRICS_UPDATE:
|
|
71
|
+
console.log("AMC_EVENT_METRICS_UPDATE");
|
|
72
|
+
break;
|
|
73
|
+
case wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK:
|
|
74
|
+
|
|
75
|
+
if (typeof eventObj.mediaInfo.frameRate != "undefined"){
|
|
76
|
+
console.log("FPS=", eventObj.mediaInfo.frameRate );
|
|
77
|
+
if(bbPlayer)
|
|
78
|
+
{
|
|
79
|
+
bbPlayer.SetFps(eventObj.mediaInfo.frameRate);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
|
|
84
|
+
case wmcEvents.AMC_EVENT_PLAY_READY:
|
|
85
|
+
wmcMgr.setContainer(video);
|
|
86
|
+
wmcMgr.start();
|
|
87
|
+
// init BB OTT player
|
|
88
|
+
bbPlayer = new BB.OTTPlayer(video /*video tag */,60000/1001 /* frame rate */,{
|
|
89
|
+
gameId:globalConfig.gameId,
|
|
90
|
+
augmentation:{
|
|
91
|
+
channelName: globalConfig.channel
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
//bbPlayer.Toggle(true/false)// to enable/disable - sample below
|
|
95
|
+
function onNewMetadata(eventObj) {
|
|
96
|
+
bbPlayer.onNewMetadata(eventObj)
|
|
97
|
+
};
|
|
98
|
+
function onNewSegment(eventObj) {
|
|
99
|
+
bbPlayer.onNewSegment(eventObj);
|
|
100
|
+
};
|
|
101
|
+
// wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA, onNewMetadata);
|
|
102
|
+
// wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK, onNewSegment);
|
|
103
|
+
break;
|
|
104
|
+
case wmcEvents.AMC_EVENT_PLAYER_METADATA:
|
|
105
|
+
|
|
106
|
+
break;
|
|
107
|
+
case wmcEvents.AMC_EVENT_PLAYER_METADATA_PARSED:
|
|
108
|
+
//console.info("AMC_EVENT_PLAYER_METADATA_PARSED",eventObj);
|
|
109
|
+
break;
|
|
110
|
+
case wmcEvents.AMC_EVENT_DEVICE_REGISTERED:
|
|
111
|
+
break;
|
|
112
|
+
case wmcEvents.AMC_EVENT_INIT_COMPLETE:
|
|
113
|
+
// start the VOD/LIVE playback
|
|
114
|
+
wmcMgr.createPlayer(config.playback_mode, config.media_id, config.app_id);
|
|
115
|
+
|
|
116
|
+
break;
|
|
117
|
+
case wmcEvents.AMC_EVENT_ERROR:
|
|
118
|
+
console.error(eventObj.code + ":" + ((eventObj.message) ? eventObj.message : eventObj.message.error));
|
|
119
|
+
break;
|
|
120
|
+
default:
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const wmcMgr = new amc.AmcManager(config.server_url, config.owner_Uid);
|
|
125
|
+
wmcMgr.setSTSToken(config.authorization_token);
|
|
126
|
+
wmcMgr.setLogLevel(wmcConstants.IMC_LOG_DEBUG);
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
function onPlaybackControlBlock(eventObj) {
|
|
130
|
+
playBackControlRestrictions = (eventObj && eventObj.hasOwnProperty("controlRestrictions")) ? eventObj.controlRestrictions : [];
|
|
131
|
+
if (!playBackControlRestrictions.length) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
blockControls();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
wmcMgr.setNativeHlsParsing(true);
|
|
138
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PROGRAM_RESTRICTIONS, onPlaybackControlBlock);
|
|
139
|
+
|
|
140
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PROGRAM_CHANGED, processEvent);
|
|
141
|
+
// other optional events
|
|
142
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_BIT_RATE_CHANGED, processEvent);
|
|
143
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_STARTED, processEvent);
|
|
144
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_QUARTILE, processEvent);
|
|
145
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_FINISHED, processEvent);
|
|
146
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_BREAK_START, processEvent);
|
|
147
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_BREAK_END, processEvent);
|
|
148
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_TEXT_TRACKS_CHANGED, processEvent);
|
|
149
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_TEXT_TRACKS_ADDED, processEvent);
|
|
150
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AUDIO_TRACKS_CHANGED, processEvent);
|
|
151
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PERIOD_SWITCH, processEvent);
|
|
152
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PERIOD_SWITCHED, processEvent);
|
|
153
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_AD_MARKER_DATA, processEvent);
|
|
154
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYOUT_METRIC_UPDATE, processEvent);
|
|
155
|
+
wmcMgr.addEventListener(wmcEvents.BEACON_FAIL_OPEN_STATUS, processEvent);
|
|
156
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PROGRAM_QUERY_STATUS, processEvent);
|
|
157
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_VIDEO_QUALITY_CHANGED, processEvent);
|
|
158
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PROFILING, processEvent);
|
|
159
|
+
|
|
160
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK, processEvent);
|
|
161
|
+
|
|
162
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_ERROR, processEvent);
|
|
163
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_STATE_CHANGED, processEvent);
|
|
164
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_VIDEO_POSITION_CHANGED, processEvent);
|
|
165
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_SEEK_COMPLETE, processEvent);
|
|
166
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_DEVICE_REGISTERED, processEvent);
|
|
167
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_INIT_COMPLETE, processEvent);
|
|
168
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAY_READY, processEvent);
|
|
169
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PRELOAD_COMPLETE, processEvent);
|
|
170
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA, processEvent);
|
|
171
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA_PARSED, processEvent);
|
|
172
|
+
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_METRICS_UPDATE, processEvent);
|
|
173
|
+
wmcMgr.setPlayerKey("60a31c68-c920-42be-a74a-506d51df7233");
|
|
174
|
+
wmcMgr.setExternalSourceParams({ sourceUrl: globalConfig.url, licenseUrl: "" });
|
|
175
|
+
wmcMgr.init();
|
|
176
|
+
const toggleBtn = document.getElementById("toggleBtn");
|
|
177
|
+
function toggleBBPlayer()
|
|
178
|
+
{
|
|
179
|
+
if(bbPlayer)
|
|
180
|
+
{
|
|
181
|
+
bbPlayer.Toggle(!bbPlayer.options.enabled);
|
|
182
|
+
toggleBtn.innerText = "Toggle ott player " + (bbPlayer.options.enabled ? "OFF" : "ON");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
</script>
|
|
186
|
+
</body>
|
|
187
|
+
|
|
188
|
+
</html>
|