[22:57:44,279] 70
[22:57:44,280] TOUCH SUPPORTED: false
[22:57:44,321] Switch mode to select
[22:57:44,405] Initializing new dice engine with
ranomness...
[22:57:44,446] window resize
[22:57:44,464] tuts loaded
[22:57:46,514] Final page load.
[22:57:46,523] Scan for new plays!
--
[22:58:06,177] initial setup
[22:58:06,183] joining game...
[22:58:06,255] can't find previous page!
[22:58:10,401] Scan for new plays!
[22:58:10,790] Player -ImrwzpcI4fv_wj7EY08 is offline...
[22:58:11,083] Firebase Online
[22:58:11,552] no player page id!
[22:58:12,438] init active page!
[22:58:12,440] attr view!
[22:58:12,888] Player -IeTByboT_8Kcaa-MJOM is offline...
[22:58:12,889] Player -IeUJvN7sBTpRmYW88yv is offline...
[22:58:12,900] Player -IhOEyzG_s2h-SNzVLkK is offline...
[22:58:12,901] Player -Ikb9aKbqexdj1Uk5HFH is offline...
[22:58:12,901] Player -IkgJ21XaPwSuRe-oSJC is offline...
[22:58:12,902] Player -IlG3z25GaZN9JJF4N50 is offline...
[22:58:12,903] Player -IlToFVTYJojVaMdKLfi is offline...
[22:58:12,903] Player -Ilj3fyfg3c5_Syri2OT is offline...
[22:58:12,904] Player -Ilj4KXLMimEQj83-eQD is offline...
[22:58:12,904] Player -Ilj6zRuGN0u0gqt7Epz is offline...
[22:58:12,905] Player -Ilj9TQH-glhM9t-yxY0 is offline...
[22:58:12,906] Player -IljAZaAIfCkxrspmUKx is offline...
[22:58:12,906] Player -IljCSlr6oPOXa7tv-MR is offline...
[22:58:12,907] Player -IljPLafvSh4r0AQvob1 is offline...
[22:58:12,908] Player -IljQ7N9DqgJwcfifbis is offline...
[22:58:12,908] Player -IljRIUsfLTbkQe4Yx3s is offline...
[22:58:12,909] Player -IljejZeSJm1glJK-c6H is offline...
[22:58:12,913] Player -ImDm1REWXyHc5_2A6gU is offline...
[22:58:12,914] Player -ImIB7h-2GqDsprqOdM4 is offline...
[22:58:12,915] Player -ImIlRlWLv67p64rfCDf is offline...
[22:58:12,916] Player -Imrrh0V-_wDq3sZNdJw is offline...
[22:58:12,959] initiatlizing video chat
[22:58:13,809] Error loading image, probably due to cors.
Trying once without CORS.
[22:58:17,111] Connected to session
[22:58:17,111] ({superClass:function
W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var
a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault
:: Trying to preventDefault on an Event that isn't
cancelable")}};this.isDefaultPrevented=function(){return a4}}, type:"sessionConnected",
cancelable:false, target:{superClass:function
aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw
new Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener
:: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw
new Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new
Error("EventDispatcher.dispatchEvent :: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}}, _listeners:{sessionConnected:[(function
(e){console.log("Connected to
session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections>1&&(c(),a())})],
streamCreated:[(function (e){console.log("stream
created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})],
streamDestroyed:[(function (e){console.log("Stream destroyed");for(var
t=0;t<e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does
"+n.streamId+" equal
"+e.streams[t].streamId),n.streamId==e.streams[t].streamId&&(console.log(d20.videochat.availableStreams),console.log("YES
REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})],
connectionCreated:[(function (e){console.log("Someone just connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections>1&&(console.log("Begin
publishing!"),c())})], connectionDestroyed:[(function
(e){console.log("Recived connection destroyed event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections<2&&(console.log("Hiding
video chat, only one connection active."),o())})],
microphoneLevelChanged:[function r(e){var t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone
.video[data-streamid="+e.streamId+"]"),t&&t.length>0&&t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"%
100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)}),
removeEventListener:(function (a4,a5){if(!a4){throw new Error("EventDispatcher.removeEventListener
:: No type specified")}if(!a5){throw new
Error("EventDispatcher.removeEventListener :: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}),
dispatchEvent:(function (a6){if(!a6){throw new
Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent
:: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3<a5.length;a3++){var
a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new
Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}),
sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg",
connection:{connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710",
creationTime:1360295891702, data:"68866", quality:null},
subscribers:{}, publishers:{publisher_1:{id:"publisher_1",
replacedDivId:"publisher_video", parentClass:function
aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw
new Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new
Error("EventDispatcher.removeEventListener :: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw
new Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent
:: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}}, _listeners:{}, addEventListener:(function
(a4,a5){if(!a4){throw new Error("EventDispatcher.addEventListener :: No
type specified")}if(!a5){throw new
Error("EventDispatcher.addEventListener :: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)}),
removeEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.removeEventListener :: No type specified")}if(!a5){throw
new Error("EventDispatcher.removeEventListener :: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}),
dispatchEvent:(function (a6){if(!a6){throw new
Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new
Error("EventDispatcher.dispatchEvent :: Event has no type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}), _:{parent:{}, DOMcomponent:({}), load:(function
(a8,a9){ap[a3.id]=a3;for(var a7 in
a8){if(a8.hasOwnProperty(a7)){a3[a7]=a8[a7]}}aY.onLoad(function(){var
ba=a3.replacedDivId,bb=a3.id;if(!ba){document.body.appendChild((function(){var
bc=document.createElement("div");ba="component_replace_"+bb;bc.setAttribute("id",ba);return
bc})())}else{if(typeof(ba)!=="string"&&"id" in
ba){if(!ba.id){ba.id="tmpId"+Math.random()}ba=ba.id}}a3.replacedDivId=ba;if(!document.getElementById(ba)){errorMsg="UIComponent
:: replaceElementId does not exist in DOM.";aG(errorMsg);throw new
Error(errorMsg)}X(a3.src,a3.replacedDivId,a3.properties.width,a3.properties.height,A,false,a3.properties,a3.params,a3.attributes)})}),
onload:(function (){u("Component loaded:
"+this.id);this._.DOMcomponent=document.getElementById(this.id);for(var
a7=0;a7<a5.length;a7++){a5[a7].call(this._)}if(this.modified){this.setStyle(this._style);this.modified=false}this.dispatchEvent(new
W("loaded"))}), callFlash:(function
(bb,a8,a7){if(!a7||typeof(a7)!=="object"){a7={}}if(!a8){a8=[]}u("Pending:
"+bb+"("+a8.join(",")+") on component
"+this.parent.id);var
a9=a7.debug||(bb+"("+a8.join(",")+") on component
"+this.parent.id+" failed");var ba=function
ba(){try{u("callFlash:
"+bb+"("+a8.join(",")+") on component
"+this.parent.id);return
this.DOMcomponent[bb].apply(this.DOMcomponent,a8)}catch(bc){if(!a7||!a7.hasOwnProperty("silentError")||!a7.silentError){aG(a9);throw
new Error(a9)}}return false};if(!a7.once){a5.push(ba)}if(this.DOMcomponent){return
ba.call(this)}else{if(a7.otherwise){return(typeof(a7.otherwise)!=="function")?a7.otherwise:a7.otherwise()}}}),
refresh:(function (){this.parent.properties.startTime=(new
Date()).getTime();this.callFlash("cleanupView",null,{once:true});this.parent.replacedDivId=this.parent.id;this.load()}),
publishToSession:(function
(bb,a9,a8,ba){this.callFlash("publishToSession",[bb,a9,a8,ba]);return
this.parent}), unpublishFromSession:(function
(a8){if(this.DOMcomponent){this.callFlash("unpublishFromSession",[a8])}return
this.parent}), signalRecording:(function (a8){return
this.callFlash(a8?"signalRecordingStarted":"signalRecordingStopped")})},
getStyle:(function (a9){var a7=document.getElementById(this.id),bc;if(!this.loaded){if(a9){return
this._style[a9]}else{return this._style}}else{if(a7){try{var
ba=a7.getStyle(a9);if(typeof(ba)=="string"){return ba}for(var a8 in
ba){if(ba[a8]=="false"){ba[a8]=false}if(ba[a8]=="true"){ba[a8]=true}if(a3.indexOf(a8)<0){delete
ba[a8]}}return ba}catch(bb){bc="Publisher.getStyle:: Failed to call
getStyle. "+bb;aG(bc);throw new
Error(bc)}}else{bc="Publisher.getStyle:: Publisher "+this.id+"
does not exist.";aG(bc);throw new Error(bc)}}}),
_style:{showMicButton:true, showSettingsButton:true, showCameraToggleButton:true,
nameDisplayMode:"off", buttonDisplayMode:"auto",
backgroundImageURI:null}, setStyle:(function
(a9,bc){u("Publisher.setStyle: "+a9.toString());var
a7=document.getElementById(this.id),bb;if(!this.loaded){if(arguments.length>1){if(this._style.hasOwnProperty(a9)&&(a9=="backgroundImageURI"||(a5[a9].indexOf(bc)>-1))){u("setStyle::Setting
"+a9+" to
"+bc);this._style[a9]=bc}else{a1("setStyle::Invalid style property
passed "+a9+" : "+bc)}}else{for(var a8 in
a9){this.setStyle(a8,a9[a8])}}this.modified=true}else{if(a7){try{a7.setStyle(a9,bc)}catch(ba){bb="Publisher.setStyle::
Failed to call setStyle. "+ba;aG(bb);throw new
Error(bb)}}else{bb="Publisher.setStyle:: Publisher "+this.id+"
does not exist.";aG(bb);throw new Error(bb)}}return this}),
getImgData:(function (){return this._.callFlash("getImgData")}),
loaded:true, panelId:null, properties:{microphoneGain:50, publishAudio:true,
publishVideo:true, height:"150", width:"150",
name:"-ImrwzpcI4fv_wj7EY08", reportMicLevels:true, style:"%7B%20%22nameDisplayMode%22%3A%22off%22%20%7D",
sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg",
connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710",
token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2",
apiKey:12312882, simulateMobile:false, publisherId:"publisher_1",
startTime:1360295897114}, modified:false,
src:"<a href="http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882" rel="nofollow">http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882</a>",
attributes:{id:"publisher_1", style:"outline:none;"},
params:{allowscriptaccess:"always", wmode:"direct"},
setMicrophoneGain:(function
(a8){this.properties.microphoneGain=parseInt(a8,10);this._.callFlash("setMicGain",[a8],{debug:"Microphone
gain adjustment on publisher "+this.id+" failed. "});return
this}), getMicrophoneGain:(function (){return
this._.callFlash("getMicGain",null,{debug:"Microphone gain
request on publisher "+this.id+" failed. ",otherwise:this.properties.microphoneGain})}),
getEchoCancellationMode:(function (){return
this._.callFlash("getEchoCancellationMode",null,{debug:"Getting
echo cancellation mode for publisher "+this.id+" failed.
",otherwise:"unknown"})}), enableMicrophone:(function (){this.publishAudio(true);return
this}), disableMicrophone:(function (){this.publishAudio(false);return this}),
publishAudio:(function
(a8){u("Publisher.publishAudio()");this.properties.publishAudio=!!a8;this._.callFlash("setStreamProperty",["publishAudio",!!a8]);return
this}), publishVideo:(function (a8){u("Publisher.publishVideo()");this.properties.publishVideo=!!a8;this._.callFlash("setStreamProperty",["publishVideo",!!a8]);return
this}), setCamera:(function
(a8){this.properties.cameraName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setCamera",this.properties.cameraName);return
this}), setMicrophone:(function
(a8){this.properties.microphoneName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setMicrophone",this.properties.microphoneName);return
this}), detectDevices:(function (){this._.callFlash("detectDevices");return
this}), detectMicActivity:(function
(a8){this._.callFlash("detectMicActivity",[a8!==false]);return
this}), destroy:(function
(){if(this._.DOMcomponent&&this._.DOMcomponent.parentNode){this._.callFlash("cleanupView");this._.DOMcomponent.parentNode.removeChild(this._.DOMcomponent);this._.DOMcomponent=null}else{u("The
item doesn't exist to be detroyed")}return this}), session:{}}},
streams:{}, apiKey:12312882, capabilities:{forceUnpublish:0, signal:1,
playback:0, publishH264:true, publish:1, forceDisconnect:0, subscribe:1,
record:0}, connected:true, connecting:false, connect:(function
(bg,bc,bb){if(this.connecting){a1("Session.connect :: Patience,
please.");return}u("Session.connect("+bg+")");var bd;if(!b.checkSystemRequirements()){bd="Session.connect
:: Flash Player Version 10+ required";aG(bd);throw new
Error(bd)}if(!bg){bd="Session.connect :: API key required to
connect";aG(bd);throw new Error(bd)}if(!bc){bd="Session.connect ::
Token required to connect";aG(bd);throw new Error(bd)}if(this.connected){a1("Session.connect
:: Session already
connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect
:: "devtoken" and "moderator_token" are being deprecated
soon. Please generate a token from <a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a>
a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var
bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete
a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var
ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var
be="replace_"+this.sessionId;aY.onLoad(function(){var
bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var
bh=new
Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}),
disconnect:(function
(){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect
:: No connection to disconnect");return}var
a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var
ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw
new Error(ba)}}}else{a1("Session.disconnect :: No connection to
disconnect")}}), disconnectComponents:(function
(){u("Session.disconnectComponents() - disconnecting publishers and
subscribers");for(var bb in this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents::
Failed to unpublish publisher "+bb)}}}for(var a9 in
this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent::
Failed to disconnect subscriber "+a9)}}}}), cleanup:(function
(){u("Session.cleanup()");for(var bb in
this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup::
Failed to unpublish publisher "+bb)}}}for(var a9 in
this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}),
cleanupConnection:(function (){u("Session.cleanupConnection() - removing
controller");this.connection=null;if(!a5){a1("Session.cleanup :: No
connection to clean up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected
:: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean
up")}}), publish:(function
(bb,a9){u("Session.publish("+bb+"):"+a9);var
ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish
:: Connection required to publish";aG(ba);throw new
Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb
instanceof U){if("session" in
bb&&bb.session&&"sessionId" in
bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish
"+bb.id+" again to "+this.sessionId+". Please call
session.unpublish(publisher) first.")}else{a1("Cannot publish
"+bb.id+" publisher already attached to
"+bb.session.sessionId+". Please call session.unpublish(publisher)
first.")}return
bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish
:: First parameter passed in is neither a string nor an instance of the
Publisher";aG(ba);throw new
Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}),
unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish ::
publisher parameter missing, publisher cannot be null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw
new Error("Session.unpublish :: unknown publisher type, publisher must be
created with TB.initPublisher()")}}if(a9.session&&a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The
publisher "+a9.id+" is trying to unpublish from a session
"+this.sessionId+" it is not attached to")}}}if(a9.panelId&&v&&v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}),
forceUnpublish:(function (bd){var
bc,bb;if(bd&&typeof(bd)=="string"){bc=bd}else{if(bd&&typeof(bd)=="object"&&bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish
:: Invalid stream type";aG(bb);throw new
Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to
forceUnpublish() failed. The specified stream is not publishing to the
session.","Force Unpublish on Invalid Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var
a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish
:: Stream does not exist.";aG(bb);throw new Error(bb)}}),
subscribe:(function (bj,bg,bf){var
be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe
:: Connection required to subscribe";aG(be);throw new
Error(be)}if(!bj){be="Session.subscribe :: stream cannot be
null";aG(be);throw new Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe
:: invalid stream object";aG(be);throw new
Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var
a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var
bb=document.getElementById(bg);if(!bb){be="Session.subscribe ::
replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var
bd=(bf)?aP(bf):{};var bh="subscriber_"+bj.streamId+"_"+a6++;var
bk=new ah(bj,bh,bg,bd);var ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete
bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var
bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length>0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var
bi=new Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return
bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe ::
subscriber cannot be null";aG(ba);throw new
Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete
this.subscribers[a9.id]}), signal:(function
(){u("Session.signal()");var
bb;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal ::
Connection required to signal.";aG(bb);throw new Error(bb)}}),
forceDisconnect:(function
(ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var
bd,bc;if(ba&&typeof(ba)=="string"){bd=ba}else{if(ba&&typeof(ba)=="object"&&ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect
:: Invalid connection type";aG(bc);throw new Error(bc)}}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect
:: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}),
getSubscribersForStream:(function (bd){var
a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be
null";aG(bb);throw new Error(bb)}else{var
bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&&bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream
:: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in
this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&&this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return
a9}), getPublisherForStream:(function (bf){var
bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be
null";aG(bd);throw new Error(bd)}else{var
be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&&bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream
:: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in
this.publishers){var bb=this.publishers[bc];if(bb){try{var
a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return
this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher:
"+this.publishers[bc].id);delete
this.publishers[bc]}}catch(ba){a1("Failed to get streamId for publisher:
"+this.publishers[bc].id);delete this.publishers[bc]}}else{a1("Removing
unknown publisher from stream");delete this.publishers[bc]}}}return
null}), createArchive:(function
(bd,ba,bc){u("Session.createArchive()");if(a5&&this.connection&&this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var
a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive
:: "+bb;aG(errorMsg);throw new
Error(errorMsg)}}else{errorMsg="Session.createArchive :: Invalid type
specfied.";aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive
:: Connection required to create an archive.";aG(errorMsg);throw new
Error(errorMsg)}}), loadArchive:(function
(bc){u("Session.loadArchive()");var
bb;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive ::
Connection required to load an archive.";aG(bb);throw new Error(bb)}}),
startRecording:(function (ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var
bc;if(!ba){bc="Session.startRecording :: Archive not
created.";aG(bc);throw new
Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording :: Trying
to record per session on a "+ba.type+" archive";aG(bc);throw new
Error(bc)}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording
:: Connection required to record an archive.";aG(bc);throw new
Error(bc)}}), stopRecording:(function
(ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var
bc;if(!ba){bc="Session.stopRecording :: Archive not
created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording
:: Trying to stop recording per session on a "+ba.type+"
archive";aG(bc);throw new
Error(bc)}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording ::
Connection required to record an archive.";aG(bc);throw new Error(bc)}}),
closeArchive:(function (ba){u("Session.closeArchive()");var bc;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive ::
Connection required to close an archive.";aG(bc);throw new Error(bc)}}),
getStateManager:(function
(){u("Session.getStateManager()");if(a7){return
a7}else{if(a5&&this.connection&&this.connection.connectionId){a7=new
T(a5);return a7}}var a9="Session.getStateManager :: Connection required to
getState. Wait for sessionConnected before you
getStateManager.";aG(a9);throw new Error(a9)}),
token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2",
properties:{playerid:"-ImrwzpcI4fv_wj7EY08",
displayname:"Zhaar"}}, preventDefault:(function
(){if(this.cancelable){a4=true}else{a1("Event.preventDefault :: Trying to
preventDefault on an Event that isn't cancelable")}}), isDefaultPrevented:(function
(){return a4}),
connections:[{connectionId:"3c7efcb4b58c6ff9cd3b4a3e2aeb2b140c5fb6cb",
creationTime:1360282852781, data:"68298", quality:null},
{connectionId:"8e52c1f32659da0967a7a7adc07fe884ed84fc12",
creationTime:1360294754005, data:"69136", quality:null}, {connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710",
creationTime:1360295891702, data:"68866", quality:null},
{connectionId:"7dab478d35cb513109749314467f93e6bbed68a4",
creationTime:1360295500176, data:"68229", quality:null},
{connectionId:"683e7af0e7ac645ade2d3d0d907b207542689fdb",
creationTime:1360294875746, data:"31466", quality:null},
{connectionId:"7ef7b5adf9ed8842acd472f33d211e0b4085f851",
creationTime:1360285544873, data:"68213", quality:null}], streams:[],
archives:[], groups:[]})
[22:58:17,111] initiatlizing publisher
[22:58:17,116] Subscribe to streams!
[22:58:17,116] []
[22:58:17,116] [object Object]
[22:58:21,992] Finished after going 1 levels deep.
--
[22:58:42,535] Player -IhMozrboaAVo7bSMVyo is offline...
[22:58:43,276] Recived connection destroyed event
--
[22:59:10,462] Someone just connected.
[22:59:10,462] ({superClass:function
W(a5,a3){this.type=a5;this.cancelable=a3?a3:false;this.target=null;var
a4=false;this.preventDefault=function(){if(this.cancelable){a4=true}else{a1("Event.preventDefault
:: Trying to preventDefault on an Event that isn't
cancelable")}};this.isDefaultPrevented=function(){return a4}},
type:"connectionCreated", cancelable:false,
target:{superClass:function
aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw
new Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new
Error("EventDispatcher.removeEventListener :: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw
new Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new Error("EventDispatcher.dispatchEvent
:: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var a3=0;a3<a5.length;a3++){var
a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw new
Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}}, _listeners:{sessionConnected:[(function
(e){console.log("Connected to
session"),console.log(e),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),d20.videochat.numactiveconnections=e.connections.length+d20.videochat.numactiveconnections,d20.videochat.numactiveconnections>1&&(c(),a())})],
streamCreated:[(function (e){console.log("stream created"),d20.videochat.availableStreams=_.union(d20.videochat.availableStreams,e.streams),a()})],
streamDestroyed:[(function (e){console.log("Stream
destroyed");for(var
t=0;t<e.streams.length;t++)$("#stream"+e.streams[t].streamId).remove(),_.each(d20.videochat.availableStreams,function(n){console.log("Does
"+n.streamId+" equal
"+e.streams[t].streamId),n.streamId==e.streams[t].streamId&&(console.log(d20.videochat.availableStreams),console.log("YES
REMOVE"),d20.videochat.availableStreams=_.without(d20.videochat.availableStreams,n),console.log(d20.videochat.availableStreams))})})],
connectionCreated:[(function (e){console.log("Someone just
connected."),console.log(e),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections+1,d20.videochat.numactiveconnections>1&&(console.log("Begin
publishing!"),c())})], connectionDestroyed:[(function
(e){console.log("Recived connection destroyed
event"),d20.videochat.numactiveconnections=d20.videochat.numactiveconnections-1,d20.videochat.numactiveconnections<2&&(console.log("Hiding
video chat, only one connection active."),o())})],
microphoneLevelChanged:[function r(e){var
t=!1;if(e.streamId==d20.videochat.publisher.streamId){console.log("publisher!");return}t=$("#playerzone
.video[data-streamid="+e.streamId+"]"),t&&t.length>0&&t.parents(".player").find(".playername").css({"background-size":Math.round(e.volume*4)+"%
100%"})}]}, addEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)}),
removeEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener
:: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}),
dispatchEvent:(function (a6){if(!a6){throw new
Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new
Error("EventDispatcher.dispatchEvent :: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}), sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg",
connection:{connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710",
creationTime:1360295891702, data:"68866", quality:null}, subscribers:{},
publishers:{publisher_1:{id:"publisher_1",
replacedDivId:"publisher_video", parentClass:function
aD(){this._listeners={};this.addEventListener=function(a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type specified")}if(!a5){throw
new Error("EventDispatcher.addEventListener :: No listener function
specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for
"+a4+")");return}}}this._listeners[a4].push(a5)};this.removeEventListener=function(a4,a5){if(!a4){throw
new Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.removeEventListener
:: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}};this.dispatchEvent=function(a6){if(!a6){throw
new Error("EventDispatcher.dispatchEvent :: No event
specified")}if(!a6.type){throw new
Error("EventDispatcher.dispatchEvent :: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in listeners")}}}},
_listeners:{}, addEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.addEventListener :: No type
specified")}if(!a5){throw new Error("EventDispatcher.addEventListener
:: No listener function specified")}u("TB.addEventListener("+a4+")");if(!this._listeners.hasOwnProperty(a4)){this._listeners[a4]=[]}else{for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){u("TB.addEventListener
:: already have listener for "+a4+")");return}}}this._listeners[a4].push(a5)}),
removeEventListener:(function (a4,a5){if(!a4){throw new
Error("EventDispatcher.removeEventListener :: No type
specified")}if(!a5){throw new
Error("EventDispatcher.removeEventListener :: No listener function
specified")}u("TB.removeEventListener("+a4+")");if(this._listeners.hasOwnProperty(a4)){for(var
a3=0;a3<this._listeners[a4].length;a3++){if(this._listeners[a4][a3]==a5){this._listeners[a4].splice(a3,1);break}}}}),
dispatchEvent:(function (a6){if(!a6){throw new Error("EventDispatcher.dispatchEvent
:: No event specified")}if(!a6.type){throw new
Error("EventDispatcher.dispatchEvent :: Event has no
type")}if(!a6.target){a6.target=this}u("TB.dispatchEvent("+a6.type+")");if(this._listeners.hasOwnProperty(a6.type)){var
a5=this._listeners[a6.type];if(a5 instanceof Array){for(var
a3=0;a3<a5.length;a3++){var a4=av(a5[a3],a6);setTimeout(a4,1)}}else{throw
new Error("EventDispatcher.dispatchEvent :: Invalid object type in
listeners")}}}), _:{parent:{}, DOMcomponent:({}), load:(function
(a8,a9){ap[a3.id]=a3;for(var a7 in
a8){if(a8.hasOwnProperty(a7)){a3[a7]=a8[a7]}}aY.onLoad(function(){var
ba=a3.replacedDivId,bb=a3.id;if(!ba){document.body.appendChild((function(){var
bc=document.createElement("div");ba="component_replace_"+bb;bc.setAttribute("id",ba);return
bc})())}else{if(typeof(ba)!=="string"&&"id" in
ba){if(!ba.id){ba.id="tmpId"+Math.random()}ba=ba.id}}a3.replacedDivId=ba;if(!document.getElementById(ba)){errorMsg="UIComponent
:: replaceElementId does not exist in DOM.";aG(errorMsg);throw new
Error(errorMsg)}X(a3.src,a3.replacedDivId,a3.properties.width,a3.properties.height,A,false,a3.properties,a3.params,a3.attributes)})}),
onload:(function (){u("Component loaded:
"+this.id);this._.DOMcomponent=document.getElementById(this.id);for(var
a7=0;a7<a5.length;a7++){a5[a7].call(this._)}if(this.modified){this.setStyle(this._style);this.modified=false}this.dispatchEvent(new
W("loaded"))}), callFlash:(function
(bb,a8,a7){if(!a7||typeof(a7)!=="object"){a7={}}if(!a8){a8=[]}u("Pending:
"+bb+"("+a8.join(",")+") on component
"+this.parent.id);var
a9=a7.debug||(bb+"("+a8.join(",")+") on component
"+this.parent.id+" failed");var ba=function
ba(){try{u("callFlash:
"+bb+"("+a8.join(",")+") on component "+this.parent.id);return
this.DOMcomponent[bb].apply(this.DOMcomponent,a8)}catch(bc){if(!a7||!a7.hasOwnProperty("silentError")||!a7.silentError){aG(a9);throw
new Error(a9)}}return
false};if(!a7.once){a5.push(ba)}if(this.DOMcomponent){return
ba.call(this)}else{if(a7.otherwise){return(typeof(a7.otherwise)!=="function")?a7.otherwise:a7.otherwise()}}}),
refresh:(function (){this.parent.properties.startTime=(new
Date()).getTime();this.callFlash("cleanupView",null,{once:true});this.parent.replacedDivId=this.parent.id;this.load()}),
publishToSession:(function (bb,a9,a8,ba){this.callFlash("publishToSession",[bb,a9,a8,ba]);return
this.parent}), unpublishFromSession:(function
(a8){if(this.DOMcomponent){this.callFlash("unpublishFromSession",[a8])}return
this.parent}), signalRecording:(function (a8){return
this.callFlash(a8?"signalRecordingStarted":"signalRecordingStopped")})},
getStyle:(function (a9){var
a7=document.getElementById(this.id),bc;if(!this.loaded){if(a9){return
this._style[a9]}else{return this._style}}else{if(a7){try{var
ba=a7.getStyle(a9);if(typeof(ba)=="string"){return ba}for(var a8 in
ba){if(ba[a8]=="false"){ba[a8]=false}if(ba[a8]=="true"){ba[a8]=true}if(a3.indexOf(a8)<0){delete
ba[a8]}}return ba}catch(bb){bc="Publisher.getStyle:: Failed to call
getStyle. "+bb;aG(bc);throw new Error(bc)}}else{bc="Publisher.getStyle::
Publisher "+this.id+" does not exist.";aG(bc);throw new
Error(bc)}}}), _style:{showMicButton:true, showSettingsButton:true,
showCameraToggleButton:true, nameDisplayMode:"off",
buttonDisplayMode:"auto", backgroundImageURI:null},
setStyle:(function (a9,bc){u("Publisher.setStyle: "+a9.toString());var
a7=document.getElementById(this.id),bb;if(!this.loaded){if(arguments.length>1){if(this._style.hasOwnProperty(a9)&&(a9=="backgroundImageURI"||(a5[a9].indexOf(bc)>-1))){u("setStyle::Setting
"+a9+" to "+bc);this._style[a9]=bc}else{a1("setStyle::Invalid
style property passed "+a9+" : "+bc)}}else{for(var a8 in
a9){this.setStyle(a8,a9[a8])}}this.modified=true}else{if(a7){try{a7.setStyle(a9,bc)}catch(ba){bb="Publisher.setStyle::
Failed to call setStyle. "+ba;aG(bb);throw new Error(bb)}}else{bb="Publisher.setStyle::
Publisher "+this.id+" does not exist.";aG(bb);throw new
Error(bb)}}return this}), getImgData:(function (){return
this._.callFlash("getImgData")}), loaded:true, panelId:null,
properties:{microphoneGain:50, publishAudio:true, publishVideo:true,
height:"150", width:"150",
name:"-ImrwzpcI4fv_wj7EY08", reportMicLevels:true,
style:"%7B%20%22nameDisplayMode%22%3A%22off%22%20%7D",
sessionId:"2_MX4xMjMxMjg4Mn4yMDUuMjM3LjI1MS4yMzd-U3VuIEphbiAyNyAxNjozNzo0NyBQU1QgMjAxM34wLjE4ODY5MTU2fg",
connectionId:"2662828e8becd6441d20b2fcbcbd08f8aa955710",
token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2",
apiKey:12312882, simulateMobile:false, publisherId:"publisher_1",
startTime:1360295897114}, modified:false,
src:"<a href="http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882" rel="nofollow">http://static.opentok.com/v1.1.2/flash/f_publishwidget.swf?partnerId=12312882</a>",
attributes:{id:"publisher_1", style:"outline:none;"},
params:{allowscriptaccess:"always", wmode:"direct"},
setMicrophoneGain:(function
(a8){this.properties.microphoneGain=parseInt(a8,10);this._.callFlash("setMicGain",[a8],{debug:"Microphone
gain adjustment on publisher "+this.id+" failed. "});return
this}), getMicrophoneGain:(function (){return
this._.callFlash("getMicGain",null,{debug:"Microphone gain
request on publisher "+this.id+" failed.
",otherwise:this.properties.microphoneGain})}),
getEchoCancellationMode:(function (){return
this._.callFlash("getEchoCancellationMode",null,{debug:"Getting
echo cancellation mode for publisher "+this.id+" failed.
",otherwise:"unknown"})}), enableMicrophone:(function
(){this.publishAudio(true);return this}), disableMicrophone:(function
(){this.publishAudio(false);return this}), publishAudio:(function (a8){u("Publisher.publishAudio()");this.properties.publishAudio=!!a8;this._.callFlash("setStreamProperty",["publishAudio",!!a8]);return
this}), publishVideo:(function
(a8){u("Publisher.publishVideo()");this.properties.publishVideo=!!a8;this._.callFlash("setStreamProperty",["publishVideo",!!a8]);return
this}), setCamera:(function
(a8){this.properties.cameraName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setCamera",this.properties.cameraName);return
this}), setMicrophone:(function (a8){this.properties.microphoneName=[typeof(a8)==="string"?a8:a8.name];this._.callFlash("setMicrophone",this.properties.microphoneName);return
this}), detectDevices:(function
(){this._.callFlash("detectDevices");return this}),
detectMicActivity:(function (a8){this._.callFlash("detectMicActivity",[a8!==false]);return
this}), destroy:(function
(){if(this._.DOMcomponent&&this._.DOMcomponent.parentNode){this._.callFlash("cleanupView");this._.DOMcomponent.parentNode.removeChild(this._.DOMcomponent);this._.DOMcomponent=null}else{u("The
item doesn't exist to be detroyed")}return this}), session:{}}},
streams:{}, apiKey:12312882, capabilities:{forceUnpublish:0, signal:1,
playback:0, publishH264:true, publish:1, forceDisconnect:0, subscribe:1,
record:0}, connected:true, connecting:false, connect:(function (bg,bc,bb){if(this.connecting){a1("Session.connect
:: Patience,
please.");return}u("Session.connect("+bg+")");var
bd;if(!b.checkSystemRequirements()){bd="Session.connect :: Flash Player
Version 10+ required";aG(bd);throw new Error(bd)}if(!bg){bd="Session.connect
:: API key required to connect";aG(bd);throw new
Error(bd)}if(!bc){bd="Session.connect :: Token required to
connect";aG(bd);throw new
Error(bd)}if(this.connected){a1("Session.connect :: Session already
connected");return}if(bc=="moderator_token"||bc=="devtoken"){a1('Session.connect
:: "devtoken" and "moderator_token" are being deprecated
soon. Please generate a token from
<a href="https://dashboard.tokbox.com')}this.connecting=true;var" rel="nofollow">https://dashboard.tokbox.com')}this.connecting=true;var</a>
a9=(bb)?aP(bb):{};this.apiKey=bg;this.token=bc;this.properties=bb;var
bf={};bf.allowscriptaccess="always";if(a9.wmode){bf.wmode=a9.wmode;delete
a9.wmode}if(a9.connectionData){a9.connectionData=encodeURIComponent(a9.connectionData)}a5="controller_"+this.sessionId;var
ba={};ba.id=a5;a9.sessionId=this.sessionId;a9.token=this.token;var
be="replace_"+this.sessionId;aY.onLoad(function(){var
bi=document.createElement("div");bi.setAttribute("id",be);bi.style.display="none";document.body.appendChild(bi);var
bh=new Date();a9.startTime=bh.getTime();swfobject.embedSWF(G+"/v1.1.2/flash/f_controllerwidget.swf?partnerId="+bg,be,1,1,A,false,a9,bf,ba)});if(aU.location.protocol=="file:"){setTimeout("TB.controllerLoadCheck()",8000)}}),
disconnect:(function
(){u("Session.disconnect()");if(!a5||this.connecting){a1("Session.disconnect
:: No connection to disconnect");return}var
a9=document.getElementById(a5);if(a9){if(!isUnloading){try{a9.cleanupView()}catch(bb){var
ba="Session.disconnect :: Failed to disconnect - "+bb;aG(ba);throw
new Error(ba)}}}else{a1("Session.disconnect :: No connection to disconnect")}}),
disconnectComponents:(function (){u("Session.disconnectComponents() -
disconnecting publishers and subscribers");for(var bb in
this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb])}catch(ba){a1("disconnectComponents::
Failed to unpublish publisher "+bb)}}}for(var a9 in
this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){try{at(this.subscribers[a9])}catch(ba){a1("disconnectComponent::
Failed to disconnect subscriber "+a9)}}}}), cleanup:(function
(){u("Session.cleanup()");for(var bb in
this.publishers){if(this.publishers[bb].hasOwnProperty("id")){try{this.unpublish(this.publishers[bb]);if(this.publishers[bb]._.DOMcomponent){this.publishers[bb].destroy()}}catch(ba){a1("cleanup::
Failed to unpublish publisher "+bb)}}}for(var a9 in
this.subscribers){if(this.subscribers[a9].hasOwnProperty("id")){this.unsubscribe(this.subscribers[a9])}}this.publishers={};this.subscribers={};a7=undefined}),
cleanupConnection:(function (){u("Session.cleanupConnection() - removing
controller");this.connection=null;if(!a5){a1("Session.cleanup :: No
connection to clean
up");return}if(document.getElementById(a5)){setTimeout(function(){aF(a5,"TB.sessionDisconnected
:: ");a5=null},0)}else{a1("Session.cleanup :: No connection to clean
up")}}), publish:(function
(bb,a9){u("Session.publish("+bb+"):"+a9);var
ba;if(!this.connection||!this.connection.connectionId){ba="Session.publish
:: Connection required to publish";aG(ba);throw new
Error(ba)}if(!bb||typeof(bb)==="string"){bb=b.initPublisher(this.apiKey,bb,k(a9,{sessionId:this.sessionId,connectionId:this.connection.connectionId,token:this.token}))}else{if(bb
instanceof U){if("session" in
bb&&bb.session&&"sessionId" in
bb.session){if(bb.session.sessionId===this.sessionId){a1("Cannot publish
"+bb.id+" again to "+this.sessionId+". Please call
session.unpublish(publisher) first.")}else{a1("Cannot publish
"+bb.id+" publisher already attached to
"+bb.session.sessionId+". Please call session.unpublish(publisher)
first.")}return bb}bb._.publishToSession(this.sessionId,this.connection.connectionId,this.token,this.apiKey)}else{ba="Session.publish
:: First parameter passed in is neither a string nor an instance of the
Publisher";aG(ba);throw new
Error(ba)}}this.publishers[bb.id]=bb;bb.session=this;return bb}),
unpublish:(function (a9){if(!a9){throw new Error("Session.unpublish ::
publisher parameter missing, publisher cannot be
null")}else{if(!a9.hasOwnProperty("_")||!a9._.hasOwnProperty("unpublishFromSession")){throw
new Error("Session.unpublish :: unknown publisher type, publisher must be
created with
TB.initPublisher()")}}if(a9.session&&a9.session.sessionId==this.sessionId){a9._.unpublishFromSession(this.sessionId)}else{if(!a9.session){a9.destroy()}else{if(a9.session.sessionId!=this.sessionId){a1("The
publisher "+a9.id+" is trying to unpublish from a session
"+this.sessionId+" it is not attached
to")}}}if(a9.panelId&&v&&v.panels[a9.panelId]){v.removePanel(v.panels[a9.panelId])}a9.session=null}),
forceUnpublish:(function (bd){var bc,bb;if(bd&&typeof(bd)=="string"){bc=bd}else{if(bd&&typeof(bd)=="object"&&bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.forceUnpublish
:: Invalid stream type";aG(bb);throw new
Error(bb)}}if(!this.streams[bc]){b.exceptionHandler("Call to
forceUnpublish() failed. The specified stream is not publishing to the
session.","Force Unpublish on Invalid
Stream",1535);return}u("Session.forceUnpublish("+bc+")");if(bc){try{var
a9=document.getElementById(a5);a9.forceUnpublish(bc)}catch(ba){bb="Session.forceUnpublish
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.forceUnpublish
:: Stream does not exist.";aG(bb);throw new Error(bb)}}),
subscribe:(function (bj,bg,bf){var
be;if(!this.connection||!this.connection.connectionId){be="Session.subscribe
:: Connection required to subscribe";aG(be);throw new
Error(be)}if(!bj){be="Session.subscribe :: stream cannot be
null";aG(be);throw new
Error(be)}if(!bj.hasOwnProperty("streamId")){be="Session.subscribe
:: invalid stream object";aG(be);throw new Error(be)}u("Session.subscribe("+bj.streamId+")");if(!bg){var
a9=document.createElement("div");bg="subscriber_replace_"+this.sessionId+"_"+a6;a9.setAttribute("id",bg);document.body.appendChild(a9)}var
bb=document.getElementById(bg);if(!bb){be="Session.subscribe ::
replaceElementId does not exist in DOM.";aG(be);throw new Error(be)}var
bd=(bf)?aP(bf):{};var
bh="subscriber_"+bj.streamId+"_"+a6++;var bk=new
ah(bj,bh,bg,bd);var
ba={};ba.allowscriptaccess="always";if(bd.wmode){ba.wmode=bd.wmode;delete
bd.wmode}else{ba.wmode="transparent"}if(bd.hasOwnProperty("style")){bd.style=encodeURIComponent(V(bd.style))}var
bc={};bc.id=bk.id;bc.style="outline:none;";bd.subscriberId=bh;bd.connectionId=this.connection.connectionId;bd.sessionId=this.sessionId;bd.streamId=bj.streamId;bd.streamType=bj.type;bd.name=bj.name;bd.token=this.token;bd.simulateMobile=b.simulateMobile;bd.isPublishing=(Object.keys(this.publishers).length>0);if(!bj.hasAudio){bd.subscribeToAudio="false"}if(!bj.hasVideo){bd.subscribeToVideo="false"}bd.orientation=bj.orientation;bd.peerId=bj.peerId;if(!bd.width||isNaN(bd.width)){bd.width=a3}if(!bd.height||isNaN(bd.height)){bd.height=a4}this.subscribers[bk.id]=bk;var
bi=new
Date();bd.startTime=bi.getTime();X(G+"/v1.1.2/flash/f_subscribewidget.swf?partnerId="+this.apiKey,bg,bd.width,bd.height,A,false,bd,ba,bc);return
bk}), unsubscribe:(function (a9){if(!a9){var ba="Subscribe.unsubscribe ::
subscriber cannot be null";aG(ba);throw new
Error(ba)}u("Session.unsubscribe("+a9.id+")");t(a9);delete
this.subscribers[a9.id]}), signal:(function (){u("Session.signal()");var
bb;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.sendSignal()}catch(ba){bb="Session.signal
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.signal ::
Connection required to signal.";aG(bb);throw new Error(bb)}}),
forceDisconnect:(function
(ba){if(ba){u("Session.forceDisconnect("+ba.connectionId+")")}var
bd,bc;if(ba&&typeof(ba)=="string"){bd=ba}else{if(ba&&typeof(ba)=="object"&&ba.hasOwnProperty("connectionId")){bd=ba.connectionId}else{bc="Session.forceDisconnect
:: Invalid connection type";aG(bc);throw new
Error(bc)}}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.forceDisconnect(bd)}catch(bb){bc="Session.forceDisconnect
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.forceDisconnect
:: Connection required to forceDisconnect.";aG(bc);throw new Error(bc)}}),
getSubscribersForStream:(function (bd){var
a9=null,bb;if(!bd){bb="Session.getSubscribersForStream :: stream cannot be
null";aG(bb);throw new Error(bb)}else{var
bc;if(typeof(bd)=="string"){bc=bd}else{if(typeof(bd)=="object"&&bd.hasOwnProperty("streamId")){bc=bd.streamId}else{bb="Session.getSubscribersForStream
:: Invalid stream type";aG(bb);throw new Error(bb)}}a9=[];for(var ba in
this.subscribers){if(this.subscribers[ba].hasOwnProperty("stream")&&this.subscribers[ba].stream.streamId==bc){a9.push(this.subscribers[ba])}}}return
a9}), getPublisherForStream:(function (bf){var
bd;if(!bf){bd="Session.getPublisherForStream :: stream cannot be
null";aG(bd);throw new Error(bd)}else{var
be;if(typeof(bf)=="string"){be=bf}else{if(typeof(bf)=="object"&&bf.hasOwnProperty("streamId")){be=bf.streamId}else{bd="Session.getPublisherForStream
:: Invalid stream type";aG(bd);throw new Error(bd)}}for(var bc in
this.publishers){var bb=this.publishers[bc];if(bb){try{var
a9=bb._.callFlash("getStreamId",[],{silentError:true});if(a9===be){return
this.publishers[bc]}if(!a9){a1("Failed to get streamId for publisher:
"+this.publishers[bc].id);delete this.publishers[bc]}}catch(ba){a1("Failed
to get streamId for publisher: "+this.publishers[bc].id);delete
this.publishers[bc]}}else{a1("Removing unknown publisher from
stream");delete this.publishers[bc]}}}return null}),
createArchive:(function (bd,ba,bc){u("Session.createArchive()");if(a5&&this.connection&&this.connection.connectionId){if(ba==b.PER_SESSION||ba==b.PER_STREAM){try{var
a9=document.getElementById(a5);a9.createArchive(bd,ba,bc)}catch(bb){errorMsg="Session.createArchive
:: "+bb;aG(errorMsg);throw new Error(errorMsg)}}else{errorMsg="Session.createArchive
:: Invalid type specfied.";aG(errorMsg);throw new
Error(errorMsg)}}else{errorMsg="Session.createArchive :: Connection
required to create an archive.";aG(errorMsg);throw new Error(errorMsg)}}),
loadArchive:(function (bc){u("Session.loadArchive()");var
bb;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.loadArchive(bc)}catch(ba){bb="Session.loadArchive
:: "+ba;aG(bb);throw new Error(bb)}}else{bb="Session.loadArchive ::
Connection required to load an archive.";aG(bb);throw new Error(bb)}}),
startRecording:(function
(ba){u("Session.startRecording()");ba=H[this.sessionId][ba.archiveId];var
bc;if(!ba){bc="Session.startRecording :: Archive not
created.";aG(bc);throw new Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.startRecording
:: Trying to record per session on a "+ba.type+"
archive";aG(bc);throw new
Error(bc)}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.startRecordingSession(ba.archiveId)}catch(bb){bc="Session.startRecording
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.startRecording
:: Connection required to record an archive.";aG(bc);throw new
Error(bc)}}), stopRecording:(function (ba){u("Session.stopRecording()");ba=H[this.sessionId][ba.archiveId];var
bc;if(!ba){bc="Session.stopRecording :: Archive not
created.";aG(bc);throw new
Error(bc)}if(ba.type!=b.PER_SESSION){bc="Session.stopRecording :: Trying
to stop recording per session on a "+ba.type+" archive";aG(bc);throw
new Error(bc)}if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.stopRecordingSession(ba.archiveId)}catch(bb){bc="Session.stopRecording
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.stopRecording ::
Connection required to record an archive.";aG(bc);throw new Error(bc)}}),
closeArchive:(function (ba){u("Session.closeArchive()");var
bc;if(a5&&this.connection&&this.connection.connectionId){try{var
a9=document.getElementById(a5);a9.closeArchive(ba.archiveId)}catch(bb){bc="Session.closeArchive
:: "+bb;aG(bc);throw new Error(bc)}}else{bc="Session.closeArchive ::
Connection required to close an archive.";aG(bc);throw new Error(bc)}}),
getStateManager:(function (){u("Session.getStateManager()");if(a7){return
a7}else{if(a5&&this.connection&&this.connection.connectionId){a7=new
T(a5);return a7}}var a9="Session.getStateManager :: Connection required to
getState. Wait for sessionConnected before you
getStateManager.";aG(a9);throw new Error(a9)}), token:"T1==cGFydG5lcl9pZD0xMjMxMjg4MiZzZGtfdmVyc2lvbj10YnJ1YnktdGJyYi12MC45MS4yMDExLTAyLTE3JnNpZz03YWU4ZGM3ZWYxYmQ0OTVkZDJiOTQ1MGI1ZWExNmY4NmQ5OGY2ZTJiOnJvbGU9cHVibGlzaGVyJnNlc3Npb25faWQ9Ml9NWDR4TWpNeE1qZzRNbjR5TURVdU1qTTNMakkxTVM0eU16ZC1VM1Z1SUVwaGJpQXlOeUF4Tmpvek56bzBOeUJRVTFRZ01qQXhNMzR3TGpFNE9EWTVNVFUyZmcmY3JlYXRlX3RpbWU9MTM2MDI5NTg1OSZub25jZT0wLjc5Nzg1MTA2OTU0Mzc4NzUmY29ubmVjdGlvbl9kYXRhPTY4ODY2",
properties:{playerid:"-ImrwzpcI4fv_wj7EY08",
displayname:"Zhaar"}}, preventDefault:(function (){if(this.cancelable){a4=true}else{a1("Event.preventDefault
:: Trying to preventDefault on an Event that isn't cancelable")}}),
isDefaultPrevented:(function (){return a4}),
connections:[{connectionId:"8c86fd4930542f37f7f0827681fd1368e45fb542",
creationTime:1360295945769, data:"69136", quality:null}],
reason:""})
[22:59:10,462] Begin publishing!