STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
230434
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2604 · P5207

Loosely planned downtime: Will work on server hardware within the coming week.
The site will be down for a day or two depending on how things go.

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/83002315?noj=FRM83002315-15DC" width="1" height="1"></div>

Metacafe.com_Embed_3.2.2.3.swf

This is the info page for
Flash #259896

(Click the ID number above for more basic data on this flash file.)


Text
Click to Resume

00:00/00:00

ActionScript [AS3]

Section 1
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } } }//package com.adobe.serialization.json
Section 2
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ tokenizer = new JSONTokenizer(_arg1); nextToken(); value = parseValue(); } public function getValue(){ return (value); } private function nextToken():JSONToken{ return ((token = tokenizer.getNextToken())); } private function parseArray():Array{ var _local1:Array = new Array(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(parseValue()); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting ] or , but found " + token.value)); }; }; return (null); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (token.type == JSONTokenType.STRING){ _local2 = String(token.value); nextToken(); if (token.type == JSONTokenType.COLON){ nextToken(); _local1[_local2] = parseValue(); nextToken(); if (token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (token.type == JSONTokenType.COMMA){ nextToken(); } else { tokenizer.parseError(("Expecting } or , but found " + token.value)); }; } else { tokenizer.parseError(("Expecting : but found " + token.value)); }; } else { tokenizer.parseError(("Expecting string but found " + token.value)); }; }; return (null); } private function parseValue():Object{ if (token == null){ tokenizer.parseError("Unexpected end of input"); }; switch (token.type){ case JSONTokenType.LEFT_BRACE: return (parseObject()); case JSONTokenType.LEFT_BRACKET: return (parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (token.value); default: tokenizer.parseError(("Unexpected " + token.value)); }; return (null); } } }//package com.adobe.serialization.json
Section 3
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ jsonString = convertToString(_arg1); } public function getString():String{ return (jsonString); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (objectToString(_arg1)); }; }; }; return ("null"); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2 = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(key) + ":") + convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((escapeString(v.@name.toString()) + ":") + convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } } }//package com.adobe.serialization.json
Section 4
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; _location = _arg2; _text = _arg3; } public function get location():int{ return (_location); } public function get text():String{ return (_text); } } }//package com.adobe.serialization.json
Section 5
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _type:int; private var _value:Object; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ _type = _arg1; _value = _arg2; } public function get type():int{ return (_type); } public function set type(_arg1:int):void{ _type = _arg1; } public function get value():Object{ return (_value); } public function set value(_arg1:Object):void{ _value = _arg1; } } }//package com.adobe.serialization.json
Section 6
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var obj:Object; private var jsonString:String; private var loc:int; private var ch:String; public function JSONTokenizer(_arg1:String){ jsonString = _arg1; loc = 0; nextChar(); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); skipIgnored(); switch (ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; nextChar(); break; case "t": _local2 = ((("t" + nextChar()) + nextChar()) + nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; nextChar(); } else { parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + nextChar()) + nextChar()) + nextChar()) + nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; nextChar(); } else { parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + nextChar()) + nextChar()) + nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; nextChar(); } else { parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = readString(); break; default: if (((isDigit(ch)) || ((ch == "-")))){ _local1 = readNumber(); } else { if (ch == ""){ return (null); }; parseError((("Unexpected " + ch) + " encountered")); }; }; return (_local1); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2 = ""; nextChar(); while (((!((ch == "\""))) && (!((ch == ""))))) { if (ch == "\\"){ nextChar(); switch (ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!isHexDigit(nextChar())){ parseError((" Excepted a hex digit, but found: " + ch)); }; _local3 = (_local3 + ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + ch)); }; } else { _local2 = (_local2 + ch); }; nextChar(); }; if (ch == ""){ parseError("Unterminated string literal"); }; nextChar(); _local1.value = _local2; return (_local1); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2 = ""; if (ch == "-"){ _local2 = (_local2 + "-"); nextChar(); }; if (!isDigit(ch)){ parseError("Expecting a digit"); }; if (ch == "0"){ _local2 = (_local2 + ch); nextChar(); if (isDigit(ch)){ parseError("A digit cannot immediately follow 0"); }; } else { while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if (ch == "."){ _local2 = (_local2 + "."); nextChar(); if (!isDigit(ch)){ parseError("Expecting a digit"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; if ((((ch == "e")) || ((ch == "E")))){ _local2 = (_local2 + "e"); nextChar(); if ((((ch == "+")) || ((ch == "-")))){ _local2 = (_local2 + ch); nextChar(); }; if (!isDigit(ch)){ parseError("Scientific notation number needs exponent value"); }; while (isDigit(ch)) { _local2 = (_local2 + ch); nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((ch = jsonString.charAt(loc++))); } private function skipIgnored():void{ var _local1:int; do { _local1 = loc; skipWhite(); skipComments(); } while (_local1 != loc); } private function skipComments():void{ if (ch == "/"){ nextChar(); switch (ch){ case "/": do { nextChar(); } while (((!((ch == "\n"))) && (!((ch == ""))))); nextChar(); break; case "*": nextChar(); while (true) { if (ch == "*"){ nextChar(); if (ch == "/"){ nextChar(); break; }; } else { nextChar(); }; if (ch == ""){ parseError("Multi-line comment not closed"); }; }; break; default: parseError((("Unexpected " + ch) + " encountered (expecting '/' or '*' )")); }; }; } private function skipWhite():void{ while (isWhiteSpace(ch)) { nextChar(); }; } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, loc, jsonString)); } } }//package com.adobe.serialization.json
Section 7
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACE:int = 1; public static const RIGHT_BRACE:int = 2; public static const LEFT_BRACKET:int = 3; public static const RIGHT_BRACKET:int = 4; public static const COLON:int = 6; public static const TRUE:int = 7; public static const FALSE:int = 8; public static const NULL:int = 9; public static const STRING:int = 10; public static const NUMBER:int = 11; } }//package com.adobe.serialization.json
Section 8
//AkamaiEnhancedNetStream (com.akamai.AkamaiEnhancedNetStream) package com.akamai { import flash.events.*; import flash.net.*; import flash.media.*; public class AkamaiEnhancedNetStream extends NetStream { private const OFFSET_PARAM:String = "aktimeoffset"; private const ID_PARAM:String = "aksessionid"; public const STATE_WAITING:String = "WAITING"; public const STATE_BUFFERING:String = "BUFFERING"; public const STATE_PLAYING:String = "PLAYING"; public const STATE_PAUSED:String = "PAUSED"; public const STATE_STOPPED:String = "STOPPED"; public const STATE_ENDED:String = "ENDED"; public const STATE_SEEKING:String = "SEEKING"; public const STATE_FAILED:String = "FAILED"; private var _baseUrl:String; private var _id:String; private var _usingCustomID:Boolean; private var _clientProxy:Object; private var _duration:Number; private var _segmentDuration:Number; private var _segmentStartTime:Number; private var _state:String; private var _stopOnPause:Boolean; private var _playState:String; private var _lastReferenceTime:Number; private var _width:Number; private var _height:Number; private var _volLevel:Number; private var _jpnEnabled:Boolean; public function AkamaiEnhancedNetStream(_arg1:NetConnection){ super(_arg1); init(); } public function get state():String{ return (_state); } public function get sessionID():String{ return (_id); } public function get duration():Number{ return (_duration); } public function get bytesLoadRatio():Number{ return ((super.bytesLoaded / super.bytesTotal)); } public function get segmentLoadRatio():Number{ return (((_state == STATE_STOPPED)) ? 0 : ((super.bytesLoaded * (_duration - _segmentStartTime)) / (_duration * super.bytesTotal))); } public function get segmentStartTime():Number{ return (_segmentStartTime); } public function get segmentDuration():Number{ return (_segmentDuration); } public function set customSessionID(_arg1:String):void{ _usingCustomID = !((_arg1 == "")); _id = _arg1; } public function get stopOnPause():Boolean{ return (_stopOnPause); } public function set stopOnPause(_arg1:Boolean):void{ _stopOnPause = _arg1; } override public function set client(_arg1:Object):void{ _clientProxy = _arg1; } public function get timeAsTimeCode():String{ if (((_stopOnPause) && ((_state == STATE_STOPPED)))){ return (timeCode(_lastReferenceTime)); }; return ((isNaN(super.time)) ? timeCode(0) : timeCode(super.time)); } public function get durationAsTimeCode():String{ return ((isNaN(_duration)) ? timeCode(0) : timeCode(_duration)); } public function convertToTimeCode(_arg1:Number):String{ return (timeCode(_arg1)); } public function get width():Number{ return (_width); } public function get height():Number{ return (_height); } override public function get time():Number{ if (((_stopOnPause) && ((_state == STATE_STOPPED)))){ return (_lastReferenceTime); }; return (super.time); } public function get jpnEnabled():Boolean{ return (_jpnEnabled); } public function set jpnEnabled(_arg1:Boolean):void{ _jpnEnabled = _arg1; } override public function play(... _args):void{ _baseUrl = _args[0]; if (!_usingCustomID){ _id = generateID(); }; _args[0] = buildRequest(); _playState = STATE_PLAYING; super.play.apply(this, _args); } override public function pause():void{ if (_stopOnPause){ updateState(STATE_STOPPED); _playState = STATE_STOPPED; _lastReferenceTime = super.time; super.close(); } else { _playState = STATE_PAUSED; updateState(STATE_PAUSED); super.pause(); }; } override public function resume():void{ _playState = STATE_PLAYING; if (_stopOnPause){ super.play(buildRequest(_lastReferenceTime)); } else { updateState(STATE_PLAYING); super.resume(); }; } override public function seek(_arg1:Number):void{ var _local2:Number = (((super.bytesLoaded / super.bytesTotal) * (_duration - _segmentStartTime)) + _segmentStartTime); if ((((((_arg1 < _local2)) && ((_arg1 > _segmentStartTime)))) && (!((_state == STATE_STOPPED))))){ super.seek(_arg1); } else { super.play(buildRequest(_arg1)); if ((((_state == STATE_PAUSED)) || ((_state == STATE_STOPPED)))){ _volLevel = ((_state == STATE_PAUSED)) ? super.soundTransform.volume : _volLevel; super.soundTransform = new SoundTransform(0); }; }; updateState(STATE_SEEKING); } private function init():void{ _usingCustomID = false; _clientProxy = null; _state = STATE_WAITING; _volLevel = 1; this.addEventListener(NetStatusEvent.NET_STATUS, handleNetStatus); this.addEventListener(AsyncErrorEvent.ASYNC_ERROR, function (_arg1:AsyncErrorEvent){ }); } private function handleNetStatus(_arg1:NetStatusEvent):void{ switch (_arg1.info.code){ case "NetStream.Play.StreamNotFound": updateState(STATE_FAILED); break; case "NetStream.Play.Start": updateState(STATE_BUFFERING); break; case "NetStream.Buffer.Empty": if (((!((_playState == STATE_PAUSED))) && (!((_state == STATE_ENDED))))){ updateState(STATE_BUFFERING); }; break; case "NetStream.Buffer.Full": if (((_stopOnPause) && ((((_playState == STATE_PAUSED)) || ((_playState == STATE_STOPPED)))))){ _lastReferenceTime = super.time; super.close(); } else { if (_playState == STATE_PAUSED){ super.pause(); super.soundTransform = new SoundTransform(_volLevel); } else { if (_playState == STATE_PLAYING){ super.soundTransform = new SoundTransform(_volLevel); }; }; }; updateState(_playState); break; case "NetStream.Seek.Notify": updateState(((_playState)!=STATE_PAUSED) ? STATE_SEEKING : STATE_PAUSED); break; case "NetStream.Play.Stop": updateState(STATE_ENDED); }; } private function updateState(_arg1:String):void{ if (_arg1 != _state){ _state = _arg1; this.dispatchEvent(new NetStatusEvent("stateChange", false, false, _state)); }; } public function onMetaData(... _args):void{ var _local2:Object = _args[0]; if (!isNaN(Number(_local2["aktimeoffset"]))){ _segmentStartTime = Number(_local2["aktimeoffset"]); _segmentDuration = Number(_local2["duration"]); _duration = Number(_local2["akparentplaytime"]); } else { _segmentStartTime = 0; _duration = (_segmentDuration = Number(_local2["duration"])); }; if (!isNaN(Number(_local2["width"]))){ _width = Number(_local2["width"]); }; if (!isNaN(Number(_local2["height"]))){ _height = Number(_local2["height"]); }; if (_clientProxy != null){ _clientProxy.onMetaData.apply(this, _args); }; } public function onCuePoint(... _args):void{ if (_clientProxy != null){ _clientProxy.onCuePoint.apply(this, _args); }; } public function onImageData(... _args):void{ if (_clientProxy != null){ _clientProxy.onImageData.apply(this, _args); }; } public function onTextData(... _args):void{ if (_clientProxy != null){ _clientProxy.onTextData.apply(this, _args); }; } private function buildRequest(_arg1:Number=0):String{ return ((_baseUrl + (jpnEnabled) ? ((((((_baseUrl.indexOf("?") == -1)) ? "?" : "&" + ID_PARAM) + "=") + _id) + ((_arg1)!=0) ? ((("&" + OFFSET_PARAM) + "=") + _arg1) : "") : "")); } private function generateID():String{ return (((new Date().time.toString() + "_") + Math.round((Math.random() * 1000000)).toString())); } private function timeCode(_arg1:Number):String{ var _local2:Number = Math.floor((_arg1 / 3600)); var _local3:Number = Math.floor(((_arg1 % 3600) / 60)); var _local4:Number = Math.floor(((_arg1 % 3600) % 60)); return ((((((_local2 == 0)) ? "" : ((_local2 < 10)) ? (("0" + _local2.toString()) + ":") : (_local2.toString() + ":") + ((_local3 < 10)) ? ("0" + _local3.toString()) : _local3.toString()) + ":") + ((_local4 < 10)) ? ("0" + _local4.toString()) : _local4.toString())); } } }//package com.akamai
Section 9
//CampaignInfo (com.google.analytics.campaign.CampaignInfo) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignInfo { private var _new:Boolean; private var _empty:Boolean; public function CampaignInfo(_arg1:Boolean=true, _arg2:Boolean=false){ _empty = _arg1; _new = _arg2; } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function isNew():Boolean{ return (_new); } public function get utmcn():String{ return ("1"); } public function isEmpty():Boolean{ return (_empty); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (((!(isEmpty())) && (isNew()))){ _local1.utmcn = utmcn; }; if (((!(isEmpty())) && (!(isNew())))){ _local1.utmcr = utmcr; }; return (_local1); } public function get utmcr():String{ return ("1"); } } }//package com.google.analytics.campaign
Section 10
//CampaignKey (com.google.analytics.campaign.CampaignKey) package com.google.analytics.campaign { public class CampaignKey { public var UCMD:String;// = "utm_medium" public var UCID:String;// = "utm_id" public var UCTR:String;// = "utm_term" public var UCSR:String;// = "utm_source" public var UCNO:String;// = "utm_nooverride" public var UCCN:String;// = "utm_campaign" public var UGCLID:String;// = "gclid" public var UCCT:String;// = "utm_content" } }//package com.google.analytics.campaign
Section 11
//CampaignManager (com.google.analytics.campaign.CampaignManager) package com.google.analytics.campaign { import com.google.analytics.utils.*; import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; public class CampaignManager { private var _config:Configuration; private var _domainHash:Number; private var _debug:DebugConfiguration; private var _timeStamp:Number; private var _referrer:String; private var _buffer:Buffer; public static const trackingDelimiter:String = "|"; public function CampaignManager(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Number, _arg5:String, _arg6:Number){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _domainHash = _arg4; _referrer = _arg5; _timeStamp = _arg6; } public function getCampaignInformation(_arg1:String, _arg2:Boolean):CampaignInfo{ var _local4:CampaignTracker; var _local8:CampaignTracker; var _local9:int; var _local3:CampaignInfo = new CampaignInfo(); var _local5:Boolean; var _local6:Boolean; var _local7:int; if (((_config.allowLinker) && (_buffer.isGenuine()))){ if (!_buffer.hasUTMZ()){ return (_local3); }; }; _local4 = getTrackerFromSearchString(_arg1); if (isValid(_local4)){ _local6 = hasNoOverride(_arg1); if (((_local6) && (!(_buffer.hasUTMZ())))){ return (_local3); }; }; if (!isValid(_local4)){ _local4 = getOrganicCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredKeyword(_local4)))){ return (_local3); }; }; if (((!(isValid(_local4))) && (_arg2))){ _local4 = getReferrerCampaign(); if (((!(_buffer.hasUTMZ())) && (isIgnoredReferral(_local4)))){ return (_local3); }; }; if (!isValid(_local4)){ if (((!(_buffer.hasUTMZ())) && (_arg2))){ _local4 = getDirectCampaign(); }; }; if (!isValid(_local4)){ return (_local3); }; if (((_buffer.hasUTMZ()) && (!(_buffer.utmz.isEmpty())))){ _local8 = new CampaignTracker(); _local8.fromTrackerString(_buffer.utmz.campaignTracking); _local5 = (_local8.toTrackerString() == _local4.toTrackerString()); _local7 = _buffer.utmz.responseCount; }; if (((!(_local5)) || (_arg2))){ _local9 = _buffer.utma.sessionCount; _local7++; if (_local9 == 0){ _local9 = 1; }; _buffer.utmz.domainHash = _domainHash; _buffer.utmz.campaignCreation = _timeStamp; _buffer.utmz.campaignSessions = _local9; _buffer.utmz.responseCount = _local7; _buffer.utmz.campaignTracking = _local4.toTrackerString(); _debug.info(_buffer.utmz.toString(), VisualDebugMode.geek); _local3 = new CampaignInfo(false, true); } else { _local3 = new CampaignInfo(false, false); }; return (_local3); } public function hasNoOverride(_arg1:String):Boolean{ var _local2:CampaignKey = _config.campaignKey; if (_arg1 == ""){ return (false); }; var _local3:Variables = new Variables(_arg1); var _local4 = ""; if (_local3.hasOwnProperty(_local2.UCNO)){ _local4 = _local3[_local2.UCNO]; switch (_local4){ case "1": return (true); case "": case "0": default: return (false); }; }; return (false); } public function getTrackerFromSearchString(_arg1:String):CampaignTracker{ var _local2:CampaignTracker = getOrganicCampaign(); var _local3:CampaignTracker = new CampaignTracker(); var _local4:CampaignKey = _config.campaignKey; if (_arg1 == ""){ return (_local3); }; var _local5:Variables = new Variables(_arg1); if (_local5.hasOwnProperty(_local4.UCID)){ _local3.id = _local5[_local4.UCID]; }; if (_local5.hasOwnProperty(_local4.UCSR)){ _local3.source = _local5[_local4.UCSR]; }; if (_local5.hasOwnProperty(_local4.UGCLID)){ _local3.clickId = _local5[_local4.UGCLID]; }; if (_local5.hasOwnProperty(_local4.UCCN)){ _local3.name = _local5[_local4.UCCN]; } else { _local3.name = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCMD)){ _local3.medium = _local5[_local4.UCMD]; } else { _local3.medium = "(not set)"; }; if (_local5.hasOwnProperty(_local4.UCTR)){ _local3.term = _local5[_local4.UCTR]; } else { if (((_local2) && (!((_local2.term == ""))))){ _local3.term = _local2.term; }; }; if (_local5.hasOwnProperty(_local4.UCCT)){ _local3.content = _local5[_local4.UCCT]; }; return (_local3); } public function getOrganicCampaign():CampaignTracker{ var _local1:CampaignTracker; var _local4:Array; var _local5:OrganicReferrer; var _local6:String; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; var _local2:URL = new URL(_referrer); var _local3 = ""; if (_local2.hostName != ""){ if (_local2.hostName.indexOf(".") > -1){ _local4 = _local2.hostName.split("."); switch (_local4.length){ case 2: _local3 = _local4[0]; break; case 3: _local3 = _local4[1]; break; }; }; }; if (_config.organic.match(_local3)){ _local5 = _config.organic.getReferrerByName(_local3); _local6 = _config.organic.getKeywordValue(_local5, _local2.search); _local1 = new CampaignTracker(); _local1.source = _local5.engine; _local1.name = "(organic)"; _local1.medium = "organic"; _local1.term = _local6; }; return (_local1); } public function getDirectCampaign():CampaignTracker{ var _local1:CampaignTracker = new CampaignTracker(); _local1.source = "(direct)"; _local1.name = "(direct)"; _local1.medium = "(none)"; return (_local1); } public function isIgnoredKeyword(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "organic")))){ return (_config.organic.isIgnoredKeyword(_arg1.term)); }; return (false); } public function isIgnoredReferral(_arg1:CampaignTracker):Boolean{ if (((_arg1) && ((_arg1.medium == "referral")))){ return (_config.organic.isIgnoredReferral(_arg1.source)); }; return (false); } public function isValid(_arg1:CampaignTracker):Boolean{ if (((_arg1) && (_arg1.isValid()))){ return (true); }; return (false); } public function getReferrerCampaign():CampaignTracker{ var _local1:CampaignTracker; if (((isInvalidReferrer(_referrer)) || (isFromGoogleCSE(_referrer, _config)))){ return (_local1); }; var _local2:URL = new URL(_referrer); var _local3:String = _local2.hostName; var _local4:String = _local2.path; if (_local3.indexOf("www.") == 0){ _local3 = _local3.substr(4); }; _local1 = new CampaignTracker(); _local1.source = _local3; _local1.name = "(referral)"; _local1.medium = "referral"; _local1.content = _local4; return (_local1); } public static function isInvalidReferrer(_arg1:String):Boolean{ var _local2:URL; if ((((((_arg1 == "")) || ((_arg1 == "-")))) || ((_arg1 == "0")))){ return (true); }; if (_arg1.indexOf("://") > -1){ _local2 = new URL(_arg1); if ((((_local2.protocol == Protocols.file)) || ((_local2.protocol == Protocols.none)))){ return (true); }; }; return (false); } public static function isFromGoogleCSE(_arg1:String, _arg2:Configuration):Boolean{ var _local3:URL = new URL(_arg1); if (_local3.hostName.indexOf(_arg2.google) > -1){ if (_local3.search.indexOf((_arg2.googleSearchParam + "=")) > -1){ if (_local3.path == ("/" + _arg2.googleCsePath)){ return (true); }; }; }; return (false); } } }//package com.google.analytics.campaign
Section 12
//CampaignTracker (com.google.analytics.campaign.CampaignTracker) package com.google.analytics.campaign { import com.google.analytics.utils.*; public class CampaignTracker { public var content:String; public var source:String; public var clickId:String; public var name:String; public var term:String; public var medium:String; public var id:String; public function CampaignTracker(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:String="", _arg5:String="", _arg6:String="", _arg7:String=""){ this.id = _arg1; this.source = _arg2; this.clickId = _arg3; this.name = _arg4; this.medium = _arg5; this.term = _arg6; this.content = _arg7; } public function isValid():Boolean{ if (((((!((id == ""))) || (!((source == ""))))) || (!((clickId == ""))))){ return (true); }; return (false); } public function toTrackerString():String{ var _local1:Array = []; _addIfNotEmpty(_local1, "utmcsr=", source); _addIfNotEmpty(_local1, "utmccn=", name); _addIfNotEmpty(_local1, "utmcmd=", medium); _addIfNotEmpty(_local1, "utmctr=", term); _addIfNotEmpty(_local1, "utmcct=", content); _addIfNotEmpty(_local1, "utmcid=", id); _addIfNotEmpty(_local1, "utmgclid=", clickId); return (_local1.join(CampaignManager.trackingDelimiter)); } private function _addIfNotEmpty(_arg1:Array, _arg2:String, _arg3:String):void{ if (_arg3 != ""){ _arg3 = _arg3.split("+").join("%20"); _arg3 = _arg3.split(" ").join("%20"); _arg1.push((_arg2 + _arg3)); }; } public function fromTrackerString(_arg1:String):void{ var _local2:String = _arg1.split(CampaignManager.trackingDelimiter).join("&"); var _local3:Variables = new Variables(_local2); if (_local3.hasOwnProperty("utmcid")){ this.id = _local3["utmcid"]; }; if (_local3.hasOwnProperty("utmcsr")){ this.source = _local3["utmcsr"]; }; if (_local3.hasOwnProperty("utmccn")){ this.name = _local3["utmccn"]; }; if (_local3.hasOwnProperty("utmcmd")){ this.medium = _local3["utmcmd"]; }; if (_local3.hasOwnProperty("utmctr")){ this.term = _local3["utmctr"]; }; if (_local3.hasOwnProperty("utmcct")){ this.content = _local3["utmcct"]; }; if (_local3.hasOwnProperty("utmgclid")){ this.clickId = _local3["utmgclid"]; }; } } }//package com.google.analytics.campaign
Section 13
//GATrackerLibrary (com.google.analytics.components.GATrackerLibrary) package com.google.analytics.components { import com.google.analytics.utils.*; import flash.display.*; import com.google.analytics.*; public class GATrackerLibrary extends MovieClip { public static var version:Version = API.version; } }//package com.google.analytics.components
Section 14
//BrowserInfo (com.google.analytics.core.BrowserInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.v4.*; public class BrowserInfo { private var _config:Configuration; private var _info:Environment; public function BrowserInfo(_arg1:Configuration, _arg2:Environment){ _config = _arg1; _info = _arg2; } public function get utmul():String{ return (_info.language.toLowerCase()); } public function get utmje():String{ return ("0"); } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function get utmsr():String{ return (((_info.screenWidth + "x") + _info.screenHeight)); } public function get utmfl():String{ var _local1:Version; if (_config.detectFlash){ _local1 = _info.flashVersion; return (((((_local1.major + ".") + _local1.minor) + " r") + _local1.build)); }; return ("-"); } public function get utmcs():String{ return (_info.languageEncoding); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; _local1.utmcs = utmcs; _local1.utmsr = utmsr; _local1.utmsc = utmsc; _local1.utmul = utmul; _local1.utmje = utmje; _local1.utmfl = utmfl; return (_local1); } public function get utmsc():String{ return ((_info.screenColorDepth + "-bit")); } } }//package com.google.analytics.core
Section 15
//Buffer (com.google.analytics.core.Buffer) package com.google.analytics.core { import flash.events.*; import flash.net.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import com.google.analytics.data.*; public dynamic class Buffer { private var _SO:SharedObject; private var _OBJ:Object; private var _utma:UTMA; private var _utmb:UTMB; private var _utmc:UTMC; private var _debug:DebugConfiguration; private var _utmk:UTMK; private var _config:Configuration; private var _utmv:UTMV; private var _utmz:UTMZ; private var _volatile:Boolean; public function Buffer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Boolean=false, _arg4:Object=null){ var _local5:Boolean; var _local6:String; super(); _config = _arg1; _debug = _arg2; UTMB.defaultTimespan = _config.sessionTimeout; UTMZ.defaultTimespan = _config.conversionTimeout; if (!_arg3){ _SO = SharedObject.getLocal(_config.cookieName, _config.cookiePath); _local5 = false; if (_SO.data.utma){ if (!hasUTMA()){ _createUMTA(); }; _utma.fromSharedObject(_SO.data.utma); if (_debug.verbose){ _debug.info(("found: " + _utma.toString(true)), VisualDebugMode.geek); }; if (_utma.isExpired()){ if (_debug.verbose){ _debug.warning("UTMA has expired", VisualDebugMode.advanced); }; _clearUTMA(); _local5 = true; }; }; if (_SO.data.utmb){ if (!hasUTMB()){ _createUMTB(); }; _utmb.fromSharedObject(_SO.data.utmb); if (_debug.verbose){ _debug.info(("found: " + _utmb.toString(true)), VisualDebugMode.geek); }; if (_utmb.isExpired()){ if (_debug.verbose){ _debug.warning("UTMB has expired", VisualDebugMode.advanced); }; _clearUTMB(); _local5 = true; }; }; if (_SO.data.utmc){ delete _SO.data.utmc; _local5 = true; }; if (_SO.data.utmk){ if (!hasUTMK()){ _createUMTK(); }; _utmk.fromSharedObject(_SO.data.utmk); if (_debug.verbose){ _debug.info(("found: " + _utmk.toString()), VisualDebugMode.geek); }; }; if (_SO.data.utmv){ if (!hasUTMV()){ _createUMTV(); }; _utmv.fromSharedObject(_SO.data.utmv); if (_debug.verbose){ _debug.info(("found: " + _utmv.toString(true)), VisualDebugMode.geek); }; if (_utmv.isExpired()){ if (_debug.verbose){ _debug.warning("UTMV has expired", VisualDebugMode.advanced); }; _clearUTMV(); _local5 = true; }; }; if (_SO.data.utmz){ if (!hasUTMZ()){ _createUMTZ(); }; _utmz.fromSharedObject(_SO.data.utmz); if (_debug.verbose){ _debug.info(("found: " + _utmz.toString(true)), VisualDebugMode.geek); }; if (_utmz.isExpired()){ if (_debug.verbose){ _debug.warning("UTMZ has expired", VisualDebugMode.advanced); }; _clearUTMZ(); _local5 = true; }; }; if (_local5){ save(); }; } else { _OBJ = new Object(); if (_arg4){ for (_local6 in _arg4) { _OBJ[_local6] = _arg4[_local6]; }; }; }; _volatile = _arg3; } public function clearCookies():void{ utma.reset(); utmb.reset(); utmc.reset(); utmz.reset(); utmv.reset(); utmk.reset(); } public function save():void{ var flushStatus:String; if (!isVolatile()){ flushStatus = null; try { flushStatus = _SO.flush(); } catch(e:Error) { _debug.warning("Error...Could not write SharedObject to disk"); }; switch (flushStatus){ case SharedObjectFlushStatus.PENDING: _debug.info("Requesting permission to save object..."); _SO.addEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); break; case SharedObjectFlushStatus.FLUSHED: _debug.info("Value flushed to disk."); break; }; }; } public function get utmv():UTMV{ if (!hasUTMV()){ _createUMTV(); }; return (_utmv); } public function get utmz():UTMZ{ if (!hasUTMZ()){ _createUMTZ(); }; return (_utmz); } public function hasUTMA():Boolean{ if (_utma){ return (true); }; return (false); } public function hasUTMB():Boolean{ if (_utmb){ return (true); }; return (false); } public function hasUTMC():Boolean{ if (_utmc){ return (true); }; return (false); } public function isGenuine():Boolean{ if (!hasUTMK()){ return (true); }; return ((utmk.hash == generateCookiesHash())); } public function resetCurrentSession():void{ _clearUTMB(); _clearUTMC(); save(); } public function hasUTMK():Boolean{ if (_utmk){ return (true); }; return (false); } public function generateCookiesHash():Number{ var _local1 = ""; _local1 = (_local1 + utma.valueOf()); _local1 = (_local1 + utmb.valueOf()); _local1 = (_local1 + utmc.valueOf()); _local1 = (_local1 + utmz.valueOf()); _local1 = (_local1 + utmv.valueOf()); return (Utils.generateHash(_local1)); } private function _createUMTB():void{ _utmb = new UTMB(); _utmb.proxy = this; } private function _createUMTC():void{ _utmc = new UTMC(); } private function _createUMTA():void{ _utma = new UTMA(); _utma.proxy = this; } public function hasUTMV():Boolean{ if (_utmv){ return (true); }; return (false); } private function _createUMTK():void{ _utmk = new UTMK(); _utmk.proxy = this; } public function hasUTMZ():Boolean{ if (_utmz){ return (true); }; return (false); } private function _createUMTV():void{ _utmv = new UTMV(); _utmv.proxy = this; } private function _onFlushStatus(_arg1:NetStatusEvent):void{ _debug.info("User closed permission dialog..."); switch (_arg1.info.code){ case "SharedObject.Flush.Success": _debug.info("User granted permission -- value saved."); break; case "SharedObject.Flush.Failed": _debug.info("User denied permission -- value not saved."); break; }; _SO.removeEventListener(NetStatusEvent.NET_STATUS, _onFlushStatus); } private function _createUMTZ():void{ _utmz = new UTMZ(); _utmz.proxy = this; } public function updateUTMA(_arg1:Number):void{ if (_debug.verbose){ _debug.info((("updateUTMA( " + _arg1) + " )"), VisualDebugMode.advanced); }; if (!utma.isEmpty()){ if (isNaN(utma.sessionCount)){ utma.sessionCount = 1; } else { utma.sessionCount = (utma.sessionCount + 1); }; utma.lastTime = utma.currentTime; utma.currentTime = _arg1; }; } private function _clearUTMA():void{ _utma = null; if (!isVolatile()){ _SO.data.utma = null; delete _SO.data.utma; }; } private function _clearUTMC():void{ _utmc = null; } private function _clearUTMB():void{ _utmb = null; if (!isVolatile()){ _SO.data.utmb = null; delete _SO.data.utmb; }; } public function update(_arg1:String, _arg2):void{ if (isVolatile()){ _OBJ[_arg1] = _arg2; } else { _SO.data[_arg1] = _arg2; }; } private function _clearUTMZ():void{ _utmz = null; if (!isVolatile()){ _SO.data.utmz = null; delete _SO.data.utmz; }; } private function _clearUTMV():void{ _utmv = null; if (!isVolatile()){ _SO.data.utmv = null; delete _SO.data.utmv; }; } public function isVolatile():Boolean{ return (_volatile); } public function get utma():UTMA{ if (!hasUTMA()){ _createUMTA(); }; return (_utma); } public function get utmb():UTMB{ if (!hasUTMB()){ _createUMTB(); }; return (_utmb); } public function get utmc():UTMC{ if (!hasUTMC()){ _createUMTC(); }; return (_utmc); } public function get utmk():UTMK{ if (!hasUTMK()){ _createUMTK(); }; return (_utmk); } } }//package com.google.analytics.core
Section 16
//DocumentInfo (com.google.analytics.core.DocumentInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.v4.*; import com.google.analytics.external.*; public class DocumentInfo { private var _pageURL:String; private var _utmr:String; private var _config:Configuration; private var _adSense:AdSenseGlobals; private var _info:Environment; public function DocumentInfo(_arg1:Configuration, _arg2:Environment, _arg3:String, _arg4:String=null, _arg5:AdSenseGlobals=null){ _config = _arg1; _info = _arg2; _utmr = _arg3; _pageURL = _arg4; _adSense = _arg5; } public function get utmr():String{ if (!_utmr){ return ("-"); }; return (_utmr); } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } private function _renderPageURL(_arg1:String=""):String{ var _local2:String = _info.locationPath; var _local3:String = _info.locationSearch; if (((!(_arg1)) || ((_arg1 == "")))){ _arg1 = (_local2 + unescape(_local3)); }; return (_arg1); } public function get utmp():String{ return (_renderPageURL(_pageURL)); } public function get utmhid():String{ return (String(_generateHitId())); } private function _generateHitId():Number{ var _local1:Number; if (((_adSense.hid) && (!((_adSense.hid == ""))))){ _local1 = Number(_adSense.hid); } else { _local1 = Math.round((Math.random() * 2147483647)); _adSense.hid = String(_local1); }; return (_local1); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (((_config.detectTitle) && (!((utmdt == ""))))){ _local1.utmdt = utmdt; }; _local1.utmhid = utmhid; _local1.utmr = utmr; _local1.utmp = utmp; return (_local1); } public function get utmdt():String{ return (_info.documentTitle); } } }//package com.google.analytics.core
Section 17
//Domain (com.google.analytics.core.Domain) package com.google.analytics.core { import com.google.analytics.debug.*; public class Domain { private var _mode:DomainNameMode; private var _debug:DebugConfiguration; private var _name:String; public function Domain(_arg1:DomainNameMode=null, _arg2:String="", _arg3:DebugConfiguration=null){ _debug = _arg3; if (_arg1 == null){ _arg1 = DomainNameMode.auto; }; _mode = _arg1; if (_arg1 == DomainNameMode.custom){ this.name = _arg2; } else { _name = _arg2; }; } public function get mode():DomainNameMode{ return (_mode); } public function set mode(_arg1:DomainNameMode):void{ _mode = _arg1; if (_mode == DomainNameMode.none){ _name = ""; }; } public function get name():String{ return (_name); } public function set name(_arg1:String):void{ if (((!((_arg1.charAt(0) == "."))) && (_debug))){ _debug.warning(("missing leading period \".\", cookie will only be accessible on " + _arg1), VisualDebugMode.geek); }; _name = _arg1; } } }//package com.google.analytics.core
Section 18
//DomainNameMode (com.google.analytics.core.DomainNameMode) package com.google.analytics.core { public class DomainNameMode { private var _value:int; private var _name:String; public static const custom:DomainNameMode = new DomainNameMode(2, "custom"); ; public static const none:DomainNameMode = new DomainNameMode(0, "none"); ; public static const auto:DomainNameMode = new DomainNameMode(1, "auto"); ; public function DomainNameMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 19
//EventInfo (com.google.analytics.core.EventInfo) package com.google.analytics.core { import com.google.analytics.utils.*; import com.google.analytics.data.*; public class EventInfo { private var _ext10:X10; private var _isEventHit:Boolean; private var _x10:X10; public function EventInfo(_arg1:Boolean, _arg2:X10, _arg3:X10=null){ _isEventHit = _arg1; _x10 = _arg2; _ext10 = _arg3; } public function toURLString():String{ var _local1:Variables = toVariables(); return (_local1.toString()); } public function get utmt():String{ return ("event"); } public function get utme():String{ return (_x10.renderMergedUrlString(_ext10)); } public function toVariables():Variables{ var _local1:Variables = new Variables(); _local1.URIencode = true; if (_isEventHit){ _local1.utmt = utmt; }; _local1.utme = utme; return (_local1); } } }//package com.google.analytics.core
Section 20
//EventTracker (com.google.analytics.core.EventTracker) package com.google.analytics.core { import com.google.analytics.v4.*; public class EventTracker { private var _parent:GoogleAnalyticsAPI; public var name:String; public function EventTracker(_arg1:String, _arg2:GoogleAnalyticsAPI){ this.name = _arg1; _parent = _arg2; } public function trackEvent(_arg1:String, _arg2:String=null, _arg3:Number=NaN):Boolean{ return (_parent.trackEvent(name, _arg1, _arg2, _arg3)); } } }//package com.google.analytics.core
Section 21
//ga_internal (com.google.analytics.core.ga_internal) package com.google.analytics.core { public namespace ga_internal; }//package com.google.analytics.core
Section 22
//GIFRequest (com.google.analytics.core.GIFRequest) package com.google.analytics.core { import com.google.analytics.utils.*; import flash.events.*; import flash.net.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.display.*; import flash.system.*; public class GIFRequest { private var _info:Environment; private var _count:int; private var _utmac:String; private var _alertcount:int; private var _debug:DebugConfiguration; private var _lastRequest:URLRequest; private var _buffer:Buffer; private var _config:Configuration; private var _requests:Array; public function GIFRequest(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:Buffer, _arg4:Environment){ _config = _arg1; _debug = _arg2; _buffer = _arg3; _info = _arg4; _count = 0; _alertcount = 0; _requests = []; } public function get utmn():String{ return ((Utils.generate32bitRandom() as String)); } public function onIOError(_arg1:IOErrorEvent):void{ var _local2:String = _lastRequest.url; var _local3:String = String((_requests.length - 1)); var _local4 = (("Gif Request #" + _local3) + " failed"); if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local2.indexOf("?") > -1){ _local2 = _local2.split("?")[0]; }; _local2 = _shortenURL(_local2); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local4 = (_local4 + ((" \"" + _local2) + "\" does not exists or is unreachable")); }; _debug.failure(_local4); } else { _debug.warning(_local4); }; _removeListeners(_arg1.target); } public function send(_arg1:String, _arg2:Variables=null, _arg3:Boolean=false, _arg4:Boolean=false):void{ var _local5:String; var _local6:URLRequest; var _local7:URLRequest; _utmac = _arg1; if (!_arg2){ _arg2 = new Variables(); }; _arg2.URIencode = false; _arg2.pre = ["utmwv", "utmn", "utmhn", "utmt", "utme", "utmcs", "utmsr", "utmsc", "utmul", "utmje", "utmfl", "utmdt", "utmhid", "utmr", "utmp"]; _arg2.post = ["utmcc"]; if (_debug.verbose){ _debug.info(((("tracking: " + _buffer.utmb.trackCount) + "/") + _config.trackingLimitPerSession), VisualDebugMode.geek); }; if ((((_buffer.utmb.trackCount < _config.trackingLimitPerSession)) || (_arg3))){ if (_arg4){ updateToken(); }; if (((((_arg3) || (!(_arg4)))) || ((_buffer.utmb.token >= 1)))){ if (((!(_arg3)) && (_arg4))){ _buffer.utmb.token = (_buffer.utmb.token - 1); }; _buffer.utmb.trackCount = (_buffer.utmb.trackCount + 1); if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; _arg2.utmwv = utmwv; _arg2.utmn = Utils.generate32bitRandom(); if (_info.domainName != ""){ _arg2.utmhn = _info.domainName; }; if (_config.sampleRate < 1){ _arg2.utmsp = (_config.sampleRate * 100); }; if ((((_config.serverMode == ServerOperationMode.local)) || ((_config.serverMode == ServerOperationMode.both)))){ _local5 = _info.locationSWFPath; if (_local5.lastIndexOf("/") > 0){ _local5 = _local5.substring(0, _local5.lastIndexOf("/")); }; _local6 = new URLRequest(); if (_config.localGIFpath.indexOf("http") == 0){ _local6.url = _config.localGIFpath; } else { _local6.url = (_local5 + _config.localGIFpath); }; _local6.url = (_local6.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local6); } else { sendRequest(_local6); }; }; if ((((_config.serverMode == ServerOperationMode.remote)) || ((_config.serverMode == ServerOperationMode.both)))){ _local7 = new URLRequest(); if (_info.protocol == Protocols.HTTPS){ _local7.url = _config.secureRemoteGIFpath; } else { if (_info.protocol == Protocols.HTTP){ _local7.url = _config.remoteGIFpath; } else { _local7.url = _config.remoteGIFpath; }; }; _arg2.utmac = utmac; _arg2.utmcc = encodeURIComponent(utmcc); _local7.url = (_local7.url + ("?" + _arg2.toString())); if (((_debug.active) && (_debug.GIFRequests))){ _debugSend(_local7); } else { sendRequest(_local7); }; }; }; }; } public function onSecurityError(_arg1:SecurityErrorEvent):void{ if (_debug.GIFRequests){ _debug.failure(_arg1.text); }; } public function get utmsp():String{ return (((_config.sampleRate * 100) as String)); } public function get utmcc():String{ var _local1:Array = []; if (_buffer.hasUTMA()){ _local1.push((_buffer.utma.toURLString() + ";")); }; if (_buffer.hasUTMZ()){ _local1.push((_buffer.utmz.toURLString() + ";")); }; if (_buffer.hasUTMV()){ _local1.push((_buffer.utmv.toURLString() + ";")); }; return (_local1.join("+")); } public function get utmac():String{ return (_utmac); } public function get utmwv():String{ return (_config.version); } public function sendRequest(_arg1:URLRequest):void{ var request = _arg1; var loader:Loader = new Loader(); loader.name = String(_count++); var context:LoaderContext = new LoaderContext(false); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIOError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); _lastRequest = request; _requests[loader.name] = new RequestObject(request); try { loader.load(request, context); } catch(e:Error) { _debug.failure("\"Loader.load()\" could not instanciate Gif Request"); }; } private function _removeListeners(_arg1:Object):void{ _arg1.removeEventListener(IOErrorEvent.IO_ERROR, onIOError); _arg1.removeEventListener(Event.COMPLETE, onComplete); } public function updateToken():void{ var _local2:Number; var _local1:Number = new Date().getTime(); _local2 = ((_local1 - _buffer.utmb.lastTime) * (_config.tokenRate / 1000)); if (_debug.verbose){ _debug.info(("tokenDelta: " + _local2), VisualDebugMode.geek); }; if (_local2 >= 1){ _buffer.utmb.token = Math.min(Math.floor((_buffer.utmb.token + _local2)), _config.bucketCapacity); _buffer.utmb.lastTime = _local1; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); }; }; } public function get utmhn():String{ return (_info.domainName); } private function _shortenURL(_arg1:String):String{ var _local2:Array; if (_arg1.length > 60){ _local2 = _arg1.split("/"); while (_arg1.length > 60) { _local2.shift(); _arg1 = ("../" + _local2.join("/")); }; }; return (_arg1); } private function _debugSend(_arg1:URLRequest):void{ var _local3:String; var _local2 = ""; switch (_debug.mode){ case VisualDebugMode.geek: _local2 = ((("Gif Request #" + _alertcount) + ":\n") + _arg1.url); break; case VisualDebugMode.advanced: _local3 = _arg1.url; if (_local3.indexOf("?") > -1){ _local3 = _local3.split("?")[0]; }; _local3 = _shortenURL(_local3); _local2 = (((("Send Gif Request #" + _alertcount) + ":\n") + _local3) + " ?"); break; case VisualDebugMode.basic: default: _local2 = (((("Send " + _config.serverMode.toString()) + " Gif Request #") + _alertcount) + " ?"); }; _debug.alertGifRequest(_local2, _arg1, this); _alertcount++; } public function onComplete(_arg1:Event):void{ var _local2:String = _arg1.target.loader.name; _requests[_local2].complete(); var _local3 = (("Gif Request #" + _local2) + " sent"); var _local4:String = _requests[_local2].request.url; if (_debug.GIFRequests){ if (!_debug.verbose){ if (_local4.indexOf("?") > -1){ _local4 = _local4.split("?")[0]; }; _local4 = _shortenURL(_local4); }; if (int(_debug.mode) > int(VisualDebugMode.basic)){ _local3 = (_local3 + ((" to \"" + _local4) + "\"")); }; _debug.success(_local3); } else { _debug.info(_local3); }; _removeListeners(_arg1.target); } } }//package com.google.analytics.core
Section 23
//IdleTimer (com.google.analytics.core.IdleTimer) package com.google.analytics.core { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.display.*; import flash.utils.*; public class IdleTimer { private var _stage:Stage; private var _loop:Timer; private var _lastMove:int; private var _inactivity:Number; private var _debug:DebugConfiguration; private var _session:Timer; private var _buffer:Buffer; public function IdleTimer(_arg1:Configuration, _arg2:DebugConfiguration, _arg3:DisplayObject, _arg4:Buffer){ var _local5:Number = _arg1.idleLoop; var _local6:Number = _arg1.idleTimeout; var _local7:Number = _arg1.sessionTimeout; _loop = new Timer((_local5 * 1000)); _session = new Timer((_local7 * 1000), 1); _debug = _arg2; _stage = _arg3.stage; _buffer = _arg4; _lastMove = getTimer(); _inactivity = (_local6 * 1000); _loop.addEventListener(TimerEvent.TIMER, checkForIdle); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); _stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); _debug.info(((((("delay: " + _local5) + "sec , inactivity: ") + _local6) + "sec, sessionTimeout: ") + _local7), VisualDebugMode.geek); _loop.start(); } private function onMouseMove(_arg1:MouseEvent):void{ _lastMove = getTimer(); if (_session.running){ _debug.info("session timer reset", VisualDebugMode.geek); _session.reset(); }; } public function endSession(_arg1:TimerEvent):void{ _session.removeEventListener(TimerEvent.TIMER_COMPLETE, endSession); _debug.info("session timer end session", VisualDebugMode.geek); _session.reset(); _buffer.resetCurrentSession(); _debug.info(_buffer.utmb.toString(), VisualDebugMode.geek); _debug.info(_buffer.utmc.toString(), VisualDebugMode.geek); _session.addEventListener(TimerEvent.TIMER_COMPLETE, endSession); } public function checkForIdle(_arg1:TimerEvent):void{ var _local2:int = getTimer(); if ((_local2 - _lastMove) >= _inactivity){ if (!_session.running){ _debug.info("session timer start", VisualDebugMode.geek); _session.start(); }; }; } } }//package com.google.analytics.core
Section 24
//Organic (com.google.analytics.core.Organic) package com.google.analytics.core { import com.google.analytics.utils.*; public class Organic { private var _sourcesCache:Array; private var _sourcesEngine:Array; private var _ignoredKeywords:Array; private var _ignoredReferralsCache:Object; private var _ignoredReferrals:Array; private var _ignoredKeywordsCache:Object; private var _sources:Array; public static var throwErrors:Boolean = false; public function Organic(){ _sources = []; _sourcesCache = []; _sourcesEngine = []; _ignoredReferrals = []; _ignoredReferralsCache = {}; _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function isIgnoredKeyword(_arg1:String):Boolean{ if (_ignoredKeywordsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function getKeywordValue(_arg1:OrganicReferrer, _arg2:String):String{ var _local3:String = _arg1.keyword; return (getKeywordValueFromPath(_local3, _arg2)); } public function isIgnoredReferral(_arg1:String):Boolean{ if (_ignoredReferralsCache.hasOwnProperty(_arg1)){ return (true); }; return (false); } public function clear():void{ clearEngines(); clearIgnoredReferrals(); clearIgnoredKeywords(); } public function get count():int{ return (_sources.length); } public function get ignoredKeywordsCount():int{ return (_ignoredKeywords.length); } public function match(_arg1:String):Boolean{ if (_arg1 == ""){ return (false); }; _arg1 = _arg1.toLowerCase(); if (_sourcesEngine[_arg1] != undefined){ return (true); }; return (false); } public function clearIgnoredKeywords():void{ _ignoredKeywords = []; _ignoredKeywordsCache = {}; } public function addSource(_arg1:String, _arg2:String):void{ var _local3:OrganicReferrer = new OrganicReferrer(_arg1, _arg2); if (_sourcesCache[_local3.toString()] == undefined){ _sources.push(_local3); _sourcesCache[_local3.toString()] = (_sources.length - 1); if (_sourcesEngine[_local3.engine] == undefined){ _sourcesEngine[_local3.engine] = [(_sources.length - 1)]; } else { _sourcesEngine[_local3.engine].push((_sources.length - 1)); }; } else { if (throwErrors){ throw (new Error((_local3.toString() + " already exists, we don't add it."))); }; }; } public function clearEngines():void{ _sources = []; _sourcesCache = []; _sourcesEngine = []; } public function get ignoredReferralsCount():int{ return (_ignoredReferrals.length); } public function addIgnoredReferral(_arg1:String):void{ if (_ignoredReferralsCache[_arg1] == undefined){ _ignoredReferrals.push(_arg1); _ignoredReferralsCache[_arg1] = (_ignoredReferrals.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function clearIgnoredReferrals():void{ _ignoredReferrals = []; _ignoredReferralsCache = {}; } public function getReferrerByName(_arg1:String):OrganicReferrer{ var _local2:int; if (match(_arg1)){ _local2 = _sourcesEngine[_arg1][0]; return (_sources[_local2]); }; return (null); } public function addIgnoredKeyword(_arg1:String):void{ if (_ignoredKeywordsCache[_arg1] == undefined){ _ignoredKeywords.push(_arg1); _ignoredKeywordsCache[_arg1] = (_ignoredKeywords.length - 1); } else { if (throwErrors){ throw (new Error((("\"" + _arg1) + "\" already exists, we don't add it."))); }; }; } public function get sources():Array{ return (_sources); } public static function getKeywordValueFromPath(_arg1:String, _arg2:String):String{ var _local3:String; var _local4:Variables; if (_arg2.indexOf((_arg1 + "=")) > -1){ if (_arg2.charAt(0) == "?"){ _arg2 = _arg2.substr(1); }; _arg2 = _arg2.split("+").join("%20"); _local4 = new Variables(_arg2); _local3 = _local4[_arg1]; }; return (_local3); } } }//package com.google.analytics.core
Section 25
//OrganicReferrer (com.google.analytics.core.OrganicReferrer) package com.google.analytics.core { public class OrganicReferrer { private var _engine:String; private var _keyword:String; public function OrganicReferrer(_arg1:String, _arg2:String){ this.engine = _arg1; this.keyword = _arg2; } public function get keyword():String{ return (_keyword); } public function get engine():String{ return (_engine); } public function set engine(_arg1:String):void{ _engine = _arg1.toLowerCase(); } public function toString():String{ return (((engine + "?") + keyword)); } public function set keyword(_arg1:String):void{ _keyword = _arg1.toLowerCase(); } } }//package com.google.analytics.core
Section 26
//RequestObject (com.google.analytics.core.RequestObject) package com.google.analytics.core { import flash.net.*; import flash.utils.*; public class RequestObject { public var start:int; public var end:int; public var request:URLRequest; public function RequestObject(_arg1:URLRequest){ start = getTimer(); this.request = _arg1; } public function hasCompleted():Boolean{ return ((end > 0)); } public function toString():String{ var _local1:Array = []; _local1.push((("duration: " + duration) + "ms")); _local1.push(("url: " + request.url)); return ((("{ " + _local1.join(", ")) + " }")); } public function complete():void{ end = getTimer(); } public function get duration():int{ if (!hasCompleted()){ return (0); }; return ((end - start)); } } }//package com.google.analytics.core
Section 27
//ServerOperationMode (com.google.analytics.core.ServerOperationMode) package com.google.analytics.core { public class ServerOperationMode { private var _value:int; private var _name:String; public static const both:ServerOperationMode = new ServerOperationMode(2, "both"); ; public static const remote:ServerOperationMode = new ServerOperationMode(1, "remote"); ; public static const local:ServerOperationMode = new ServerOperationMode(0, "local"); ; public function ServerOperationMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.core
Section 28
//TrackerCache (com.google.analytics.core.TrackerCache) package com.google.analytics.core { import com.google.analytics.v4.*; import flash.errors.*; public class TrackerCache implements GoogleAnalyticsAPI { public var tracker:GoogleAnalyticsAPI; private var _ar:Array; public static var CACHE_THROW_ERROR:Boolean; public function TrackerCache(_arg1:GoogleAnalyticsAPI=null){ this.tracker = _arg1; _ar = []; } public function size():uint{ return (_ar.length); } public function flush():void{ var _local1:Object; var _local2:String; var _local3:Array; var _local4:int; var _local5:int; if (tracker == null){ return; }; if (size() > 0){ _local4 = _ar.length; while (_local5 < _local4) { _local1 = _ar.shift(); _local2 = (_local1.name as String); _local3 = (_local1.args as Array); if (((!((_local2 == null))) && ((_local2 in tracker)))){ (tracker[_local2] as Function).apply(tracker, _local3); }; _local5++; }; }; } public function enqueue(_arg1:String, ... _args):Boolean{ if (_arg1 == null){ return (false); }; _ar.push({name:_arg1, args:_args}); return (true); } public function link(_arg1:String, _arg2:Boolean=false):void{ enqueue("link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ enqueue("addOrganic", _arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ enqueue("setAllowLinker", _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ enqueue("trackEvent", _arg1, _arg2, _arg3, _arg4); return (true); } public function getClientInfo():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getClientInfo' method for the moment.")); }; return (false); } public function trackTrans():void{ enqueue("trackTrans"); } public function trackPageview(_arg1:String=""):void{ enqueue("trackPageview", _arg1); } public function setClientInfo(_arg1:Boolean):void{ enqueue("setClientInfo", _arg1); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ enqueue("linkByPost", _arg1, _arg2); } public function setCookieTimeout(_arg1:int):void{ enqueue("setCookieTimeout", _arg1); } public function isEmpty():Boolean{ return ((_ar.length == 0)); } public function getDetectTitle():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectTitle' method for the moment.")); }; return (false); } public function resetSession():void{ enqueue("resetSession"); } public function setDetectFlash(_arg1:Boolean):void{ enqueue("setDetectFlash", _arg1); } public function clear():void{ _ar = []; } public function setCampNameKey(_arg1:String):void{ enqueue("setCampNameKey", _arg1); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ enqueue("addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function createEventTracker(_arg1:String):EventTracker{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'createEventTracker' method for the moment.")); }; return (null); } public function setVar(_arg1:String):void{ enqueue("setVar", _arg1); } public function clearIgnoredOrganic():void{ enqueue("clearIgnoredOrganic"); } public function setDomainName(_arg1:String):void{ enqueue("setDomainName", _arg1); } public function setCampSourceKey(_arg1:String):void{ enqueue("setCampSourceKey", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'addTrans' method for the moment.")); }; return (null); } public function setCampContentKey(_arg1:String):void{ enqueue("setCampContentKey", _arg1); } public function setLocalServerMode():void{ enqueue("setLocalServerMode"); } public function getLocalGifPath():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getLocalGifPath' method for the moment.")); }; return (""); } public function setAllowAnchor(_arg1:Boolean):void{ enqueue("setAllowAnchor", _arg1); } public function clearIgnoredRef():void{ enqueue("clearIgnoredRef"); } public function setLocalGifPath(_arg1:String):void{ enqueue("setLocalGifPath", _arg1); } public function getVersion():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getVersion' method for the moment.")); }; return (""); } public function setCookiePath(_arg1:String):void{ enqueue("setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ enqueue("setSampleRate", _arg1); } public function setDetectTitle(_arg1:Boolean):void{ enqueue("setDetectTitle", _arg1); } public function setAllowHash(_arg1:Boolean):void{ enqueue("setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ enqueue("addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ enqueue("setCampNOKey", _arg1); } public function getServiceMode():ServerOperationMode{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getServiceMode' method for the moment.")); }; return (null); } public function setLocalRemoteServerMode():void{ enqueue("setLocalRemoteServerMode"); } public function cookiePathCopy(_arg1:String):void{ enqueue("cookiePathCopy", _arg1); } public function getDetectFlash():Boolean{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getDetectFlash' method for the moment.")); }; return (false); } public function setCampaignTrack(_arg1:Boolean):void{ enqueue("setCampaignTrack", _arg1); } public function clearOrganic():void{ enqueue("clearOrganic"); } public function setCampTermKey(_arg1:String):void{ enqueue("setCampTermKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ enqueue("addIgnoredRef", _arg1); } public function setCampMediumKey(_arg1:String):void{ enqueue("setCampMediumKey", _arg1); } public function setSessionTimeout(_arg1:int):void{ enqueue("setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ enqueue("setRemoteServerMode"); } public function element(){ return (_ar[0]); } public function getAccount():String{ if (CACHE_THROW_ERROR){ throw (new IllegalOperationError("The tracker is not ready and you can use the 'getAccount' method for the moment.")); }; return (""); } } }//package com.google.analytics.core
Section 29
//TrackerMode (com.google.analytics.core.TrackerMode) package com.google.analytics.core { public class TrackerMode { public static const BRIDGE:String = "Bridge"; public static const AS3:String = "AS3"; } }//package com.google.analytics.core
Section 30
//Utils (com.google.analytics.core.Utils) package com.google.analytics.core { public class Utils { public static function trim(_arg1:String, _arg2:Boolean=false):String{ var _local5:int; var _local6:int; var _local7:int; if (_arg1 == ""){ return (""); }; var _local3:Array = [" ", "\n", "\r", "\t"]; var _local4:String = _arg1; if (_arg2){ _local5 = 0; while ((((_local5 < _local3.length)) && ((_local4.indexOf(_local3[_local5]) > -1)))) { _local4 = _local4.split(_local3[_local5]).join(""); _local5++; }; } else { _local6 = 0; while ((((_local6 < _local4.length)) && ((_local3.indexOf(_local4.charAt(_local6)) > -1)))) { _local6++; }; _local4 = _local4.substr(_local6); _local7 = (_local4.length - 1); while ((((_local7 >= 0)) && ((_local3.indexOf(_local4.charAt(_local7)) > -1)))) { _local7--; }; _local4 = _local4.substring(0, (_local7 + 1)); }; return (_local4); } public static function generateHash(_arg1:String):int{ var _local4:int; var _local5:int; var _local2 = 1; var _local3:int; if (((!((_arg1 == null))) && (!((_arg1 == ""))))){ _local2 = 0; _local4 = (_arg1.length - 1); while (_local4 >= 0) { _local5 = _arg1.charCodeAt(_local4); _local2 = ((((_local2 << 6) & 268435455) + _local5) + (_local5 << 14)); _local3 = (_local2 & 266338304); if (_local3 != 0){ _local2 = (_local2 ^ (_local3 >> 21)); }; _local4--; }; }; return (_local2); } public static function generate32bitRandom():int{ return (Math.round((Math.random() * 2147483647))); } public static function validateAccount(_arg1:String):Boolean{ var _local2:RegExp = /^UA-[0-9]*-[0-9]*$/; return (_local2.test(_arg1)); } } }//package com.google.analytics.core
Section 31
//Cookie (com.google.analytics.data.Cookie) package com.google.analytics.data { public interface Cookie { function fromSharedObject(_arg1:Object):void; function toURLString():String; function get creation():Date; function toSharedObject():Object; function isExpired():Boolean; function set creation(_arg1:Date):void; function set expiration(_arg1:Date):void; function get expiration():Date; } }//package com.google.analytics.data
Section 32
//UTMA (com.google.analytics.data.UTMA) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMA extends UTMCookie { private var _sessionId:Number; private var _domainHash:Number; private var _firstTime:Number; private var _currentTime:Number; private var _lastTime:Number; private var _sessionCount:Number; public function UTMA(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:Number=NaN, _arg6:Number=NaN){ super("utma", "__utma", ["domainHash", "sessionId", "firstTime", "lastTime", "currentTime", "sessionCount"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.sessionId = _arg2; this.firstTime = _arg3; this.lastTime = _arg4; this.currentTime = _arg5; this.sessionCount = _arg6; } public function get lastTime():Number{ return (_lastTime); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function set currentTime(_arg1:Number):void{ _currentTime = _arg1; update(); } public function get sessionId():Number{ return (_sessionId); } public function get sessionCount():Number{ return (_sessionCount); } public function get firstTime():Number{ return (_firstTime); } public function get currentTime():Number{ return (_currentTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set sessionId(_arg1:Number):void{ _sessionId = _arg1; update(); } public function set sessionCount(_arg1:Number):void{ _sessionCount = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function set firstTime(_arg1:Number):void{ _firstTime = _arg1; update(); } } }//package com.google.analytics.data
Section 33
//UTMB (com.google.analytics.data.UTMB) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMB extends UTMCookie { private var _trackCount:Number; private var _lastTime:Number; private var _domainHash:Number; private var _token:Number; public static var defaultTimespan:Number = Timespan.thirtyminutes; public function UTMB(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN){ super("utmb", "__utmb", ["domainHash", "trackCount", "token", "lastTime"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.trackCount = _arg2; this.token = _arg3; this.lastTime = _arg4; } public function set token(_arg1:Number):void{ _token = _arg1; update(); } public function set trackCount(_arg1:Number):void{ _trackCount = _arg1; update(); } public function get lastTime():Number{ return (_lastTime); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set lastTime(_arg1:Number):void{ _lastTime = _arg1; update(); } public function get domainHash():Number{ return (_domainHash); } public function get token():Number{ return (_token); } public function get trackCount():Number{ return (_trackCount); } } }//package com.google.analytics.data
Section 34
//UTMC (com.google.analytics.data.UTMC) package com.google.analytics.data { public class UTMC extends UTMCookie { private var _domainHash:Number; public function UTMC(_arg1:Number=NaN){ super("utmc", "__utmc", ["domainHash"]); this.domainHash = _arg1; } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } } }//package com.google.analytics.data
Section 35
//UTMCookie (com.google.analytics.data.UTMCookie) package com.google.analytics.data { import com.google.analytics.core.*; public class UTMCookie implements Cookie { protected var inURL:String; protected var name:String; private var _creation:Date; private var _expiration:Date; public var proxy:Buffer; protected var fields:Array; private var _timespan:Number; public function UTMCookie(_arg1:String, _arg2:String, _arg3:Array, _arg4:Number=0){ this.name = _arg1; this.inURL = _arg2; this.fields = _arg3; _timestamp(_arg4); } public function isEmpty():Boolean{ var _local2:String; var _local1:int; var _local3:int; while (_local3 < fields.length) { _local2 = fields[_local3]; if ((((this[_local2] is Number)) && (isNaN(this[_local2])))){ _local1++; } else { if ((((this[_local2] is String)) && ((this[_local2] == "")))){ _local1++; }; }; _local3++; }; if (_local1 == fields.length){ return (true); }; return (false); } public function resetTimestamp(_arg1:Number=NaN):void{ if (!isNaN(_arg1)){ _timespan = _arg1; }; _creation = null; _expiration = null; _timestamp(_timespan); } protected function update():void{ resetTimestamp(); if (proxy){ proxy.update(name, toSharedObject()); }; } public function reset():void{ var _local1:String; var _local2:int; while (_local2 < fields.length) { _local1 = fields[_local2]; if ((this[_local1] is Number)){ this[_local1] = NaN; } else { if ((this[_local1] is String)){ this[_local1] = ""; }; }; _local2++; }; resetTimestamp(); update(); } public function fromSharedObject(_arg1:Object):void{ var _local2:String; var _local3:int = fields.length; var _local4:int; while (_local4 < _local3) { _local2 = fields[_local4]; if (_arg1[_local2]){ this[_local2] = _arg1[_local2]; }; _local4++; }; if (_arg1.creation){ this.creation = _arg1.creation; }; if (_arg1.expiration){ this.expiration = _arg1.expiration; }; } private function _timestamp(_arg1:Number):void{ creation = new Date(); _timespan = _arg1; if (_arg1 > 0){ expiration = new Date((creation.valueOf() + _arg1)); }; } public function isExpired():Boolean{ var _local1:Date = new Date(); var _local2:Number = (expiration.valueOf() - _local1.valueOf()); if (_local2 <= 0){ return (true); }; return (false); } public function set expiration(_arg1:Date):void{ _expiration = _arg1; } public function get creation():Date{ return (_creation); } public function valueOf():String{ var _local2:String; var _local3:*; var _local1:Array = []; var _local4:int; while (_local4 < fields.length) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ if (_local3 == ""){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; } else { if ((_local3 is Number)){ if (_local3 == 0){ _local1.push(_local3); } else { if (isNaN(_local3)){ _local3 = "-"; _local1.push(_local3); } else { _local1.push(_local3); }; }; }; }; _local4++; }; return (("" + _local1.join("."))); } public function toURLString():String{ return (((inURL + "=") + valueOf())); } public function get expiration():Date{ if (_expiration){ return (_expiration); }; return (new Date((new Date().valueOf() + 1000))); } public function toSharedObject():Object{ var _local2:String; var _local3:*; var _local1:Object = {}; var _local4:int; for (;_local4 < fields.length;_local4++) { _local2 = fields[_local4]; _local3 = this[_local2]; if ((_local3 is String)){ _local1[_local2] = _local3; } else { if (_local3 == 0){ _local1[_local2] = _local3; } else { if (isNaN(_local3)){ continue; } else { _local1[_local2] = _local3; }; }; }; }; _local1.creation = creation; _local1.expiration = expiration; return (_local1); } public function toString(_arg1:Boolean=false):String{ var _local3:String; var _local4:*; var _local2:Array = []; var _local5:int = fields.length; var _local6:int; for (;_local6 < _local5;_local6++) { _local3 = fields[_local6]; _local4 = this[_local3]; if ((_local4 is String)){ _local2.push((((_local3 + ": \"") + _local4) + "\"")); } else { if (_local4 == 0){ _local2.push(((_local3 + ": ") + _local4)); } else { if (isNaN(_local4)){ continue; } else { _local2.push(((_local3 + ": ") + _local4)); }; }; }; }; var _local7 = (((name.toUpperCase() + " {") + _local2.join(", ")) + "}"); if (_arg1){ _local7 = (_local7 + (((" creation:" + creation) + ", expiration:") + expiration)); }; return (_local7); } public function set creation(_arg1:Date):void{ _creation = _arg1; } } }//package com.google.analytics.data
Section 36
//UTMK (com.google.analytics.data.UTMK) package com.google.analytics.data { public class UTMK extends UTMCookie { private var _hash:Number; public function UTMK(_arg1:Number=NaN){ super("utmk", "__utmk", ["hash"]); this.hash = _arg1; } public function set hash(_arg1:Number):void{ _hash = _arg1; update(); } public function get hash():Number{ return (_hash); } } }//package com.google.analytics.data
Section 37
//UTMV (com.google.analytics.data.UTMV) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMV extends UTMCookie { private var _domainHash:Number; private var _value:String; public function UTMV(_arg1:Number=NaN, _arg2:String=""){ super("utmv", "__utmv", ["domainHash", "value"], (Timespan.twoyears * 1000)); this.domainHash = _arg1; this.value = _arg2; } override public function toURLString():String{ return (((inURL + "=") + encodeURI(valueOf()))); } public function get value():String{ return (_value); } public function get domainHash():Number{ return (_domainHash); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set value(_arg1:String):void{ _value = _arg1; update(); } } }//package com.google.analytics.data
Section 38
//UTMZ (com.google.analytics.data.UTMZ) package com.google.analytics.data { import com.google.analytics.utils.*; public class UTMZ extends UTMCookie { private var _campaignTracking:String; private var _campaignCreation:Number; private var _responseCount:Number; private var _domainHash:Number; private var _campaignSessions:Number; public static var defaultTimespan:Number = Timespan.sixmonths; public function UTMZ(_arg1:Number=NaN, _arg2:Number=NaN, _arg3:Number=NaN, _arg4:Number=NaN, _arg5:String=""){ super("utmz", "__utmz", ["domainHash", "campaignCreation", "campaignSessions", "responseCount", "campaignTracking"], (defaultTimespan * 1000)); this.domainHash = _arg1; this.campaignCreation = _arg2; this.campaignSessions = _arg3; this.responseCount = _arg4; this.campaignTracking = _arg5; } public function set responseCount(_arg1:Number):void{ _responseCount = _arg1; update(); } public function set domainHash(_arg1:Number):void{ _domainHash = _arg1; update(); } public function set campaignCreation(_arg1:Number):void{ _campaignCreation = _arg1; update(); } public function get campaignTracking():String{ return (_campaignTracking); } public function get campaignSessions():Number{ return (_campaignSessions); } public function get domainHash():Number{ return (_domainHash); } public function get responseCount():Number{ return (_responseCount); } public function get campaignCreation():Number{ return (_campaignCreation); } public function set campaignSessions(_arg1:Number):void{ _campaignSessions = _arg1; update(); } public function set campaignTracking(_arg1:String):void{ _campaignTracking = _arg1; update(); } } }//package com.google.analytics.data
Section 39
//X10 (com.google.analytics.data.X10) package com.google.analytics.data { public class X10 { private var _delimEnd:String;// = ")" private var _minimum:int; private var _delimSet:String;// = "*" private var _escapeChar:String;// = "'" private var _delimBegin:String;// = "(" private var _delimNumValue:String;// = "!" private var _key:String;// = "k" private var _set:Array; private var _hasData:int; private var _escapeCharMap:Object; private var _projectData:Object; private var _value:String;// = "v" public function X10(){ _set = [_key, _value]; super(); _projectData = {}; _escapeCharMap = {}; _escapeCharMap[_escapeChar] = "'0"; _escapeCharMap[_delimEnd] = "'1"; _escapeCharMap[_delimSet] = "'2"; _escapeCharMap[_delimNumValue] = "'3"; _minimum = 1; } private function _setInternal(_arg1:Number, _arg2:String, _arg3:Number, _arg4:String):void{ if (!hasProject(_arg1)){ _projectData[_arg1] = {}; }; if (_projectData[_arg1][_arg2] == undefined){ _projectData[_arg1][_arg2] = []; }; _projectData[_arg1][_arg2][_arg3] = _arg4; _hasData = (_hasData + 1); } private function _renderProject(_arg1:Object):String{ var _local4:int; var _local5:Array; var _local2 = ""; var _local3:Boolean; var _local6:int = _set.length; _local4 = 0; while (_local4 < _local6) { _local5 = _arg1[_set[_local4]]; if (_local5){ if (_local3){ _local2 = (_local2 + _set[_local4]); }; _local2 = (_local2 + _renderDataType(_local5)); _local3 = false; } else { _local3 = true; }; _local4++; }; return (_local2); } public function hasProject(_arg1:Number):Boolean{ return (_projectData[_arg1]); } public function clearKey(_arg1:Number):void{ _clearInternal(_arg1, _key); } private function _renderDataType(_arg1:Array):String{ var _local3:String; var _local4:int; var _local2:Array = []; _local4 = 0; while (_local4 < _arg1.length) { if (_arg1[_local4] != undefined){ _local3 = ""; if (((!((_local4 == _minimum))) && ((_arg1[(_local4 - 1)] == undefined)))){ _local3 = (_local3 + _local4.toString()); _local3 = (_local3 + _delimNumValue); }; _local3 = (_local3 + _escapeExtensibleValue(_arg1[_local4])); _local2.push(_local3); }; _local4++; }; return (((_delimBegin + _local2.join(_delimSet)) + _delimEnd)); } public function getKey(_arg1:Number, _arg2:Number):String{ return ((_getInternal(_arg1, _key, _arg2) as String)); } public function hasData():Boolean{ return ((_hasData > 0)); } public function renderMergedUrlString(_arg1:X10=null):String{ var _local3:String; if (!_arg1){ return (renderUrlString()); }; var _local2:Array = [_arg1.renderUrlString()]; for (_local3 in _projectData) { if (((hasProject(Number(_local3))) && (!(_arg1.hasProject(Number(_local3)))))){ _local2.push((_local3 + _renderProject(_projectData[_local3]))); }; }; return (_local2.join("")); } public function setValue(_arg1:Number, _arg2:Number, _arg3:Number):Boolean{ if (((((!((Math.round(_arg3) == _arg3))) || (isNaN(_arg3)))) || ((_arg3 == Infinity)))){ return (false); }; _setInternal(_arg1, _value, _arg2, _arg3.toString()); return (true); } public function renderUrlString():String{ var _local2:String; var _local1:Array = []; for (_local2 in _projectData) { if (hasProject(Number(_local2))){ _local1.push((_local2 + _renderProject(_projectData[_local2]))); }; }; return (_local1.join("")); } private function _getInternal(_arg1:Number, _arg2:String, _arg3:Number):Object{ if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ return (_projectData[_arg1][_arg2][_arg3]); }; return (undefined); } public function setKey(_arg1:Number, _arg2:Number, _arg3:String):Boolean{ _setInternal(_arg1, _key, _arg2, _arg3); return (true); } public function clearValue(_arg1:Number):void{ _clearInternal(_arg1, _value); } private function _clearInternal(_arg1:Number, _arg2:String):void{ var _local3:Boolean; var _local4:int; var _local5:int; if (((hasProject(_arg1)) && (!((_projectData[_arg1][_arg2] == undefined))))){ _projectData[_arg1][_arg2] = undefined; _local3 = true; _local5 = _set.length; _local4 = 0; while (_local4 < _local5) { if (_projectData[_arg1][_set[_local4]] != undefined){ _local3 = false; break; }; _local4++; }; if (_local3){ _projectData[_arg1] = undefined; _hasData = (_hasData - 1); }; }; } public function getValue(_arg1:Number, _arg2:Number){ var _local3:* = _getInternal(_arg1, _value, _arg2); if (_local3 == null){ return (null); }; return (Number(_local3)); } private function _escapeExtensibleValue(_arg1:String):String{ var _local3:int; var _local4:String; var _local5:String; var _local2 = ""; _local3 = 0; while (_local3 < _arg1.length) { _local4 = _arg1.charAt(_local3); _local5 = _escapeCharMap[_local4]; if (_local5){ _local2 = (_local2 + _local5); } else { _local2 = (_local2 + _local4); }; _local3++; }; return (_local2); } } }//package com.google.analytics.data
Section 40
//_Style (com.google.analytics.debug._Style) package com.google.analytics.debug { import flash.net.*; import flash.text.*; public class _Style { public var failureColor:uint; public var borderColor:uint; public var backgroundColor:uint; private var _sheet:StyleSheet; public var roundedCorner:uint; public var warningColor:uint; public var infoColor:uint; public var alertColor:uint; public var successColor:uint; private var _loader:URLLoader; private var _defaultSheet:String; public function _Style(){ _sheet = new StyleSheet(); _loader = new URLLoader(); _init(); } private function _parseSheet(_arg1:String):void{ _sheet.parseCSS(_arg1); } public function get sheet():StyleSheet{ return (_sheet); } private function _init():void{ _defaultSheet = ""; _defaultSheet = (_defaultSheet + "a{text-decoration: underline;}\n"); _defaultSheet = (_defaultSheet + ".uiLabel{color: #000000;font-family: Arial;font-size: 12;margin-left: 2;margin-right: 2;}\n"); _defaultSheet = (_defaultSheet + ".uiWarning{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlert{color: #ffffff;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiInfo{color: #000000;font-family: Arial;font-size: 14;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiSuccess{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiFailure{color: #ffffff;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertAction{color: #ffffff;text-align: center;font-family: Arial;font-size: 12;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + ".uiAlertTitle{color: #ffffff;font-family: Arial;font-size: 16;font-weight: bold;margin-left: 6;margin-right: 6;}\n"); _defaultSheet = (_defaultSheet + "\n"); roundedCorner = 6; backgroundColor = 0xCCCCCC; borderColor = 0x555555; infoColor = 16777113; alertColor = 0xFFCC00; warningColor = 0xCC0000; successColor = 0xFF00; failureColor = 0xFF0000; _parseSheet(_defaultSheet); } } }//package com.google.analytics.debug
Section 41
//Alert (com.google.analytics.debug.Alert) package com.google.analytics.debug { import flash.events.*; public class Alert extends Label { public var autoClose:Boolean;// = true public var actionOnNextLine:Boolean;// = true private var _actions:Array; public function Alert(_arg1:String, _arg2:Array, _arg3:String="uiAlert", _arg4:uint=0, _arg5:Align=null, _arg6:Boolean=false, _arg7:Boolean=true){ if (_arg4 == 0){ _arg4 = Style.alertColor; }; if (_arg5 == null){ _arg5 = Align.center; }; super(_arg1, _arg3, _arg4, _arg5, _arg6); this.selectable = true; super.mouseChildren = true; this.buttonMode = true; this.mouseEnabled = true; this.useHandCursor = true; this.actionOnNextLine = _arg7; _actions = []; var _local8:int; while (_local8 < _arg2.length) { _arg2[_local8].container = this; _actions.push(_arg2[_local8]); _local8++; }; } private function _defineActions():void{ var _local3:AlertAction; var _local1 = ""; if (actionOnNextLine){ _local1 = (_local1 + "\n"); } else { _local1 = (_local1 + " |"); }; _local1 = (_local1 + " "); var _local2:Array = []; var _local4:int; while (_local4 < _actions.length) { _local3 = _actions[_local4]; _local2.push((((("<a href=\"event:" + _local3.activator) + "\">") + _local3.name) + "</a>")); _local4++; }; _local1 = (_local1 + _local2.join(" | ")); appendText(_local1, "uiAlertAction"); } protected function isValidAction(_arg1:String):Boolean{ var _local2:int; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (true); }; _local2++; }; return (false); } override protected function layout():void{ super.layout(); _defineActions(); } protected function getAction(_arg1:String):AlertAction{ var _local2:int; while (_local2 < _actions.length) { if (_arg1 == _actions[_local2].activator){ return (_actions[_local2]); }; _local2++; }; return (null); } protected function spaces(_arg1:int):String{ var _local2 = ""; var _local3 = " "; var _local4:int; while (_local4 < (_arg1 + 1)) { _local2 = (_local2 + _local3); _local4++; }; return (_local2); } override public function onLink(_arg1:TextEvent):void{ var _local2:AlertAction; if (isValidAction(_arg1.text)){ _local2 = getAction(_arg1.text); if (_local2){ _local2.execute(); }; }; if (autoClose){ close(); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 42
//AlertAction (com.google.analytics.debug.AlertAction) package com.google.analytics.debug { public class AlertAction { public var container:Alert; private var _callback; public var activator:String; public var name:String; public function AlertAction(_arg1:String, _arg2:String, _arg3){ this.name = _arg1; this.activator = _arg2; _callback = _arg3; } public function execute():void{ if (_callback){ if ((_callback is Function)){ (_callback as Function)(); } else { if ((_callback is String)){ var _local1 = container; _local1[_callback](); }; }; }; } } }//package com.google.analytics.debug
Section 43
//Align (com.google.analytics.debug.Align) package com.google.analytics.debug { public class Align { private var _value:int; private var _name:String; public static const bottomRight:Align = new Align(18, "bottomRight"); ; public static const right:Align = new Align(16, "right"); ; public static const left:Align = new Align(32, "left"); ; public static const topRight:Align = new Align(17, "topRight"); ; public static const bottom:Align = new Align(2, "bottom"); ; public static const bottomLeft:Align = new Align(34, "bottomLeft"); ; public static const topLeft:Align = new Align(33, "topLeft"); ; public static const center:Align = new Align(0x0100, "center"); ; public static const none:Align = new Align(0, "none"); ; public static const top:Align = new Align(1, "top"); ; public function Align(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 44
//Background (com.google.analytics.debug.Background) package com.google.analytics.debug { import flash.display.*; public class Background { public static function drawRounded(_arg1, _arg2:Graphics, _arg3:uint=0, _arg4:uint=0):void{ var _local5:uint; var _local6:uint; var _local7:uint = Style.roundedCorner; if ((((_arg3 > 0)) && ((_arg4 > 0)))){ _local5 = _arg3; _local6 = _arg4; } else { _local5 = _arg1.width; _local6 = _arg1.height; }; if (((_arg1.stickToEdge) && (!((_arg1.alignement == Align.none))))){ switch (_arg1.alignement){ case Align.top: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, _local7); break; case Align.topLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, 0, _local7); break; case Align.topRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, 0, _local7, 0); break; case Align.bottom: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, _local7, 0, 0); break; case Align.bottomLeft: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, 0); break; case Align.bottomRight: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, 0, 0); break; case Align.left: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, 0, _local7, 0, _local7); break; case Align.right: _arg2.drawRoundRectComplex(0, 0, _local5, _local6, _local7, 0, _local7, 0); break; case Align.center: _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); break; }; } else { _arg2.drawRoundRect(0, 0, _local5, _local6, _local7, _local7); }; } } }//package com.google.analytics.debug
Section 45
//Debug (com.google.analytics.debug.Debug) package com.google.analytics.debug { import flash.events.*; import flash.ui.*; public class Debug extends Label { private var _lines:Array; private var _preferredForcedWidth:uint;// = 540 private var _linediff:int;// = 0 public var maxLines:uint;// = 16 public static var count:uint = 0; public function Debug(_arg1:uint=0, _arg2:Align=null, _arg3:Boolean=false){ if (_arg2 == null){ _arg2 = Align.bottom; }; super("", "uiLabel", _arg1, _arg2, _arg3); this.name = ("Debug" + count++); _lines = []; selectable = true; addEventListener(KeyboardEvent.KEY_DOWN, onKey); } public function writeBold(_arg1:String):void{ write(_arg1, true); } private function _getLinesToDisplay(_arg1:int=0):Array{ var _local2:Array; var _local3:uint; var _local4:uint; if ((_lines.length - 1) > maxLines){ if ((_linediff <= 0)){ _linediff = (_linediff + _arg1); } else { if ((((_linediff > 0)) && ((_arg1 < 0)))){ _linediff = (_linediff + _arg1); }; }; _local3 = ((_lines.length - maxLines) + _linediff); _local4 = (_local3 + maxLines); _local2 = _lines.slice(_local3, _local4); } else { _local2 = _lines; }; return (_local2); } private function onKey(_arg1:KeyboardEvent=null):void{ var _local2:Array; switch (_arg1.keyCode){ case Keyboard.DOWN: _local2 = _getLinesToDisplay(1); break; case Keyboard.UP: _local2 = _getLinesToDisplay(-1); break; default: _local2 = null; }; if (_local2 == null){ return; }; text = _local2.join("\n"); } override public function get forcedWidth():uint{ if (this.parent){ if (UISprite(this.parent).forcedWidth > _preferredForcedWidth){ return (_preferredForcedWidth); }; return (UISprite(this.parent).forcedWidth); //unresolved jump }; return (super.forcedWidth); } public function write(_arg1:String, _arg2:Boolean=false):void{ var _local3:Array; if (_arg1.indexOf("") > -1){ _local3 = _arg1.split("\n"); } else { _local3 = [_arg1]; }; var _local4 = ""; var _local5 = ""; if (_arg2){ _local4 = "<b>"; _local5 = "</b>"; }; var _local6:int; while (_local6 < _local3.length) { _lines.push(((_local4 + _local3[_local6]) + _local5)); _local6++; }; var _local7:Array = _getLinesToDisplay(); text = _local7.join("\n"); } public function close():void{ dispose(); } override protected function dispose():void{ removeEventListener(KeyboardEvent.KEY_DOWN, onKey); super.dispose(); } } }//package com.google.analytics.debug
Section 46
//DebugConfiguration (com.google.analytics.debug.DebugConfiguration) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.utils.*; import flash.ui.*; public class DebugConfiguration { public var showHideKey:Number; private var _mode:VisualDebugMode; private var _verbose:Boolean;// = false public var destroyKey:Number; public var GIFRequests:Boolean;// = false public var showInfos:Boolean;// = true public var infoTimeout:Number;// = 1000 public var minimizedOnStart:Boolean;// = false private var _active:Boolean;// = false public var traceOutput:Boolean;// = false public var layout:ILayout; public var warningTimeout:Number;// = 1500 public var javascript:Boolean;// = false public var showWarnings:Boolean;// = true private var _visualInitialized:Boolean;// = false public function DebugConfiguration(){ _mode = VisualDebugMode.basic; showHideKey = Keyboard.SPACE; destroyKey = Keyboard.BACKSPACE; super(); } public function get verbose():Boolean{ return (_verbose); } public function set verbose(_arg1:Boolean):void{ _verbose = _arg1; } public function set mode(_arg1):void{ if ((_arg1 is String)){ switch (_arg1){ case "geek": _arg1 = VisualDebugMode.geek; break; case "advanced": _arg1 = VisualDebugMode.advanced; break; case "basic": default: _arg1 = VisualDebugMode.basic; }; }; _mode = _arg1; } public function success(_arg1:String):void{ if (layout){ layout.createSuccessAlert(_arg1); }; if (traceOutput){ trace((("[+] " + _arg1) + " !!")); }; } public function get active():Boolean{ return (_active); } private function _initializeVisual():void{ if (layout){ layout.init(); _visualInitialized = true; }; } private function _destroyVisual():void{ if (((layout) && (_visualInitialized))){ layout.destroy(); }; } public function warning(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showWarnings))){ layout.createWarning(_arg1); }; if (traceOutput){ trace((("## " + _arg1) + " ##")); }; } private function _filter(_arg1:VisualDebugMode=null):Boolean{ return (((_arg1) && ((int(_arg1) >= int(this.mode))))); } public function failure(_arg1:String):void{ if (layout){ layout.createFailureAlert(_arg1); }; if (traceOutput){ trace((("[-] " + _arg1) + " !!")); }; } public function get mode(){ return (_mode); } public function set active(_arg1:Boolean):void{ _active = _arg1; if (_active){ _initializeVisual(); } else { _destroyVisual(); }; } protected function trace(_arg1:String):void{ var _local7:Array; var _local8:int; var _local2:Array = []; var _local3 = ""; var _local4 = ""; if (this.mode == VisualDebugMode.geek){ _local3 = (getTimer() + " - "); _local4 = (new Array(_local3.length).join(" ") + " "); }; if (_arg1.indexOf("\n") > -1){ _local7 = _arg1.split("\n"); _local8 = 0; while (_local8 < _local7.length) { if (_local7[_local8] == ""){ } else { if (_local8 == 0){ _local2.push((_local3 + _local7[_local8])); } else { _local2.push((_local4 + _local7[_local8])); }; }; _local8++; }; } else { _local2.push((_local3 + _arg1)); }; var _local5:int = _local2.length; var _local6:int; while (_local6 < _local5) { trace(_local2[_local6]); _local6++; }; } public function alert(_arg1:String):void{ if (layout){ layout.createAlert(_arg1); }; if (traceOutput){ trace((("!! " + _arg1) + " !!")); }; } public function info(_arg1:String, _arg2:VisualDebugMode=null):void{ if (_filter(_arg2)){ return; }; if (((layout) && (showInfos))){ layout.createInfo(_arg1); }; if (traceOutput){ trace(_arg1); }; } public function alertGifRequest(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ if (layout){ layout.createGIFRequestAlert(_arg1, _arg2, _arg3); }; if (traceOutput){ trace(((">> " + _arg1) + " <<")); }; } } }//package com.google.analytics.debug
Section 47
//FailureAlert (com.google.analytics.debug.FailureAlert) package com.google.analytics.debug { public class FailureAlert extends Alert { public function FailureAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align = Align.bottomLeft; var _local5:Boolean; var _local6:Boolean; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Failure</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiFailure", Style.failureColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 48
//GIFRequestAlert (com.google.analytics.debug.GIFRequestAlert) package com.google.analytics.debug { public class GIFRequestAlert extends Alert { public function GIFRequestAlert(_arg1:String, _arg2:Array){ super(_arg1, _arg2); } } }//package com.google.analytics.debug
Section 49
//ILayout (com.google.analytics.debug.ILayout) package com.google.analytics.debug { import com.google.analytics.core.*; import flash.net.*; import flash.display.*; public interface ILayout { function createAlert(_arg1:String):void; function addToStage(_arg1:DisplayObject):void; function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void; function createWarning(_arg1:String):void; function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void; function createInfo(_arg1:String):void; function createFailureAlert(_arg1:String):void; function addToPanel(_arg1:String, _arg2:DisplayObject):void; function init():void; function createSuccessAlert(_arg1:String):void; function createVisualDebug():void; function destroy():void; function bringToFront(_arg1:DisplayObject):void; function isAvailable():Boolean; } }//package com.google.analytics.debug
Section 50
//Info (com.google.analytics.debug.Info) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Info extends Label { private var _timer:Timer; public function Info(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiInfo", Style.infoColor, Align.top, true); if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function onComplete(_arg1:TimerEvent):void{ close(); } } }//package com.google.analytics.debug
Section 51
//Label (com.google.analytics.debug.Label) package com.google.analytics.debug { import flash.events.*; import flash.display.*; import flash.text.*; public class Label extends UISprite { private var _color:uint; private var _background:Shape; private var _textField:TextField; public var stickToEdge:Boolean; private var _text:String; protected var selectable:Boolean; private var _tag:String; public static var count:uint = 0; public function Label(_arg1:String="", _arg2:String="uiLabel", _arg3:uint=0, _arg4:Align=null, _arg5:Boolean=false){ this.name = ("Label" + count++); selectable = false; _background = new Shape(); _textField = new TextField(); _text = _arg1; _tag = _arg2; if (_arg4 == null){ _arg4 = Align.none; }; this.alignement = _arg4; this.stickToEdge = _arg5; if (_arg3 == 0){ _arg3 = Style.backgroundColor; }; _color = _arg3; _textField.addEventListener(TextEvent.LINK, onLink); } public function get tag():String{ return (_tag); } private function _draw():void{ var _local1:Graphics = _background.graphics; _local1.clear(); _local1.beginFill(_color); var _local2:uint = _textField.width; var _local3:uint = _textField.height; if (forcedWidth > 0){ _local2 = forcedWidth; }; Background.drawRounded(this, _local1, _local2, _local3); _local1.endFill(); } public function get text():String{ return (_textField.text); } public function appendText(_arg1:String, _arg2:String=""):void{ if (_arg1 == ""){ return; }; if (_arg2 == ""){ _arg2 = tag; }; _textField.htmlText = (_textField.htmlText + (((("<span class=\"" + _arg2) + "\">") + _arg1) + "</span>")); _text = (_text + _arg1); _draw(); resize(); } public function set text(_arg1:String):void{ if (_arg1 == ""){ _arg1 = _text; }; _textField.htmlText = (((("<span class=\"" + tag) + "\">") + _arg1) + "</span>"); _text = _arg1; _draw(); resize(); } override protected function layout():void{ _textField.type = TextFieldType.DYNAMIC; _textField.autoSize = TextFieldAutoSize.LEFT; _textField.background = false; _textField.selectable = selectable; _textField.multiline = true; _textField.styleSheet = Style.sheet; this.text = _text; addChild(_background); addChild(_textField); } public function set tag(_arg1:String):void{ _tag = _arg1; text = ""; } public function onLink(_arg1:TextEvent):void{ } override protected function dispose():void{ _textField.removeEventListener(TextEvent.LINK, onLink); super.dispose(); } } }//package com.google.analytics.debug
Section 52
//Layout (com.google.analytics.debug.Layout) package com.google.analytics.debug { import flash.events.*; import com.google.analytics.core.*; import flash.net.*; import flash.display.*; import com.google.analytics.*; public class Layout implements ILayout { private var _display:DisplayObject; private var _infoQueue:Array; private var _maxCharPerLine:int;// = 85 private var _hasInfo:Boolean; private var _warningQueue:Array; private var _hasDebug:Boolean; private var _hasWarning:Boolean; private var _mainPanel:Panel; private var _GRAlertQueue:Array; private var _debug:DebugConfiguration; public var visualDebug:Debug; private var _hasGRAlert:Boolean; public function Layout(_arg1:DebugConfiguration, _arg2:DisplayObject){ _display = _arg2; _debug = _arg1; _hasWarning = false; _hasInfo = false; _hasDebug = false; _hasGRAlert = false; _warningQueue = []; _infoQueue = []; _GRAlertQueue = []; } private function onKey(_arg1:KeyboardEvent=null):void{ switch (_arg1.keyCode){ case _debug.showHideKey: _mainPanel.visible = !(_mainPanel.visible); break; case _debug.destroyKey: destroy(); break; }; } public function createWarning(_arg1:String):void{ if (((_hasWarning) || (!(isAvailable())))){ _warningQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasWarning = true; var _local2:Warning = new Warning(_arg1, _debug.warningTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearWarning, false, 0, true); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function bringToFront(_arg1:DisplayObject):void{ _display.stage.setChildIndex(_arg1, (_display.stage.numChildren - 1)); } public function createFailureAlert(_arg1:String):void{ var _local2:AlertAction; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; var _local3:Alert = new FailureAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function init():void{ var _local1 = 10; var _local2:uint = (_display.stage.stageWidth - (_local1 * 2)); var _local3:uint = (_display.stage.stageHeight - (_local1 * 2)); var _local4:Panel = new Panel("analytics", _local2, _local3); _local4.alignement = Align.top; _local4.stickToEdge = false; _local4.title = ("Google Analytics v" + GATracker.version); _mainPanel = _local4; addToStage(_local4); bringToFront(_local4); if (_debug.minimizedOnStart){ _mainPanel.onToggle(); }; createVisualDebug(); _display.stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey, false, 0, true); } public function addToPanel(_arg1:String, _arg2:DisplayObject):void{ var _local4:Panel; var _local3:DisplayObject = _display.stage.getChildByName(_arg1); if (_local3){ _local4 = (_local3 as Panel); _local4.addData(_arg2); } else { trace((("panel \"" + _arg1) + "\" not found")); }; } private function _clearInfo(_arg1:Event):void{ _hasInfo = false; if (_infoQueue.length > 0){ createInfo(_infoQueue.shift()); }; } private function _filterMaxChars(_arg1:String, _arg2:int=0):String{ var _local6:String; var _local3 = "\n"; var _local4:Array = []; var _local5:Array = _arg1.split(_local3); if (_arg2 == 0){ _arg2 = _maxCharPerLine; }; var _local7:int; while (_local7 < _local5.length) { _local6 = _local5[_local7]; while (_local6.length > _arg2) { _local4.push(_local6.substr(0, _arg2)); _local6 = _local6.substring(_arg2); }; _local4.push(_local6); _local7++; }; return (_local4.join(_local3)); } private function _clearGRAlert(_arg1:Event):void{ _hasGRAlert = false; if (_GRAlertQueue.length > 0){ createGIFRequestAlert.apply(this, _GRAlertQueue.shift()); }; } public function createSuccessAlert(_arg1:String):void{ var _local2:AlertAction; if (_debug.verbose){ _arg1 = _filterMaxChars(_arg1); _local2 = new AlertAction("Close", "close", "close"); } else { _local2 = new AlertAction("X", "close", "close"); }; var _local3:Alert = new SuccessAlert(_debug, _arg1, [_local2]); addToPanel("analytics", _local3); if (_hasDebug){ if (_debug.verbose){ _arg1 = _arg1.split("\n").join(""); _arg1 = _filterMaxChars(_arg1, 66); }; visualDebug.writeBold(_arg1); }; } public function isAvailable():Boolean{ return (!((_display.stage == null))); } public function createAlert(_arg1:String):void{ _arg1 = _filterMaxChars(_arg1); var _local2:Alert = new Alert(_arg1, [new AlertAction("Close", "close", "close")]); addToPanel("analytics", _local2); if (_hasDebug){ visualDebug.writeBold(_arg1); }; } public function createInfo(_arg1:String):void{ if (((_hasInfo) || (!(isAvailable())))){ _infoQueue.push(_arg1); return; }; _arg1 = _filterMaxChars(_arg1); _hasInfo = true; var _local2:Info = new Info(_arg1, _debug.infoTimeout); addToPanel("analytics", _local2); _local2.addEventListener(Event.REMOVED_FROM_STAGE, _clearInfo, false, 0, true); if (_hasDebug){ visualDebug.write(_arg1); }; } public function createGIFRequestAlert(_arg1:String, _arg2:URLRequest, _arg3:GIFRequest):void{ var message = _arg1; var request = _arg2; var ref = _arg3; if (_hasGRAlert){ _GRAlertQueue.push([message, request, ref]); return; }; _hasGRAlert = true; var f:Function = function ():void{ ref.sendRequest(request); }; message = _filterMaxChars(message); var gra:GIFRequestAlert = new GIFRequestAlert(message, [new AlertAction("OK", "ok", f), new AlertAction("Cancel", "cancel", "close")]); addToPanel("analytics", gra); gra.addEventListener(Event.REMOVED_FROM_STAGE, _clearGRAlert, false, 0, true); if (_hasDebug){ if (_debug.verbose){ message = message.split("\n").join(""); message = _filterMaxChars(message, 66); }; visualDebug.write(message); }; } public function createVisualDebug():void{ if (!visualDebug){ visualDebug = new Debug(); visualDebug.alignement = Align.bottom; visualDebug.stickToEdge = true; addToPanel("analytics", visualDebug); _hasDebug = true; }; } public function addToStage(_arg1:DisplayObject):void{ _display.stage.addChild(_arg1); } private function _clearWarning(_arg1:Event):void{ _hasWarning = false; if (_warningQueue.length > 0){ createWarning(_warningQueue.shift()); }; } public function createPanel(_arg1:String, _arg2:uint, _arg3:uint):void{ var _local4:Panel = new Panel(_arg1, _arg2, _arg3); _local4.alignement = Align.center; _local4.stickToEdge = false; addToStage(_local4); bringToFront(_local4); } public function destroy():void{ _mainPanel.close(); _debug.layout = null; } } }//package com.google.analytics.debug
Section 53
//Margin (com.google.analytics.debug.Margin) package com.google.analytics.debug { public class Margin { public var top:int; public var left:int; public var bottom:int; public var right:int; public function Margin(_arg1:int=0, _arg2:int=0, _arg3:int=0, _arg4:int=0){ this.top = _arg1; this.bottom = _arg2; this.left = _arg3; this.right = _arg4; } } }//package com.google.analytics.debug
Section 54
//Panel (com.google.analytics.debug.Panel) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class Panel extends UISprite { private var _savedH:uint; private var _data:UISprite; private var _mask:Sprite; private var _background:Shape; private var _savedW:uint; private var _stickToEdge:Boolean; private var _border:Shape; private var _borderColor:uint; protected var baseAlpha:Number; private var _backgroundColor:uint; private var _title:Label; private var _colapsed:Boolean; private var _name:String; public function Panel(_arg1:String, _arg2:uint, _arg3:uint, _arg4:uint=0, _arg5:uint=0, _arg6:Number=0.3, _arg7:Align=null, _arg8:Boolean=false){ _name = _arg1; this.name = _arg1; this.mouseEnabled = false; _colapsed = false; forcedWidth = _arg2; forcedHeight = _arg3; this.baseAlpha = _arg6; _background = new Shape(); _data = new UISprite(); _data.forcedWidth = _arg2; _data.forcedHeight = _arg3; _data.mouseEnabled = false; _title = new Label(_arg1, "uiLabel", 0xFFFFFF, Align.topLeft, _arg8); _title.buttonMode = true; _title.margin.top = 0.6; _title.margin.left = 0.6; _title.addEventListener(MouseEvent.CLICK, onToggle); _title.mouseChildren = false; _border = new Shape(); _mask = new Sprite(); _mask.useHandCursor = false; _mask.mouseEnabled = false; _mask.mouseChildren = false; if (_arg7 == null){ _arg7 = Align.none; }; this.alignement = _arg7; this.stickToEdge = _arg8; if (_arg4 == 0){ _arg4 = Style.backgroundColor; }; _backgroundColor = _arg4; if (_arg5 == 0){ _arg5 = Style.borderColor; }; _borderColor = _arg5; } public function get stickToEdge():Boolean{ return (_stickToEdge); } public function onToggle(_arg1:MouseEvent=null):void{ if (_colapsed){ _data.visible = true; } else { _data.visible = false; }; _colapsed = !(_colapsed); _update(); resize(); } public function set stickToEdge(_arg1:Boolean):void{ _stickToEdge = _arg1; _title.stickToEdge = _arg1; } override protected function dispose():void{ _title.removeEventListener(MouseEvent.CLICK, onToggle); super.dispose(); } private function _draw():void{ var _local1:uint; var _local2:uint; if (((_savedW) && (_savedH))){ forcedWidth = _savedW; forcedHeight = _savedH; }; if (!_colapsed){ _local1 = forcedWidth; _local2 = forcedHeight; } else { _local1 = _title.width; _local2 = _title.height; _savedW = forcedWidth; _savedH = forcedHeight; forcedWidth = _local1; forcedHeight = _local2; }; var _local3:Graphics = _background.graphics; _local3.clear(); _local3.beginFill(_backgroundColor); Background.drawRounded(this, _local3, _local1, _local2); _local3.endFill(); var _local4:Graphics = _data.graphics; _local4.clear(); _local4.beginFill(_backgroundColor, 0); Background.drawRounded(this, _local4, _local1, _local2); _local4.endFill(); var _local5:Graphics = _border.graphics; _local5.clear(); _local5.lineStyle(0.1, _borderColor); Background.drawRounded(this, _local5, _local1, _local2); _local5.endFill(); var _local6:Graphics = _mask.graphics; _local6.clear(); _local6.beginFill(_backgroundColor); Background.drawRounded(this, _local6, (_local1 + 1), (_local2 + 1)); _local6.endFill(); } public function get title():String{ return (_title.text); } private function _update():void{ _draw(); if (baseAlpha < 1){ _background.alpha = baseAlpha; _border.alpha = baseAlpha; }; } public function addData(_arg1:DisplayObject):void{ _data.addChild(_arg1); } override protected function layout():void{ _update(); addChild(_background); addChild(_data); addChild(_title); addChild(_border); addChild(_mask); mask = _mask; } public function set title(_arg1:String):void{ _title.text = _arg1; } public function close():void{ dispose(); if (parent != null){ parent.removeChild(this); }; } } }//package com.google.analytics.debug
Section 55
//Style (com.google.analytics.debug.Style) package com.google.analytics.debug { public const Style:_Style = new _Style(); }//package com.google.analytics.debug
Section 56
//SuccessAlert (com.google.analytics.debug.SuccessAlert) package com.google.analytics.debug { public class SuccessAlert extends Alert { public function SuccessAlert(_arg1:DebugConfiguration, _arg2:String, _arg3:Array){ var _local4:Align = Align.bottomLeft; var _local5:Boolean; var _local6:Boolean; if (_arg1.verbose){ _arg2 = ((("<u><span class=\"uiAlertTitle\">Success</span>" + spaces(18)) + "</u>\n\n") + _arg2); _local4 = Align.center; _local5 = false; _local6 = true; }; super(_arg2, _arg3, "uiSuccess", Style.successColor, _local4, _local5, _local6); } } }//package com.google.analytics.debug
Section 57
//UISprite (com.google.analytics.debug.UISprite) package com.google.analytics.debug { import flash.events.*; import flash.display.*; public class UISprite extends Sprite { private var _forcedWidth:uint; public var margin:Margin; protected var alignTarget:DisplayObject; protected var listenResize:Boolean; public var alignement:Align; private var _forcedHeight:uint; public function UISprite(_arg1:DisplayObject=null){ listenResize = false; alignement = Align.none; this.alignTarget = _arg1; margin = new Margin(); addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); } public function get forcedHeight():uint{ if (_forcedHeight){ return (_forcedHeight); }; return (height); } private function _onAddedToStage(_arg1:Event):void{ layout(); resize(); } protected function dispose():void{ var _local1:DisplayObject; var _local2:int; while (_local2 < numChildren) { _local1 = getChildAt(_local2); if (_local1){ removeChild(_local1); }; _local2++; }; } public function set forcedHeight(_arg1:uint):void{ _forcedHeight = _arg1; } public function set forcedWidth(_arg1:uint):void{ _forcedWidth = _arg1; } protected function layout():void{ } public function get forcedWidth():uint{ if (_forcedWidth){ return (_forcedWidth); }; return (width); } public function alignTo(_arg1:Align, _arg2:DisplayObject=null):void{ var _local3:uint; var _local4:uint; var _local5:uint; var _local6:uint; var _local7:UISprite; if (_arg2 == null){ if ((parent is Stage)){ _arg2 = this.stage; } else { _arg2 = parent; }; }; if (_arg2 == this.stage){ if (this.stage == null){ return; }; _local3 = this.stage.stageHeight; _local4 = this.stage.stageWidth; _local5 = 0; _local6 = 0; } else { _local7 = (_arg2 as UISprite); if (_local7.forcedHeight){ _local3 = _local7.forcedHeight; } else { _local3 = _local7.height; }; if (_local7.forcedWidth){ _local4 = _local7.forcedWidth; } else { _local4 = _local7.width; }; _local5 = 0; _local6 = 0; }; switch (_arg1){ case Align.top: x = ((_local4 / 2) - (forcedWidth / 2)); y = (_local6 + margin.top); break; case Align.bottom: x = ((_local4 / 2) - (forcedWidth / 2)); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.left: x = (_local5 + margin.left); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.right: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.center: x = ((_local4 / 2) - (forcedWidth / 2)); y = ((_local3 / 2) - (forcedHeight / 2)); break; case Align.topLeft: x = (_local5 + margin.left); y = (_local6 + margin.top); break; case Align.topRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (_local6 + margin.top); break; case Align.bottomLeft: x = (_local5 + margin.left); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; case Align.bottomRight: x = (((_local5 + _local4) - forcedWidth) - margin.right); y = (((_local6 + _local3) - forcedHeight) - margin.bottom); break; }; if (((!(listenResize)) && (!((_arg1 == Align.none))))){ _arg2.addEventListener(Event.RESIZE, onResize, false, 0, true); listenResize = true; }; this.alignement = _arg1; this.alignTarget = _arg2; } private function _onRemovedFromStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, _onAddedToStage); removeEventListener(Event.REMOVED_FROM_STAGE, _onRemovedFromStage); dispose(); } public function resize():void{ if (alignement != Align.none){ alignTo(alignement, alignTarget); }; } protected function onResize(_arg1:Event):void{ resize(); } } }//package com.google.analytics.debug
Section 58
//VisualDebugMode (com.google.analytics.debug.VisualDebugMode) package com.google.analytics.debug { public class VisualDebugMode { private var _value:int; private var _name:String; public static const advanced:VisualDebugMode = new VisualDebugMode(1, "advanced"); ; public static const geek:VisualDebugMode = new VisualDebugMode(2, "geek"); ; public static const basic:VisualDebugMode = new VisualDebugMode(0, "basic"); ; public function VisualDebugMode(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.debug
Section 59
//Warning (com.google.analytics.debug.Warning) package com.google.analytics.debug { import flash.events.*; import flash.utils.*; public class Warning extends Label { private var _timer:Timer; public function Warning(_arg1:String="", _arg2:uint=3000){ super(_arg1, "uiWarning", Style.warningColor, Align.top, false); margin.top = 32; if (_arg2 > 0){ _timer = new Timer(_arg2, 1); _timer.start(); _timer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete, false, 0, true); }; } public function close():void{ if (parent != null){ parent.removeChild(this); }; } override public function onLink(_arg1:TextEvent):void{ switch (_arg1.text){ case "hide": close(); break; }; } public function onComplete(_arg1:TimerEvent):void{ close(); } } }//package com.google.analytics.debug
Section 60
//AnalyticsEvent (com.google.analytics.events.AnalyticsEvent) package com.google.analytics.events { import flash.events.*; import com.google.analytics.*; public class AnalyticsEvent extends Event { public var tracker:AnalyticsTracker; public static const READY:String = "ready"; public function AnalyticsEvent(_arg1:String, _arg2:AnalyticsTracker, _arg3:Boolean=false, _arg4:Boolean=false){ super(_arg1, _arg3, _arg4); this.tracker = _arg2; } override public function clone():Event{ return (new AnalyticsEvent(type, tracker, bubbles, cancelable)); } } }//package com.google.analytics.events
Section 61
//AdSenseGlobals (com.google.analytics.external.AdSenseGlobals) package com.google.analytics.external { import com.google.analytics.debug.*; public class AdSenseGlobals extends JavascriptProxy { private var _gaGlobalVerified:Boolean;// = false public static var gaGlobal_js:XML = <script> <![CDATA[ function() { try { gaGlobal } catch(e) { gaGlobal = {} ; } } ]]> </script> ; public function AdSenseGlobals(_arg1:DebugConfiguration){ super(_arg1); } public function set vid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.vid", _arg1); } public function get hid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.hid")); } public function set hid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.hid", _arg1); } public function get dh():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.dh")); } public function get sid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.sid")); } public function get vid():String{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal.vid")); } private function _verify():void{ if (!_gaGlobalVerified){ executeBlock(gaGlobal_js); _gaGlobalVerified = true; }; } public function set sid(_arg1:String):void{ if (!isAvailable()){ return; }; _verify(); setProperty("gaGlobal.sid", _arg1); } public function get gaGlobal():Object{ if (!isAvailable()){ return (null); }; _verify(); return (getProperty("gaGlobal")); } } }//package com.google.analytics.external
Section 62
//HTMLDOM (com.google.analytics.external.HTMLDOM) package com.google.analytics.external { import com.google.analytics.debug.*; public class HTMLDOM extends JavascriptProxy { private var _referrer:String; private var _language:String; private var _host:String; private var _pathname:String; private var _location:String; private var _search:String; private var _characterSet:String; private var _title:String; private var _protocol:String; private var _colorDepth:String; public static var cache_properties_js:XML = <script> <![CDATA[ function() { var obj = {}; obj.host = document.location.host; obj.language = navigator.language ? navigator.language : navigator.browserLanguage; obj.characterSet = document.characterSet ? document.characterSet : document.charset; obj.colorDepth = window.screen.colorDepth; obj.location = document.location.toString(); obj.pathname = document.location.pathname; obj.protocol = document.location.protocol; obj.search = document.location.search; obj.referrer = document.referrer; obj.title = document.title; return obj; } ]]> </script> ; public function HTMLDOM(_arg1:DebugConfiguration){ super(_arg1); } public function get search():String{ if (_search){ return (_search); }; if (!isAvailable()){ return (null); }; _search = getProperty("document.location.search"); return (_search); } public function get location():String{ if (_location){ return (_location); }; if (!isAvailable()){ return (null); }; _location = getPropertyString("document.location"); return (_location); } public function get pathname():String{ if (_pathname){ return (_pathname); }; if (!isAvailable()){ return (null); }; _pathname = getProperty("document.location.pathname"); return (_pathname); } public function cacheProperties():void{ if (!isAvailable()){ return; }; var _local1:Object = call(cache_properties_js); if (_local1){ _host = _local1.host; _language = _local1.language; _characterSet = _local1.characterSet; _colorDepth = _local1.colorDepth; _location = _local1.location; _pathname = _local1.pathname; _protocol = _local1.protocol; _search = _local1.search; _referrer = _local1.referrer; _title = _local1.title; }; } public function get language():String{ if (_language){ return (_language); }; if (!isAvailable()){ return (null); }; var _local1:String = getProperty("navigator.language"); if (_local1 == null){ _local1 = getProperty("navigator.browserLanguage"); }; _language = _local1; return (_language); } public function get colorDepth():String{ if (_colorDepth){ return (_colorDepth); }; if (!isAvailable()){ return (null); }; _colorDepth = getProperty("window.screen.colorDepth"); return (_colorDepth); } public function get referrer():String{ if (_referrer){ return (_referrer); }; if (!isAvailable()){ return (null); }; _referrer = getProperty("document.referrer"); return (_referrer); } public function get protocol():String{ if (_protocol){ return (_protocol); }; if (!isAvailable()){ return (null); }; _protocol = getProperty("document.location.protocol"); return (_protocol); } public function get host():String{ if (_host){ return (_host); }; if (!isAvailable()){ return (null); }; _host = getProperty("document.location.host"); return (_host); } public function get characterSet():String{ if (_characterSet){ return (_characterSet); }; if (!isAvailable()){ return (null); }; var _local1:String = getProperty("document.characterSet"); if (_local1 == null){ _local1 = getProperty("document.charset"); }; _characterSet = _local1; return (_characterSet); } public function get title():String{ if (_title){ return (_title); }; if (!isAvailable()){ return (null); }; _title = getProperty("document.title"); return (_title); } } }//package com.google.analytics.external
Section 63
//JavascriptProxy (com.google.analytics.external.JavascriptProxy) package com.google.analytics.external { import com.google.analytics.debug.*; import flash.external.*; import flash.system.*; public class JavascriptProxy { private var _notAvailableWarning:Boolean;// = true private var _debug:DebugConfiguration; public static var setProperty_js:XML = <script> <![CDATA[ function( path , value ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } target[ prop ] = value ; } ]]> </script> ; public static var hasProperty_js:XML = <script> <![CDATA[ function( path ) { var paths; if( path.indexOf(".") > 0 ) { paths = path.split("."); } else { paths = [path]; } var target = window ; var len = paths.length ; for( var i = 0 ; i < len ; i++ ) { target = target[ paths[i] ] ; } if( target ) { return true; } else { return false; } } ]]> </script> ; public static var setPropertyRef_js:XML = <script> <![CDATA[ function( path , target ) { var paths; var prop; if( path.indexOf(".") > 0 ) { paths = path.split("."); prop = paths.pop() ; } else { paths = []; prop = path; } alert( "paths:"+paths.length+", prop:"+prop ); var targets; var name; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } alert( "targets:"+targets.length+", name:"+name ); var root = window; var len = paths.length; for( var i = 0 ; i < len ; i++ ) { root = root[ paths[i] ] ; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } root[ prop ] = ref[name] ; } ]]> </script> ; public function JavascriptProxy(_arg1:DebugConfiguration){ _debug = _arg1; } public function getProperty(_arg1:String){ return (call((_arg1 + ".valueOf"))); } public function hasProperty(_arg1:String):Boolean{ return (call(hasProperty_js, _arg1)); } public function setProperty(_arg1:String, _arg2):void{ call(setProperty_js, _arg1, _arg2); } public function executeBlock(_arg1:String):void{ var data = _arg1; if (isAvailable()){ try { ExternalInterface.call(data); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; } public function getPropertyString(_arg1:String):String{ return (call((_arg1 + ".toString"))); } public function setPropertyByReference(_arg1:String, _arg2:String):void{ call(setPropertyRef_js, _arg1, _arg2); } public function call(_arg1:String, ... _args){ var output:String; var functionName = _arg1; var args = _args; if (isAvailable()){ try { if (((_debug.javascript) && (_debug.verbose))){ output = ""; output = ("Flash->JS: " + functionName); output = (output + "( "); if (args.length > 0){ output = (output + args.join(",")); }; output = (output + " )"); _debug.info(output); }; args.unshift(functionName); return (ExternalInterface.call.apply(ExternalInterface, args)); } catch(e:SecurityError) { if (_debug.javascript){ _debug.warning("ExternalInterface is not allowed.\nEnsure that allowScriptAccess is set to \"always\" in the Flash embed HTML."); }; } catch(e:Error) { if (_debug.javascript){ _debug.warning(("ExternalInterface failed to make the call\nreason: " + e.message)); }; }; }; return (null); } public function isAvailable():Boolean{ var _local1:Boolean = ExternalInterface.available; if (((_local1) && ((Capabilities.playerType == "External")))){ _local1 = false; }; if (((((!(_local1)) && (_debug.javascript))) && (_notAvailableWarning))){ _debug.warning("ExternalInterface is not available."); _notAvailableWarning = false; }; return (_local1); } } }//package com.google.analytics.external
Section 64
//Environment (com.google.analytics.utils.Environment) package com.google.analytics.utils { import com.google.analytics.debug.*; import com.google.analytics.external.*; import flash.system.*; public class Environment { private var _dom:HTMLDOM; private var _appName:String; private var _debug:DebugConfiguration; private var _appVersion:Version; private var _url:String; private var _protocol:Protocols; private var _userAgent:UserAgent; public function Environment(_arg1:String="", _arg2:String="", _arg3:String="", _arg4:DebugConfiguration=null, _arg5:HTMLDOM=null){ var _local6:Version; super(); if (_arg2 == ""){ if (isAIR()){ _arg2 = "AIR"; } else { _arg2 = "Flash"; }; }; if (_arg3 == ""){ _local6 = flashVersion; } else { _local6 = Version.fromString(_arg3); }; _url = _arg1; _appName = _arg2; _appVersion = _local6; _debug = _arg4; _dom = _arg5; } public function isAIR():Boolean{ return ((((playerType == "Desktop")) && ((Security.sandboxType.toString() == "application")))); } public function get screenWidth():Number{ return (Capabilities.screenResolutionX); } public function get playerType():String{ return (Capabilities.playerType); } public function get locationSearch():String{ var _local1:String = _dom.search; if (_local1){ return (_local1); }; return (""); } public function get protocol():Protocols{ if (!_protocol){ _findProtocol(); }; return (_protocol); } public function get flashVersion():Version{ var _local1:Version = Version.fromString(Capabilities.version.split(" ")[1], ","); return (_local1); } public function get userAgent():UserAgent{ if (!_userAgent){ _userAgent = new UserAgent(this, appName, appVersion.toString(4)); }; return (_userAgent); } public function get languageEncoding():String{ var _local1:String; if (System.useCodePage){ _local1 = _dom.characterSet; if (_local1){ return (_local1); }; return ("-"); }; return ("UTF-8"); } public function get appName():String{ return (_appName); } public function get screenColorDepth():String{ var _local1:String; switch (Capabilities.screenColor){ case "bw": _local1 = "1"; break; case "gray": _local1 = "2"; break; case "color": default: _local1 = "24"; }; var _local2:String = _dom.colorDepth; if (_local2){ _local1 = _local2; }; return (_local1); } private function _findProtocol():void{ var _local4:String; var _local5:String; var _local1:Protocols = Protocols.none; if (_url != ""){ _local4 = _url.toLowerCase(); _local5 = _local4.substr(0, 5); switch (_local5){ case "file:": _local1 = Protocols.file; break; case "http:": _local1 = Protocols.HTTP; break; case "https": if (_local4.charAt(5) == ":"){ _local1 = Protocols.HTTPS; }; break; default: _protocol = Protocols.none; }; }; var _local2:String = _dom.protocol; var _local3:String = (_local1.toString() + ":").toLowerCase(); if (((((_local2) && (!((_local2 == _local3))))) && (_debug))){ _debug.warning(((("Protocol mismatch: SWF=" + _local3) + ", DOM=") + _local2)); }; _protocol = _local1; } public function get locationSWFPath():String{ return (_url); } public function get platform():String{ var _local1:String = Capabilities.manufacturer; return (_local1.split("Adobe ")[1]); } public function get operatingSystem():String{ return (Capabilities.os); } public function set appName(_arg1:String):void{ _appName = _arg1; userAgent.applicationProduct = _arg1; } function set url(_arg1:String):void{ _url = _arg1; } public function get referrer():String{ var _local1:String = _dom.referrer; if (_local1){ return (_local1); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function isInHTML():Boolean{ return ((Capabilities.playerType == "PlugIn")); } public function get language():String{ var _local1:String = _dom.language; var _local2:String = Capabilities.language; if (_local1){ if ((((_local1.length > _local2.length)) && ((_local1.substr(0, _local2.length) == _local2)))){ _local2 = _local1; }; }; return (_local2); } public function get domainName():String{ var _local1:String; var _local2:String; var _local3:int; if ((((protocol == Protocols.HTTP)) || ((protocol == Protocols.HTTPS)))){ _local1 = _url.toLowerCase(); if (protocol == Protocols.HTTP){ _local2 = _local1.split("http://").join(""); } else { if (protocol == Protocols.HTTPS){ _local2 = _local1.split("https://").join(""); }; }; _local3 = _local2.indexOf("/"); if (_local3 > -1){ _local2 = _local2.substring(0, _local3); }; return (_local2); }; if (protocol == Protocols.file){ return ("localhost"); }; return (""); } public function set userAgent(_arg1:UserAgent):void{ _userAgent = _arg1; } public function set appVersion(_arg1:Version):void{ _appVersion = _arg1; userAgent.applicationVersion = _arg1.toString(4); } public function get screenHeight():Number{ return (Capabilities.screenResolutionY); } public function get locationPath():String{ var _local1:String = _dom.pathname; if (_local1){ return (_local1); }; return (""); } public function get documentTitle():String{ var _local1:String = _dom.title; if (_local1){ return (_local1); }; return (""); } public function get appVersion():Version{ return (_appVersion); } } }//package com.google.analytics.utils
Section 65
//Protocols (com.google.analytics.utils.Protocols) package com.google.analytics.utils { public class Protocols { private var _value:int; private var _name:String; public static const none:Protocols = new Protocols(0, "none"); ; public static const HTTPS:Protocols = new Protocols(3, "HTTPS"); ; public static const file:Protocols = new Protocols(1, "file"); ; public static const HTTP:Protocols = new Protocols(2, "HTTP"); ; public function Protocols(_arg1:int=0, _arg2:String=""){ _value = _arg1; _name = _arg2; } public function valueOf():int{ return (_value); } public function toString():String{ return (_name); } } }//package com.google.analytics.utils
Section 66
//Timespan (com.google.analytics.utils.Timespan) package com.google.analytics.utils { public class Timespan { public static var sixmonths:Number = 15768000; public static var twoyears:Number = 63072000; public static var thirtyminutes:Number = 1800; } }//package com.google.analytics.utils
Section 67
//URL (com.google.analytics.utils.URL) package com.google.analytics.utils { public class URL { private var _url:String; public function URL(_arg1:String=""){ _url = _arg1.toLowerCase(); } public function get domain():String{ var _local1:Array; if (((!((hostName == ""))) && ((hostName.indexOf(".") > -1)))){ _local1 = hostName.split("."); switch (_local1.length){ case 2: return (hostName); case 3: if (_local1[1] == "co"){ return (hostName); }; _local1.shift(); return (_local1.join(".")); case 4: _local1.shift(); return (_local1.join(".")); }; }; return (""); } public function get path():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if (_local1.charAt(0) != "/"){ _local1 = ("/" + _local1); }; return (_local1); } public function get protocol():Protocols{ var _local1:String = _url.split("://")[0]; switch (_local1){ case "file": return (Protocols.file); case "http": return (Protocols.HTTP); case "https": return (Protocols.HTTPS); default: return (Protocols.none); }; } public function get hostName():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf("/") > -1){ _local1 = _local1.split("/")[0]; }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[0]; }; if ((((protocol == Protocols.file)) || ((protocol == Protocols.none)))){ return (""); }; return (_local1); } public function get subDomain():String{ if (((!((domain == ""))) && (!((domain == hostName))))){ return (hostName.split(("." + domain)).join("")); }; return (""); } public function get search():String{ var _local1:String = _url; if (_local1.indexOf("://") > -1){ _local1 = _local1.split("://")[1]; }; if (_local1.indexOf(hostName) == 0){ _local1 = _local1.substr(hostName.length); }; if (_local1.indexOf("?") > -1){ _local1 = _local1.split("?")[1]; } else { _local1 = ""; }; return (_local1); } } }//package com.google.analytics.utils
Section 68
//UserAgent (com.google.analytics.utils.UserAgent) package com.google.analytics.utils { import com.google.analytics.core.*; import flash.system.*; public class UserAgent { private var _localInfo:Environment; private var _applicationProduct:String; private var _version:Version; public static var minimal:Boolean = false; public function UserAgent(_arg1:Environment, _arg2:String="", _arg3:String=""){ _localInfo = _arg1; applicationProduct = _arg2; _version = Version.fromString(_arg3); } public function get tamarinProductToken():String{ if (UserAgent.minimal){ return (""); }; if (System.vmVersion){ return (("Tamarin/" + Utils.trim(System.vmVersion, true))); }; return (""); } public function get applicationVersion():String{ return (_version.toString(2)); } public function get vendorProductToken():String{ var _local1 = ""; if (_localInfo.isAIR()){ _local1 = (_local1 + "AIR"); } else { _local1 = (_local1 + "FlashPlayer"); }; _local1 = (_local1 + "/"); _local1 = (_local1 + _version.toString(3)); return (_local1); } public function toString():String{ var _local1 = ""; _local1 = (_local1 + applicationProductToken); if (applicationComment != ""){ _local1 = (_local1 + (" " + applicationComment)); }; if (tamarinProductToken != ""){ _local1 = (_local1 + (" " + tamarinProductToken)); }; if (vendorProductToken != ""){ _local1 = (_local1 + (" " + vendorProductToken)); }; return (_local1); } public function get applicationComment():String{ var _local1:Array = []; _local1.push(_localInfo.platform); _local1.push(_localInfo.playerType); if (!UserAgent.minimal){ _local1.push(_localInfo.operatingSystem); _local1.push(_localInfo.language); }; if (Capabilities.isDebugger){ _local1.push("DEBUG"); }; if (_local1.length > 0){ return ((("(" + _local1.join("; ")) + ")")); }; return (""); } public function set applicationVersion(_arg1:String):void{ _version = Version.fromString(_arg1); } public function get applicationProductToken():String{ var _local1:String = applicationProduct; if (applicationVersion != ""){ _local1 = (_local1 + ("/" + applicationVersion)); }; return (_local1); } public function set applicationProduct(_arg1:String):void{ _applicationProduct = _arg1; } public function get applicationProduct():String{ return (_applicationProduct); } } }//package com.google.analytics.utils
Section 69
//Variables (com.google.analytics.utils.Variables) package com.google.analytics.utils { import flash.net.*; public dynamic class Variables { public var post:Array; public var URIencode:Boolean; public var pre:Array; public var sort:Boolean;// = true public function Variables(_arg1:String=null, _arg2:Array=null, _arg3:Array=null){ pre = []; post = []; super(); if (_arg1){ decode(_arg1); }; if (_arg2){ this.pre = _arg2; }; if (_arg3){ this.post = _arg3; }; } private function _join(_arg1:Variables):void{ var _local2:String; if (!_arg1){ return; }; for (_local2 in _arg1) { this[_local2] = _arg1[_local2]; }; } public function join(... _args):void{ var _local2:int = _args.length; var _local3:int; while (_local3 < _local2) { if (!(_args[_local3] is Variables)){ } else { _join(_args[_local3]); }; _local3++; }; } public function toString():String{ var _local2:String; var _local3:String; var _local4:String; var _local5:int; var _local6:int; var _local7:String; var _local8:String; var _local1:Array = []; for (_local3 in this) { _local2 = this[_local3]; if (URIencode){ _local2 = encodeURI(_local2); }; _local1.push(((_local3 + "=") + _local2)); }; if (sort){ _local1.sort(); }; if (pre.length > 0){ pre.reverse(); _local5 = 0; while (_local5 < pre.length) { _local7 = pre[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local7) == 0){ _local1.unshift(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; pre.reverse(); }; if (post.length > 0){ _local5 = 0; while (_local5 < post.length) { _local8 = post[_local5]; _local6 = 0; while (_local6 < _local1.length) { _local4 = _local1[_local6]; if (_local4.indexOf(_local8) == 0){ _local1.push(_local1.splice(_local6, 1)[0]); }; _local6++; }; _local5++; }; }; return (_local1.join("&")); } public function decode(_arg1:String):void{ var _local2:Array; var _local3:String; var _local4:String; var _local5:String; var _local6:Array; if (_arg1 == ""){ return; }; if (_arg1.indexOf("&") > -1){ _local2 = _arg1.split("&"); } else { _local2 = [_arg1]; }; var _local7:int; while (_local7 < _local2.length) { _local3 = _local2[_local7]; if (_local3.indexOf("=") > -1){ _local6 = _local3.split("="); _local4 = _local6[0]; _local5 = decodeURI(_local6[1]); this[_local4] = _local5; }; _local7++; }; } public function toURLVariables():URLVariables{ var _local2:String; var _local1:URLVariables = new URLVariables(); for (_local2 in this) { _local1[_local2] = this[_local2]; }; return (_local1); } } }//package com.google.analytics.utils
Section 70
//Version (com.google.analytics.utils.Version) package com.google.analytics.utils { public class Version { private var _revision:uint; private var _maxBuild:uint;// = 0xFF private var _maxMinor:uint;// = 15 private var _maxMajor:uint;// = 15 private var _separator:String;// = "." private var _maxRevision:uint;// = 0xFFFF private var _build:uint; private var _major:uint; private var _minor:uint; public function Version(_arg1:uint=0, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0){ var _local5:Version; super(); if ((((((((_arg1 > _maxMajor)) && ((_arg2 == 0)))) && ((_arg3 == 0)))) && ((_arg4 == 0)))){ _local5 = Version.fromNumber(_arg1); _arg1 = _local5.major; _arg2 = _local5.minor; _arg3 = _local5.build; _arg4 = _local5.revision; }; this.major = _arg1; this.minor = _arg2; this.build = _arg3; this.revision = _arg4; } public function toString(_arg1:int=0):String{ var _local2:Array; if ((((_arg1 <= 0)) || ((_arg1 > 4)))){ _arg1 = getFields(); }; switch (_arg1){ case 1: _local2 = [major]; break; case 2: _local2 = [major, minor]; break; case 3: _local2 = [major, minor, build]; break; case 4: default: _local2 = [major, minor, build, revision]; }; return (_local2.join(_separator)); } public function set revision(_arg1:uint):void{ _revision = Math.min(_arg1, _maxRevision); } public function get revision():uint{ return (_revision); } public function set build(_arg1:uint):void{ _build = Math.min(_arg1, _maxBuild); } public function set minor(_arg1:uint):void{ _minor = Math.min(_arg1, _maxMinor); } public function get build():uint{ return (_build); } public function set major(_arg1:uint):void{ _major = Math.min(_arg1, _maxMajor); } public function get minor():uint{ return (_minor); } private function getFields():int{ var _local1 = 4; if (revision == 0){ _local1--; }; if ((((_local1 == 3)) && ((build == 0)))){ _local1--; }; if ((((_local1 == 2)) && ((minor == 0)))){ _local1--; }; return (_local1); } public function valueOf():uint{ return (((((major << 28) | (minor << 24)) | (build << 16)) | revision)); } public function get major():uint{ return (_major); } public function equals(_arg1):Boolean{ if (!(_arg1 is Version)){ return (false); }; if ((((((((_arg1.major == major)) && ((_arg1.minor == minor)))) && ((_arg1.build == build)))) && ((_arg1.revision == revision)))){ return (true); }; return (false); } public static function fromString(_arg1:String="", _arg2:String="."):Version{ var _local4:Array; var _local3:Version = new (Version); if ((((_arg1 == "")) || ((_arg1 == null)))){ return (_local3); }; if (_arg1.indexOf(_arg2) > -1){ _local4 = _arg1.split(_arg2); _local3.major = parseInt(_local4[0]); _local3.minor = parseInt(_local4[1]); _local3.build = parseInt(_local4[2]); _local3.revision = parseInt(_local4[3]); } else { _local3.major = parseInt(_arg1); }; return (_local3); } public static function fromNumber(_arg1:Number=0):Version{ var _local2:Version = new (Version); if (((((((((((isNaN(_arg1)) || ((_arg1 == 0)))) || ((_arg1 < 0)))) || ((_arg1 == Number.MAX_VALUE)))) || ((_arg1 == Number.POSITIVE_INFINITY)))) || ((_arg1 == Number.NEGATIVE_INFINITY)))){ return (_local2); }; _local2.major = (_arg1 >>> 28); _local2.minor = ((_arg1 & 251658240) >>> 24); _local2.build = ((_arg1 & 0xFF0000) >>> 16); _local2.revision = (_arg1 & 0xFFFF); return (_local2); } } }//package com.google.analytics.utils
Section 71
//Bridge (com.google.analytics.v4.Bridge) package com.google.analytics.v4 { import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.external.*; public class Bridge implements GoogleAnalyticsAPI { private var _debug:DebugConfiguration; private var _proxy:JavascriptProxy; private var _jsContainer:String;// = "_GATracker" private var _hasGATracker:Boolean;// = false private var _account:String; private static var _linkTrackingObject_js:XML = <script> <![CDATA[ function( container , target ) { var targets ; var name ; if( target.indexOf(".") > 0 ) { targets = target.split("."); name = targets.pop(); } else { targets = []; name = target; } var ref = window; var depth = targets.length; for( var j = 0 ; j < depth ; j++ ) { ref = ref[ targets[j] ] ; } window[container][target] = ref[name] ; } ]]> </script> ; private static var _createTrackingObject_js:XML = <script> <![CDATA[ function( acct ) { _GATracker[acct] = _gat._getTracker(acct); } ]]> </script> ; private static var _injectTrackingObject_js:XML = <script> <![CDATA[ function() { try { _GATracker } catch(e) { _GATracker = {}; } } ]]> </script> ; private static var _checkGAJS_js:XML = <script> <![CDATA[ function() { if( _gat && _gat._getTracker ) { return true; } return false; } ]]> </script> ; private static var _checkValidTrackingObject_js:XML = <script> <![CDATA[ function(acct) { if( _GATracker[acct] && (_GATracker[acct]._getAccount) ) { return true ; } else { return false; } } ]]> </script> ; public function Bridge(_arg1:String, _arg2:DebugConfiguration, _arg3:JavascriptProxy){ var _local4:String; var _local5:String; var _local6:String; super(); _account = _arg1; _debug = _arg2; _proxy = _arg3; if (!_checkGAJS()){ _local4 = ""; _local4 = (_local4 + "ga.js not found, be sure to check if\n"); _local4 = (_local4 + "<script src=\"http://www.google-analytics.com/ga.js\"></script>\n"); _local4 = (_local4 + "is included in the HTML."); _debug.warning(_local4); throw (new Error(_local4)); }; if (!_hasGATracker){ if (((_debug.javascript) && (_debug.verbose))){ _local5 = ""; _local5 = (_local5 + "The Google Analytics tracking code was not found on the container page\n"); _local5 = (_local5 + "we create it"); _debug.info(_local5, VisualDebugMode.advanced); }; _injectTrackingObject(); }; if (Utils.validateAccount(_arg1)){ _createTrackingObject(_arg1); } else { if (_checkTrackingObject(_arg1)){ _linkTrackingObject(_arg1); } else { _local6 = ""; _local6 = (_local6 + (("JS Object \"" + _arg1) + "\" doesn't exist in DOM\n")); _local6 = (_local6 + "Bridge object not created."); _debug.warning(_local6); throw (new Error(_local6)); }; }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.info((((("link( " + _arg1) + ", ") + _arg2) + " )")); _call("_link", _arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _call("_addOrganic", _arg1); } public function setAllowLinker(_arg1:Boolean):void{ _debug.info((("setAllowLinker( " + _arg1) + " )")); _call("_setAllowLinker", _arg1); } private function _linkTrackingObject(_arg1:String):void{ _proxy.call(_linkTrackingObject_js, _jsContainer, _arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5 = 2; if (((_arg3) && (!((_arg3 == ""))))){ _local5 = 3; }; if ((((_local5 == 3)) && (!(isNaN(_arg4))))){ _local5 = 4; }; switch (_local5){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3, _arg4)); case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2, _arg3)); case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); return (_call("_trackEvent", _arg1, _arg2)); }; } public function setClientInfo(_arg1:Boolean):void{ _debug.info((("setClientInfo( " + _arg1) + " )")); _call("_setClientInfo", _arg1); } public function trackTrans():void{ _debug.info("trackTrans()"); _call("_trackTrans"); } public function setCookieTimeout(_arg1:int):void{ _debug.info((("setCookieTimeout( " + _arg1) + " )")); _call("_setCookieTimeout", _arg1); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); _call("_trackPageview", _arg1); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_call("_getClientInfo")); } private function _checkValidTrackingObject(_arg1:String):Boolean{ return (_proxy.call(_checkValidTrackingObject_js, _arg1)); } private function _checkGAJS():Boolean{ return (_proxy.call(_checkGAJS_js)); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((((("linkByPost( " + _arg1) + ", ") + _arg2) + " ) not implemented")); } private function _call(_arg1:String, ... _args){ _args.unshift(((((("window." + _jsContainer) + "[\"") + _account) + "\"].") + _arg1)); return (_proxy.call.apply(_proxy, _args)); } public function hasGAJS():Boolean{ return (_checkGAJS()); } private function _checkTrackingObject(_arg1:String):Boolean{ var _local2:Boolean = _proxy.hasProperty(_arg1); var _local3:Boolean = _proxy.hasProperty((_arg1 + "._getAccount")); return (((_local2) && (_local3))); } public function resetSession():void{ _debug.warning("resetSession() not implemented"); } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_call("_getDetectTitle")); } public function setCampNameKey(_arg1:String):void{ _debug.info((("setCampNameKey( " + _arg1) + " )")); _call("_setCampNameKey", _arg1); } public function setDetectFlash(_arg1:Boolean):void{ _debug.info((("setDetectFlash( " + _arg1) + " )")); _call("_setDetectFlash", _arg1); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.info((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " )")); _call("_addItem", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _call("_clearIgnoreOrganic"); } public function setVar(_arg1:String):void{ _debug.info((("setVar( " + _arg1) + " )")); _call("_setVar", _arg1); } public function setDomainName(_arg1:String):void{ _debug.info((("setDomainName( " + _arg1) + " )")); _call("_setDomainName", _arg1); } public function hasTrackingAccount(_arg1:String):Boolean{ if (Utils.validateAccount(_arg1)){ return (_checkValidTrackingObject(_arg1)); }; return (_checkTrackingObject(_arg1)); } public function setCampSourceKey(_arg1:String):void{ _debug.info((("setCampSourceKey( " + _arg1) + " )")); _call("_setCampSourceKey", _arg1); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.info((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " )")); _call("_addTrans", _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8); return (null); } public function setCampContentKey(_arg1:String):void{ _debug.info((("setCampContentKey( " + _arg1) + " )")); _call("_setCampContentKey", _arg1); } public function setLocalServerMode():void{ _debug.info("setLocalServerMode()"); _call("_setLocalServerMode"); } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_call("_getLocalGifPath")); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _call("_clearIgnoreRef"); } public function setAllowAnchor(_arg1:Boolean):void{ _debug.info((("setAllowAnchor( " + _arg1) + " )")); _call("_setAllowAnchor", _arg1); } public function setLocalGifPath(_arg1:String):void{ _debug.info((("setLocalGifPath( " + _arg1) + " )")); _call("_setLocalGifPath", _arg1); } public function getVersion():String{ _debug.info("getVersion()"); return (_call("_getVersion")); } private function _injectTrackingObject():void{ _proxy.executeBlock(_injectTrackingObject_js); _hasGATracker = true; } public function setCookiePath(_arg1:String):void{ _debug.info((("setCookiePath( " + _arg1) + " )")); _call("_setCookiePath", _arg1); } public function setSampleRate(_arg1:Number):void{ _debug.info((("setSampleRate( " + _arg1) + " )")); _call("_setSampleRate", _arg1); } public function setAllowHash(_arg1:Boolean):void{ _debug.info((("setAllowHash( " + _arg1) + " )")); _call("_setAllowHash", _arg1); } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _call("_addIgnoredOrganic", _arg1); } public function setCampNOKey(_arg1:String):void{ _debug.info((("setCampNOKey( " + _arg1) + " )")); _call("_setCampNOKey", _arg1); } public function cookiePathCopy(_arg1:String):void{ _debug.info((("cookiePathCopy( " + _arg1) + " )")); _call("_cookiePathCopy", _arg1); } public function setLocalRemoteServerMode():void{ _debug.info("setLocalRemoteServerMode()"); _call("_setLocalRemoteServerMode"); } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_call("_getServiceMode")); } public function setDetectTitle(_arg1:Boolean):void{ _debug.info((("setDetectTitle( " + _arg1) + " )")); _call("_setDetectTitle", _arg1); } private function _createTrackingObject(_arg1:String):void{ _proxy.call(_createTrackingObject_js, _arg1); } public function setCampaignTrack(_arg1:Boolean):void{ _debug.info((("setCampaignTrack( " + _arg1) + " )")); _call("_setCampaignTrack", _arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _call("_clearOrganic"); } public function setCampTermKey(_arg1:String):void{ _debug.info((("setCampTermKey( " + _arg1) + " )")); _call("_setCampTermKey", _arg1); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_call("_getDetectFlash")); } public function setCampMediumKey(_arg1:String):void{ _debug.info((("setCampMediumKey( " + _arg1) + " )")); _call("_setCampMediumKey", _arg1); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _call("_addIgnoredRef", _arg1); } public function setSessionTimeout(_arg1:int):void{ _debug.info((("setSessionTimeout( " + _arg1) + " )")); _call("_setSessionTimeout", _arg1); } public function setRemoteServerMode():void{ _debug.info("setRemoteServerMode()"); _call("_setRemoteServerMode"); } public function getAccount():String{ _debug.info("getAccount()"); return (_call("_getAccount")); } } }//package com.google.analytics.v4
Section 72
//Configuration (com.google.analytics.v4.Configuration) package com.google.analytics.v4 { import com.google.analytics.utils.*; import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.campaign.*; public class Configuration { public var serverMode:ServerOperationMode; public var detectFlash:Boolean;// = true public var hasSiteOverlay:Boolean;// = false public var allowLocalTracking:Boolean;// = true public var secureRemoteGIFpath:String;// = "https://ssl.google-analytics.com/__utm.gif" private var _version:String;// = "4.3as" public var allowDomainHash:Boolean;// = true public var detectClientInfo:Boolean;// = true public var idleLoop:Number;// = 30 public var isTrackOutboundSubdomains:Boolean;// = false public var cookiePath:String;// = "/" public var transactionFieldDelim:String;// = "|" private var _organic:Organic; private var _cookieName:String;// = "analytics" public var campaignKey:CampaignKey; public var google:String;// = "google" public var googleCsePath:String;// = "cse" public var bucketCapacity:Number;// = 10 private var _sampleRate:Number;// = 1 public var remoteGIFpath:String;// = "http://www.google-analytics.com/__utm.gif" public var googleSearchParam:String;// = "q" public var allowLinker:Boolean;// = false public var maxOutboundLinkExamined:Number;// = 1000 private var _debug:DebugConfiguration; public var allowAnchor:Boolean;// = false private var _domain:Domain; private var _trackingLimitPerSession:int;// = 500 public var tokenCliff:int;// = 10 public var sessionTimeout:Number; public var idleTimeout:Number;// = 60 public var campaignTracking:Boolean;// = true public var domainName:String;// = "" public var detectTitle:Boolean;// = true public var tokenRate:Number;// = 0.2 public var conversionTimeout:Number; public var localGIFpath:String;// = "/__utm.gif" public function Configuration(_arg1:DebugConfiguration=null){ _organic = new Organic(); conversionTimeout = Timespan.sixmonths; sessionTimeout = Timespan.thirtyminutes; campaignKey = new CampaignKey(); serverMode = ServerOperationMode.remote; super(); _debug = _arg1; _domain = new Domain(DomainNameMode.auto, "", _debug); serverMode = ServerOperationMode.remote; _initOrganicSources(); } public function get organic():Organic{ return (_organic); } public function get cookieName():String{ return (_cookieName); } public function get trackingLimitPerSession():int{ return (_trackingLimitPerSession); } private function _initOrganicSources():void{ addOrganicSource(google, googleSearchParam); addOrganicSource("yahoo", "p"); addOrganicSource("msn", "q"); addOrganicSource("aol", "query"); addOrganicSource("aol", "encquery"); addOrganicSource("lycos", "query"); addOrganicSource("ask", "q"); addOrganicSource("altavista", "q"); addOrganicSource("netscape", "query"); addOrganicSource("cnn", "query"); addOrganicSource("looksmart", "qt"); addOrganicSource("about", "terms"); addOrganicSource("mamma", "query"); addOrganicSource("alltheweb", "q"); addOrganicSource("gigablast", "q"); addOrganicSource("voila", "rdata"); addOrganicSource("virgilio", "qs"); addOrganicSource("live", "q"); addOrganicSource("baidu", "wd"); addOrganicSource("alice", "qs"); addOrganicSource("yandex", "text"); addOrganicSource("najdi", "q"); addOrganicSource("aol", "q"); addOrganicSource("club-internet", "q"); addOrganicSource("mama", "query"); addOrganicSource("seznam", "q"); addOrganicSource("search", "q"); addOrganicSource("wp", "szukaj"); addOrganicSource("onet", "qt"); addOrganicSource("netsprint", "q"); addOrganicSource("google.interia", "q"); addOrganicSource("szukacz", "q"); addOrganicSource("yam", "k"); addOrganicSource("pchome", "q"); addOrganicSource("kvasir", "searchExpr"); addOrganicSource("sesam", "q"); addOrganicSource("ozu", "q"); addOrganicSource("terra", "query"); addOrganicSource("nostrum", "query"); addOrganicSource("mynet", "q"); addOrganicSource("ekolay", "q"); addOrganicSource("search.ilse", "search_for"); } public function get sampleRate():Number{ return (_sampleRate); } public function addOrganicSource(_arg1:String, _arg2:String):void{ var engine = _arg1; var keyword = _arg2; try { _organic.addSource(engine, keyword); } catch(e:Error) { if (((_debug) && (_debug.active))){ _debug.warning(e.message); }; }; } public function get domain():Domain{ return (_domain); } public function set sampleRate(_arg1:Number):void{ if (_arg1 <= 0){ _arg1 = 0.1; }; if (_arg1 > 1){ _arg1 = 1; }; _arg1 = Number(_arg1.toFixed(2)); _sampleRate = _arg1; } public function get version():String{ return (_version); } } }//package com.google.analytics.v4
Section 73
//GoogleAnalyticsAPI (com.google.analytics.v4.GoogleAnalyticsAPI) package com.google.analytics.v4 { import com.google.analytics.core.*; public interface GoogleAnalyticsAPI { function setCampSourceKey(_arg1:String):void; function getServiceMode():ServerOperationMode; function resetSession():void; function setLocalServerMode():void; function setCampContentKey(_arg1:String):void; function addOrganic(_arg1:String, _arg2:String):void; function setDetectFlash(_arg1:Boolean):void; function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object; function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean; function setCampTermKey(_arg1:String):void; function setCampNameKey(_arg1:String):void; function addIgnoredOrganic(_arg1:String):void; function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void; function setAllowLinker(_arg1:Boolean):void; function getClientInfo():Boolean; function getDetectFlash():Boolean; function setCampaignTrack(_arg1:Boolean):void; function createEventTracker(_arg1:String):EventTracker; function setCookieTimeout(_arg1:int):void; function setAllowAnchor(_arg1:Boolean):void; function trackTrans():void; function clearOrganic():void; function trackPageview(_arg1:String=""):void; function setLocalGifPath(_arg1:String):void; function getVersion():String; function getLocalGifPath():String; function setVar(_arg1:String):void; function clearIgnoredOrganic():void; function setCampMediumKey(_arg1:String):void; function addIgnoredRef(_arg1:String):void; function setClientInfo(_arg1:Boolean):void; function setCookiePath(_arg1:String):void; function setSampleRate(_arg1:Number):void; function setSessionTimeout(_arg1:int):void; function setRemoteServerMode():void; function clearIgnoredRef():void; function setDomainName(_arg1:String):void; function setDetectTitle(_arg1:Boolean):void; function setAllowHash(_arg1:Boolean):void; function getAccount():String; function linkByPost(_arg1:Object, _arg2:Boolean=false):void; function link(_arg1:String, _arg2:Boolean=false):void; function setCampNOKey(_arg1:String):void; function setLocalRemoteServerMode():void; function cookiePathCopy(_arg1:String):void; function getDetectTitle():Boolean; } }//package com.google.analytics.v4
Section 74
//Tracker (com.google.analytics.v4.Tracker) package com.google.analytics.v4 { import com.google.analytics.utils.*; import com.google.analytics.core.*; import com.google.analytics.debug.*; import com.google.analytics.data.*; import com.google.analytics.external.*; import com.google.analytics.campaign.*; public class Tracker implements GoogleAnalyticsAPI { private const EVENT_TRACKER_LABEL_KEY_NUM:int = 3; private const EVENT_TRACKER_VALUE_VALUE_NUM:int = 1; private const EVENT_TRACKER_PROJECT_ID:int = 5; private const EVENT_TRACKER_OBJECT_NAME_KEY_NUM:int = 1; private const EVENT_TRACKER_TYPE_KEY_NUM:int = 2; private var _adSense:AdSenseGlobals; private var _eventTracker:X10; private var _noSessionInformation:Boolean;// = false private var _browserInfo:BrowserInfo; private var _debug:DebugConfiguration; private var _isNewVisitor:Boolean;// = false private var _buffer:Buffer; private var _config:Configuration; private var _x10Module:X10; private var _campaign:CampaignManager; private var _formatedReferrer:String; private var _timeStamp:Number; private var _info:Environment; private var _domainHash:Number; private var _campaignInfo:CampaignInfo; private var _gifRequest:GIFRequest; private var _hasInitData:Boolean;// = false private var _account:String; public function Tracker(_arg1:String, _arg2:Configuration, _arg3:DebugConfiguration, _arg4:Environment, _arg5:Buffer, _arg6:GIFRequest, _arg7:AdSenseGlobals){ var _local8:String; super(); _account = _arg1; _config = _arg2; _debug = _arg3; _info = _arg4; _buffer = _arg5; _gifRequest = _arg6; _adSense = _arg7; if (!Utils.validateAccount(_arg1)){ _local8 = (("Account \"" + _arg1) + "\" is not valid."); _debug.warning(_local8); throw (new Error(_local8)); }; _initData(); } private function _doTracking():Boolean{ if (((((!((_info.protocol == Protocols.file))) && (!((_info.protocol == Protocols.none))))) && (_isNotGoogleSearch()))){ return (true); }; if (_config.allowLocalTracking){ return (true); }; return (false); } public function addOrganic(_arg1:String, _arg2:String):void{ _debug.info((("addOrganic( " + [_arg1, _arg2].join(", ")) + " )")); _config.organic.addSource(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _config.allowLinker = _arg1; _debug.info((("setAllowLinker( " + _config.allowLinker) + " )")); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ var _local5:Boolean; var _local6 = 2; if (((!((_arg1 == ""))) && (!((_arg2 == ""))))){ _eventTracker.clearKey(EVENT_TRACKER_PROJECT_ID); _eventTracker.clearValue(EVENT_TRACKER_PROJECT_ID); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_OBJECT_NAME_KEY_NUM, _arg1); _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_TYPE_KEY_NUM, _arg2); if (((_arg3) && (!((_arg3 == ""))))){ _local5 = _eventTracker.setKey(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_LABEL_KEY_NUM, _arg3); _local6 = 3; if (!isNaN(_arg4)){ _local5 = _eventTracker.setValue(EVENT_TRACKER_PROJECT_ID, EVENT_TRACKER_VALUE_VALUE_NUM, _arg4); _local6 = 4; }; }; if (_local5){ _debug.info(((("valid event tracking call\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _sendXEvent(_eventTracker); }; } else { _debug.warning(((("event tracking call is not valid, failed!\ncategory: " + _arg1) + "\naction: ") + _arg2), VisualDebugMode.geek); _local5 = false; }; switch (_local6){ case 4: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3, _arg4].join(", ")) + " )")); break; case 3: _debug.info((("trackEvent( " + [_arg1, _arg2, _arg3].join(", ")) + " )")); break; case 2: default: _debug.info((("trackEvent( " + [_arg1, _arg2].join(", ")) + " )")); }; return (_local5); } public function trackPageview(_arg1:String=""):void{ _debug.info((("trackPageview( " + _arg1) + " )")); if (_doTracking()){ _initData(); _trackMetrics(_arg1); _noSessionInformation = false; } else { _debug.warning((("trackPageview( " + _arg1) + " ) failed")); }; } public function setCookieTimeout(_arg1:int):void{ _config.conversionTimeout = _arg1; _debug.info((("setCookieTimeout( " + _config.conversionTimeout) + " )")); } public function trackTrans():void{ _debug.warning("trackTrans() not implemented"); } public function setClientInfo(_arg1:Boolean):void{ _config.detectClientInfo = _arg1; _debug.info((("setClientInfo( " + _config.detectClientInfo) + " )")); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _debug.warning((("linkByPost( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } private function _initData():void{ var _local1:String; var _local2:String; if (!_hasInitData){ _updateDomainName(); _domainHash = _getDomainHash(); _timeStamp = Math.round((new Date().getTime() / 1000)); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "_initData 0"); _local1 = (_local1 + ("\ndomain name: " + _config.domainName)); _local1 = (_local1 + ("\ndomain hash: " + _domainHash)); _local1 = (_local1 + (((("\ntimestamp: " + _timeStamp) + " (") + new Date((_timeStamp * 1000))) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_doTracking()){ _handleCookie(); }; if (!_hasInitData){ if (_doTracking()){ _formatedReferrer = _formatReferrer(); _browserInfo = new BrowserInfo(_config, _info); _debug.info(("browserInfo: " + _browserInfo.toURLString()), VisualDebugMode.advanced); if (_config.campaignTracking){ _campaign = new CampaignManager(_config, _debug, _buffer, _domainHash, _formatedReferrer, _timeStamp); _campaignInfo = _campaign.getCampaignInformation(_info.locationSearch, _noSessionInformation); _debug.info(("campaignInfo: " + _campaignInfo.toURLString()), VisualDebugMode.advanced); }; }; _x10Module = new X10(); _eventTracker = new X10(); _hasInitData = true; }; if (_config.hasSiteOverlay){ _debug.warning("Site Overlay is not supported"); }; if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "_initData (misc)"); _local2 = (_local2 + ("\nflash version: " + _info.flashVersion.toString(4))); _local2 = (_local2 + ("\nprotocol: " + _info.protocol)); _local2 = (_local2 + (("\ndefault domain name (auto): \"" + _info.domainName) + "\"")); _local2 = (_local2 + ("\nlanguage: " + _info.language)); _local2 = (_local2 + ("\ndomain hash: " + _getDomainHash())); _local2 = (_local2 + ("\nuser-agent: " + _info.userAgent)); _debug.info(_local2, VisualDebugMode.geek); }; } public function getDetectTitle():Boolean{ _debug.info("getDetectTitle()"); return (_config.detectTitle); } public function resetSession():void{ _debug.info("resetSession()"); _buffer.resetCurrentSession(); } public function getClientInfo():Boolean{ _debug.info("getClientInfo()"); return (_config.detectClientInfo); } private function _sendXEvent(_arg1:X10=null):void{ var _local2:Variables; var _local3:EventInfo; var _local4:Variables; var _local5:Variables; _initData(); if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; _local3 = new EventInfo(true, _x10Module, _arg1); _local4 = _local3.toVariables(); _local5 = _renderMetricsSearchVariables(); _local2.join(_local4, _local5); _gifRequest.send(_account, _local2, false, true); }; } public function setDetectFlash(_arg1:Boolean):void{ _config.detectFlash = _arg1; _debug.info((("setDetectFlash( " + _config.detectFlash) + " )")); } public function setCampNameKey(_arg1:String):void{ _config.campaignKey.UCCN = _arg1; var _local2 = (("setCampNameKey( " + _config.campaignKey.UCCN) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCN]")); } else { _debug.info(_local2); }; } private function _formatReferrer():String{ var _local2:String; var _local3:URL; var _local4:URL; var _local1:String = _info.referrer; if ((((_local1 == "")) || ((_local1 == "localhost")))){ _local1 = "-"; } else { _local2 = _info.domainName; _local3 = new URL(_local1); _local4 = new URL(("http://" + _local2)); if (_local3.hostName == _local2){ return ("-"); }; if (_local4.domain == _local3.domain){ if (_local4.subDomain != _local3.subDomain){ _local1 = "0"; }; }; if ((((_local1.charAt(0) == "[")) && (_local1.charAt((_local1.length - 1))))){ _local1 = "-"; }; }; _debug.info(("formated referrer: " + _local1), VisualDebugMode.advanced); return (_local1); } private function _visitCode():Number{ if (_debug.verbose){ _debug.info(("visitCode: " + _buffer.utma.sessionId), VisualDebugMode.geek); }; return (_buffer.utma.sessionId); } public function createEventTracker(_arg1:String):EventTracker{ _debug.info((("createEventTracker( " + _arg1) + " )")); return (new EventTracker(_arg1, this)); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _debug.warning((("addItem( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6].join(", ")) + " ) not implemented")); } public function clearIgnoredOrganic():void{ _debug.info("clearIgnoredOrganic()"); _config.organic.clearIgnoredKeywords(); } public function setVar(_arg1:String):void{ var _local2:Variables; if (((!((_arg1 == ""))) && (_isNotGoogleSearch()))){ _initData(); _buffer.utmv.domainHash = _domainHash; _buffer.utmv.value = _arg1; if (_debug.verbose){ _debug.info(_buffer.utmv.toString(), VisualDebugMode.geek); }; _debug.info((("setVar( " + _arg1) + " )")); if (_takeSample()){ _local2 = new Variables(); _local2.utmt = "var"; _gifRequest.send(_account, _local2); }; } else { _debug.warning((("setVar \"" + _arg1) + "\" is ignored")); }; } public function setDomainName(_arg1:String):void{ if (_arg1 == "auto"){ _config.domain.mode = DomainNameMode.auto; } else { if (_arg1 == "none"){ _config.domain.mode = DomainNameMode.none; } else { _config.domain.mode = DomainNameMode.custom; _config.domain.name = _arg1; }; }; _updateDomainName(); _debug.info((("setDomainName( " + _config.domainName) + " )")); } private function _updateDomainName():void{ var _local1:String; if (_config.domain.mode == DomainNameMode.auto){ _local1 = _info.domainName; if (_local1.substring(0, 4) == "www."){ _local1 = _local1.substring(4); }; _config.domain.name = _local1; }; _config.domainName = _config.domain.name.toLowerCase(); _debug.info(("domain name: " + _config.domainName), VisualDebugMode.advanced); } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ _debug.warning((("addTrans( " + [_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8].join(", ")) + " ) not implemented")); return (null); } private function _renderMetricsSearchVariables(_arg1:String=""):Variables{ var _local4:Variables; var _local2:Variables = new Variables(); _local2.URIencode = true; var _local3:DocumentInfo = new DocumentInfo(_config, _info, _formatedReferrer, _arg1, _adSense); _debug.info(("docInfo: " + _local3.toURLString()), VisualDebugMode.geek); if (_config.campaignTracking){ _local4 = _campaignInfo.toVariables(); }; var _local5:Variables = _browserInfo.toVariables(); _local2.join(_local3.toVariables(), _local5, _local4); return (_local2); } public function setCampContentKey(_arg1:String):void{ _config.campaignKey.UCCT = _arg1; var _local2 = (("setCampContentKey( " + _config.campaignKey.UCCT) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCCT]")); } else { _debug.info(_local2); }; } private function _handleCookie():void{ var _local1:String; var _local2:String; var _local3:Array; var _local4:String; if (_config.allowLinker){ }; if (((_buffer.hasUTMA()) && (!(_buffer.utma.isEmpty())))){ if (((!(_buffer.hasUTMB())) || (!(_buffer.hasUTMC())))){ _buffer.updateUTMA(_timeStamp); _noSessionInformation = true; }; if (_debug.verbose){ _debug.info(("from cookie " + _buffer.utma.toString()), VisualDebugMode.geek); }; } else { _debug.info("create a new utma", VisualDebugMode.advanced); _buffer.utma.domainHash = _domainHash; _buffer.utma.sessionId = _getUniqueSessionId(); _buffer.utma.firstTime = _timeStamp; _buffer.utma.lastTime = _timeStamp; _buffer.utma.currentTime = _timeStamp; _buffer.utma.sessionCount = 1; if (_debug.verbose){ _debug.info(_buffer.utma.toString(), VisualDebugMode.geek); }; _noSessionInformation = true; _isNewVisitor = true; }; if (((_adSense.gaGlobal) && ((_adSense.dh == String(_domainHash))))){ if (_adSense.sid){ _buffer.utma.currentTime = Number(_adSense.sid); if (_debug.verbose){ _local1 = ""; _local1 = (_local1 + "AdSense sid found\n"); _local1 = (_local1 + (((("Override currentTime(" + _buffer.utma.currentTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local1, VisualDebugMode.geek); }; }; if (_isNewVisitor){ if (_adSense.sid){ _buffer.utma.lastTime = Number(_adSense.sid); if (_debug.verbose){ _local2 = ""; _local2 = (_local2 + "AdSense sid found (new visitor)\n"); _local2 = (_local2 + (((("Override lastTime(" + _buffer.utma.lastTime) + ") from AdSense sid(") + Number(_adSense.sid)) + ")")); _debug.info(_local2, VisualDebugMode.geek); }; }; if (_adSense.vid){ _local3 = _adSense.vid.split("."); _buffer.utma.sessionId = Number(_local3[0]); _buffer.utma.firstTime = Number(_local3[1]); if (_debug.verbose){ _local4 = ""; _local4 = (_local4 + "AdSense vid found (new visitor)\n"); _local4 = (_local4 + (((("Override sessionId(" + _buffer.utma.sessionId) + ") from AdSense vid(") + Number(_local3[0])) + ")\n")); _local4 = (_local4 + (((("Override firstTime(" + _buffer.utma.firstTime) + ") from AdSense vid(") + Number(_local3[1])) + ")")); _debug.info(_local4, VisualDebugMode.geek); }; }; if (_debug.verbose){ _debug.info(("AdSense modified : " + _buffer.utma.toString()), VisualDebugMode.geek); }; }; }; _buffer.utmb.domainHash = _domainHash; if (isNaN(_buffer.utmb.trackCount)){ _buffer.utmb.trackCount = 0; }; if (isNaN(_buffer.utmb.token)){ _buffer.utmb.token = _config.tokenCliff; }; if (isNaN(_buffer.utmb.lastTime)){ _buffer.utmb.lastTime = _buffer.utma.currentTime; }; _buffer.utmc.domainHash = _domainHash; if (_debug.verbose){ _debug.info(_buffer.utmb.toString(), VisualDebugMode.advanced); _debug.info(_buffer.utmc.toString(), VisualDebugMode.advanced); }; } public function setLocalServerMode():void{ _config.serverMode = ServerOperationMode.local; _debug.info("setLocalServerMode()"); } public function clearIgnoredRef():void{ _debug.info("clearIgnoredRef()"); _config.organic.clearIgnoredReferrals(); } public function setCampSourceKey(_arg1:String):void{ _config.campaignKey.UCSR = _arg1; var _local2 = (("setCampSourceKey( " + _config.campaignKey.UCSR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCSR]")); } else { _debug.info(_local2); }; } public function getLocalGifPath():String{ _debug.info("getLocalGifPath()"); return (_config.localGIFpath); } public function setLocalGifPath(_arg1:String):void{ _config.localGIFpath = _arg1; _debug.info((("setLocalGifPath( " + _config.localGIFpath) + " )")); } public function getVersion():String{ _debug.info("getVersion()"); return (_config.version); } public function setAllowAnchor(_arg1:Boolean):void{ _config.allowAnchor = _arg1; _debug.info((("setAllowAnchor( " + _config.allowAnchor) + " )")); } private function _isNotGoogleSearch():Boolean{ var _local1:String = _config.domainName; var _local2 = (_local1.indexOf("www.google.") < 0); var _local3 = (_local1.indexOf(".google.") < 0); var _local4 = (_local1.indexOf("google.") < 0); var _local5 = (_local1.indexOf("google.org") > -1); return (((((((((_local2) || (_local3))) || (_local4))) || (!((_config.cookiePath == "/"))))) || (_local5))); } public function setSampleRate(_arg1:Number):void{ if (_arg1 < 0){ _debug.warning("sample rate can not be negative, ignoring value."); } else { _config.sampleRate = _arg1; }; _debug.info((("setSampleRate( " + _config.sampleRate) + " )")); } private function _takeSample():Boolean{ if (_debug.verbose){ _debug.info((((("takeSample: (" + (_visitCode() % 10000)) + ") < (") + (_config.sampleRate * 10000)) + ")"), VisualDebugMode.geek); }; return (((_visitCode() % 10000) < (_config.sampleRate * 10000))); } public function setCookiePath(_arg1:String):void{ _config.cookiePath = _arg1; _debug.info((("setCookiePath( " + _config.cookiePath) + " )")); } public function setAllowHash(_arg1:Boolean):void{ _config.allowDomainHash = _arg1; _debug.info((("setAllowHash( " + _config.allowDomainHash) + " )")); } private function _generateUserDataHash():Number{ var _local1 = ""; _local1 = (_local1 + _info.appName); _local1 = (_local1 + _info.appVersion); _local1 = (_local1 + _info.language); _local1 = (_local1 + _info.platform); _local1 = (_local1 + _info.userAgent.toString()); _local1 = (_local1 + (((_info.screenWidth + "x") + _info.screenHeight) + _info.screenColorDepth)); _local1 = (_local1 + _info.referrer); return (Utils.generateHash(_local1)); } public function setCampNOKey(_arg1:String):void{ _config.campaignKey.UCNO = _arg1; var _local2 = (("setCampNOKey( " + _config.campaignKey.UCNO) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCNO]")); } else { _debug.info(_local2); }; } public function addIgnoredOrganic(_arg1:String):void{ _debug.info((("addIgnoredOrganic( " + _arg1) + " )")); _config.organic.addIgnoredKeyword(_arg1); } public function setLocalRemoteServerMode():void{ _config.serverMode = ServerOperationMode.both; _debug.info("setLocalRemoteServerMode()"); } public function cookiePathCopy(_arg1:String):void{ _debug.warning((("cookiePathCopy( " + _arg1) + " ) not implemented")); } public function setDetectTitle(_arg1:Boolean):void{ _config.detectTitle = _arg1; _debug.info((("setDetectTitle( " + _config.detectTitle) + " )")); } public function setCampTermKey(_arg1:String):void{ _config.campaignKey.UCTR = _arg1; var _local2 = (("setCampTermKey( " + _config.campaignKey.UCTR) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCTR]")); } else { _debug.info(_local2); }; } public function getServiceMode():ServerOperationMode{ _debug.info("getServiceMode()"); return (_config.serverMode); } private function _trackMetrics(_arg1:String=""):void{ var _local2:Variables; var _local3:Variables; var _local4:Variables; var _local5:EventInfo; if (_takeSample()){ _local2 = new Variables(); _local2.URIencode = true; if (((_x10Module) && (_x10Module.hasData()))){ _local5 = new EventInfo(false, _x10Module); _local3 = _local5.toVariables(); }; _local4 = _renderMetricsSearchVariables(_arg1); _local2.join(_local3, _local4); _gifRequest.send(_account, _local2); }; } public function setCampaignTrack(_arg1:Boolean):void{ _config.campaignTracking = _arg1; _debug.info((("setCampaignTrack( " + _config.campaignTracking) + " )")); } public function addIgnoredRef(_arg1:String):void{ _debug.info((("addIgnoredRef( " + _arg1) + " )")); _config.organic.addIgnoredReferral(_arg1); } public function clearOrganic():void{ _debug.info("clearOrganic()"); _config.organic.clearEngines(); } public function getDetectFlash():Boolean{ _debug.info("getDetectFlash()"); return (_config.detectFlash); } public function setCampMediumKey(_arg1:String):void{ _config.campaignKey.UCMD = _arg1; var _local2 = (("setCampMediumKey( " + _config.campaignKey.UCMD) + " )"); if (_debug.mode == VisualDebugMode.geek){ _debug.info((_local2 + " [UCMD]")); } else { _debug.info(_local2); }; } private function _getUniqueSessionId():Number{ var _local1:Number = ((Utils.generate32bitRandom() ^ _generateUserDataHash()) * 2147483647); _debug.info(("Session ID: " + _local1), VisualDebugMode.geek); return (_local1); } private function _getDomainHash():Number{ if (((((!(_config.domainName)) || ((_config.domainName == "")))) || ((_config.domain.mode == DomainNameMode.none)))){ _config.domainName = ""; return (1); }; _updateDomainName(); if (_config.allowDomainHash){ return (Utils.generateHash(_config.domainName)); }; return (1); } public function setSessionTimeout(_arg1:int):void{ _config.sessionTimeout = _arg1; _debug.info((("setSessionTimeout( " + _config.sessionTimeout) + " )")); } public function getAccount():String{ _debug.info("getAccount()"); return (_account); } public function link(_arg1:String, _arg2:Boolean=false):void{ _debug.warning((("link( " + [_arg1, _arg2].join(", ")) + " ) not implemented")); } public function setRemoteServerMode():void{ _config.serverMode = ServerOperationMode.remote; _debug.info("setRemoteServerMode()"); } } }//package com.google.analytics.v4
Section 75
//AnalyticsTracker (com.google.analytics.AnalyticsTracker) package com.google.analytics { import flash.events.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; public interface AnalyticsTracker extends GoogleAnalyticsAPI, IEventDispatcher { function set account(_arg1:String):void; function get config():Configuration; function get mode():String; function set config(_arg1:Configuration):void; function set mode(_arg1:String):void; function set debug(_arg1:DebugConfiguration):void; function get visualDebug():Boolean; function get account():String; function set visualDebug(_arg1:Boolean):void; function isReady():Boolean; function get debug():DebugConfiguration; } }//package com.google.analytics
Section 76
//API (com.google.analytics.API) package com.google.analytics { import com.google.analytics.utils.*; public class API { public static var version:Version = new Version(); version.major = 1; version.minor = 0; version.build = 1; version.revision = "$Rev: 319 $ ".split(" ")[1]; } }//package com.google.analytics
Section 77
//GATracker (com.google.analytics.GATracker) package com.google.analytics { import com.google.analytics.utils.*; import flash.events.*; import com.google.analytics.core.*; import com.google.analytics.v4.*; import com.google.analytics.debug.*; import flash.display.*; import com.google.analytics.external.*; import com.google.analytics.events.*; public class GATracker implements AnalyticsTracker { private var _adSense:AdSenseGlobals; private var _env:Environment; private var _visualDebug:Boolean; private var _idleTimer:IdleTimer; private var _debug:DebugConfiguration; private var _buffer:Buffer; private var _config:Configuration; private var _mode:String; private var _display:DisplayObject; private var _jsproxy:JavascriptProxy; private var _dom:HTMLDOM; private var _eventDispatcher:EventDispatcher; private var _ready:Boolean;// = false private var _gifRequest:GIFRequest; private var _account:String; private var _tracker:GoogleAnalyticsAPI; public static var version:Version = API.version; public static var autobuild:Boolean = true; public function GATracker(_arg1:DisplayObject, _arg2:String, _arg3:String="AS3", _arg4:Boolean=false, _arg5:Configuration=null, _arg6:DebugConfiguration=null){ _display = _arg1; _eventDispatcher = new EventDispatcher(this); _tracker = new TrackerCache(); this.account = _arg2; this.mode = _arg3; this.visualDebug = _arg4; if (!_arg6){ this.debug = new DebugConfiguration(); }; if (!_arg5){ this.config = new Configuration(_arg6); }; if (autobuild){ _factory(); }; } public function link(_arg1:String, _arg2:Boolean=false):void{ _tracker.link(_arg1, _arg2); } public function addOrganic(_arg1:String, _arg2:String):void{ _tracker.addOrganic(_arg1, _arg2); } public function setAllowLinker(_arg1:Boolean):void{ _tracker.setAllowLinker(_arg1); } public function trackEvent(_arg1:String, _arg2:String, _arg3:String=null, _arg4:Number=NaN):Boolean{ return (_tracker.trackEvent(_arg1, _arg2, _arg3, _arg4)); } public function setCookieTimeout(_arg1:int):void{ _tracker.setCookieTimeout(_arg1); } public function trackTrans():void{ _tracker.trackTrans(); } public function getClientInfo():Boolean{ return (_tracker.getClientInfo()); } public function trackPageview(_arg1:String=""):void{ _tracker.trackPageview(_arg1); } public function setClientInfo(_arg1:Boolean):void{ _tracker.setClientInfo(_arg1); } public function get account():String{ return (_account); } public function linkByPost(_arg1:Object, _arg2:Boolean=false):void{ _tracker.linkByPost(_arg1, _arg2); } public function getDetectTitle():Boolean{ return (_tracker.getDetectTitle()); } public function dispatchEvent(_arg1:Event):Boolean{ return (_eventDispatcher.dispatchEvent(_arg1)); } public function get config():Configuration{ return (_config); } public function set mode(_arg1:String):void{ _mode = _arg1; } public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } public function setDetectFlash(_arg1:Boolean):void{ _tracker.setDetectFlash(_arg1); } public function resetSession():void{ _tracker.resetSession(); } public function setCampNameKey(_arg1:String):void{ _tracker.setCampNameKey(_arg1); } public function get debug():DebugConfiguration{ return (_debug); } public function addItem(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Number, _arg6:int):void{ _tracker.addItem(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6); } private function _bridgeFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (Bridge) v" + version) + "\naccount: ") + account)); return (new Bridge(account, _debug, _jsproxy)); } public function clearIgnoredOrganic():void{ _tracker.clearIgnoredOrganic(); } public function set account(_arg1:String):void{ _account = _arg1; } public function setVar(_arg1:String):void{ _tracker.setVar(_arg1); } public function build():void{ if (!isReady()){ _factory(); }; } public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public function setDomainName(_arg1:String):void{ _tracker.setDomainName(_arg1); } public function createEventTracker(_arg1:String):EventTracker{ return (_tracker.createEventTracker(_arg1)); } public function setCampSourceKey(_arg1:String):void{ _tracker.setCampSourceKey(_arg1); } public function set config(_arg1:Configuration):void{ _config = _arg1; } public function addTrans(_arg1:String, _arg2:String, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:String, _arg7:String, _arg8:String):Object{ return (_tracker.addTrans(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8)); } public function setCampContentKey(_arg1:String):void{ _tracker.setCampContentKey(_arg1); } public function willTrigger(_arg1:String):Boolean{ return (_eventDispatcher.willTrigger(_arg1)); } public function setLocalServerMode():void{ _tracker.setLocalServerMode(); } public function getLocalGifPath():String{ return (_tracker.getLocalGifPath()); } public function setAllowAnchor(_arg1:Boolean):void{ _tracker.setAllowAnchor(_arg1); } public function clearIgnoredRef():void{ _tracker.clearIgnoredRef(); } public function isReady():Boolean{ return (_ready); } public function get mode():String{ return (_mode); } public function set debug(_arg1:DebugConfiguration):void{ _debug = _arg1; } public function setLocalGifPath(_arg1:String):void{ _tracker.setLocalGifPath(_arg1); } public function getVersion():String{ return (_tracker.getVersion()); } public function setSampleRate(_arg1:Number):void{ _tracker.setSampleRate(_arg1); } public function setCookiePath(_arg1:String):void{ _tracker.setCookiePath(_arg1); } public function setAllowHash(_arg1:Boolean):void{ _tracker.setAllowHash(_arg1); } public function addIgnoredOrganic(_arg1:String):void{ _tracker.addIgnoredOrganic(_arg1); } public function setLocalRemoteServerMode():void{ _tracker.setLocalRemoteServerMode(); } public function cookiePathCopy(_arg1:String):void{ _tracker.cookiePathCopy(_arg1); } private function _factory():void{ var _local1:GoogleAnalyticsAPI; _jsproxy = new JavascriptProxy(debug); if (visualDebug){ debug.layout = new Layout(debug, _display); debug.active = visualDebug; }; var _local2:TrackerCache = (_tracker as TrackerCache); switch (mode){ case TrackerMode.BRIDGE: _local1 = _bridgeFactory(); break; case TrackerMode.AS3: default: _local1 = _trackerFactory(); }; if (!_local2.isEmpty()){ _local2.tracker = _local1; _local2.flush(); }; _tracker = _local1; _ready = true; dispatchEvent(new AnalyticsEvent(AnalyticsEvent.READY, this)); } public function setCampTermKey(_arg1:String):void{ _tracker.setCampTermKey(_arg1); } private function _trackerFactory():GoogleAnalyticsAPI{ debug.info(((("GATracker (AS3) v" + version) + "\naccount: ") + account)); _adSense = new AdSenseGlobals(debug); _dom = new HTMLDOM(debug); _dom.cacheProperties(); _env = new Environment("", "", "", debug, _dom); _buffer = new Buffer(config, debug, false); _gifRequest = new GIFRequest(config, debug, _buffer, _env); _idleTimer = new IdleTimer(config, debug, _display, _buffer); _env.url = _display.stage.loaderInfo.url; return (new Tracker(account, config, debug, _env, _buffer, _gifRequest, _adSense)); } public function setCampNOKey(_arg1:String):void{ _tracker.setCampNOKey(_arg1); } public function setDetectTitle(_arg1:Boolean):void{ _tracker.setDetectTitle(_arg1); } public function getServiceMode():ServerOperationMode{ return (_tracker.getServiceMode()); } public function clearOrganic():void{ _tracker.clearOrganic(); } public function setCampaignTrack(_arg1:Boolean):void{ _tracker.setCampaignTrack(_arg1); } public function addIgnoredRef(_arg1:String):void{ _tracker.addIgnoredRef(_arg1); } public function set visualDebug(_arg1:Boolean):void{ _visualDebug = _arg1; } public function setCampMediumKey(_arg1:String):void{ _tracker.setCampMediumKey(_arg1); } public function getDetectFlash():Boolean{ return (_tracker.getDetectFlash()); } public function get visualDebug():Boolean{ return (_visualDebug); } public function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public function getAccount():String{ return (_tracker.getAccount()); } public function setSessionTimeout(_arg1:int):void{ _tracker.setSessionTimeout(_arg1); } public function setRemoteServerMode():void{ _tracker.setRemoteServerMode(); } } var _local1:* = ServerOperationMode; return (_local1); }//package com.google.analytics
Section 78
//PropTween (com.greensock.core.PropTween) package com.greensock.core { public class PropTween { public var target:Object; public var property:String; public var start:Number; public var change:Number; public var name:String; public var priority:int; public var isPlugin:Boolean; public var nextNode:PropTween; public var prevNode:PropTween; public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; if (_arg7){ _arg7.prevNode = this; this.nextNode = _arg7; }; this.priority = _arg8; } } }//package com.greensock.core
Section 79
//SimpleTimeline (com.greensock.core.SimpleTimeline) package com.greensock.core { public class SimpleTimeline extends TweenCore { protected var _firstChild:TweenCore; protected var _lastChild:TweenCore; public var autoRemoveChildren:Boolean; public function SimpleTimeline(_arg1:Object=null){ super(0, _arg1); } public function addChild(_arg1:TweenCore):void{ if (((!(_arg1.gc)) && (_arg1.timeline))){ _arg1.timeline.remove(_arg1, true); }; _arg1.timeline = this; if (_arg1.gc){ _arg1.setEnabled(true, true); }; if (_firstChild){ _firstChild.prevNode = _arg1; }; _arg1.nextNode = _firstChild; _firstChild = _arg1; _arg1.prevNode = null; } public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{ if (_arg1.gc){ return; }; if (!_arg2){ _arg1.setEnabled(false, true); }; if (_arg1.nextNode){ _arg1.nextNode.prevNode = _arg1.prevNode; } else { if (_lastChild == _arg1){ _lastChild = _arg1.prevNode; }; }; if (_arg1.prevNode){ _arg1.prevNode.nextNode = _arg1.nextNode; } else { if (_firstChild == _arg1){ _firstChild = _arg1.nextNode; }; }; } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local5:Number; var _local6:TweenCore; var _local4:TweenCore = _firstChild; this.cachedTotalTime = _arg1; this.cachedTime = _arg1; while (_local4) { _local6 = _local4.nextNode; if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){ if (!_local4.cachedReversed){ _local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false); } else { _local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration; _local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false); }; }; _local4 = _local6; }; } public function get rawTime():Number{ return (this.cachedTotalTime); } } }//package com.greensock.core
Section 80
//TweenCore (com.greensock.core.TweenCore) package com.greensock.core { import com.greensock.*; public class TweenCore { protected var _delay:Number; protected var _hasUpdate:Boolean; protected var _rawPrevTime:Number;// = -1 protected var _pauseTime:Number; public var vars:Object; public var active:Boolean; public var gc:Boolean; public var initted:Boolean; public var timeline:SimpleTimeline; public var cachedStartTime:Number; public var cachedTime:Number; public var cachedTotalTime:Number; public var cachedDuration:Number; public var cachedTotalDuration:Number; public var cachedTimeScale:Number; public var cachedReversed:Boolean; public var nextNode:TweenCore; public var prevNode:TweenCore; public var cacheIsDirty:Boolean; public var cachedPaused:Boolean; public var data; public static const version:Number = 1.13; protected static var _classInitted:Boolean; public function TweenCore(_arg1:Number=0, _arg2:Object=null){ this.vars = ((_arg2) || ({})); this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0))); _delay = ((this.vars.delay) || (0)); this.cachedTimeScale = ((this.vars.timeScale) || (1)); this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false))))); this.cachedTotalTime = (this.cachedTime = 0); this.data = this.vars.data; if (!_classInitted){ if (isNaN(TweenLite.rootFrame)){ TweenLite.initClass(); _classInitted = true; } else { return; }; }; var _local3:SimpleTimeline = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline; this.cachedStartTime = (_local3.cachedTotalTime + _delay); _local3.addChild(this); if (this.vars.reversed){ this.cachedReversed = true; }; if (this.vars.paused){ this.paused = true; }; } public function play():void{ this.reversed = false; this.paused = false; } public function pause():void{ this.paused = true; } public function resume():void{ this.paused = false; } public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{ this.reversed = false; this.paused = false; this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2); } public function reverse(_arg1:Boolean=true):void{ this.reversed = true; if (_arg1){ this.paused = false; } else { if (this.gc){ this.setEnabled(true, false); }; }; } public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ } public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{ if (!_arg1){ renderTime(this.cachedTotalDuration, _arg2, false); return; }; if (this.timeline.autoRemoveChildren){ this.setEnabled(false, false); } else { this.active = false; }; if (!_arg2){ if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); } else { if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){ this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams); }; }; }; } public function invalidate():void{ } public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ if (_arg1){ this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); if (((!(_arg2)) && (this.gc))){ this.timeline.addChild(this); }; } else { this.active = false; if (!_arg2){ this.timeline.remove(this, true); }; }; this.gc = !(_arg1); return (false); } public function kill():void{ setEnabled(false, false); } protected function setDirtyCache(_arg1:Boolean=true):void{ var _local2:TweenCore = (_arg1) ? this : this.timeline; while (_local2) { _local2.cacheIsDirty = true; _local2 = _local2.timeline; }; } protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{ var _local3:Number; var _local4:Number; if (this.timeline){ _local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime; if (this.cachedReversed){ _local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration; this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale)); } else { this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale)); }; if (!this.timeline.cacheIsDirty){ setDirtyCache(false); }; if (this.cachedTotalTime != _arg1){ renderTime(_arg1, _arg2, false); }; }; } public function get delay():Number{ return (_delay); } public function set delay(_arg1:Number):void{ this.startTime = (this.startTime + (_arg1 - _delay)); _delay = _arg1; } public function get duration():Number{ return (this.cachedDuration); } public function set duration(_arg1:Number):void{ this.cachedDuration = (this.cachedTotalDuration = _arg1); setDirtyCache(false); } public function get totalDuration():Number{ return (this.cachedTotalDuration); } public function set totalDuration(_arg1:Number):void{ this.duration = _arg1; } public function get currentTime():Number{ return (this.cachedTime); } public function set currentTime(_arg1:Number):void{ setTotalTime(_arg1, false); } public function get totalTime():Number{ return (this.cachedTotalTime); } public function set totalTime(_arg1:Number):void{ setTotalTime(_arg1, false); } public function get startTime():Number{ return (this.cachedStartTime); } public function set startTime(_arg1:Number):void{ var _local2:Boolean = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc))))); this.cachedStartTime = _arg1; if (_local2){ this.timeline.addChild(this); }; } public function get reversed():Boolean{ return (this.cachedReversed); } public function set reversed(_arg1:Boolean):void{ if (_arg1 != this.cachedReversed){ this.cachedReversed = _arg1; setTotalTime(this.cachedTotalTime, true); }; } public function get paused():Boolean{ return (this.cachedPaused); } public function set paused(_arg1:Boolean):void{ if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){ if (_arg1){ _pauseTime = this.timeline.rawTime; } else { this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime)); _pauseTime = NaN; setDirtyCache(false); }; this.cachedPaused = _arg1; this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration)))); }; if (((!(_arg1)) && (this.gc))){ this.setTotalTime(this.cachedTotalTime, false); this.setEnabled(true, false); }; } } }//package com.greensock.core
Section 81
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin) package com.greensock.plugins { import com.greensock.*; import flash.display.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _target:Object; protected var _ignoreVisible:Boolean; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _ignoreVisible = Boolean(("visible" in _arg1)); } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (!_ignoreVisible){ _target.visible = Boolean(!((_target.alpha == 0))); }; } } }//package com.greensock.plugins
Section 82
//TweenPlugin (com.greensock.plugins.TweenPlugin) package com.greensock.plugins { import com.greensock.*; import com.greensock.core.*; public class TweenPlugin { public var propName:String; public var overwriteProps:Array; public var round:Boolean; public var priority:int;// = 0 public var activeDisable:Boolean; public var onComplete:Function; public var onEnable:Function; public var onDisable:Function; protected var _tweens:Array; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.31; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; super(); } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } protected function updateTweens(_arg1:Number):void{ var _local3:PropTween; var _local4:Number; var _local2:int = _tweens.length; if (this.round){ while (_local2--) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5)); }; } else { while (_local2--) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } public function get changeFactor():Number{ return (_changeFactor); } public function killProps(_arg1:Object):void{ var _local2:int = this.overwriteProps.length; while (_local2--) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; }; _local2 = _tweens.length; while (_local2--) { if ((PropTween(_tweens[_local2]).name in _arg1)){ _tweens.splice(_local2, 1); }; }; } private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{ var _local4:Boolean; var _local5:Array; var _local6:int; var _local3:PropTween = _arg2.cachedPT1; if (_arg1 == "onInit"){ _local5 = []; while (_local3) { _local5[_local5.length] = _local3; _local3 = _local3.nextNode; }; _local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING)); _local6 = _local5.length; while (_local6--) { PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)]; PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)]; }; _arg2.cachedPT1 = _local5[0]; } else { while (_local3) { if (((_local3.isPlugin) && (_local3.target[_arg1]))){ if (_local3.target.activeDisable){ _local4 = true; }; var _local7 = _local3.target; _local7[_arg1](); }; _local3 = _local3.nextNode; }; }; return (_local4); } public static function activate(_arg1:Array):Boolean{ var _local3:Object; TweenLite.onPluginEvent = TweenPlugin.onTweenEvent; var _local2:int = _arg1.length; while (_local2--) { if (_arg1[_local2].hasOwnProperty("API")){ _local3 = new ((_arg1[_local2] as Class)); TweenLite.plugins[_local3.propName] = _arg1[_local2]; }; }; return (true); } } }//package com.greensock.plugins
Section 83
//TweenLite (com.greensock.TweenLite) package com.greensock { import flash.events.*; import com.greensock.core.*; import flash.display.*; import com.greensock.plugins.*; import flash.utils.*; public class TweenLite extends TweenCore { public var target:Object; public var propTweenLookup:Object; public var ratio:Number;// = 0 public var cachedPT1:PropTween; protected var _ease:Function; protected var _overwrite:uint; protected var _overwrittenProps:Object; protected var _hasPlugins:Boolean; protected var _notifyPluginsOfEnabled:Boolean; public static const version:Number = 11.2; public static var plugins:Object = {}; public static var fastEaseLookup:Dictionary = new Dictionary(false); public static var onPluginEvent:Function; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var defaultEase:Function = TweenLite.easeOut; public static var overwriteManager:Object; public static var rootFrame:Number; public static var rootTimeline:SimpleTimeline; public static var rootFramesTimeline:SimpleTimeline; public static var masterList:Dictionary = new Dictionary(false); private static var _shape:Shape = new Shape(); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onInit:1, onInitParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1}; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ var _local5:TweenLite; super(_arg2, _arg3); this.target = _arg1; if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){ this.cachedTimeScale = 1; }; propTweenLookup = {}; _ease = defaultEase; _overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); var _local4:Array = masterList[_arg1]; if (!_local4){ masterList[_arg1] = [this]; } else { if (_overwrite == 1){ for each (_local5 in _local4) { if (!_local5.gc){ _local5.setEnabled(false, false); }; }; masterList[_arg1] = [this]; } else { _local4[_local4.length] = this; }; }; if (((this.active) || (this.vars.immediateRender))){ renderTime(0, false, true); }; } protected function init():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:Boolean; var _local5:Array; var _local6:PropTween; if (this.vars.onInit){ this.vars.onInit.apply(null, this.vars.onInitParams); }; if (typeof(this.vars.ease) == "function"){ _ease = this.vars.ease; }; if (this.vars.easeParams){ this.vars.proxiedEase = _ease; _ease = easeProxy; }; this.cachedPT1 = null; this.propTweenLookup = {}; for (_local1 in this.vars) { if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){ } else { if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){ this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1); if (this.cachedPT1.name == "_MULTIPLE_"){ _local2 = _local3.overwriteProps.length; while (_local2--) { this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1; }; } else { this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1; }; if (_local3.priority){ this.cachedPT1.priority = _local3.priority; _local4 = true; }; if (((_local3.onDisable) || (_local3.onEnable))){ _notifyPluginsOfEnabled = true; }; _hasPlugins = true; } else { this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1); this.propTweenLookup[_local1] = this.cachedPT1; }; }; }; if (_local4){ onPluginEvent("onInit", this); }; if (this.vars.runBackwards){ _local6 = this.cachedPT1; while (_local6) { _local6.start = (_local6.start + _local6.change); _local6.change = -(_local6.change); _local6 = _local6.nextNode; }; }; _hasUpdate = Boolean(!((this.vars.onUpdate == null))); if (_overwrittenProps){ killVars(_overwrittenProps); if (this.cachedPT1 == null){ this.setEnabled(false, false); }; }; if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){ if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){ init(); }; }; this.initted = true; } override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local4:Boolean; var _local5:Number = this.cachedTime; if (_arg1 >= this.cachedDuration){ this.cachedTotalTime = (this.cachedTime = this.cachedDuration); this.ratio = 1; _local4 = true; if (this.cachedDuration == 0){ if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){ _arg3 = true; }; _rawPrevTime = _arg1; }; } else { if (_arg1 <= 0){ this.cachedTotalTime = (this.cachedTime = (this.ratio = 0)); if (_arg1 < 0){ this.active = false; if (this.cachedDuration == 0){ if (_rawPrevTime > 0){ _arg3 = true; _local4 = true; }; _rawPrevTime = _arg1; }; }; if (((this.cachedReversed) && (!((_local5 == 0))))){ _local4 = true; }; } else { this.cachedTotalTime = (this.cachedTime = _arg1); this.ratio = _ease(_arg1, 0, 1, this.cachedDuration); }; }; if ((((this.cachedTime == _local5)) && (!(_arg3)))){ return; }; if (!this.initted){ init(); if (((!(_local4)) && (this.cachedTime))){ this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration); }; }; if (((!(this.active)) && (!(this.cachedPaused)))){ this.active = true; }; if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){ this.vars.onStart.apply(null, this.vars.onStartParams); }; var _local6:PropTween = this.cachedPT1; while (_local6) { _local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change)); _local6 = _local6.nextNode; }; if (((_hasUpdate) && (!(_arg2)))){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local4){ if (((_hasPlugins) && (this.cachedPT1))){ onPluginEvent("onComplete", this); }; complete(true, _arg2); }; } public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{ var _local3:String; var _local4:PropTween; var _local5:Boolean; if (_overwrittenProps == null){ _overwrittenProps = {}; }; for (_local3 in _arg1) { if ((_local3 in propTweenLookup)){ _local4 = propTweenLookup[_local3]; if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){ _local4.target.killProps(_arg1); if (_local4.target.overwriteProps.length == 0){ _local4.name = ""; }; }; if (_local4.name != "_MULTIPLE_"){ if (_local4.nextNode){ _local4.nextNode.prevNode = _local4.prevNode; }; if (_local4.prevNode){ _local4.prevNode.nextNode = _local4.nextNode; } else { if (this.cachedPT1 == _local4){ this.cachedPT1 = _local4.nextNode; }; }; if (((_local4.isPlugin) && (_local4.target.onDisable))){ _local4.target.onDisable(); if (_local4.target.activeDisable){ _local5 = true; }; }; delete propTweenLookup[_local3]; }; }; if (_arg2){ _overwrittenProps[_local3] = 1; }; }; return (_local5); } override public function invalidate():void{ if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ onPluginEvent("onDisable", this); }; this.cachedPT1 = null; _overwrittenProps = null; _hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false))); this.propTweenLookup = {}; } override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{ var _local3:Array; if (_arg1){ _local3 = TweenLite.masterList[this.target]; if (!_local3){ TweenLite.masterList[this.target] = [this]; } else { _local3[_local3.length] = this; }; }; super.setEnabled(_arg1, _arg2); if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){ return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this)); }; return (false); } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public static function initClass():void{ rootFrame = 0; rootTimeline = new SimpleTimeline(null); rootFramesTimeline = new SimpleTimeline(null); rootTimeline.cachedStartTime = (getTimer() * 0.001); rootFramesTimeline.cachedStartTime = rootFrame; rootTimeline.autoRemoveChildren = true; rootFramesTimeline.autoRemoveChildren = true; _shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; if (!("immediateRender" in _arg3)){ _arg3.immediateRender = true; }; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0})); } protected static function updateAll(_arg1:Event=null):void{ var _local2:Dictionary; var _local3:Object; var _local4:Array; var _local5:int; rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false); rootFrame++; rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false); if (!(rootFrame % 60)){ _local2 = masterList; for (_local3 in _local2) { _local4 = _local2[_local3]; _local5 = _local4.length; while (_local5--) { if (TweenLite(_local4[_local5]).gc){ _local4.splice(_local5, 1); }; }; if (_local4.length == 0){ delete _local2[_local3]; }; }; }; } public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; if ((_arg1 in masterList)){ _local3 = masterList[_arg1]; _local4 = _local3.length; while (_local4--) { if (!TweenLite(_local3[_local4]).gc){ if (_arg2){ TweenLite(_local3[_local4]).complete(false, false); } else { TweenLite(_local3[_local4]).setEnabled(false, false); }; }; }; delete masterList[_arg1]; }; } protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (1 - (_arg1 / _arg4)); return ((1 - (_arg1 * _arg1))); } } }//package com.greensock
Section 84
//ConsolePublisher (com.luminicbox.log.ConsolePublisher) package com.luminicbox.log { import flash.events.*; import flash.net.*; import flash.display.*; import flash.text.*; import flash.media.*; public class ConsolePublisher implements IPublisher { private var _version:Number;// = 0.1 private var _maxDepth:Number; public function ConsolePublisher(){ _maxDepth = 4; } public function set maxDepth(_arg1:Number):void{ _maxDepth = ((_maxDepth)>0xFF) ? 0xFF : _arg1; } public function get maxDepth():Number{ return (_maxDepth); } public function toString():String{ return ("ConsolePublisher"); } public function publish(_arg1:LogEvent):void{ var _local2:Object = LogEvent.serialize(_arg1); _local2.argument = serializeObj(_local2.argument, 1); var _local3:LocalConnection = new LocalConnection(); _local3.addEventListener(StatusEvent.STATUS, onStatus); _local3.send("_luminicbox_log_console", "log", _local2); } private function serializeObj(_arg1:Object, _arg2:Number):Object{ var _local5:Array; var _local6:Number; var _local7:String; var _local3:Object = getType(_arg1); var _local4:Object = new Object(); if (!_local3.inspectable){ _local4.value = _arg1; } else { if (_local3.stringify){ _local4.value = (_arg1 + ""); } else { if (_arg2 <= _maxDepth){ if ((((((((((((((((((((((((((((((_local3.name == "movieclip")) || ((_local3.name == "loader")))) || ((_local3.name == "sprite")))) || ((_local3.name == "stage")))) || ((_local3.name == "displayobjectcontainer")))) || ((_local3.name == "simplebutton")))) || ((_local3.name == "textfield")))) || ((_local3.name == "avm1movie")))) || ((_local3.name == "bitmap")))) || ((_local3.name == "interactiveobject")))) || ((_local3.name == "morphshape")))) || ((_local3.name == "shape")))) || ((_local3.name == "statictext")))) || ((_local3.name == "video")))) || ((_local3.name == "displayobject")))){ _local4.id = (_arg1 + ""); }; _local5 = new Array(); if ((_arg1 is Array)){ _local6 = 0; while (_local6 < _arg1.length) { _local5.push({property:_local6, value:serializeObj(_arg1[_local6], (_arg2 + 1))}); _local6++; }; } else { for (_local7 in _arg1) { _local5.push({property:_local7, value:serializeObj(_arg1[_local7], (_arg2 + 1))}); }; }; _local4.value = _local5; } else { _local4.reachLimit = true; }; }; }; _local4.type = _local3.name; return (_local4); } private function getType(_arg1:Object):Object{ var _local2 = typeof(_arg1); var _local3:Object = new Object(); _local3.inspectable = true; _local3.name = _local2; if ((((((((((_local2 == "boolean")) || ((_local2 == "function")))) || ((_local2 == "number")))) || ((_local2 == "string")))) || ((_local2 == "undefined")))){ _local3.inspectable = false; } else { if ((_arg1 is Array)){ _local3.name = "array"; } else { if ((_arg1 is Date)){ _local3.inspectable = false; _local3.name = "date"; } else { if ((_arg1 is MovieClip)){ _local3.name = "movieclip"; } else { if ((_arg1 is Loader)){ _local3.name = "loader"; } else { if ((_arg1 is Sprite)){ _local3.name = "sprite"; } else { if ((_arg1 is Stage)){ _local3.name = "stage"; } else { if ((_arg1 is DisplayObjectContainer)){ _local3.name = "displayobjectcontainer"; } else { if ((_arg1 is SimpleButton)){ _local3.name = "simplebutton"; } else { if ((_arg1 is TextField)){ _local3.name = "textfield"; } else { if ((_arg1 is AVM1Movie)){ _local3.name = "avm1movie"; } else { if ((_arg1 is Bitmap)){ _local3.name = "bitmap"; } else { if ((_arg1 is InteractiveObject)){ _local3.name = "interactiveobject"; } else { if ((_arg1 is MorphShape)){ _local3.name = "morphshape"; } else { if ((_arg1 is Shape)){ _local3.name = "shape"; } else { if ((_arg1 is StaticText)){ _local3.name = "statictext"; } else { if ((_arg1 is Video)){ _local3.name = "video"; } else { if ((_arg1 is DisplayObject)){ _local3.name = "displayobject"; } else { if ((_arg1 is XMLList)){ _local3.name = "xmllist"; _local3.stringify = true; } else { if ((_arg1 is XML)){ _local3.name = "xml"; _local3.stringify = true; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; return (_local3); } private function onStatus(_arg1:StatusEvent):void{ } } }//package com.luminicbox.log
Section 85
//IPublisher (com.luminicbox.log.IPublisher) package com.luminicbox.log { public interface IPublisher { function publish(_arg1:LogEvent):void; function toString():String; } }//package com.luminicbox.log
Section 86
//Level (com.luminicbox.log.Level) package com.luminicbox.log { public class Level { private var _name:String; private var _value:Number; public static var ALL:Level = new Level("ALL", 1); ; public static var LOG:Level = new Level("LOG", 1); ; public static var DEBUG:Level = new Level("DEBUG", 2); ; public static var INFO:Level = new Level("INFO", 4); ; public static var WARN:Level = new Level("WARN", 8); ; public static var ERROR:Level = new Level("ERROR", 16); ; public static var FATAL:Level = new Level("FATAL", 32); ; public static var NONE:Level = new Level("NONE", 0x0400); ; public function Level(_arg1:String, _arg2:Number){ this._name = _arg1; this._value = _arg2; } public function getName():String{ return (_name); } public function getValue():Number{ return (_value); } public function toString():String{ return (getName()); } public static function getLevel(_arg1:String):Level{ switch (_arg1){ case "ALL": return (ALL); case "LOG": return (LOG); case "DEBUG": return (DEBUG); case "INFO": return (INFO); case "WARN": return (WARN); case "ERROR": return (ERROR); case "FATAL": return (FATAL); case "NONE": return (NONE); default: return (null); }; } } }//package com.luminicbox.log
Section 87
//LogEvent (com.luminicbox.log.LogEvent) package com.luminicbox.log { public class LogEvent { public var time:Date; public var loggerId:String; public var level:Level; public var argument:Object; public function LogEvent(_arg1:String, _arg2:Object, _arg3:Level){ this.loggerId = _arg1; this.argument = _arg2; this.level = _arg3; time = new Date(); } public static function serialize(_arg1:LogEvent):Object{ var _local2:Object = new Object(); _local2.loggerId = _arg1.loggerId; _local2.time = _arg1.time; _local2.levelName = _arg1.level.getName(); _local2.argument = _arg1.argument; return (_local2); } public static function deserialize(_arg1:Object):LogEvent{ var _local2:Level = Level[("" + _arg1.levelName)]; var _local3:LogEvent = new LogEvent(_arg1.loggerId, _arg1.argument, _local2); _local3.time = _arg1.time; return (_local3); } } }//package com.luminicbox.log
Section 88
//Logger (com.luminicbox.log.Logger) package com.luminicbox.log { public class Logger { private var _loggerId:String; private var _publishers:Array; private var _filters:Array; private var _level:Level; public function Logger(_arg1:String=""){ if (_arg1.length > 0){ this._loggerId = _arg1; }; this._level = Level.LOG; _publishers = new Array(); _filters = new Array(); } public function setLevel(_arg1:Level):void{ _level = _arg1; } public function addPublisher(_arg1:IPublisher):void{ if (!_publishers[_arg1.toString()]){ _publishers[_arg1.toString()] = _arg1; }; } public function removePublisher(_arg1:IPublisher):void{ delete _publishers[_arg1.toString()]; } public function getPublishers():Array{ return (_publishers); } public function publish(_arg1:Object, _arg2:Level):void{ var _local3:LogEvent; var _local4:String; if (_arg2.getValue() >= _level.getValue()){ _local3 = new LogEvent(this._loggerId, _arg1, _arg2); for (_local4 in _publishers) { IPublisher(_publishers[_local4]).publish(_local3); }; }; } public function log(_arg1:Object):void{ publish(_arg1, Level.LOG); } public function debug(_arg1:Object):void{ publish(_arg1, Level.DEBUG); } public function info(_arg1:Object):void{ publish(_arg1, Level.INFO); } public function warn(_arg1:Object):void{ publish(_arg1, Level.WARN); } public function error(_arg1:Object):void{ publish(_arg1, Level.ERROR); } public function fatal(_arg1:Object):void{ publish(_arg1, Level.FATAL); } } }//package com.luminicbox.log
Section 89
//TracePublisher (com.luminicbox.log.TracePublisher) package com.luminicbox.log { import flash.display.*; import flash.text.*; import com.luminicbox.util.*; import flash.media.*; public class TracePublisher implements IPublisher { private var _maxDepth:Number; public function TracePublisher(){ _maxDepth = 4; } public function set maxDepth(_arg1:Number):void{ _maxDepth = ((_maxDepth)>0xFF) ? 0xFF : _arg1; } public function get maxDepth():Number{ return (_maxDepth); } public function toString():String{ return ("TracePublisher"); } public function publish(_arg1:LogEvent):void{ var _local2:Object = _arg1.argument; var _local3:String = _arg1.level.toString(); if (_arg1.loggerId){ _local3 = (_local3 + (":" + _arg1.loggerId)); }; _local3 = (_local3 + ": "); _local3 = (_local3 + analyzeObj(_local2, 1)); trace(_local3); } private function analyzeObj(_arg1:Object, _arg2:Number):String{ var _local5:Boolean; var _local6:Boolean; var _local7:String; var _local8:String; var _local3 = ""; var _local4 = typeof(_arg1); if (_local4 == "string"){ _local3 = (_local3 + _arg1); } else { if ((((_local4 == "boolean")) || ((_local4 == "number")))){ _local3 = (_local3 + _arg1); } else { if (_local4 == "undefined"){ _local3 = (_local3 + (("( " + _local4) + " )")); } else { _local5 = false; _local6 = true; if ((_arg1 is Array)){ _local4 = "array"; _local5 = false; } else { if ((_arg1 is Date)){ _local4 = "date"; _local6 = false; _local5 = true; } else { if ((_arg1 is MovieClip)){ _local4 = "movieclip"; _local5 = true; } else { if ((_arg1 is Loader)){ _local4 = "loader"; _local5 = true; } else { if ((_arg1 is Sprite)){ _local4 = "sprite"; _local5 = true; } else { if ((_arg1 is Stage)){ _local4 = "stage"; _local5 = true; } else { if ((_arg1 is DisplayObjectContainer)){ _local4 = "displayobjectcontainer"; _local5 = true; } else { if ((_arg1 is SimpleButton)){ _local4 = "simplebutton"; _local5 = true; } else { if ((_arg1 is TextField)){ _local4 = "textfield"; _local5 = true; } else { if ((_arg1 is AVM1Movie)){ _local4 = "avm1movie"; _local5 = true; } else { if ((_arg1 is Bitmap)){ _local4 = "bitmap"; _local5 = true; } else { if ((_arg1 is InteractiveObject)){ _local4 = "interactiveobject"; _local5 = true; } else { if ((_arg1 is MorphShape)){ _local4 = "morphshape"; _local5 = true; } else { if ((_arg1 is Shape)){ _local4 = "shape"; _local5 = true; } else { if ((_arg1 is StaticText)){ _local4 = "statictext"; _local5 = true; } else { if ((_arg1 is Video)){ _local4 = "video"; _local5 = true; } else { if ((_arg1 is DisplayObject)){ _local4 = "displayobject"; _local5 = true; } else { if ((_arg1 is XMLList)){ _local4 = "xmllist"; _local6 = false; _local5 = true; } else { if ((_arg1 is XML)){ _local4 = "xml"; _local6 = false; _local5 = true; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; }; _local3 = (_local3 + (("( " + _local4) + " ) ")); if (_local5){ _local3 = (_local3 + _arg1.toString()); }; if (((_local6) && ((_arg2 <= _maxDepth)))){ _local7 = ""; for (_local8 in _arg1) { _local7 = (_local7 + (((("\n" + StringUtil.multiply("\t", (_arg2 + 1))) + _local8) + ":") + analyzeObj(_arg1[_local8], (_arg2 + 1)))); }; if (_local7.length > 0){ _local3 = (_local3 + (((("{" + _local7) + "\n") + StringUtil.multiply("\t", _arg2)) + "}")); }; }; }; }; }; return (_local3); } } }//package com.luminicbox.log
Section 90
//StringUtil (com.luminicbox.util.StringUtil) package com.luminicbox.util { public class StringUtil { public static function multiply(_arg1:String, _arg2:Number):String{ var _local3 = ""; var _local4:Number = 0; while (_local4 < _arg2) { _local3 = (_local3 + _arg1); _local4++; }; return (_local3); } public static function replace(_arg1:String, _arg2:String, _arg3:String):String{ return (_arg1.split(_arg2).join(_arg3)); } } }//package com.luminicbox.util
Section 91
//AdDataDTO (com.metacafe.adv.AdDataDTO) package com.metacafe.adv { public class AdDataDTO { private var _vendorID:String; private var _moduleURL:String; private var _config:Object; private var _apiFramework:String; private var _trackers:Object; public function AdDataDTO(){ _vendorID = ""; _moduleURL = ""; _config = {}; _apiFramework = ""; _trackers = {}; } public function get vendorID():String{ return (_vendorID); } public function set vendorID(_arg1:String):void{ _vendorID = _arg1; } public function get moduleURL():String{ return (_moduleURL); } public function set moduleURL(_arg1:String):void{ _moduleURL = _arg1; } public function get config():Object{ return (_config); } public function set config(_arg1:Object):void{ _config = _arg1; } public function get apiFramework():String{ return (_apiFramework); } public function set apiFramework(_arg1:String):void{ _apiFramework = _arg1; } public function get trackers():Object{ return (_trackers); } public function set trackers(_arg1:Object):void{ _trackers = _arg1; } } }//package com.metacafe.adv
Section 92
//CommonVideoPlayer (com.metacafe.base.CommonVideoPlayer) package com.metacafe.base { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import flash.geom.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import com.adobe.serialization.json.*; import com.google.analytics.*; import com.metacafe.reports.*; import com.metacafe.modules.events.*; import com.metacafe.gui.*; import com.metacafe.config.*; import com.metacafe.*; import com.metacafe.security.*; import flash.utils.*; import com.metacafe.modules.*; import flash.external.*; import flash.system.*; public class CommonVideoPlayer extends ResizeableSprite implements IVideoPlayerModule, IVideoPlaybackController { protected var videoPlayer:VideoPlayer; protected var mediaControls:MediaControlsBase; protected var isFirstPlayback:Boolean; protected var isMainItem:Boolean; protected var _isOnline:Boolean; protected var flashvarsStub:FlashvarsStubBase; protected var reporter:IReporter; protected var vmReporter:VisibleMeasureReporter; protected var tmReporter:TubeMogulReporter; protected var gaTracker:AnalyticsTracker; protected var allGAReports:Dictionary; protected var timeTracker:TimeTracker; protected var screenClickTimer:Timer; protected var postRollLoader:Loader; protected var registery:Registery; protected var mouseInactivityTimer:Timer; protected var mouseMoveTimer:Timer; protected var lastMousePos:Point; protected var _currentDuration:Number; protected var _currentPlayheadTime:Number; protected var comScoreBeaconDispatcher:ComScoreBeaconDispatcher; protected var _currentMediaType:String; public static const MEDIA_TYPE_PRIORITY:Array = [MediaFileTypes.FLV, MediaFileTypes.MP4, MediaFileTypes.HIGH_QAULITY_MP4, MediaFileTypes.HIGH_DEFINITION_MP4]; public function get mediaControlsDepth():int{ var _local1:MediaControlsBase = (getChildByName(MediaControlsNames.CONTROLS) as MediaControlsBase); return (getChildIndex(_local1)); } public function get currentDuration():Number{ return (_currentDuration); } public function get currentPlayheadTime():Number{ return (_currentPlayheadTime); } public function get currentMediaType():String{ return (_currentMediaType); } public function set currentMediaType(_arg1:String):void{ _currentMediaType = _arg1; } public function init():void{ var hasRequestetMediaType:Boolean; var mtPriority:Array; var l:uint; var i:int; var priorityMediaType:String; try { ExternalInterface.call("fpSetUUID", ""); } catch(e:Error) { trace(e); }; _isOnline = !(stage.loaderInfo.url.match(/^file:\/\//)); if (!_isOnline){ initFlashvarsStub(); }; var vars:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; isFirstPlayback = true; isMainItem = false; var csbd:ComScoreBeaconDispatcher = (comScoreBeaconDispatcher = new ComScoreBeaconDispatcher()); registery = Registery.getInstance(); initCofigurationData(); initItemData(); initUserData(); initEnvData(); initAdditionalData(); initVideoPlayer(); initWatermark(); var vp:VideoPlayer = videoPlayer; var prLdr:Loader = (postRollLoader = new Loader()); addChild(prLdr); prLdr.contentLoaderInfo.addEventListener(Event.INIT, onPostRollContentInit); prLdr.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onPostRollContentProgress); prLdr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onPostRollContentIOError); var mTmr:Timer = (mouseInactivityTimer = new Timer(5000, 1)); mTmr.addEventListener(TimerEvent.TIMER, onMouseInactive); var mmTmr:Timer = (mouseMoveTimer = new Timer(250, 0)); mmTmr.addEventListener(TimerEvent.TIMER, onMouseMoveTimerTick); lastMousePos = new Point(mouseX, mouseY); mmTmr.start(); stage.addEventListener(FullScreenEvent.FULL_SCREEN, onDisplayStateChnage); initMediaControls(); var qsMediaType:String = registery.playerConfig.mediaType; var mediaData:Object = registery.itemData.mediaData; var mediaType:String = MediaFileTypes.FLV; if (mediaData){ hasRequestetMediaType = false; if (qsMediaType.length){ if (mediaData[qsMediaType]){ mediaType = qsMediaType; hasRequestetMediaType = true; }; }; if (!hasRequestetMediaType){ mtPriority = MEDIA_TYPE_PRIORITY; l = mtPriority.length; i = 0; while (i < l) { priorityMediaType = mtPriority[i]; if (mediaData[priorityMediaType]){ mediaType = priorityMediaType; break; }; i = (i + 1); }; }; }; currentMediaType = mediaType; mediaControls.selectedMediaType = mediaType; var stg:Stage = stage; vp.setSize(stg.stageWidth, stg.stageHeight); initThirdPartyReporters(); reporter = new CommonReporter(this); var trk:TimeTracker = (timeTracker = new TimeTracker()); trk.addEventListener(TimeTrackerEvent.CACHE_NEXT_CUE, onCacheNextCue); vp.registerModule(trk); vp.registerModule(this); var tmr:Timer = (screenClickTimer = new Timer(300, 1)); tmr.addEventListener(TimerEvent.TIMER, onScreenClickTimer); } protected function initFlashvarsStub():void{ } protected function startPlayback():void{ playMainItem(); } private function initThirdPartyReporters():void{ var _local12:TubeMogulReporter; var _local1:VideoPlayer = videoPlayer; var _local2:Registery = registery; var _local3:PlayerConfiguration = _local2.playerConfig; if (_local3.reportVM){ initVMReporter(); vmReporter.populateItemData(); }; if (_local3.reportTM){ _local12 = (tmReporter = new TubeMogulReporter(this)); _local1.registerModule(_local12); _local12.videoPlayer = videoPlayer; trace("Initializing TubeMogule Reporting"); }; var _local4:String = _local2.playerConfig.playerType; var _local5 = (_local4 == VideoPlayerTypes.TYPE_EMBED); var _local6:String = (_local5) ? GA.EMBED_ACCOUNT_ID : (_isOnline) ? "window.ga.pageTracker" : GA.ACCOUNT_ID; var _local7:String = (((_local5) || (!(_isOnline)))) ? "AS3" : "Bridge"; var _local8:AnalyticsTracker = (gaTracker = new GATracker(this, _local6, _local7, (_isOnline) ? (loaderInfo.parameters.debugGA == "true") : true)); var _local9:Dictionary = (allGAReports = new Dictionary()); _local9["category"] = GA.EVENT_CATEGORY_TEMPLATE.replace(GA.PLAYER_TYPE_TOKEN, _local4); var _local10:* = (_local9["reports"] = new Dictionary()); var _local11:Array = (_local10[ReportNames.VIEW_START] = [{action:GA.VIEW_START_ACTION_TEMPLATE.replace(GA.PLAYER_TYPE_TOKEN, _local4), label:registery.userData.nickName}]); if (_local5){ _local11.push({action:GA.EMBED_PLAY_ACTION, label:registery.playerConfig.embeddingDomain}); _local10[GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION] = {action:GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION}; _local10[GA.EMBED_SCREEN_CLICK_ACTION] = {action:GA.EMBED_SCREEN_CLICK_ACTION}; }; } protected function initVMReporter(){ var _local1:VideoPlayer = videoPlayer; var _local2:VisibleMeasureReporter = (vmReporter = VisibleMeasureReporter.getInstance()); if (!_local2.videoPlayer){ _local1.registerModule(_local2); _local2.videoPlayer = _local1; }; trace("Initializing VisibleMeasures Reporting"); } protected function setThirdPartyReportCurrentStream(_arg1:Boolean):void{ var _local4:TubeMogulReporter; var _local2:Registery = registery; var _local3:PlayerConfiguration = _local2.playerConfig; if (_local3.reportTM){ _local4 = tmReporter; tmReporter.reportCurrentStream = _arg1; }; } protected function initVideoPlayer():void{ var _local1:VideoPlayer = (videoPlayer = new VideoPlayer()); addChild(_local1); _local1.allowSeekAhead = registery.playerConfig.isJPN; var _local2:ComScoreBeaconDispatcher = comScoreBeaconDispatcher; _local1.registerModule(_local2); } protected function initMediaControls():void{ var _local1:VideoPlayer = videoPlayer; var _local2:MediaControlsBase = (mediaControls = new MediaControlsBase()); _local2.name = MediaControlsNames.CONTROLS; addChild(_local2); _local1.setMediaControls(_local2); } protected function initWatermark():void{ } private function onPostRollContentProgress(_arg1:ProgressEvent):void{ } protected function onPostRollContentIOError(_arg1:IOErrorEvent):void{ trace(_arg1.target.url); } protected function onPostRollContentInit(_arg1:Event):void{ var _local2:String = videoPlayer.state; switch (_local2){ case StreamStates.STATE_ENDED: case StreamStates.STATE_FILE_NOT_FOUND: case StreamStates.STATE_STOPPED: showPostRollContent(); break; }; } protected function showPostRollContent():void{ var ga:AnalyticsTracker; var gaDict:Dictionary; var gaReports:*; var obj:Object; var cat:*; trace("showPostRollContent"); var prLdr:Loader = postRollLoader; if ((((prLdr.contentLoaderInfo.bytesTotal > 0)) || ((prLdr.contentLoaderInfo.bytesLoaded > 0)))){ prLdr.visible = true; trace("prLdr.visible =", prLdr.visible); try { cat = prLdr.contentLoaderInfo.content; if (!cat.thumbsEnabled){ cat.thumbsEnabled = true; }; } catch(err:Error) { trace(err); }; ga = gaTracker; gaDict = allGAReports; gaReports = gaDict["reports"]; obj = gaReports[GA.EMBED_ITEM_SELECTOR_IMPRESSION_ACTION]; if (obj){ ga.trackEvent(gaDict["category"], obj.action); }; if (stage.displayState == StageDisplayState.FULL_SCREEN){ stage.displayState = StageDisplayState.NORMAL; }; } else { loadPostRollContent(); }; } protected function hidePostRollContent():void{ var cat:*; trace("hidePostRollContent"); var prLdr:Loader = postRollLoader; prLdr.visible = false; try { cat = prLdr.contentLoaderInfo.content; cat.thumbsEnabled = false; } catch(err:Error) { }; } protected function playMainItem():void{ isFirstPlayback = false; var _local1:VideoPlayer = videoPlayer; _local1.seekEnabled = (_local1.volumeEnabled = (_local1.fullScreenEnabled = true)); var _local2:CuePoint = new CuePoint(); _local2.time = 2; _local2.fireOnce = true; _local2.addEventListener(TimerEvent.TIMER, onMainItem2SecondCuePoint); _local1.registerModule(_local2); if (postRollLoader.visible){ hidePostRollContent(); }; } protected function onMainItem2SecondCuePoint(_arg1:TimerEvent):void{ trace("onMainItem2SecondCuePoint"); } protected function playNextItem():void{ isMainItem = false; onPlayerScheduleComplete(); } protected function onPlayerScheduleComplete():void{ loadPostRollContent(); } protected function onCacheNextCue(_arg1:TimeTrackerEvent):void{ onPlayerScheduleComplete(); } protected function loadPostRollContent():void{ var _local5:PlayerConfiguration; var _local6:URLRequest; var _local7:LoaderContext; trace("loadPostRollContent()"); var _local1:Loader = postRollLoader; var _local2:LoaderInfo = _local1.contentLoaderInfo; var _local3:String = videoPlayer.state; var _local4:Boolean = (((((_local3 == StreamStates.STATE_ENDED)) || ((_local3 == StreamStates.STATE_STOPPED)))) || ((_local3 == StreamStates.STATE_FILE_NOT_FOUND))); if (_local2.bytesTotal > 0){ if (_local4){ showPostRollContent(); }; } else { trace("Catalog is not loaded. Loading Catalog"); _local5 = registery.playerConfig; _local6 = new URLRequest(_local5.postRollContentURL); _local7 = new LoaderContext(); _local7.applicationDomain = loaderInfo.applicationDomain; _local1.load(_local6, _local7); trace(("URL: " + _local6.url)); }; } protected function sendStartReport(){ sendReport(ReportNames.VIEW_START); } protected function sendMediaFilePlayErrorReport():void{ sendReport(ReportNames.MEDIA_FILE_PLAY_ERROR); } protected function sendReport(_arg1:String, _arg2:Number=NaN){ var _local9:*; var _local15:Array; var _local16:Object; var _local3:CommonReporter = (reporter as CommonReporter); var _local4:Registery = registery; var _local5:PlayerConfiguration = _local4.playerConfig; var _local6:AnalyticsTracker = gaTracker; var _local7:Dictionary = allGAReports; var _local8:* = _local7["category"]; _local9 = _local7["reports"]; if (_local5.errorCode > 0){ return; }; var _local10:Item = _local4.itemData; var _local11:User = _local4.userData; var _local12:Env = _local4.envData; var _local13:String = _local5.playerType; var _local14:Object = {itemID:_local10.itemID, playerType:((_local13) || ("")), mediaType:((currentMediaType) || ("")), context:((_local5.context) || ("")), noCache:new Date().time}; if (_local10.affiliateID){ _local14.affID = _local10.affiliateID; }; if (_local5.additionalReportsValues.prevPageType){ _local14.prevPageType = _local5.additionalReportsValues.prevPageType; }; switch (_arg1){ case ReportNames.VIEW_START: if (!isMainItem){ return; }; _local14.reportType = "viewStart"; if (_local10.indexedItemID){ _local14.indexedItemID = _local10.indexedItemID; }; if (_local11.userPageID){ _local14.userPageID = _local11.userPageID; }; _local15 = _local9[ReportNames.VIEW_START]; while (_local15.length) { _local16 = _local15.pop(); _local6.trackEvent(_local8, _local16.action, _local16.label); }; break; case ReportNames.OVERALL_PLAY_TIME: _local14.userID = _local11.userID; _local14.duration = currentDuration; _local14.playbackTime = currentPlayheadTime; break; case ReportNames.MEDIA_FILE_PLAY_ERROR: if (_local10.mediaData){ _local14.countryCode = ((_local11.countryCode) || ("")); _local14.mediaURL = _local10.mediaData[currentMediaType].mediaURL; } else { return; }; break; }; _local3.sendReport(_arg1, _local14); } protected function initCofigurationData():void{ trace("-------------------------------------"); trace("Configuration Data:"); trace("-------------------------------------"); var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var _local2:PlayerConfiguration = new PlayerConfiguration(); var _local3:Function = Data.assignDefault; _local2.reviewMode = _local3(_local1, "reviewMode", ""); var _local4:String = unescape(_local3(_local1, "postRollContentURL", "")); _local2.postRollContentURL = (_isOnline) ? URLValidator.validate(_local4) : _local4; _local2.comscoreURL = ((unescape(_local3(_local1, "comscoreURL", ""))) || ("")); trace(this, "cfg.comscoreURL:", _local2.comscoreURL); _local2.reportToWinter = (_local3(_local1, "reportToWinter", "false") == "true"); _local2.isJPN = (_local3(_local1, "isJPN", "false") == "true"); _local2.reportVM = (_local3(_local1, "reportVM", "false") == "true"); _local2.reportTM = (_local3(_local1, "reportTM", "false") == "true"); _local2.mediaType = _local3(_local1, "mediaType", ""); _local2.tmDebugOn = _local3(_local1, "tmDebugOn", false); _local2.forceMute = (_local3(_local1, "forceMute", "false") == "true"); _local2.context = _local3(_local1, "context", ""); if (_local1.hasOwnProperty("errorCode")){ _local2.errorCode = uint(_local1.errorCode); _local2.errorTitle = unescape(unescape(_local3(_local1, "errorTitle", ""))); _local2.errorDescription = unescape(unescape(_local3(_local1, "errorDescription", ""))); }; _local2.additionalReportsValues = new AdditionalReportsValues(); _local2.chromelessURL = _local3(_local1, "chromelessURL", ""); var _local5:Registery = registery; _local5.playerConfig = _local2; } protected function initEnvData():void{ trace("-------------------------------------"); trace("Environment Data:"); trace("-------------------------------------"); var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var _local2:Function = Data.assignDefault; var _local3:String = _local2(_local1, "altServerURL", ""); var _local4:String = _local2(_local1, "pageURL", ""); var _local5:String = _local2(_local1, "staticURL", ""); var _local6:String = _local2(_local1, "altServerURL", ""); var _local7:String = _local2(_local1, "reportsBaseURL", ""); var _local8:Env = new Env(); _local8.altServerURL = URLValidator.validate(_local3); _local8.pageURL = URLValidator.validate(_local4); _local8.staticURL = URLValidator.validate(_local5); _local8.serviceURL = URLValidator.validate(_local6); _local8.reportsBaseURL = URLValidator.validate(_local7); var _local9:Registery = registery; _local9.envData = _local8; } protected function initUserData():void{ trace("-------------------------------------"); trace("User Data:"); trace("-------------------------------------"); var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var _local2:Function = Data.assignDefault; var _local3:User = new User(); _local3.nickName = _local2(_local1, "nickName", ""); _local3.clientIP = _local2(_local1, "clientIP", ""); _local3.visitID = _local2(_local1, "visitID", ""); _local3.LEID = _local2(_local1, "LEID", ""); _local3.userID = _local2(_local1, "userID", ""); _local3.audienceCode = _local2(_local1, "audienceCode", "basic"); _local3.userItemRank = _local2(_local1, "userItemRank", null); _local3.countryCode = _local2(_local1, "countryCode", ""); var _local4:String = _local2(_local1, "userPageID", ""); if (_local4.length){ _local3.userPageID = _local4; }; var _local5:Registery = registery; _local5.userData = _local3; } protected function initItemData():void{ var rawMediaData:Object; var fileType:String; var fileTypeData:Object; var mdDTO:mediaDTO; var prop:String; var mURL:String; var medURL:String; trace("-------------------------------------"); trace("Item Data:"); trace("-------------------------------------"); var vars:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var item:Item = new Item(); var def:Function = Data.assignDefault; var isJSONError:Boolean; var mediaData:Object = {}; try { trace("======================================================"); rawMediaData = JSON.decode(unescape(vars.mediaData)); for (fileType in rawMediaData) { fileTypeData = rawMediaData[fileType]; trace("Found fileType:", fileType); mdDTO = new mediaDTO(); for (prop in fileTypeData) { mdDTO[prop] = fileTypeData[prop]; trace("\tAdding data:", prop, ":", mdDTO[prop]); }; mURL = mdDTO.mediaURL.replace("[From www.metacafe.com] ", "%5BFrom%20www.metacafe.com%5D%20"); mdDTO.mediaURL = URLValidator.validate(mURL); mediaData[fileType] = mdDTO; }; item.mediaData = mediaData; trace("======================================================"); } catch(err:Error) { trace("No mediaData or malformed JSON"); isJSONError = true; }; if (((((!(mediaData.hasOwnProperty(MediaFileTypes.FLV))) && (!(mediaData.hasOwnProperty(MediaFileTypes.MP4))))) || (isJSONError))){ medURL = def(vars, "mediaURL", ""); item.mediaURL = URLValidator.validate(medURL); item.accessControlKey = def(vars, "gdaKey", ""); }; var kw:String = def(vars, "keywords", ""); item.keywords = unescape(kw).split(","); var cats:String = def(vars, "categories", ""); item.categories = unescape(cats).split(","); item.itemID = def(vars, "itemID", ""); item.origID = def(vars, "origID", ""); item.duration = def(vars, "duration", 0); item.title = unescape(def(vars, "title", "")); item.normalizedTitle = def(vars, "normalizedTitle", ""); item.description = unescape(def(vars, "description", "")); item.isWatermarked = Boolean((def(vars, "isWatermarked", "false") == "true")); item.reportID = def(vars, "itemReportID", ""); item.isSponsoredVideo = Boolean((((def(vars, "isSV", "false") == "true")) || ((def(vars, "isViral", "false") == "true")))); item.affiliateID = def(vars, "affID", ""); item.isIndexed = def(vars, "isIndexed", false); item.indexedItemID = def(vars, "indexedItemID", ""); var reg:Registery = registery; reg.itemData = item; } protected function initAdditionalData():void{ trace("-------------------------------------"); trace("Additional Data:"); trace("-------------------------------------"); } public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ var _local5:Object; var _local6:String; var _local2:String = _arg1.info.name; var _local3:VideoPlayer = videoPlayer; var _local4:Registery = registery; if (_local4.playerConfig.errorCode){ return; }; switch (_local2){ case MediaControlsNames.PLAY: if (videoPlayer.state == StreamStates.STATE_WAITING){ playMainItem(); }; break; case MediaControlsNames.REPLAY: (reporter as CommonReporter).resetOverallPlaytimeFlag(); _local3.seekEnabled = (_local3.volumeEnabled = (_local3.fullScreenEnabled = true)); playMainItem(); break; case MediaControlsNames.STOP: videoPlayer.stop(); onPlayerScheduleComplete(); break; case MediaControlsNames.MEDIA_TYPE_FLV: _local5 = registery.itemData.mediaData; _local6 = MediaFileTypes.FLV; if (_local5){ if (_local5[MediaFileTypes.MP4]){ _local6 = MediaFileTypes.MP4; }; }; setMediaType(_local6); break; case MediaControlsNames.MEDIA_TYPE_HD: setMediaType(MediaFileTypes.HIGH_DEFINITION_MP4); break; }; } public function onScreenClick(_arg1:VideoPlayerEvent):void{ var _local2:Timer = screenClickTimer; _local2.start(); onLogoClick(_arg1.info); } public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{ var _local2:Timer = screenClickTimer; _local2.stop(); stage.displayState = ((stage.displayState == StageDisplayState.FULL_SCREEN)) ? StageDisplayState.NORMAL : StageDisplayState.FULL_SCREEN; } protected function onScreenClickTimer(_arg1:TimerEvent):void{ togglePause(); } private function onLogoClick(_arg1:Object):void{ var _local7:String; var _local8:String; var _local9:VideoPlayer; var _local10:Rectangle; var _local11:Number; var _local12:Number; var _local13:Rectangle; var _local2:Number = _arg1.x; var _local3:Number = _arg1.y; var _local4:Registery = registery; var _local5:String = _local4.itemData.affiliateID; var _local6:Object = AffilliateLogo.AFF_LOGOS[_local5]; if (_local6 != null){ _local7 = _local6.url; _local8 = _local7.replace("[ITEM_ID]", registery.itemData.itemID); _local9 = videoPlayer; _local10 = _local9.getScreenRect(); _local11 = (_local10.width - _local6.offset.width); _local12 = (_local10.height - _local6.offset.height); _local13 = new Rectangle(_local11, _local12, _local6.logo.width, _local6.logo.height); if (_local13.contains(_local2, _local3)){ navigateToURL(new URLRequest(_local8), "_blank"); }; }; } public function togglePause():void{ var _local1:VideoPlayer = videoPlayer; var _local2:String = _local1.state; trace(this, "togglePause()", _local2); switch (_local2){ case StreamStates.STATE_PAUSED: _local1.play(); break; case StreamStates.STATE_PLAYING: _local1.pause(); break; }; } public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ var _local3:Loader; var _local4:Timer; var _local2:String = _arg1.info.state; trace("onVideoStateChanged(", _local2, ")"); switch (_local2){ case StreamStates.STATE_FILE_NOT_FOUND: sendMediaFilePlayErrorReport(); case StreamStates.STATE_STOPPED: case StreamStates.STATE_ENDED: playNextItem(); break; case StreamStates.STATE_PLAYING: if (isMainItem){ sendStartReport(); }; break; default: _local3 = postRollLoader; if (_local3.visible){ hidePostRollContent(); }; _local4 = mouseInactivityTimer; _local4.start(); }; } public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ _currentDuration = _arg1.info.duration; var _local2:Number = (_currentPlayheadTime = _arg1.info.time); if ((((_local2 > 0)) && (isMainItem))){ sendStartReport(); }; } public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ } protected function onDisplayStateChnage(_arg1:FullScreenEvent):void{ var _local2:Timer = mouseInactivityTimer; if (!_arg1.fullScreen){ videoPlayer.mediaControlsVisible = true; }; } protected function onMouseMoveTimerTick(_arg1:TimerEvent):void{ var _local2:Number = mouseX; var _local3:Number = mouseY; var _local4:Point = lastMousePos; if (((!((_local4.x == _local2))) || (!((_local4.y == _local3))))){ lastMousePos.x = _local2; lastMousePos.y = _local3; onMouseReActive(); }; } protected function onMouseInactive(_arg1:TimerEvent):void{ var evt = _arg1; var isInternal = (videoPlayer.mediaControlsPlacement == MediaControlsPlacementTypes.INTERNAL); var isFullScreen:Boolean; try { isFullScreen = (stage.displayState == StageDisplayState.FULL_SCREEN); } catch(err:Error) { trace("Unable to get a reference to 'stage'"); }; if (((isFullScreen) || (((isInternal) && ((videoPlayer.state == StreamStates.STATE_PLAYING)))))){ videoPlayer.mediaControlsVisible = false; }; } protected function onMouseReActive():void{ if (!videoPlayer.mediaControlsVisible){ videoPlayer.mediaControlsVisible = true; }; var _local1:Timer = mouseInactivityTimer; _local1.reset(); _local1.start(); } override protected function size():void{ var cat:IResizeable; var w:Number = width; var h:Number = height; var vp:VideoPlayer = videoPlayer; vp.setSize(w, h); var scrH:Number = vp.screenRect.height; var prLdr:Loader = postRollLoader; try { cat = (prLdr.content as IResizeable); cat.setSize(w, scrH); } catch(err:Error) { }; } public function playVideo():void{ videoPlayer.play(); } public function pauseVideo():void{ if (videoPlayer.state == StreamStates.STATE_PLAYING){ videoPlayer.pause(); }; } public function stopVideo():void{ videoPlayer.stop(); } public function seek(_arg1:Number):void{ videoPlayer.seek(_arg1); } public function setMediaType(_arg1:String):void{ if (_arg1 != currentMediaType){ currentMediaType = _arg1; (reporter as CommonReporter).reset(); playMainItem(); }; } public function registerVideoPlayerModule(_arg1:IVideoPlayerModule){ videoPlayer.registerModule(_arg1); } public function unRegisterVideoPlayerModule(_arg1:IVideoPlayerModule){ videoPlayer.unRegisterModule(_arg1); } public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{ } } }//package com.metacafe.base
Section 93
//ComponentLoaderBase (com.metacafe.base.ComponentLoaderBase) package com.metacafe.base { import flash.events.*; import com.greensock.*; import flash.net.*; import flash.display.*; import com.metacafe.gui.events.*; import com.metacafe.events.*; import com.metacafe.portal.events.*; import com.greensock.plugins.*; import com.metacafe.social.*; import com.metacafe.gui.shapes.*; import flash.system.*; public class ComponentLoaderBase extends ResizeableSprite { protected var background:Rect; protected var loader:Loader; protected var _componentURLs:Object; protected var _socialTabID:String; public function ComponentLoaderBase(){ TweenPlugin.activate([AutoAlphaPlugin]); init(); } public function get componentURLs():Object{ return (_componentURLs); } public function set componentURLs(_arg1:Object):void{ _componentURLs = _arg1; } public function get socialTabID():String{ return (_socialTabID); } public function set socialTabID(_arg1:String):void{ _socialTabID = _arg1; } protected function init(){ var _local1:Rect; _local1 = (background = new Rect()); _local1.alpha = 0.8; _local1.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation); addChild(_local1); var _local2:Loader = (loader = new Loader()); var _local3:LoaderInfo = _local2.contentLoaderInfo; _local3.addEventListener(Event.INIT, onComponentLoaded); _local3.addEventListener(IOErrorEvent.IO_ERROR, onComponentLoadFail); addChild(_local2); alpha = 0; visible = false; Security.allowDomain("*"); } protected function onComponentLoadFail(_arg1:IOErrorEvent):void{ trace(_arg1); hide(); } protected function onComponentLoaded(_arg1:Event):void{ var content:*; var evt = _arg1; trace((this + "onComponentLoaded")); var inf:LoaderInfo = (evt.target as LoaderInfo); try { content = inf.content; content.addEventListener(CloseClickEvent.CLOSE, onCloseClick); content.addEventListener(SuccessEvent.SUCCESS, onSuccessEvent); } catch(e:Error) { trace(e); }; if (socialTabID){ try { content.selectTabByID(socialTabID); } catch(e:Error) { trace(e); }; }; size(); show(); } protected function onSuccessEvent(_arg1:SuccessEvent):void{ } private function onCloseClick(_arg1:CloseClickEvent){ hide(); } public function loadComponent(_arg1:String):void{ var compURL:String; var req:URLRequest; var ctx:LoaderContext; var ldr:Loader; var val = _arg1; trace((((this + "loadComponent(\"") + val) + "\")")); try { compURL = componentURLs[val]; } catch(e:Error) { trace(("Unknown component name: " + val)); }; if (compURL.length){ req = new URLRequest(compURL); ctx = new LoaderContext(false, ApplicationDomain.currentDomain); socialTabID = ""; switch (val){ case SocialContentIDs.BOOKMARK_TAB: case SocialContentIDs.EMAIL_TAB: case SocialContentIDs.POST_TAB: socialTabID = val; break; }; ldr = loader; ldr.load(req); }; } public function show(){ trace("show()"); var _local1:Loader = loader; TweenLite.killTweensOf(_local1); TweenLite.to(_local1, 0.25, {alpha:1}); TweenLite.killTweensOf(this); TweenLite.to(this, 0.25, {autoAlpha:1}); dispatchEvent(new ComponentLoaderEvent(ComponentLoaderEvent.SHOW)); } public function hide(){ trace("hide()"); var _local1:Loader = loader; TweenLite.killTweensOf(_local1); TweenLite.to(_local1, 0.25, {alpha:0}); TweenLite.killTweensOf(this); TweenLite.to(this, 0.25, {autoAlpha:0}); dispatchEvent(new ComponentLoaderEvent(ComponentLoaderEvent.HIDE)); } override protected function size():void{ var ldr:Loader; var cw:Number; var ch:Number; var w:Number = width; var h:Number = height; var bg:Rect = background; bg.width = w; bg.height = h; try { ldr = loader; cw = ldr.width; ch = ldr.height; ldr.x = ((w - cw) / 2); ldr.y = ((h - ch) / 2); } catch(e:Error) { }; } } }//package com.metacafe.base
Section 94
//OverlayAdIntegrationBase (com.metacafe.base.OverlayAdIntegrationBase) package com.metacafe.base { import flash.events.*; import com.metacafe.utils.*; import com.metacafe.video.*; import flash.display.*; import com.metacafe.*; public class OverlayAdIntegrationBase extends VideoPlayerModuleBase { private var _width:Number; private var _height:Number; protected var _container:DisplayObjectContainer; protected var _adVendorData:Object; protected var registery:Registery; protected var _videoPlayer:IVideoPlayer; public function OverlayAdIntegrationBase(_arg1:DisplayObjectContainer){ container = _arg1; _arg1.addEventListener(Event.ADDED_TO_STAGE, onAdded); _arg1.loaderInfo.addEventListener(Event.UNLOAD, onUnload); init(); } public function get hasPrerollVideoAd():Boolean{ return (false); } public function get hasPostrollVideoAd():Boolean{ return (false); } public function get container():DisplayObjectContainer{ return (_container); } public function set container(_arg1:DisplayObjectContainer):void{ _container = _arg1; } public function get videoPlayer():IVideoPlayer{ return (_videoPlayer); } public function set videoPlayer(_arg1:IVideoPlayer):void{ _videoPlayer = _arg1; } public function get adVendorData():Object{ return (_adVendorData); } public function set adVendorData(_arg1:Object):void{ _adVendorData = _arg1; trace(this, "adVendorData set to", Debug.dump(_arg1)); } public function get width():Number{ return (_width); } public function get height():Number{ return (_height); } private function onAdded(_arg1:Event):void{ var _local2:Stage = container.stage; _local2.addEventListener(FullScreenEvent.FULL_SCREEN, onFullScreen); } protected function onUnload(_arg1:Event):void{ } protected function onFullScreen(_arg1:FullScreenEvent):void{ container.visible = !(_arg1.fullScreen); } protected function init():void{ } public function playAds():void{ } public function setSize(_arg1:Number, _arg2:Number):void{ _arg1 = Math.max(_arg1, 0); _arg2 = Math.max(_arg2, 0); _width = _arg1; _height = _arg2; size(); } protected function size():void{ } } }//package com.metacafe.base
Section 95
//ResizeableSprite (com.metacafe.base.ResizeableSprite) package com.metacafe.base { import flash.display.*; import com.metacafe.gui.*; public class ResizeableSprite extends Sprite implements IResizeable, IEnableable { private var _width:Number; private var _height:Number; private var _enabled:Boolean;// = true public function ResizeableSprite(){ _width = super.width; _height = super.height; scaleX = (scaleY = 1); focusRect = false; tabEnabled = false; } public function get enabled():Boolean{ return (_enabled); } public function set enabled(_arg1:Boolean):void{ _enabled = (mouseEnabled = _arg1); } override public function get width():Number{ return (_width); } override public function get height():Number{ return (_height); } public function setSize(_arg1:Number, _arg2:Number):void{ _arg1 = Math.max(_arg1, 0); _arg2 = Math.max(_arg2, 0); _width = _arg1; _height = _arg2; size(); } protected function size():void{ var _local1:Number = width; var _local2:Number = height; trace(this, "width:", _local1, "height:", _local2); } } }//package com.metacafe.base
Section 96
//VideoPlayerModuleBase (com.metacafe.base.VideoPlayerModuleBase) package com.metacafe.base { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.video.*; public class VideoPlayerModuleBase extends EventDispatcher implements IVideoPlayerModule { public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ } public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{ } public function onScreenClick(_arg1:VideoPlayerEvent):void{ } public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{ } } }//package com.metacafe.base
Section 97
//VideoPlayerSpriteModuleBase (com.metacafe.base.VideoPlayerSpriteModuleBase) package com.metacafe.base { import com.metacafe.video.events.*; import com.metacafe.video.*; public class VideoPlayerSpriteModuleBase extends ResizeableSprite implements IVideoPlayerModule { private var _vp:IVideoPlayer; public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ } public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ } public function onScreenClick(_arg1:VideoPlayerEvent):void{ } public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{ } public function set vp(_arg1:IVideoPlayer):void{ _vp = _arg1; } public function get vp():IVideoPlayer{ return (_vp); } } }//package com.metacafe.base
Section 98
//CatalogHeaderEvent (com.metacafe.catalog.events.CatalogHeaderEvent) package com.metacafe.catalog.events { import flash.events.*; public class CatalogHeaderEvent extends Event { public static const SHARE_CLICK:String = "shareClick"; public static const REPLAY_CLICK:String = "replayClick"; public function CatalogHeaderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new CatalogHeaderEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("CatalogHeaderEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.catalog.events
Section 99
//AdSpots (com.metacafe.config.AdSpots) package com.metacafe.config { public class AdSpots { public static const PREROLL:String = "preroll"; public static const INROLL:String = "inroll"; public static const MIDROLL:String = "midroll"; public static const POSTROLL:String = "postroll"; } }//package com.metacafe.config
Section 100
//AdTypes (com.metacafe.config.AdTypes) package com.metacafe.config { public class AdTypes { public static const VIDEO:String = "video"; public static const OVERLAY:String = "overlay"; public static const BANNER:String = "banner"; public static const RICH_MEDIA:String = "richMedia"; } }//package com.metacafe.config
Section 101
//AdVendors (com.metacafe.config.AdVendors) package com.metacafe.config { public class AdVendors { public static const METACAFE:String = "Metacafe"; public static const METACAFE_RICH_MEDIA:String = "MetacafeRichMedia"; public static const ADAPTV:String = "Adaptv"; public static const ADAPTV_BF:String = "AdaptvBF"; public static const ADAPTV_PR:String = "AdaptvPR"; public static const SCANSCOUT:String = "ScanScout"; public static const GOOGLE_AFV:String = "GoogleAFV"; public static const VIDEO_EGG:String = "VideoEgg"; public static const PANACHE:String = "Panache"; public static const RECKITT:String = "Reckitt"; public static const AUDITUDE:String = "Auditude"; public static const VDOPIA:String = "Vdopia"; public static const VINDICO:String = "Vindico"; public static const THE_PLATFORM:String = "ThePlatform"; public static const VAST:String = "VAST"; public static const VAST2:String = "VAST2"; } }//package com.metacafe.config
Section 102
//AffilliateLogo (com.metacafe.config.AffilliateLogo) package com.metacafe.config { import flash.geom.*; public class AffilliateLogo { public static const AFF_LOGOS:Object = {hl:{logo:new Rectangle(0, 0, 54, 18), offset:new Rectangle(0, 0, 75, 29), url:"http://www.hulu.com"}, yt:{logo:new Rectangle(0, 0, 80, 32), offset:new Rectangle(0, 0, 91, 42), url:"http://www.youtube.com/watch?v=[ITEM_ID]"}}; } }//package com.metacafe.config
Section 103
//EmbedComponents (com.metacafe.config.EmbedComponents) package com.metacafe.config { public class EmbedComponents { public static const EMBED_SHARE:String = "EmbedShare"; public static const EMBED_STATS:String = "EmbedStats"; public static const BILLBOARD_SHARE:String = "BillboardShare"; } }//package com.metacafe.config
Section 104
//EmbedPendingActions (com.metacafe.config.EmbedPendingActions) package com.metacafe.config { public class EmbedPendingActions { public static const SHOW_STATS:String = "showStats"; public static const SHARE:String = "share"; public static const INIT_ADS:String = "initAds"; } }//package com.metacafe.config
Section 105
//EmbedPlayerButtonNames (com.metacafe.config.EmbedPlayerButtonNames) package com.metacafe.config { public class EmbedPlayerButtonNames { public static const SHARE:String = "share"; public static const LOGO:String = "logo"; } }//package com.metacafe.config
Section 106
//GA (com.metacafe.config.GA) package com.metacafe.config { public class GA { public static const ACCOUNT_ID:String = "UA-6119600-12"; public static const EMBED_ACCOUNT_ID:String = "UA-6119600-14"; public static const EVENT_CATEGORY_TEMPLATE:String = "[PLAYER_TYPE] Player"; public static const VIEW_START_ACTION_TEMPLATE:String = "[PLAYER_TYPE]ViewStart"; public static const PLAYER_TYPE_TOKEN:String = "[PLAYER_TYPE]"; public static const EMBED_PLAY_ACTION:String = "EmbedPlay"; public static const EMBED_SCREEN_CLICK_ACTION:String = "EmbedPlayerScreenClick"; public static const EMBED_ITEM_SELECTOR_IMPRESSION_ACTION:String = "EmbedItemSelectorImpression"; } }//package com.metacafe.config
Section 107
//MediaControlsNames (com.metacafe.config.MediaControlsNames) package com.metacafe.config { public class MediaControlsNames { public static const PLAY:String = "playButton"; public static const PAUSE:String = "pauseButton"; public static const STOP:String = "stopButton"; public static const REPLAY:String = "replayButton"; public static const FULLSCREEN:String = "fullScreenButton"; public static const SEEK:String = "seekSlider"; public static const VOLUME:String = "volumeUnit"; public static const MEDIA_TYPE_FLV:String = "mediaTypeFlv"; public static const MEDIA_TYPE_HD:String = "mediaTypeHD"; public static const SCREEN:String = "screenButton"; public static const CONTROLS:String = "mediaControls"; public static const EXPAND:String = "expandButton"; public static const COLLAPSE:String = "collapseButton"; } }//package com.metacafe.config
Section 108
//MediaControlsPlacementTypes (com.metacafe.config.MediaControlsPlacementTypes) package com.metacafe.config { public class MediaControlsPlacementTypes { public static const EXTERNAL:String = "external"; public static const INTERNAL:String = "internal"; } }//package com.metacafe.config
Section 109
//MediaControlsTransitionTypes (com.metacafe.config.MediaControlsTransitionTypes) package com.metacafe.config { public class MediaControlsTransitionTypes { public static const FADE:String = "fade"; public static const SLIDE:String = "slide"; } }//package com.metacafe.config
Section 110
//MediaFileTypes (com.metacafe.config.MediaFileTypes) package com.metacafe.config { public class MediaFileTypes { public static const FLV:String = "flv"; public static const MP4:String = "MP4"; public static const HIGH_QAULITY_MP4:String = "highQaulityMP4"; public static const HIGH_DEFINITION_MP4:String = "highDefinitionMP4"; } }//package com.metacafe.config
Section 111
//TubeMoguleIDs (com.metacafe.config.TubeMoguleIDs) package com.metacafe.config { public class TubeMoguleIDs { public static function getPlayerTypeID(_arg1:String){ var _local2 = ""; switch (_arg1){ case VideoPlayerTypes.TYPE_PORTAL: _local2 = "TR-3IP-UT6"; break; case VideoPlayerTypes.TYPE_EMBED: _local2 = "TR-6G7-AHU"; break; case VideoPlayerTypes.TYPE_ADUNIT: _local2 = "TR-SQZ-VCT"; break; case VideoPlayerTypes.TYPE_BILLBOARD: _local2 = "TR-4NF-18T"; break; default: _local2 = "TR-DI2-4I3"; break; }; return (_local2); } } }//package com.metacafe.config
Section 112
//VideoPlayerTypes (com.metacafe.config.VideoPlayerTypes) package com.metacafe.config { public class VideoPlayerTypes { public static const TYPE_PORTAL:String = "Portal"; public static const TYPE_EMBED:String = "Embed"; public static const TYPE_ADUNIT:String = "AdUnit"; public static const TYPE_BILLBOARD:String = "Billboard"; public static const TYPE_MTV:String = "MTV"; } }//package com.metacafe.config
Section 113
//VMAdFormats (com.metacafe.config.VMAdFormats) package com.metacafe.config { public class VMAdFormats { public static const LINEAR_AD:String = "LA"; public static const LINEAR_PREROLL:String = "LPR"; public static const LINEAR_MIDROLL:String = "LPM"; public static const LINEAR_POSTROLL:String = "LPO"; public static const NON_LINEAR_OVL_STATIC:String = "NLOIS"; public static const NON_LINEAR_OVL_VIDEO:String = "NLOIV"; } }//package com.metacafe.config
Section 114
//AdditionalReportsValues (com.metacafe.dataObjects.AdditionalReportsValues) package com.metacafe.dataObjects { public class AdditionalReportsValues { private var _prevPageType:String; public function get prevPageType():String{ return (_prevPageType); } public function set prevPageType(_arg1:String):void{ _prevPageType = _arg1; } } }//package com.metacafe.dataObjects
Section 115
//Advertisement (com.metacafe.dataObjects.Advertisement) package com.metacafe.dataObjects { public class Advertisement { private var _adVendorID:String; private var _adVendorModuleURL:String; private var _adVendorData:Object; private var _sponsorshipData:Object; public function get adVendorID():String{ return (_adVendorID); } public function set adVendorID(_arg1:String):void{ _adVendorID = _arg1; } public function get adVendorModuleURL():String{ return (_adVendorModuleURL); } public function set adVendorModuleURL(_arg1:String):void{ _adVendorModuleURL = _arg1; } public function get adVendorData():Object{ return (_adVendorData); } public function set adVendorData(_arg1:Object):void{ _adVendorData = _arg1; } public function get sponsorshipData():Object{ return (_sponsorshipData); } public function set sponsorshipData(_arg1:Object):void{ _sponsorshipData = _arg1; } } }//package com.metacafe.dataObjects
Section 116
//DartConfig (com.metacafe.dataObjects.DartConfig) package com.metacafe.dataObjects { public class DartConfig { private var _host:String; private var _site:String; private var _zones:Object; private var _params:String; public function get host():String{ return (_host); } public function set host(_arg1:String):void{ _host = _arg1; } public function get site():String{ return (_site); } public function set site(_arg1:String):void{ _site = _arg1; } public function get zones():Object{ return (_zones); } public function set zones(_arg1:Object):void{ _zones = _arg1; } public function get params():String{ return (_params); } public function set params(_arg1:String):void{ _params = _arg1; } } }//package com.metacafe.dataObjects
Section 117
//Env (com.metacafe.dataObjects.Env) package com.metacafe.dataObjects { public class Env { private var _staticURL:String; private var _serviceURL:String; private var _altServerURL:String; private var _pageURL:String; private var _reportsBaseURL:String; public function get staticURL():String{ return (_staticURL); } public function set staticURL(_arg1:String):void{ _staticURL = _arg1; } public function get altServerURL():String{ return (_altServerURL); } public function set altServerURL(_arg1:String):void{ _altServerURL = _arg1; } public function get pageURL():String{ return (_pageURL); } public function set pageURL(_arg1:String):void{ _pageURL = _arg1; } public function get serviceURL():String{ return (_serviceURL); } public function set serviceURL(_arg1:String):void{ _serviceURL = _arg1; } public function get reportsBaseURL():String{ return (_reportsBaseURL); } public function set reportsBaseURL(_arg1:String):void{ _reportsBaseURL = _arg1; } } }//package com.metacafe.dataObjects
Section 118
//Item (com.metacafe.dataObjects.Item) package com.metacafe.dataObjects { public class Item { private var _itemID:String; private var _origID:String; private var _duration:Number; private var _title:String; private var _normalizedTitle:String; private var _keywords:Array; private var _categories:Array; private var _description:String; private var _views:uint; private var _comments:uint; private var _isSponsoredVideo:Boolean; private var _mediaURL:String; private var _mediaData:Object; private var _accessControlKey:String; private var _affiliateID:String; private var _isWatermarked:Boolean; private var _isIndexed:Boolean; private var _indexedItemID:String; private var _submitterID:String; private var _numOfRanks:uint; private var _rank:Number; private var _reportID:String; private var _producer:String; private var _earnings:String; public function get itemID():String{ return (_itemID); } public function set itemID(_arg1:String):void{ _itemID = _arg1; } public function get origID():String{ return (_origID); } public function set origID(_arg1:String):void{ _origID = _arg1; } public function get duration():Number{ return (_duration); } public function set duration(_arg1:Number):void{ _duration = _arg1; } public function get title():String{ return (_title); } public function set title(_arg1:String):void{ _title = _arg1; } public function get normalizedTitle():String{ return (_normalizedTitle); } public function set normalizedTitle(_arg1:String):void{ _normalizedTitle = _arg1; } public function get keywords():Array{ return (_keywords); } public function set keywords(_arg1:Array):void{ _keywords = _arg1; } public function get categories():Array{ return (_categories); } public function set categories(_arg1:Array):void{ _categories = _arg1; } public function get description():String{ return (_description); } public function set description(_arg1:String):void{ _description = _arg1; } public function get isSponsoredVideo():Boolean{ return (_isSponsoredVideo); } public function set isSponsoredVideo(_arg1:Boolean):void{ _isSponsoredVideo = _arg1; } public function get mediaURL():String{ var _local1:String = ((accessControlKey) || ("")); var _local2 = ""; if (_local1.length){ _local2 = ("?__gda__=" + _local1); }; return ((_mediaURL + _local2)); } public function set mediaURL(_arg1:String):void{ _mediaURL = _arg1; trace("mediaURL set to", _arg1); } public function get accessControlKey():String{ return (_accessControlKey); } public function set accessControlKey(_arg1:String):void{ _accessControlKey = _arg1; } public function get mediaData():Object{ return (_mediaData); } public function set mediaData(_arg1:Object):void{ _mediaData = _arg1; } public function get affiliateID():String{ return (_affiliateID); } public function set affiliateID(_arg1:String):void{ _affiliateID = _arg1; } public function get isWatermarked():Boolean{ return (_isWatermarked); } public function set isWatermarked(_arg1:Boolean):void{ _isWatermarked = _arg1; } public function get isIndexed():Boolean{ return (_isIndexed); } public function set isIndexed(_arg1:Boolean):void{ _isIndexed = _arg1; } public function get submitterID():String{ return (_submitterID); } public function set submitterID(_arg1:String):void{ _submitterID = _arg1; } public function get numOfRanks():uint{ return (_numOfRanks); } public function set numOfRanks(_arg1:uint):void{ _numOfRanks = _arg1; } public function get rank():Number{ return (_rank); } public function set rank(_arg1:Number):void{ _rank = _arg1; } public function get reportID():String{ return (_reportID); } public function set reportID(_arg1:String):void{ _reportID = _arg1; } public function get producer():String{ return (_producer); } public function set producer(_arg1:String):void{ _producer = _arg1; } public function get earnings():String{ return (_earnings); } public function set earnings(_arg1:String):void{ _earnings = _arg1; } public function get indexedItemID():String{ return (_indexedItemID); } public function set indexedItemID(_arg1:String):void{ _indexedItemID = _arg1; } public function get views():uint{ return (_views); } public function set views(_arg1:uint):void{ _views = _arg1; } public function get comments():uint{ return (_comments); } public function set comments(_arg1:uint):void{ _comments = _arg1; } } }//package com.metacafe.dataObjects
Section 119
//mediaDTO (com.metacafe.dataObjects.mediaDTO) package com.metacafe.dataObjects { public class mediaDTO { private var _mediaURL:String; private var _jpn:Boolean; private var _bitRate:int; private var _buffer:int; private var _key:String; public function get mediaURL():String{ return (_mediaURL); } public function set mediaURL(_arg1:String):void{ _mediaURL = _arg1; } public function get jpn():Boolean{ return (_jpn); } public function set jpn(_arg1:Boolean):void{ _jpn = _arg1; } public function get bitRate():int{ return (_bitRate); } public function set bitRate(_arg1:int):void{ _bitRate = _arg1; } public function get buffer():int{ return (_buffer); } public function set buffer(_arg1:int):void{ _buffer = _arg1; } public function get key():String{ return (_key); } public function set key(_arg1:String):void{ _key = _arg1; } } }//package com.metacafe.dataObjects
Section 120
//PlayerConfiguration (com.metacafe.dataObjects.PlayerConfiguration) package com.metacafe.dataObjects { import flash.geom.*; public class PlayerConfiguration { private var _playerType:String; private var _playerVars:Object; private var _postRollContentURL:String; private var _errorCatalogURL:String; private var _campaignID:String; private var _componentURLs:Object; private var _beacons:Array; private var _isSite:Boolean; private var _reviewMode:String; private var _errorCode:uint; private var _errorTitle:String; private var _errorDescription:String; private var _errorDisplayFileURL:String; private var _subType:String; private var _inHousePreroll:String; private var _embeddingURL:String; private var _clickURL:String; private var _clickTarget:String; private var _isNetworkAllowed:Boolean; private var _size:Rectangle; private var _comscoreURL:String; private var _reportToWinter:Boolean; private var _isJPN:Boolean; private var _reportVM:Boolean; private var _reportTM:Boolean; private var _mediaType:String; private var _tmDebugOn:Boolean; private var _ytConfig:YTConfiguration; private var _uniqueInstanceID:String; private var _forceMute:Boolean; private var _additionalReportsValues:AdditionalReportsValues; private var _chromelessURL:String; private var _isFullScreenAllowed:Boolean; private var _context:String; public function get playerVars():Object{ return (_playerVars); } public function set playerVars(_arg1:Object):void{ _playerVars = _arg1; } public function get playerType():String{ return (_playerType); } public function set playerType(_arg1:String):void{ _playerType = _arg1; } public function get postRollContentURL():String{ return (_postRollContentURL); } public function set postRollContentURL(_arg1:String):void{ _postRollContentURL = _arg1; } public function get errorCatalogURL():String{ return (_errorCatalogURL); } public function set errorCatalogURL(_arg1:String):void{ _errorCatalogURL = _arg1; } public function get campaignID():String{ return (_campaignID); } public function set campaignID(_arg1:String):void{ _campaignID = _arg1; } public function get componentURLs():Object{ return (_componentURLs); } public function set componentURLs(_arg1:Object):void{ _componentURLs = _arg1; } public function get beacons():Array{ return (_beacons); } public function set beacons(_arg1:Array):void{ _beacons = _arg1; } public function get isSite():Boolean{ return (_isSite); } public function set isSite(_arg1:Boolean):void{ _isSite = _arg1; } public function get reviewMode():String{ return (_reviewMode); } public function set reviewMode(_arg1:String):void{ _reviewMode = _arg1; } public function get errorCode():uint{ return (_errorCode); } public function set errorCode(_arg1:uint):void{ _errorCode = _arg1; } public function get errorTitle():String{ return (_errorTitle); } public function set errorTitle(_arg1:String):void{ _errorTitle = _arg1; } public function get errorDescription():String{ return (_errorDescription); } public function set errorDescription(_arg1:String):void{ _errorDescription = _arg1; } public function get subType():String{ return (_subType); } public function set subType(_arg1:String):void{ _subType = _arg1; } public function get errorDisplayFileURL():String{ return (_errorDisplayFileURL); } public function set errorDisplayFileURL(_arg1:String):void{ _errorDisplayFileURL = _arg1; } public function get inHousePreroll():String{ return (_inHousePreroll); } public function set inHousePreroll(_arg1:String):void{ _inHousePreroll = _arg1; } public function get embeddingURL():String{ return (_embeddingURL); } public function set embeddingURL(_arg1:String):void{ _embeddingURL = _arg1; } public function get tmDebugOn():Boolean{ return (_tmDebugOn); } public function set tmDebugOn(_arg1:Boolean):void{ _tmDebugOn = _arg1; } public function get embeddingDomain():String{ return (_embeddingURL.split("/")[2]); } public function get isNetworkAllowed():Boolean{ return (_isNetworkAllowed); } public function set isNetworkAllowed(_arg1:Boolean):void{ _isNetworkAllowed = _arg1; } public function get clickURL():String{ return (_clickURL); } public function set clickURL(_arg1:String):void{ _clickURL = _arg1; } public function get clickTarget():String{ return (_clickTarget); } public function set clickTarget(_arg1:String):void{ _clickTarget = _arg1; } public function get size():Rectangle{ return (_size); } public function set size(_arg1:Rectangle):void{ _size = _arg1; } public function get comscoreURL():String{ return (_comscoreURL); } public function set comscoreURL(_arg1:String):void{ _comscoreURL = _arg1; } public function get reportToWinter():Boolean{ return (_reportToWinter); } public function set reportToWinter(_arg1:Boolean):void{ _reportToWinter = _arg1; } public function get isJPN():Boolean{ return (_isJPN); } public function set isJPN(_arg1:Boolean):void{ _isJPN = _arg1; } public function get reportVM():Boolean{ return (_reportVM); } public function set reportVM(_arg1:Boolean):void{ _reportVM = _arg1; } public function get reportTM():Boolean{ return (_reportTM); } public function set reportTM(_arg1:Boolean):void{ _reportTM = _arg1; } public function get mediaType():String{ return (_mediaType); } public function set mediaType(_arg1:String):void{ _mediaType = _arg1; } public function get ytConfig():YTConfiguration{ return (_ytConfig); } public function set ytConfig(_arg1:YTConfiguration):void{ _ytConfig = _arg1; } public function get uniqueInstanceID():String{ return (_uniqueInstanceID); } public function set uniqueInstanceID(_arg1:String):void{ _uniqueInstanceID = _arg1; } public function get forceMute():Boolean{ return (_forceMute); } public function set forceMute(_arg1:Boolean):void{ _forceMute = _arg1; } public function get additionalReportsValues():AdditionalReportsValues{ return (_additionalReportsValues); } public function set additionalReportsValues(_arg1:AdditionalReportsValues):void{ _additionalReportsValues = _arg1; } public function get chromelessURL():String{ return (_chromelessURL); } public function set chromelessURL(_arg1:String):void{ _chromelessURL = _arg1; } public function get isFullScreenAllowed():Boolean{ return (_isFullScreenAllowed); } public function set isFullScreenAllowed(_arg1:Boolean):void{ _isFullScreenAllowed = _arg1; } public function get context():String{ return (_context); } public function set context(_arg1:String):void{ _context = _arg1; } } }//package com.metacafe.dataObjects
Section 121
//User (com.metacafe.dataObjects.User) package com.metacafe.dataObjects { public class User { private var _userID:String; private var _nickName:String; private var _visitID:String; private var _sessionID:String; private var _UUID:String; private var _clientIP:String; private var _externalUserId:String; private var _LEID:String; private var _audienceCode:String; private var _countryCode:String; private var _userItemRank:Number; private var _age:Number; private var _gender:String; private var _userPageID:String; public function get userID():String{ return (_userID); } public function set userID(_arg1:String):void{ _userID = _arg1; } public function get nickName():String{ return (_nickName); } public function set nickName(_arg1:String):void{ _nickName = _arg1; } public function get visitID():String{ return (_visitID); } public function set visitID(_arg1:String):void{ _visitID = _arg1; } public function get sessionID():String{ return (_sessionID); } public function set sessionID(_arg1:String):void{ _sessionID = _arg1; } public function get UUID():String{ return (_UUID); } public function set UUID(_arg1:String):void{ _UUID = _arg1; } public function get clientIP():String{ return (_clientIP); } public function set clientIP(_arg1:String):void{ _clientIP = _arg1; } public function get externalUserId():String{ return (_externalUserId); } public function set externalUserId(_arg1:String):void{ _externalUserId = _arg1; } public function get LEID():String{ return (_LEID); } public function set LEID(_arg1:String):void{ _LEID = _arg1; } public function get audienceCode():String{ return (_audienceCode); } public function set audienceCode(_arg1:String):void{ _audienceCode = _arg1; } public function get countryCode():String{ return (_countryCode); } public function set countryCode(_arg1:String):void{ _countryCode = _arg1; } public function get userItemRank():Number{ return (_userItemRank); } public function set userItemRank(_arg1:Number):void{ _userItemRank = _arg1; } public function get age():Number{ return (_age); } public function set age(_arg1:Number):void{ _age = _arg1; } public function get gender():String{ return (_gender); } public function set gender(_arg1:String):void{ _gender = _arg1; } public function get userPageID():String{ return (_userPageID); } public function set userPageID(_arg1:String):void{ _userPageID = _arg1; } } }//package com.metacafe.dataObjects
Section 122
//VideoSegment (com.metacafe.dataObjects.VideoSegment) package com.metacafe.dataObjects { public class VideoSegment { private var _startTime:Number; private var _duration:Number; public function VideoSegment(_arg1:Number=0, _arg2:Number=0){ _startTime = _arg1; _duration = _arg2; } public function get startTime():Number{ return (_startTime); } public function set startTime(_arg1:Number):void{ _startTime = _arg1; } public function get duration():Number{ return (_duration); } public function set duration(_arg1:Number):void{ _duration = _arg1; } } }//package com.metacafe.dataObjects
Section 123
//YTConfiguration (com.metacafe.dataObjects.YTConfiguration) package com.metacafe.dataObjects { public class YTConfiguration { private var _wrapperFileURL:String; private var _useRefetching:Boolean; private var _clLoadTimeouts:Array; private var _defaultYTQuality:String; public function get wrapperFileURL():String{ return (_wrapperFileURL); } public function set wrapperFileURL(_arg1:String):void{ _wrapperFileURL = _arg1; } public function get useRefetching():Boolean{ return (_useRefetching); } public function set useRefetching(_arg1:Boolean):void{ _useRefetching = _arg1; } public function get clLoadTimeouts():Array{ return (_clLoadTimeouts); } public function set clLoadTimeouts(_arg1:Array):void{ _clLoadTimeouts = _arg1; } public function get defaultYTQuality():String{ return (_defaultYTQuality); } public function set defaultYTQuality(_arg1:String):void{ _defaultYTQuality = _arg1; } } }//package com.metacafe.dataObjects
Section 124
//CommonEmbedVideoPlayer (com.metacafe.embed.CommonEmbedVideoPlayer) package com.metacafe.embed { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import flash.geom.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import com.adobe.serialization.json.*; import com.metacafe.base.*; import com.metacafe.config.*; public class CommonEmbedVideoPlayer extends CommonVideoPlayer { protected var splash:Splash; protected var isExtendedDataLoaded:Boolean;// = false protected var pendingActions:Array; protected var _extendedData:Object; protected static const THUMB_URL_TEMPLATE:String = "[STATIC_URL]/thumb/[PLAYER_TYPE]/[ITEM_ID].jpg"; protected static const DEFAULT_SERVICE_URL:String = "http://www.metacafe.com"; public function get extendedData():Object{ return (_extendedData); } public function set extendedData(_arg1:Object):void{ _extendedData = _arg1; } override public function init():void{ super.init(); trace(this, "init"); pendingActions = []; initDataPendingActions(); var _local1:Registery = registery; var _local2:PlayerConfiguration = _local1.playerConfig; var _local3:Object = _local2.playerVars; var _local4:Boolean = (_local3) ? _local3.autoPlay : false; trace("autoPlay:", _local4); if (_local4){ startPlayback(); } else { initSplash(); }; } protected function initSplash():void{ var _local1:Splash = (splash = new Splash()); addChild(_local1); swapChildren(_local1, mediaControls); _local1.addEventListener(MouseEvent.CLICK, onPlayVideoClick); loadThumb(); } protected function loadThumb():void{ var _local1:Registery = registery; var _local2:Splash = splash; var _local3:Item = _local1.itemData; var _local4:String = _local3.itemID; var _local5:String = _local3.affiliateID; var _local6:String = (_local5) ? ((_local5 + "-") + _local4) : _local4; var _local7:String = _local1.playerConfig.playerType.toLowerCase(); var _local8:String = THUMB_URL_TEMPLATE.replace("[STATIC_URL]", _local1.envData.staticURL); _local8 = _local8.replace("[PLAYER_TYPE]", _local7); _local8 = _local8.replace("[ITEM_ID]", _local6); _local2.loadThumb(_local8); } protected function initDataPendingActions():void{ addPendingActions(); if (pendingActions.length){ loadExtendedData(); }; } protected function addPendingActions():void{ } protected function loadExtendedData():void{ if (isExtendedDataLoaded){ return; }; var _local1:Registery = registery; var _local2:String = _local1.envData.serviceURL; var _local3:Item = _local1.itemData; var _local4:String = _local3.affiliateID; var _local5:String = (_local4) ? ((_local4 + "-") + _local3.itemID) : _local3.itemID; var _local6:Object = {comscoreURL:{}, componentURLs:{}, itemIDs:[_local5]}; var _local7:URLVariables = new URLVariables("pageToLoad=controllerResponse&controllerGroup=FlashComponents&inputType=api"); _local7.json = JSON.encode(_local6); _local7.playerType = _local1.playerConfig.playerType; _local7.eDomain = _local1.playerConfig.embeddingDomain; var _local8:URLRequest = new URLRequest((_local2 + "/index.php")); _local8.data = _local7; var _local9:URLLoader = new URLLoader(); _local9.addEventListener(Event.COMPLETE, onExtenededDataLoaded); _local9.addEventListener(IOErrorEvent.IO_ERROR, onIOError); _local9.load(_local8); } protected function onExtenededDataLoaded(_arg1:Event):void{ var response:Object; var e = _arg1; var ldr:URLLoader = (e.target as URLLoader); trace(ldr.data); try { response = JSON.decode(ldr.data).responseParams; } catch(err:JSONParseError) { trace(err, "\n", err.location, err.text); }; extendedData = response; harvestExtendedData(); doPendingActions(); } protected function harvestExtendedData():void{ var _local1:Registery = registery; var _local2:Item = _local1.itemData; var _local3:String = _local2.affiliateID; var _local4:String = (_local3) ? ((_local3 + "-") + _local2.itemID) : _local2.itemID; var _local5:PlayerConfiguration = _local1.playerConfig; var _local6:Object = extendedData.items[_local4]; _local2.title = _local6.title; _local2.description = _local6.description; _local2.categories = _local6.categories; _local2.keywords = _local6.keywords; _local2.views = uint(_local6.views); _local2.rank = Number(_local6.rank); _local2.comments = uint(_local6.comments); if (_local6.isPR){ _local2.earnings = _local6.totalEarnings; }; _local5.componentURLs = extendedData.componentURLs; _local5.comscoreURL = extendedData.comscoreURL; } protected function doPendingActions():void{ } protected function onIOError(_arg1:IOErrorEvent):void{ trace(_arg1); } protected function onPlayVideoClick(_arg1:MouseEvent):void{ hideSplash(); startPlayback(); } protected function hideSplash():void{ if (splash){ splash.visible = false; }; } override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ super.onVideoStateChanged(_arg1); var _local2:Splash = splash; if (_local2){ _local2.visible = (((_arg1.info.state == StreamStates.STATE_WAITING)) && (isFirstPlayback)); }; } override public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ super.onMediaControlsButtonClick(_arg1); var _local2:String = _arg1.info.name; switch (_local2){ case MediaControlsNames.PLAY: hideSplash(); break; }; } override protected function initEnvData():void{ super.initEnvData(); var _local1:Registery = registery; _local1.envData.serviceURL = ((_local1.envData.serviceURL) || (DEFAULT_SERVICE_URL)); } override protected function initCofigurationData():void{ var _local5:Array; var _local6:uint; var _local7:Object; var _local8:int; var _local9:Array; super.initCofigurationData(); var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var _local2:Function = Data.assignDefault; var _local3:PlayerConfiguration = registery.playerConfig; var _local4:String = _local2(_local1, "playerVars", "false"); if (((_local4) && (!((_local4 == "false"))))){ _local5 = _local4.split("|"); _local6 = _local5.length; _local7 = {}; _local8 = 0; while (_local8 < _local6) { _local9 = _local5[_local8].split("="); _local7[_local9[0]] = ((_local9[1] == "yes")) ? true : ((_local9[1] == "no")) ? false : unescape(_local9[1]); _local8++; }; _local7.showTitle = !((_local4.indexOf("|videoTitle=") == -1)); _local3.playerVars = _local7; }; _local3.embeddingURL = _local2(_local1, "embeddingURL", ""); } override protected function playMainItem():void{ super.playMainItem(); setThirdPartyReportCurrentStream(true); isMainItem = true; } override protected function size():void{ super.size(); var _local1:Number = width; var _local2:Number = height; var _local3:Rectangle = videoPlayer.screenRect; var _local4 = (stage.displayState == StageDisplayState.FULL_SCREEN); var _local5 = (videoPlayer.mediaControlsPlacement == MediaControlsPlacementTypes.INTERNAL); var _local6:Number = (_local4) ? _local1 : _local3.width; var _local7:Number = (((_local4) || (_local5))) ? _local2 : _local3.height; var _local8:Splash = splash; if (_local8){ _local8.x = _local3.x; _local8.y = _local3.y; _local8.setSize(_local6, _local7); }; } } }//package com.metacafe.embed
Section 125
//EmbedStatsLoader (com.metacafe.embed.EmbedStatsLoader) package com.metacafe.embed { import com.metacafe.video.events.*; import gs.*; import com.metacafe.utils.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import com.metacafe.base.*; import com.metacafe.config.*; import gs.easing.*; import flash.system.*; public class EmbedStatsLoader extends VideoPlayerSpriteModuleBase { private var loader:Loader; private var isShowing:Boolean; public function EmbedStatsLoader(){ init(); } private function init():void{ var _local1:Loader = (loader = new Loader()); addChild(_local1); } public function load():void{ var _local1:String = Registery.getInstance().playerConfig.componentURLs[EmbedComponents.EMBED_STATS]; var _local2:URLRequest = new URLRequest(_local1); var _local3:LoaderContext = new LoaderContext(); _local3.applicationDomain = loaderInfo.applicationDomain; var _local4:Loader = loader; _local4.load(_local2, _local3); isShowing = true; } override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ var _local2:String = _arg1.info.state; trace(this, _local2); switch (_local2){ case StreamStates.STATE_STOPPED: case StreamStates.STATE_ENDED: case StreamStates.STATE_FILE_NOT_FOUND: visible = false; break; case StreamStates.STATE_PLAYING: case StreamStates.STATE_BUFFERING: visible = true; hide(); break; default: visible = true; }; } public function show():void{ if (isShowing){ return; }; isShowing = true; trace(this, ".show()"); TweenLite.to(loader, 0.5, {y:0, ease:Sine.easeIn}); } public function hide():void{ isShowing = false; trace(this, ".hide()"); TweenLite.to(loader, 0.5, {y:-(loader.height)}); } override protected function size():void{ var content:*; var w:Number = width; var h:Number = height; try { content = loader.contentLoaderInfo.content; content.setSize(w, h); } catch(err:Error) { trace(err); }; } } }//package com.metacafe.embed
Section 126
//EmbedVideoPlayerBase (com.metacafe.embed.EmbedVideoPlayerBase) package com.metacafe.embed { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import flash.geom.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import com.google.analytics.*; import com.metacafe.base.*; import com.metacafe.gui.*; import com.metacafe.catalog.events.*; import com.metacafe.portal.events.*; import com.metacafe.config.*; import com.metacafe.social.*; import com.zorked.*; import flash.utils.*; import flash.external.*; public class EmbedVideoPlayerBase extends CommonEmbedVideoPlayer { protected var componentLoader:ComponentLoaderBase; protected var statsLoader:EmbedStatsLoader; override protected function addPendingActions():void{ super.addPendingActions(); var _local1:Array = pendingActions; var _local2:Registery = registery; var _local3:PlayerConfiguration = _local2.playerConfig; var _local4:Object = _local3.playerVars; if (_local4){ if (((_local4.showStats) || (_local4.showTitle))){ _local1.push(EmbedPendingActions.SHOW_STATS); }; }; } override protected function doPendingActions():void{ super.doPendingActions(); var _local1:Array = pendingActions; var _local2:int = _local1.indexOf(EmbedPendingActions.SHOW_STATS); if (_local2 != -1){ _local1.splice(_local2, 1); initStatsDisplay(); }; _local2 = _local1.indexOf(EmbedPendingActions.SHARE); if (_local2 != -1){ _local1.splice(_local2, 1); loadShareModule(); }; } override protected function initMediaControls():void{ var _local1:VideoPlayer = videoPlayer; var _local2:MediaControlsEmbed = new MediaControlsEmbed(); mediaControls = (_local2 as MediaControlsBase); _local2.name = MediaControlsNames.CONTROLS; addChild(_local2); _local1.setMediaControls(_local2); _local2.showFullScreenButton = registery.playerConfig.isFullScreenAllowed; } protected function initStatsDisplay():void{ var _local1:EmbedStatsLoader = (statsLoader = new EmbedStatsLoader()); addChild(_local1); videoPlayer.registerModule(_local1); _local1.load(); } private function initShareModule():void{ var _local1:Array = pendingActions; _local1.push(EmbedPendingActions.SHARE); if (isExtendedDataLoaded){ doPendingActions(); } else { loadExtendedData(); }; } private function loadShareModule():void{ if (!componentLoader){ initComponentLoader(); }; var _local1:ComponentLoaderBase = componentLoader; _local1.socialTabID = SocialContentIDs.EMAIL_TAB; _local1.loadComponent(EmbedComponents.EMBED_SHARE); } override public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ var pageURL:String; var evt = _arg1; super.onMediaControlsButtonClick(evt); var buttonName:String = evt.info.name; trace(buttonName); switch (buttonName){ case EmbedPlayerButtonNames.SHARE: initShareModule(); break; case EmbedPlayerButtonNames.LOGO: pageURL = "http://www.metacafe.com/"; try { URLNavigator.ChangePage(pageURL, "_blank"); } catch(err:Error) { navigateToURL(new URLRequest(pageURL), "_blank"); }; break; }; } override protected function onPostRollContentInit(_arg1:Event):void{ var cat:*; var evt = _arg1; super.onPostRollContentInit(evt); var prLdr:Loader = postRollLoader; var info:LoaderInfo = prLdr.contentLoaderInfo; var content:* = info.content; content.init(); content.addEventListener(CatalogHeaderEvent.SHARE_CLICK, onCatalogShareClick); content.addEventListener(CatalogHeaderEvent.REPLAY_CLICK, onCatalogReplayClick); try { cat = evt.target.content; cat.thumbsEnabled = false; } catch(err:Error) { }; } protected function onCatalogReplayClick(_arg1:CatalogHeaderEvent):void{ var _local2:VideoPlayer = videoPlayer; _local2.seekEnabled = (_local2.volumeEnabled = (_local2.fullScreenEnabled = true)); playMainItem(); } protected function onCatalogShareClick(_arg1:CatalogHeaderEvent):void{ initShareModule(); } protected function initComponentLoader():void{ var _local1:ComponentLoaderBase = (componentLoader = new ComponentLoaderBase()); _local1.componentURLs = registery.playerConfig.componentURLs; addChildAt(_local1, uint(numChildren)); var _local2:Rectangle = videoPlayer.screenRect; _local1.setSize(_local2.width, _local2.height); _local1.visible = false; _local1.addEventListener(ComponentLoaderEvent.SHOW, onComponentShow); _local1.addEventListener(ComponentLoaderEvent.HIDE, onComponentHide); } protected function onComponentShow(_arg1:ComponentLoaderEvent):void{ var cat:*; var evt = _arg1; var vp:VideoPlayer = videoPlayer; if ((((vp.state == StreamStates.STATE_PLAYING)) || ((vp.state == StreamStates.STATE_BUFFERING)))){ vp.pause(); }; var prLdr:Loader = postRollLoader; try { cat = prLdr.contentLoaderInfo.content; cat.thumbsEnabled = false; } catch(err:Error) { }; } protected function onComponentHide(_arg1:ComponentLoaderEvent):void{ var cat:*; var evt = _arg1; var vp:VideoPlayer = videoPlayer; if (vp.state == StreamStates.STATE_PAUSED){ vp.play(); }; var prLdr:Loader = postRollLoader; try { cat = prLdr.contentLoaderInfo.content; cat.thumbsEnabled = prLdr.visible; } catch(err:Error) { }; } override public function onScreenClick(_arg1:VideoPlayerEvent):void{ var pageURL:String; var ga:AnalyticsTracker; var gaDict:Dictionary; var gaReports:*; var obj:Object; var evt = _arg1; var env:Env = registery.envData; pageURL = env.pageURL; trace("onScreenClick!", pageURL); if (((pageURL) && (!((videoPlayer.state == StreamStates.STATE_PAUSED))))){ try { URLNavigator.ChangePage(pageURL, "_blank"); } catch(err:Error) { navigateToURL(new URLRequest(pageURL), "_blank"); }; ga = gaTracker; gaDict = allGAReports; gaReports = gaDict["reports"]; obj = gaReports[GA.EMBED_SCREEN_CLICK_ACTION]; if (obj){ ga.trackEvent(gaDict["category"], obj.action); }; }; super.onScreenClick(evt); } override protected function initCofigurationData():void{ var vars:Object; var cfg:PlayerConfiguration; var eDomain:String; var ret:*; super.initCofigurationData(); vars = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var def:Function = Data.assignDefault; cfg = registery.playerConfig; cfg.playerType = VideoPlayerTypes.TYPE_EMBED; cfg.isSite = (def(vars, "isSite", "true") == "true"); cfg.subType = def(vars, "subType", ""); cfg.isNetworkAllowed = (def(vars, "networkingAllowed", "true") == "true"); cfg.isFullScreenAllowed = !((def(vars, "fullScreenAllowed", "true") == "false")); try { eDomain = cfg.embeddingDomain; if (eDomain.toLowerCase().match("facebook")){ if (cfg.playerVars){ cfg.playerVars.autoPlay = true; } else { cfg.playerVars = {autoPlay:true}; }; }; } catch(err:Error) { }; try { ret = ExternalInterface.call("function() {return navigator.userAgent;}"); if (((!(ret)) || (!(ExternalInterface.available)))){ cfg.postRollContentURL = def(vars, "jsDisabledPRCURL", cfg.postRollContentURL); }; } catch(err:Error) { cfg.postRollContentURL = def(vars, "jsDisabledPRCURL", cfg.postRollContentURL); }; } override protected function onMouseInactive(_arg1:TimerEvent):void{ super.onMouseInactive(_arg1); var _local2:EmbedStatsLoader = statsLoader; if (_local2){ _local2.hide(); }; } override protected function onMouseReActive():void{ super.onMouseReActive(); var _local1:EmbedStatsLoader = statsLoader; if (_local1){ _local1.show(); }; } override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ var _local3:ComponentLoaderBase; super.onVideoStateChanged(_arg1); var _local2:String = _arg1.info.state; switch (_local2){ case StreamStates.STATE_PLAYING: _local3 = componentLoader; if (_local3){ if (_local3.visible){ _local3.hide(); }; }; break; }; } override protected function size():void{ super.size(); var _local1:Number = width; var _local2:Number = height; if (statsLoader){ statsLoader.setSize(_local1, _local2); }; if (componentLoader){ componentLoader.setSize(_local1, _local2); }; } } }//package com.metacafe.embed
Section 127
//Initializer (com.metacafe.embed.Initializer) package com.metacafe.embed { import flash.events.*; import flash.display.*; public class Initializer extends Sprite { private var player:Player; public function Initializer(){ init(); } private function onLogEmbedIOError(_arg1:IOErrorEvent):void{ trace("onLogEmbedIOError", _arg1); } private function init():void{ stage.addEventListener(Event.RESIZE, onStageResize); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var _local1:Player = (player = new Player()); addChild(_local1); _local1.init(); _local1.setSize(stage.stageWidth, stage.stageHeight); } private function onStageResize(_arg1:Event):void{ var plr:Player; var evt = _arg1; var stg:Stage = (evt.target as Stage); try { plr = player; plr.setSize(stg.stageWidth, stg.stageHeight); } catch(e:Error) { trace(e); }; } } }//package com.metacafe.embed
Section 128
//Player (com.metacafe.embed.Player) package com.metacafe.embed { import flash.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import com.metacafe.video.*; import com.adobe.serialization.json.*; import com.metacafe.base.*; import com.metacafe.gui.*; import com.metacafe.portal.events.*; import com.metacafe.config.*; import com.metacafe.*; import com.metacafe.portal.*; import flash.utils.*; public class Player extends EmbedVideoPlayerBase { protected var adModuleLoader:AdModuleLoader; protected var watermark:MCWatermark; protected var isOpenxBeaconsReported:Boolean; override protected function initFlashvarsStub():void{ flashvarsStub = new FVStubMCEmbed(); } override protected function initMediaControls():void{ super.initMediaControls(); var _local1:MediaControlsBase = mediaControls; if (registery.itemData.mediaData){ if (registery.itemData.mediaData[MediaFileTypes.HIGH_DEFINITION_MP4]){ _local1.showMediaTypeButton = true; }; }; } override protected function onMainItem2SecondCuePoint(_arg1:TimerEvent):void{ var _local2:MediaControlsBase; super.onMainItem2SecondCuePoint(_arg1); if (((!((currentMediaType == MediaFileTypes.HIGH_DEFINITION_MP4))) && (registery.itemData.mediaData.hasOwnProperty(MediaFileTypes.HIGH_DEFINITION_MP4)))){ _local2 = mediaControls; _local2.showHDTooltip(true); setTimeout(_local2.showHDTooltip, 3000, false); }; } override protected function startPlayback():void{ if (registery.adData){ if (registery.adData.adVendorModuleURL){ initAds(); } else { super.startPlayback(); }; } else { super.startPlayback(); }; } override protected function playMainItem():void{ var _local3:Stream; var _local5:String; super.playMainItem(); if (adModuleLoader){ adModuleLoader.visible = true; }; var _local1:String = currentMediaType; var _local2:VideoPlayer = videoPlayer; _local2.killStream(); var _local4:Item = registery.itemData; var _local6:mediaDTO = (_local4.mediaData[_local1] as mediaDTO); _local3 = new Stream(_local6.jpn, _local6.key, _local6.buffer, _local6.bitRate); _local5 = _local6.mediaURL; _local4.mediaURL = _local5; _local4.accessControlKey = _local6.key; var _local7:Registery = registery; var _local8:PlayerConfiguration = _local7.playerConfig; if (_local8.reportVM){ vmReporter.currentPlaybackType = PlaybackTypes.TYPE_ITEM; vmReporter.itemMediaURL = _local5; } else { if (vmReporter){ vmReporter.reportCurrentStream = false; }; }; _local2.setStream(_local3); _local3.play(_local5); if (!isOpenxBeaconsReported){ dispatchOpenxBeacons(); }; } override protected function addPendingActions():void{ var _local1:Array; super.addPendingActions(); if (!((root.loaderInfo.parameters.allowAds) && ((root.loaderInfo.parameters.allowAds == "false")))){ _local1 = pendingActions; _local1.push(EmbedPendingActions.INIT_ADS); }; } override protected function doPendingActions():void{ super.doPendingActions(); var _local1:Array = pendingActions; var _local2:int = _local1.indexOf(EmbedPendingActions.INIT_ADS); if (_local2 != -1){ _local1.splice(_local2, 1); }; } override protected function harvestExtendedData():void{ super.harvestExtendedData(); var def:Function = Data.assignDefault; var reg:Registery = registery; var item:Item = reg.itemData; var cfg:PlayerConfiguration = reg.playerConfig; var affID:String = item.affiliateID; var itemID:String = (affID) ? ((affID + "-") + item.itemID) : item.itemID; var serverItem:Object = extendedData.items[itemID]; var resItem:* = (_isOnline) ? serverItem : flashvarsStub; var adv:Advertisement = new Advertisement(); adv.adVendorID = def(resItem, "adVendorID", ""); adv.adVendorModuleURL = def(resItem, "adVendorModuleURL", ""); try { adv.adVendorData = JSON.decode(def(resItem, "adVendorData", "{}")); } catch(err:JSONParseError) { trace(err); }; registery.adData = adv; cfg.beacons = (def(serverItem, "beacons", [])) ? def(serverItem, "beacons", []) : []; } protected function dispatchOpenxBeacons():void{ var _local1:PlayerConfiguration = registery.playerConfig; var _local2:OpenAdsBeaconDispatcher = new OpenAdsBeaconDispatcher(); _local2.beaconURLs = _local1.beacons; isOpenxBeaconsReported = true; } private function initAds(){ var _local1:Advertisement = registery.adData; var _local2:String = _local1.adVendorModuleURL; var _local3:int = mediaControlsDepth; var _local4:AdModuleLoader = (adModuleLoader = new AdModuleLoader(_local2)); addChildAt(_local4, _local3); _local4.addEventListener(Event.INIT, onAdModuleReady); _local4.addEventListener(IOErrorEvent.IO_ERROR, onAdModuleLoadFail); _local4.load(); trace(this, "initializing ad module", _local2); } private function onAdModuleLoadFail(_arg1:IOErrorEvent):void{ super.startPlayback(); } private function onAdModuleReady(_arg1:Event):void{ var modLoader:AdModuleLoader; var vp:VideoPlayer; var intMod:OverlayAdIntegrationBase; var evt = _arg1; try { modLoader = (evt.target as AdModuleLoader); vp = videoPlayer; intMod = modLoader.integrationModule; intMod.videoPlayer = vp; vp.registerModule(intMod); intMod.addEventListener(AdModuleEvent.VIDEO_AD_COMPLETE, onAdModuleEvent); intMod.addEventListener(AdModuleEvent.VIDEO_AD_SKIPPED, onAdModuleEvent); intMod.addEventListener(AdModuleEvent.TIME_OUT, onAdModuleEvent); intMod.addEventListener(AdModuleEvent.ERROR, onAdModuleEvent); } catch(err:Error) { trace(err.getStackTrace()); } finally { super.startPlayback(); }; } private function onAdModuleEvent(_arg1:AdModuleEvent):void{ var _local2:AdModuleLoader; trace(this, "onAdModuleEvent", _arg1); switch (_arg1.type){ case AdModuleEvent.VIDEO_AD_SKIPPED: case AdModuleEvent.VIDEO_AD_COMPLETE: case AdModuleEvent.TIME_OUT: case AdModuleEvent.ERROR: _local2 = adModuleLoader; _local2.unload(); super.startPlayback(); break; }; } override protected function initWatermark():void{ var _local2:MCWatermark; var _local1:Boolean = registery.itemData.isWatermarked; trace("initWatermark()", _local1); if (!_local1){ _local2 = (watermark = new MCWatermark()); addChild(_local2); videoPlayer.registerModule(_local2); trace("Watermark:", _local2); trace((_local2 + ".visible ="), _local2.visible); }; size(); } override protected function showPostRollContent():void{ super.showPostRollContent(); if (adModuleLoader){ adModuleLoader.visible = false; }; } override protected function initCofigurationData():void{ super.initCofigurationData(); var _local1:Object = (_isOnline) ? root.loaderInfo.parameters : flashvarsStub; var _local2:PlayerConfiguration = registery.playerConfig; var _local3:Function = Data.assignDefault; _local2.beacons = _local3(_local1, "beacons", []); } override protected function size():void{ super.size(); var w:Number = width; var h:Number = height; var scrH:Number = videoPlayer.screenRect.height; if (adModuleLoader){ try { adModuleLoader.setSize(w, scrH); } catch(err:Error) { }; }; var wm:MCWatermark = watermark; wm.y = scrH; wm.x = w; } } }//package com.metacafe.embed
Section 129
//Splash (com.metacafe.embed.Splash) package com.metacafe.embed { import flash.events.*; import flash.net.*; import flash.display.*; import com.metacafe.base.*; import com.metacafe.gui.events.*; import com.metacafe.gui.shapes.*; import com.metacafe.gui.buttons.*; public class Splash extends ResizeableSprite { private var thumbLoader:Loader; private var tintRect:Rect; private var playVideoButton:SimpleButton; public function Splash(){ var _local1:Loader = (thumbLoader = new Loader()); addChild(_local1); _local1.contentLoaderInfo.addEventListener(Event.COMPLETE, onThumbLoaded); _local1.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation); var _local2:Rect = (tintRect = new Rect(100, 110)); addChild(_local2); _local2.alpha = 0.15; var _local3:SimpleButton = (playVideoButton = new PlayVideoButton()); addChild(_local3); _local3.useHandCursor = true; } public function hideRect():void{ var _local1:Rect = tintRect; _local1.visible = false; } private function onThumbLoaded(_arg1:Event):void{ size(); } public function loadThumb(_arg1:String){ thumbLoader.load(new URLRequest(_arg1)); } override protected function size():void{ var img:DisplayObject; var w:Number = width; var h:Number = height; try { img = thumbLoader.content; img.width = w; img.height = h; } catch(err:Error) { }; var tr:Rect = tintRect; tr.width = w; tr.y = (((h - tr.height) / 2) + 10); var btn:SimpleButton = playVideoButton; btn.x = ((w - btn.width) / 2); btn.y = (((h - btn.height) / 2) + 14); } } }//package com.metacafe.embed
Section 130
//SuccessEvent (com.metacafe.events.SuccessEvent) package com.metacafe.events { import flash.events.*; public class SuccessEvent extends Event { private var _info:Object; public static const SUCCESS:String = "success"; public function SuccessEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ super(_arg1, _arg2, _arg3); _info = _arg4; } public function get info():Object{ return (_info); } public function set info(_arg1:Object):void{ _info = _arg1; } override public function clone():Event{ return (new SuccessEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("SuccessEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.events
Section 131
//FullScreenButton (com.metacafe.gui.buttons.FullScreenButton) package com.metacafe.gui.buttons { import flash.display.*; public class FullScreenButton extends SimpleButton { public function FullScreenButton(){ upState = new FullScreenButtonUpState(); hitTestState = upState; overState = new FullScreenButtonOverState(); downState = new FullScreenButtonDownState(); } override public function get enabled():Boolean{ return (super.enabled); } override public function set enabled(_arg1:Boolean):void{ super.enabled = (mouseEnabled = _arg1); alpha = (_arg1) ? 1 : 0.5; } } }//package com.metacafe.gui.buttons
Section 132
//HDButton (com.metacafe.gui.buttons.HDButton) package com.metacafe.gui.buttons { import flash.display.*; public class HDButton extends SimpleButton { public function HDButton(){ upState = new HDButtonUpState(); hitTestState = upState; overState = new HDButtonOverState(); downState = new HDButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 133
//HDToggledButton (com.metacafe.gui.buttons.HDToggledButton) package com.metacafe.gui.buttons { import flash.display.*; public class HDToggledButton extends SimpleButton { public function HDToggledButton(){ upState = new HDTglButtonUpState(); hitTestState = upState; overState = new HDTglButtonOverState(); downState = new HDTglButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 134
//MetacafeLogoButton (com.metacafe.gui.buttons.MetacafeLogoButton) package com.metacafe.gui.buttons { import flash.display.*; public class MetacafeLogoButton extends SimpleButton { public function MetacafeLogoButton(){ upState = (overState = (downState = (hitTestState = new MetacafeLogoButtonState()))); } } }//package com.metacafe.gui.buttons
Section 135
//PauseButton (com.metacafe.gui.buttons.PauseButton) package com.metacafe.gui.buttons { public class PauseButton extends PlaybackButtonBase { public function PauseButton(){ upState = new PauseButtonUpState(); hitTestState = upState; overState = new PauseButtonOverState(); downState = new PauseButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 136
//PlaybackButtonBase (com.metacafe.gui.buttons.PlaybackButtonBase) package com.metacafe.gui.buttons { import flash.display.*; public class PlaybackButtonBase extends SimpleButton { override public function get enabled():Boolean{ return (super.enabled); } override public function set enabled(_arg1:Boolean):void{ super.enabled = (mouseEnabled = _arg1); alpha = (_arg1) ? 1 : 0.5; } } }//package com.metacafe.gui.buttons
Section 137
//PlayButton (com.metacafe.gui.buttons.PlayButton) package com.metacafe.gui.buttons { public class PlayButton extends PlaybackButtonBase { public function PlayButton(){ upState = new PlayButtonUpState(); hitTestState = upState; overState = new PlayButtonOverState(); downState = new PlayButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 138
//PlayVideoButton (com.metacafe.gui.buttons.PlayVideoButton) package com.metacafe.gui.buttons { import flash.display.*; public class PlayVideoButton extends SimpleButton { public function PlayVideoButton(){ upState = new PlayVideoButtonUpState(); overState = new PlayVideoButtonOverState(); downState = new PlayVideoButtonDownState(); hitTestState = upState; } } }//package com.metacafe.gui.buttons
Section 139
//RectButton (com.metacafe.gui.buttons.RectButton) package com.metacafe.gui.buttons { import flash.display.*; public class RectButton extends SimpleButton { public function RectButton(){ upState = new RectButtonUpState(); hitTestState = upState; overState = new RectButtonOverState(); downState = new RectButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 140
//ReplayButton (com.metacafe.gui.buttons.ReplayButton) package com.metacafe.gui.buttons { import flash.display.*; public class ReplayButton extends SimpleButton { public function ReplayButton(){ upState = new ReplayButtonUpState(); hitTestState = upState; overState = new ReplayButtonOverState(); downState = new ReplayButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 141
//ShareButton (com.metacafe.gui.buttons.ShareButton) package com.metacafe.gui.buttons { import flash.display.*; public class ShareButton extends SimpleButton { public function ShareButton(){ upState = new ShareButtonUpState(); overState = new ShareButtonOverState(); downState = new ShareButtonDownState(); hitTestState = upState; } } }//package com.metacafe.gui.buttons
Section 142
//SliderHandle (com.metacafe.gui.buttons.SliderHandle) package com.metacafe.gui.buttons { import flash.display.*; public class SliderHandle extends SimpleButton { public function SliderHandle(){ upState = new SliderHandleUpState(); hitTestState = upState; overState = new SliderHandleOverState(); downState = new SliderHandleDownState(); } } }//package com.metacafe.gui.buttons
Section 143
//SliderTrack (com.metacafe.gui.buttons.SliderTrack) package com.metacafe.gui.buttons { import flash.display.*; public class SliderTrack extends SimpleButton { public function SliderTrack(){ upState = new SliderTrackGraphics(); downState = (overState = upState); upState.y = 3; var _local1:Sprite = new Sprite(); var _local2:Graphics = _local1.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, upState.width, 8); _local2.endFill(); hitTestState = _local1; } } }//package com.metacafe.gui.buttons
Section 144
//StopButton (com.metacafe.gui.buttons.StopButton) package com.metacafe.gui.buttons { public class StopButton extends PlaybackButtonBase { public function StopButton(){ upState = new StopButtonUpState(); hitTestState = upState; overState = new StopButtonOverState(); downState = new StopButtonDownState(); } } }//package com.metacafe.gui.buttons
Section 145
//CloseClickEvent (com.metacafe.gui.events.CloseClickEvent) package com.metacafe.gui.events { import flash.events.*; public class CloseClickEvent extends Event { public static const CLOSE:String = "close"; public function CloseClickEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new CloseClickEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("CloseClickEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.gui.events
Section 146
//SliderEvent (com.metacafe.gui.events.SliderEvent) package com.metacafe.gui.events { import flash.events.*; public class SliderEvent extends Event { public static const START_DRAG:String = "startDrag"; public static const STOP_DRAG:String = "stopDrag"; public static const TRACK_CLICK:String = "trackClick"; public function SliderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new SliderEvent(type)); } override public function toString():String{ return (formatToString("SliderEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.gui.events
Section 147
//StopPropagation (com.metacafe.gui.events.StopPropagation) package com.metacafe.gui.events { import flash.events.*; public class StopPropagation { public static function stopEventPropagation(_arg1:Event){ _arg1.stopPropagation(); } } }//package com.metacafe.gui.events
Section 148
//Rect (com.metacafe.gui.shapes.Rect) package com.metacafe.gui.shapes { import flash.display.*; public class Rect extends Shape { public function Rect(_arg1:Number=100, _arg2:Number=100, _arg3:uint=0){ var _local4:Graphics = graphics; _local4.beginFill(_arg3); _local4.drawRect(0, 0, _arg1, _arg2); _local4.endFill(); } } }//package com.metacafe.gui.shapes
Section 149
//TooltipShape (com.metacafe.gui.tooltip.TooltipShape) package com.metacafe.gui.tooltip { import flash.events.*; import flash.geom.*; import flash.display.*; import com.metacafe.base.*; import com.metacafe.gui.*; public class TooltipShape extends ResizeableSprite { protected var _color:uint; protected var _borderColor:uint; protected var _alignment:String; protected var _tipOffset:Point; public function TooltipShape(){ _color = 0; _borderColor = 0xFFFFFF; _alignment = Alignment.BOTTOM_LEFT; addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } public function get color():uint{ return (_color); } public function set color(_arg1:uint):void{ _color = _arg1; render(); } public function get borderColor():uint{ return (_borderColor); } public function set borderColor(_arg1:uint):void{ _borderColor = _arg1; render(); } public function get alignment():String{ return (_alignment); } public function set alignment(_arg1:String):void{ _alignment = _arg1; render(); size(); } public function get tipOffset():Point{ return (_tipOffset); } private function onAddedToStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); render(); } public function render():void{ var _local7:Boolean; var _local8:Point; var _local12:Number; var _local1:Number = width; var _local2:Number = height; var _local3:Graphics = graphics; _local3.clear(); var _local4:uint = color; var _local5:uint = borderColor; var _local6 = !((_local4 == _local5)); var _local9:* = Math.min((0.3 * _local1), 15); var _local10:* = Math.max((0.7 * _local1), (_local1 - 15)); switch (alignment){ case Alignment.TOP_LEFT: _local7 = true; _local8 = new Point(_local10, _local2); break; case Alignment.TOP_CENTER: _local7 = true; _local8 = new Point((0.5 * _local1), _local2); break; case Alignment.TOP_RIGHT: _local7 = true; _local8 = new Point(_local9, _local2); break; case Alignment.BOTTOM_LEFT: _local7 = false; _local8 = new Point(_local10, 0); break; case Alignment.BOTTOM_CENTER: _local7 = false; _local8 = new Point((0.5 * _local1), 0); break; case Alignment.BOTTOM_RIGHT: _local7 = false; _local8 = new Point(_local9, 0); break; }; var _local11:Number = (_local7) ? 6 : -6; if (_local6){ _local12 = (_local7) ? 1 : -1; _local3.beginFill(_local5); _local3.moveTo((_local8.x - 4), (_local8.y + _local12)); _local3.lineTo(_local8.x, ((_local8.y + _local11) + (_local12 * 2))); _local3.lineTo((_local8.x + 4), (_local8.y + _local12)); _local3.drawRoundRect(-1, -1, (_local1 + 2), (_local2 + 2), 5); _local3.moveTo((_local8.x - 3), _local8.y); _local3.lineTo(_local8.x, (_local8.y + _local11)); _local3.lineTo((_local8.x + 3), _local8.y); _local3.drawRoundRect(0, 0, _local1, _local2, 4); _local3.endFill(); }; _local3.beginFill(_local4); _local3.moveTo((_local8.x - 3), _local8.y); _local3.lineTo(_local8.x, (_local8.y + _local11)); _local3.lineTo((_local8.x + 3), _local8.y); _local3.drawRoundRect(0, 0, _local1, _local2, 4); _local3.endFill(); _tipOffset = new Point(_local8.x, (_local8.y + _local11)); } override protected function size():void{ render(); } } }//package com.metacafe.gui.tooltip
Section 150
//Alignment (com.metacafe.gui.Alignment) package com.metacafe.gui { public class Alignment { public static const TOP_LEFT:String = "topLeft"; public static const TOP_CENTER:String = "topCenter"; public static const TOP_RIGHT:String = "topR"; public static const MIDDLE_LEFT:String = "middleLeft"; public static const MIDDLE_CENTER:String = "middleCenter"; public static const MIDDLE_RIGHT:String = "middleRight"; public static const BOTTOM_LEFT:String = "bottomLeft"; public static const BOTTOM_CENTER:String = "bottomCenter"; public static const BOTTOM_RIGHT:String = "bottomRight"; } }//package com.metacafe.gui
Section 151
//IDisplayObject (com.metacafe.gui.IDisplayObject) package com.metacafe.gui { public interface IDisplayObject { function get x():Number; function set x(_arg1:Number):void; function get y():Number; function set y(_arg1:Number):void; function get width():Number; function set width(_arg1:Number):void; function get height():Number; function set height(_arg1:Number):void; function get alpha():Number; function set alpha(_arg1:Number):void; function get scaleX():Number; function set scaleX(_arg1:Number):void; function get scaleY():Number; function set scaleY(_arg1:Number):void; function get visible():Boolean; function set visible(_arg1:Boolean):void; } }//package com.metacafe.gui
Section 152
//IEnableable (com.metacafe.gui.IEnableable) package com.metacafe.gui { public interface IEnableable { function get enabled():Boolean; function set enabled(_arg1:Boolean):void; } }//package com.metacafe.gui
Section 153
//IMediaControls (com.metacafe.gui.IMediaControls) package com.metacafe.gui { import com.metacafe.mvc.*; import flash.events.*; public interface IMediaControls extends IView, IResizeable, IEnableable, IEventDispatcher, IDisplayObject { function get playbackControlsEnabled():Boolean; function set playbackControlsEnabled(_arg1:Boolean):void; function get stopEnabled():Boolean; function set stopEnabled(_arg1:Boolean):void; function get seekEnabled():Boolean; function set seekEnabled(_arg1:Boolean):void; function get volumeEnabled():Boolean; function set volumeEnabled(_arg1:Boolean):void; function get fullScreenEnabled():Boolean; function set fullScreenEnabled(_arg1:Boolean):void; function get showMediaTypeButton():Boolean; function set showMediaTypeButton(_arg1:Boolean):void; function get showFullScreenButton():Boolean; function set showFullScreenButton(_arg1:Boolean):void; function get selectedMediaType():String; function set selectedMediaType(_arg1:String):void; function get placement():String; function set placement(_arg1:String):void; function resetSeek():void; function showHDTooltip(_arg1:Boolean=true):void; } }//package com.metacafe.gui
Section 154
//IResizeable (com.metacafe.gui.IResizeable) package com.metacafe.gui { public interface IResizeable { function setSize(_arg1:Number, _arg2:Number):void; } }//package com.metacafe.gui
Section 155
//IVolumeUnit (com.metacafe.gui.IVolumeUnit) package com.metacafe.gui { import flash.events.*; public interface IVolumeUnit extends IResizeable, IEnableable, IDisplayObject, IEventDispatcher { function get volume():Number; function set volume(_arg1:Number):void; function get cachedVolume():Number; function set cachedVolume(_arg1:Number):void; function get isActive():Boolean; function set isActive(_arg1:Boolean):void; } }//package com.metacafe.gui
Section 156
//MCWatermark (com.metacafe.gui.MCWatermark) package com.metacafe.gui { import com.metacafe.video.events.*; import com.metacafe.video.*; import flash.display.*; public class MCWatermark extends MovieClip implements IVideoPlayerModule { private var _prevVideoPlayerState:String; private var _hasPlayed:Boolean; public function MCWatermark(){ addFrameScript(0, frame1, 1, frame2, 69, frame70); super(); } public function get prevVideoPlayerState():String{ return (_prevVideoPlayerState); } public function set prevVideoPlayerState(_arg1:String):void{ _prevVideoPlayerState = _arg1; } public function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void{ } public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ var _local2:String = _arg1.info.state; switch (_local2){ case StreamStates.STATE_FILE_NOT_FOUND: case StreamStates.STATE_STOPPED: case StreamStates.STATE_ENDED: gotoAndStop(1); _hasPlayed = false; break; case StreamStates.STATE_PLAYING: switch (prevVideoPlayerState){ case StreamStates.STATE_PAUSED: case StreamStates.STATE_BUFFERING: break; default: gotoAndPlay("begin"); _hasPlayed = true; }; break; }; prevVideoPlayerState = _local2; } public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ if ((((_arg1.info.time > 0.2)) && (!(_hasPlayed)))){ gotoAndPlay("begin"); _hasPlayed = true; }; } public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ } public function onScreenClick(_arg1:VideoPlayerEvent):void{ } public function onScreenDoubleClick(_arg1:VideoPlayerEvent):void{ } public function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void{ } function frame1(){ stop(); } function frame2(){ play(); } function frame70(){ stop(); } } }//package com.metacafe.gui
Section 157
//MediaControlsBase (com.metacafe.gui.MediaControlsBase) package com.metacafe.gui { import com.metacafe.video.events.*; import com.metacafe.mvc.*; import com.metacafe.mvc.events.*; import flash.events.*; import com.metacafe.utils.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import flash.text.*; import com.metacafe.base.*; import com.metacafe.gui.events.*; import com.metacafe.config.*; import com.metacafe.gui.buttons.*; public class MediaControlsBase extends ResizeableSprite implements IMediaControls { public var output_txt:TextField; private var controller:VideoController; private var model:VideoModel; protected var _showMediaTypeButton:Boolean; protected var _showFullScreenButton:Boolean; protected var background:Sprite; protected var playButton:PlayButton; protected var pauseButton:PauseButton; protected var stopButton:StopButton; protected var replayButton:ReplayButton; protected var fullScreenButton:FullScreenButton; protected var seekSlider:Slider; protected var volumeUnit:VolumeUnit; protected var outputText:TextField; protected var mediaTypeButton:ToggleButton; protected var watchHDTooltip:Tooltip; protected var watchNormalTooltip:Tooltip; protected var _selectedMediaType:String; protected var _playbackControlsEnabled:Boolean; protected var _seekEnabled:Boolean; protected var _stopEnabled:Boolean; protected var _placement:String; public function MediaControlsBase(_arg1:IController=null, _arg2:IModel=null){ addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } override public function get alpha():Number{ return (super.alpha); } override public function set alpha(_arg1:Number):void{ super.alpha = (enabled) ? _arg1 : super.alpha; } public function get playbackControlsEnabled():Boolean{ return (_playbackControlsEnabled); } public function set playbackControlsEnabled(_arg1:Boolean):void{ _playbackControlsEnabled = (playButton.enabled = (pauseButton.enabled = (stopEnabled = (seekEnabled = _arg1)))); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; mouseChildren = _arg1; super.alpha = (_arg1) ? 1 : 0.5; } public function get stopEnabled():Boolean{ return (_stopEnabled); } public function set stopEnabled(_arg1:Boolean):void{ _stopEnabled = (stopButton.enabled = _arg1); } public function get seekEnabled():Boolean{ return (_seekEnabled); } public function set seekEnabled(_arg1:Boolean):void{ _seekEnabled = _arg1; setSeekEnabled(_arg1); } public function get volumeEnabled():Boolean{ return (volumeUnit.enabled); } public function set volumeEnabled(_arg1:Boolean):void{ volumeUnit.enabled = _arg1; } public function get fullScreenEnabled():Boolean{ return (fullScreenButton.enabled); } public function set fullScreenEnabled(_arg1:Boolean):void{ fullScreenButton.enabled = _arg1; } public function get showMediaTypeButton():Boolean{ return (_showMediaTypeButton); } public function set showMediaTypeButton(_arg1:Boolean):void{ _showMediaTypeButton = (mediaTypeButton.visible = _arg1); size(); } public function get showFullScreenButton():Boolean{ return (_showFullScreenButton); } public function set showFullScreenButton(_arg1:Boolean):void{ _showFullScreenButton = (fullScreenButton.visible = _arg1); size(); } public function get selectedMediaType():String{ return (_selectedMediaType); } public function set selectedMediaType(_arg1:String):void{ _selectedMediaType = _arg1; mediaTypeButton.isToggled = (_arg1 == MediaFileTypes.HIGH_DEFINITION_MP4); } public function get placement():String{ return (_placement); } public function set placement(_arg1:String):void{ _placement = _arg1; background.alpha = ((_arg1)==MediaControlsPlacementTypes.INTERNAL) ? 1 : 0; } private function onAddedToStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); init(); } protected function init():void{ var _local16:*; var _local17:Tooltip; var _local18:Tooltip; var _local1:Number = width; var _local2:Sprite = (background = new MediaControlsBackground()); var _local3:PlayButton = (playButton = new PlayButton()); var _local4:PauseButton = (pauseButton = new PauseButton()); var _local5:StopButton = (stopButton = new StopButton()); var _local6:ReplayButton = (replayButton = new ReplayButton()); var _local7:ToggleButton = (mediaTypeButton = new ToggleButton()); var _local8:FullScreenButton = (fullScreenButton = new FullScreenButton()); var _local9:Slider = (seekSlider = new Slider()); var _local10:VolumeUnit = (volumeUnit = new VolumeUnit()); var _local11:TextField = (outputText = new TextField()); _local3.name = MediaControlsNames.PLAY; _local4.name = MediaControlsNames.PAUSE; _local5.name = MediaControlsNames.STOP; _local6.name = MediaControlsNames.REPLAY; _local8.name = MediaControlsNames.FULLSCREEN; _local9.name = MediaControlsNames.SEEK; _local10.name = MediaControlsNames.VOLUME; var _local12:SimpleButton = (_local7.unToggledButton = new HDButton()); var _local13:SimpleButton = (_local7.toggledButton = new HDToggledButton()); _local12.name = MediaControlsNames.MEDIA_TYPE_HD; _local13.name = MediaControlsNames.MEDIA_TYPE_FLV; var _local14:TextFormat = new TextFormat("Trebuchet MS", 10, 0xFFFFFF); _local14.align = TextFormatAlign.CENTER; var _local15:Array = [_local2, _local11, _local10, _local9, _local8, _local7, _local6, _local3, _local4, _local5]; for each (_local16 in _local15) { addChild(_local16); }; _local17 = (watchHDTooltip = new Tooltip()); _local18 = (watchNormalTooltip = new Tooltip()); addChild(_local17); addChild(_local18); _local17.visible = (_local18.visible = false); _local17.alpha = (_local18.alpha = 0); _local17.embedFonts = (_local18.embedFonts = true); _local17.setSize(88, 16); _local18.setSize(120, 16); _local17.alignment = (_local18.alignment = Alignment.TOP_LEFT); _local17.label = "Watch in HD"; _local18.label = "Watch in normal quality"; _local17.labelFormat = (_local18.labelFormat = _local14); _local17.baloonAlpha = (_local18.baloonAlpha = 0.5); _local7.addEventListener(MouseEvent.MOUSE_OVER, onMediaTypeButtonMouseEvent); _local7.addEventListener(MouseEvent.MOUSE_OUT, onMediaTypeButtonMouseEvent); _local2.alpha = 0; _local3.x = (_local4.x = (_local6.x = (_local3.y = (_local4.y = (_local6.y = (_local5.y = 3)))))); _local5.x = 31; _local8.x = (_local1 - 30); _local8.y = (_local10.y = (_local7.y = 5)); _local10.x = (_local1 - 60); _local4.visible = (_local6.visible = false); _local9.x = 130; _local9.y = 9; _local9.setSize(Slider.MIN_WIDTH, 14); _local11.x = 63; _local11.y = 9; _local11.width = 60; _local11.height = 15; _local11.defaultTextFormat = new TextFormat("Verdana", 8, 0xFFFFFF); _local11.embedFonts = true; _local11.antiAliasType = AntiAliasType.ADVANCED; _local11.selectable = false; _local11.text = "00:00/00:00"; _local3.addEventListener(MouseEvent.CLICK, onPlayClick); _local4.addEventListener(MouseEvent.CLICK, onPauseClick); _local5.addEventListener(MouseEvent.CLICK, onStopClick); _local6.addEventListener(MouseEvent.CLICK, onReplayClick); _local8.addEventListener(MouseEvent.CLICK, onFullScreenClick); _local9.addEventListener(SliderEvent.START_DRAG, onSeekBegin); _local9.addEventListener(Event.CHANGE, onSeekChange); _local9.addEventListener(SliderEvent.STOP_DRAG, onSeekEnd); _local9.addEventListener(SliderEvent.TRACK_CLICK, onSeekTrackClick); _local10.addEventListener(MouseEvent.CLICK, onVolumeClick); _local10.addEventListener(Event.CHANGE, onVolumeChange); _showFullScreenButton = true; _showMediaTypeButton = (_local7.visible = false); stopButton.enabled = false; setSeekEnabled(true); _stopEnabled = (_seekEnabled = true); size(); } public function setController(_arg1:IController):void{ controller = (_arg1 as VideoController); } public function setModel(_arg1:IModel):void{ model = (_arg1 as VideoModel); model.addView(this); } public function modelChanged(_arg1:ModelEvent):void{ var _local3:VideoModel; var _local12:PlayButton; var _local13:PauseButton; var _local14:ReplayButton; var _local15:String; var _local16:Number; var _local17:Boolean; var _local2:VideoModelEvent = (_arg1 as VideoModelEvent); _local3 = (_local2.target as VideoModel); var _local4:String = _local2.eventName; var _local5:VolumeUnit = volumeUnit; var _local6:Slider = seekSlider; var _local7:TextField = outputText; var _local8:Number = _local3.time; var _local9:Number = _local3.duration; SharedObject.defaultObjectEncoding = ObjectEncoding.AMF0; var _local10:SharedObject = SharedObject.getLocal("vpPrefs", "/"); var _local11:Object = _local10.data; switch (_local4){ case VideoModelEvent.STATE_CHANGED: _local12 = playButton; _local13 = pauseButton; _local14 = replayButton; _local12.visible = (_local13.visible = (_local14.visible = false)); _local15 = _local3.state; switch (_local15){ case StreamStates.STATE_WAITING: _local12.visible = true; break; case StreamStates.STATE_BUFFERING: _local13.visible = true; break; case StreamStates.STATE_PLAYING: _local13.visible = true; break; case StreamStates.STATE_PAUSED: _local12.visible = true; break; case StreamStates.STATE_SEEKING: _local13.visible = true; break; case StreamStates.STATE_ENDED: _local6.value = 1; controller.setTime(_local3.duration); controller.setState(StreamStates.STATE_STOPPED); case StreamStates.STATE_STOPPED: stopButton.enabled = false; case StreamStates.STATE_FILE_NOT_FOUND: _local14.visible = true; volumeEnabled = (fullScreenEnabled = false); setSeekEnabled(false); break; default: _local12.visible = true; }; break; case VideoModelEvent.VOLUME_CHANGED: _local16 = _local3.volume; _local5.volume = _local16; _local11.volume = (_local3.isMute) ? _local5.cachedVolume : _local16; _local10.flush(); break; case VideoModelEvent.MUTE_CHANGED: _local17 = _local3.isMute; if (_local17){ _local5.cachedVolume = (_local11.volume = _local5.volume); _local5.volume = 0; } else { _local5.volume = (_local11.volume = _local5.cachedVolume); }; _local11.isMute = _local17; _local10.flush(); trace(this, "saved mute", SharedObject.getLocal("vpPrefs", "/").data.isMute); break; case VideoModelEvent.TIME_CHANGED: _local6.setValue((((_local8 / _local9)) || (0))); _local7.text = ((TimeFormat.formatMinutes(Math.max(_local8, 0)) + "/") + TimeFormat.formatMinutes(Math.max(_local9, 0))); stopButton.enabled = ((_stopEnabled) && ((_local8 > 0))); setSeekEnabled(((_seekEnabled) && ((_local8 > 0)))); break; case VideoModelEvent.SEEKTIME_CHANGED: _local6.setValue((_local3.seekTime / _local9)); _local7.text = ((TimeFormat.formatMinutes(_local3.seekTime) + "/") + TimeFormat.formatMinutes(_local9)); break; case VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED: _local6.fullness = _local3.downloadProgress; break; case VideoModelEvent.VIDEO_SEGMENT_CHANGED: _local6.fullnessXOffset = ((_local3.videoSegmentData.startTime / _local3.duration) * _local6.width); break; }; } private function onPlayClick(_arg1:MouseEvent):void{ if (model.state == StreamStates.STATE_WAITING){ return; }; controller.play(); } private function onPauseClick(_arg1:MouseEvent):void{ controller.pause(); } protected function onStopClick(_arg1:MouseEvent):void{ controller.stop(); } private function onReplayClick(_arg1:MouseEvent):void{ controller.replay(); } protected function onFullScreenClick(_arg1:MouseEvent):void{ var _local2:String = stage.displayState; stage.displayState = ((_local2 == StageDisplayState.NORMAL)) ? StageDisplayState.FULL_SCREEN : StageDisplayState.NORMAL; background.alpha = ((((stage.displayState == StageDisplayState.FULL_SCREEN)) || ((placement == MediaControlsPlacementTypes.INTERNAL)))) ? 1 : 0; } private function onSeekBegin(_arg1:SliderEvent):void{ var _local2:VideoController = controller; var _local3:VideoModel = model; _local2.setState(StreamStates.STATE_SEEKING); } private function onSeekChange(_arg1:Event):void{ } private function onSeekEnd(_arg1:SliderEvent):void{ var _local2:VideoController = controller; var _local3:VideoModel = model; var _local4:Slider = (_arg1.target as Slider); var _local5:Number = _local4.value; _local2.seek(_local5); } private function onSeekTrackClick(_arg1:SliderEvent):void{ var _local2:VideoController = controller; var _local3:VideoModel = model; _local2.setState(StreamStates.STATE_SEEKING); onSeekEnd(_arg1); } private function onVolumeClick(_arg1:MouseEvent):void{ trace(this, "::onVolumeClick", _arg1.target); controller.toggleMute(); } private function onVolumeChange(_arg1:Event):void{ var _local2:VolumeUnit = (_arg1.target as VolumeUnit); var _local3:Number = _local2.volume; controller.setVolume(_local3); } protected function setSeekEnabled(_arg1:Boolean):void{ seekSlider.enabled = _arg1; outputText.alpha = (_arg1) ? 1 : 0.5; } public function resetSeek():void{ var _local1:Slider = seekSlider; _local1.setValue(0, false); } protected function onMediaTypeButtonMouseEvent(_arg1:MouseEvent):void{ var _local2:SimpleButton = (_arg1.target as SimpleButton); var _local3:Tooltip = ((_local2.name == MediaControlsNames.MEDIA_TYPE_HD)) ? watchHDTooltip : watchNormalTooltip; switch (_arg1.type){ case MouseEvent.MOUSE_OVER: _local3.show(); break; case MouseEvent.MOUSE_OUT: _local3.hide(); break; }; } public function showHDTooltip(_arg1:Boolean=true):void{ if (_arg1){ watchHDTooltip.show(); } else { watchHDTooltip.hide(); }; } override protected function size():void{ var _local13:DisplayObject; var _local1:Number = width; var _local2:Number = height; background.width = _local1; var _local3:FullScreenButton = fullScreenButton; var _local4:VolumeUnit = volumeUnit; var _local5:ToggleButton = mediaTypeButton; var _local6:Slider = seekSlider; var _local7:Tooltip = watchHDTooltip; var _local8:Tooltip = watchNormalTooltip; var _local9:Array = [_local5, _local4, _local3]; if (!showFullScreenButton){ _local9.splice(_local9.indexOf(_local3), 1); }; if (!showMediaTypeButton){ _local9.splice(_local9.indexOf(_local5), 1); }; var _local10:uint = _local9.length; var _local11:Number = (_local1 - (_local10 * 30)); var _local12:int; while (_local12 < _local10) { _local13 = (_local9[_local12] as DisplayObject); _local13.x = (_local11 + (_local12 * 30)); _local12++; }; _local7.x = (_local8.x = (_local5.x + (_local5.width / 2))); _local6.setSize(((_local11 - _local6.x) - 3), 14); } } }//package com.metacafe.gui
Section 158
//MediaControlsEmbed (com.metacafe.gui.MediaControlsEmbed) package com.metacafe.gui { import com.metacafe.mvc.*; import flash.display.*; import flash.text.*; import com.metacafe.config.*; import com.metacafe.gui.buttons.*; public class MediaControlsEmbed extends MediaControlsBase { public var boundingBox_mc:MovieClip; protected var shareButton:ShareButton; protected var logoButton:MetacafeLogoButton; public function MediaControlsEmbed(_arg1:IController=null, _arg2:IModel=null){ } override protected function init():void{ super.init(); var _local1:ShareButton = (shareButton = new ShareButton()); var _local2:MetacafeLogoButton = (logoButton = new MetacafeLogoButton()); var _local3:FullScreenButton = fullScreenButton; var _local4:Slider = seekSlider; var _local5:VolumeUnit = volumeUnit; var _local6:TextField = outputText; addChild(_local1); addChild(_local2); _local1.name = EmbedPlayerButtonNames.SHARE; _local2.name = EmbedPlayerButtonNames.LOGO; _local4.x = (_local6.x = 60); _local4.y = 2; _local6.y = 18; _local1.y = 5; _local2.y = 14; setSeekEnabled(false); } override protected function size():void{ var shrBtn:ShareButton; var fsBtn:FullScreenButton; var mtBtn:ToggleButton; var volUnt:VolumeUnit; var skSld:Slider; var logoBtn:MetacafeLogoButton; var hdTip:Tooltip; var normalTip:Tooltip; var buttonsRight:Number; var btns:Array; var l:uint; var buttonsLeft:Number; var i:int; var btn:DisplayObject; super.size(); var w:Number = width; var h:Number = height; try { shrBtn = shareButton; fsBtn = fullScreenButton; mtBtn = mediaTypeButton; volUnt = volumeUnit; skSld = seekSlider; logoBtn = logoButton; hdTip = watchHDTooltip; normalTip = watchNormalTooltip; shrBtn.x = (w - 49); buttonsRight = shrBtn.x; btns = [mtBtn, volUnt, fsBtn]; if (!showFullScreenButton){ btns.splice(btns.indexOf(fsBtn), 1); }; if (!showMediaTypeButton){ btns.splice(btns.indexOf(mtBtn), 1); }; l = btns.length; buttonsLeft = (buttonsRight - (l * 30)); i = 0; while (i < l) { btn = (btns[i] as DisplayObject); btn.x = (buttonsLeft + (i * 30)); i = (i + 1); }; hdTip.x = (normalTip.x = (mtBtn.x + (mtBtn.width / 2))); skSld.setSize(((buttonsLeft - skSld.x) - 3), 14); logoBtn.x = ((skSld.x + skSld.width) - logoBtn.width); } catch(err:Error) { }; } } }//package com.metacafe.gui
Section 159
//Slider (com.metacafe.gui.Slider) package com.metacafe.gui { import gs.*; import flash.events.*; import flash.geom.*; import flash.display.*; import com.metacafe.base.*; import com.metacafe.gui.events.*; import gs.easing.*; import flash.utils.*; import com.metacafe.gui.buttons.*; import flash.filters.*; public class Slider extends ResizeableSprite { public var boundingBox_mc:MovieClip; private var track_mc:SliderTrack; private var fullness_mc:Sprite; private var handle_mc:Sprite; private var dragUpdateTimer:Timer; private var _value:Number; private var _fullness:Number; private var _fullnessXOffset:Number; private var isInteractive:Boolean; private var _handleXMin:Number;// = 0 private var _handleXMax:Number;// = 100 private var _handleButton:SliderHandle; private var _tweenDuration:Number; public static const FULLNESS_DEFAULT_ALPHA:Number = 0.6; public static const FULLNESS_ACTIVE_ALPHA:Number = 0.8; public static const MIN_WIDTH:Number = 28; public static var DEFAULT_TWEEN_DURATION:Number = 1; public function Slider(){ init(); } public function get value():Number{ return (_value); } public function set value(_arg1:Number):void{ var _local2:Sprite; var _local3:Number; if (_arg1 == _value){ return; }; if (!isInteractive){ _local2 = handle_mc; _local3 = (_arg1 * range); TweenLite.killTweensOf(_local2); _local2.x = _local3; }; _value = _arg1; dispatchEvent(new Event(Event.CHANGE, true)); } public function get fullness():Number{ return (_fullness); } public function set fullness(_arg1:Number):void{ var _local2:Number = (width * _arg1); var _local3:Sprite = fullness_mc; TweenLite.killTweensOf(_local3); TweenLite.to(_local3, 0.2, {width:_local2, ease:Linear.easeNone}); _fullness = _arg1; } public function get fullnessXOffset():Number{ return (_fullnessXOffset); } public function set fullnessXOffset(_arg1:Number):void{ var _local2:Sprite = fullness_mc; _fullnessXOffset = (_local2.x = _arg1); } public function get handleXMin():Number{ return (_handleXMin); } public function set handleXMin(_arg1:Number):void{ _handleXMin = _arg1; } public function get handleXMax():Number{ return (_handleXMax); } public function set handleXMax(_arg1:Number):void{ _handleXMax = _arg1; } private function get range():Number{ return ((handleXMax - handleXMin)); } override public function get enabled():Boolean{ return (super.enabled); } override public function set enabled(_arg1:Boolean):void{ super.enabled = _arg1; var _local2:SliderTrack = track_mc; _handleButton.mouseEnabled = (mouseChildren = _arg1); alpha = (_arg1) ? 1 : 0.5; } public function get tweenDuration():Number{ return (_tweenDuration); } public function set tweenDuration(_arg1:Number):void{ _tweenDuration = _arg1; } private function init(){ var _local7:*; var _local8:Timer; var _local1:MovieClip = boundingBox_mc; _local1.scaleX = (_local1.scaleY = 0); _local1.visible = false; tweenDuration = DEFAULT_TWEEN_DURATION; var _local2:SliderTrack = (track_mc = new SliderTrack()); var _local3:Sprite = (fullness_mc = new SliderFullness()); var _local4:Sprite = (handle_mc = new Sprite()); var _local5:SliderHandle = (_handleButton = new SliderHandle()); _local5.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation); _local4.addChild(_local5); _local2.addEventListener(MouseEvent.MOUSE_OVER, onTrackRollOver); _local2.addEventListener(MouseEvent.MOUSE_OUT, onTrackRollOut); _local2.addEventListener(MouseEvent.CLICK, onTrackClick); _local4.addEventListener(MouseEvent.MOUSE_DOWN, onHandleDrag); _local4.addEventListener(MouseEvent.MOUSE_UP, onHandleDrop); var _local6:Array = [_local2, _local3, _local4]; for each (_local7 in _local6) { addChild(_local7); }; _local2.y = 2; _local2.name = "sliderTrack"; _local3.y = 5; _local3.alpha = FULLNESS_DEFAULT_ALPHA; _local3.mouseEnabled = false; _local4.name = "sliderHandle"; enabled = true; value = 0; fullness = 0; _local8 = (dragUpdateTimer = new Timer(33)); _local8.addEventListener(TimerEvent.TIMER, updateHandlePosition); size(); } public function setValue(_arg1:Number, _arg2:Boolean=true){ _arg1 = ((_arg1 == Infinity)) ? 0 : _arg1; var _local3:Sprite = handle_mc; var _local4:Number = Math.min(Math.max((_arg1 * range), handleXMin), handleXMax); TweenLite.killTweensOf(_local3); if (_arg2){ TweenLite.to(_local3, tweenDuration, {x:_local4, ease:Linear.easeNone}); } else { _local3.x = _local4; }; _value = _arg1; } private function onHandleDrag(_arg1:MouseEvent):void{ isInteractive = true; stage.addEventListener(MouseEvent.MOUSE_UP, onHandleDrop); var _local2:Timer = dragUpdateTimer; _local2.start(); var _local3:Sprite = handle_mc; TweenLite.killTweensOf(_local3); _local3.startDrag(false, new Rectangle(handleXMin, 0, (width - _local3.width), 0)); dispatchEvent(new SliderEvent(SliderEvent.START_DRAG)); } private function onHandleDrop(_arg1:MouseEvent):void{ isInteractive = false; stage.removeEventListener(MouseEvent.MOUSE_UP, onHandleDrop); var _local2:Timer = dragUpdateTimer; _local2.stop(); var _local3:Sprite = handle_mc; _local3.stopDrag(); dispatchEvent(new SliderEvent(SliderEvent.STOP_DRAG)); } private function onTrackRollOver(_arg1:MouseEvent):void{ var _local2:Sprite = fullness_mc; _local2.alpha = FULLNESS_ACTIVE_ALPHA; _local2.filters = [new GlowFilter(10641698, 0.5, 2, 8, 3, 3)]; } private function onTrackRollOut(_arg1:MouseEvent):void{ var _local2:Sprite = fullness_mc; _local2.alpha = FULLNESS_DEFAULT_ALPHA; _local2.filters = []; } private function onTrackClick(_arg1:MouseEvent):void{ _arg1.stopPropagation(); isInteractive = true; var _local2:Sprite = handle_mc; var _local3:Number = mouseX; var _local4:Number = (value = Math.min((_local3 / range), 1)); var _local5:Number = (_local4 * range); TweenLite.killTweensOf(_local2); TweenLite.to(_local2, 0.2, {x:_local5, onComplete:onHandleTweeenComplete}); dispatchEvent(new SliderEvent(SliderEvent.TRACK_CLICK)); } private function onHandleTweeenComplete():void{ isInteractive = false; } private function updateHandlePosition(_arg1:TimerEvent){ var _local2:Sprite = handle_mc; var _local3:Number = (handleXMax - handleXMin); var _local4:Number = _local2.x; value = (_local4 / _local3); } override protected function size():void{ var _local1:Number = Math.max(width, MIN_WIDTH); var _local2:SliderTrack = track_mc; var _local3:Sprite = fullness_mc; var _local4:Sprite = handle_mc; TweenLite.killTweensOf(_local4); TweenLite.killTweensOf(_local3); _local2.width = _local1; _local3.width = (_local1 * fullness); handleXMax = ((handleXMin + _local1) - _local4.width); _local4.x = (value * (handleXMax - handleXMin)); } } }//package com.metacafe.gui
Section 160
//ToggleButton (com.metacafe.gui.ToggleButton) package com.metacafe.gui { import flash.events.*; import flash.display.*; public class ToggleButton extends Sprite { private var _unToggledButton:SimpleButton; private var _toggledButton:SimpleButton; private var _isToggled:Boolean; public function ToggleButton(_arg1:Boolean=false){ _isToggled = _arg1; } public function get isToggled():Boolean{ return (_isToggled); } public function set isToggled(_arg1:Boolean):void{ _isToggled = _arg1; setToggle(); } public function get unToggledButton():SimpleButton{ return (_unToggledButton); } public function set unToggledButton(_arg1:SimpleButton):void{ var value = _arg1; if (_unToggledButton){ removeChild(_unToggledButton); }; addChild(value); var btn:SimpleButton = (_unToggledButton = value); btn.visible = !(isToggled); btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{ isToggled = true; }); } public function get toggledButton():SimpleButton{ return (_toggledButton); } public function set toggledButton(_arg1:SimpleButton):void{ var value = _arg1; if (_toggledButton){ removeChild(_toggledButton); }; addChild(value); var btn:SimpleButton = (_toggledButton = value); btn.visible = isToggled; btn.addEventListener(MouseEvent.CLICK, function (_arg1:MouseEvent):void{ isToggled = false; }); } protected function setToggle():void{ if (toggledButton){ toggledButton.visible = isToggled; }; if (unToggledButton){ unToggledButton.visible = !(isToggled); }; } public function toggle():void{ isToggled = !(isToggled); } } }//package com.metacafe.gui
Section 161
//Tooltip (com.metacafe.gui.Tooltip) package com.metacafe.gui { import flash.events.*; import flash.geom.*; import com.greensock.*; import flash.display.*; import flash.text.*; import com.metacafe.base.*; import com.greensock.plugins.*; import com.metacafe.gui.tooltip.*; public class Tooltip extends ResizeableSprite { protected var _content:DisplayObject; protected var _label:String; protected var _labelField:TextField; protected var _labelFormat:TextFormat; protected var _embedFonts:Boolean; protected var _shape:TooltipShape; public function Tooltip(){ TweenPlugin.activate([AutoAlphaPlugin]); addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } public function get label():String{ return (_label); } public function set label(_arg1:String):void{ _label = _arg1; renderLabel(); } public function get labelFormat():TextFormat{ return (_labelFormat); } public function set labelFormat(_arg1:TextFormat):void{ _labelFormat = _arg1; renderLabel(); } public function get embedFonts():Boolean{ return (_embedFonts); } public function set embedFonts(_arg1:Boolean):void{ _embedFonts = _arg1; renderLabel(); } public function get color():uint{ return (_shape.color); } public function set color(_arg1:uint):void{ _shape.color = _arg1; } public function get borderColor():uint{ return (_shape.borderColor); } public function set borderColor(_arg1:uint):void{ _shape.borderColor = _arg1; } public function get alignment():String{ return (_shape.alignment); } public function set alignment(_arg1:String):void{ _shape.alignment = _arg1; size(); } public function get baloonAlpha():Number{ return (_shape.alpha); } public function set baloonAlpha(_arg1:Number):void{ _shape.alpha = _arg1; } public function get content():DisplayObject{ return (_content); } public function set content(_arg1:DisplayObject):void{ if (_arg1 != _content){ if (_content){ removeChild(_content); }; _content = (addChild(_arg1) as DisplayObject); setChildIndex(_content, 1); }; size(); } protected function onAddedToStage(_arg1:Event):void{ removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage); init(); } protected function init():void{ var _local1:TooltipShape = (_shape = new TooltipShape()); addChild(_local1); _local1.mouseEnabled = false; _label = ""; _labelFormat = new TextFormat(); _embedFonts = false; var _local2:TextField = (_labelField = new TextField()); addChild(_local2); _local2.selectable = false; _local2.multiline = true; _local2.wordWrap = true; _local2.defaultTextFormat = labelFormat; render(); } protected function render():void{ renderLabel(); _shape.render(); size(); } public function show():void{ TweenLite.to(this, 0.5, {autoAlpha:1, delay:0.5}); } public function hide():void{ TweenLite.to(this, 0.5, {autoAlpha:0}); } protected function renderLabel():void{ var _local1:TextField = _labelField; _local1.embedFonts = embedFonts; _local1.antiAliasType = (embedFonts) ? AntiAliasType.ADVANCED : AntiAliasType.NORMAL; _local1.defaultTextFormat = labelFormat; _local1.text = label; _local1.visible = (_local1.text.length > 0); size(); } override protected function size():void{ var _local1:Number = width; var _local2:Number = height; var _local3:TooltipShape = _shape; _local3.setSize(_local1, _local2); var _local4:TextField = _labelField; var _local5:Point = _shape.tipOffset; _local3.x = (_local4.x = -(_local5.x)); _local3.y = -(_local5.y); _local4.y = ((_local3.y + ((_local2 - _local4.textHeight) / 2)) - 2); _local4.width = _local1; _local4.height = _local2; if (_content){ _content.x = (((_local1 - _content.width) / 2) - _local5.x); _content.y = (((_local2 - _content.height) / 2) - _local5.y); }; } } }//package com.metacafe.gui
Section 162
//VolumeUnit (com.metacafe.gui.VolumeUnit) package com.metacafe.gui { import gs.*; import flash.events.*; import flash.net.*; import flash.display.*; import com.metacafe.base.*; import com.metacafe.gui.events.*; import flash.utils.*; import com.metacafe.gui.buttons.*; public class VolumeUnit extends ResizeableSprite { public var boundingBox_mc:MovieClip; private var button:RectButton; private var icon:MovieClip; private var slider:Slider; private var background:Sprite; private var sliderCombo:Sprite; private var _isActive:Boolean; private var _volume:Number; private var _cachedVolume:Number; private var sliderCloseTimer:Timer; public function VolumeUnit(){ init(); } override public function set enabled(_arg1:Boolean):void{ super.enabled = (background.visible = (slider.visible = (button.mouseEnabled = _arg1))); alpha = (_arg1) ? 1 : 0.5; } public function get volume():Number{ return (_volume); } public function set volume(_arg1:Number):void{ if (_arg1 == _volume){ return; }; _volume = _arg1; var _local2:Slider = slider; if (_local2.value != _arg1){ _local2.setValue(_arg1, false); }; _local2.fullness = _arg1; var _local3:int = ((_arg1 == 0)) ? 1 : (Math.ceil((_arg1 * 3)) + 1); icon.gotoAndStop(_local3); dispatchEvent(new Event(Event.CHANGE, true)); } public function get cachedVolume():Number{ return (_cachedVolume); } public function set cachedVolume(_arg1:Number):void{ _cachedVolume = _arg1; } public function get isActive():Boolean{ return (_isActive); } public function set isActive(_arg1:Boolean):void{ if (_arg1){ addEventListener(MouseEvent.MOUSE_MOVE, onActiveMouseMove); } else { removeEventListener(MouseEvent.MOUSE_MOVE, onActiveMouseMove); }; _isActive = _arg1; } private function init(){ var _local8:*; var _local9:Timer; var _local10:SharedObject; var _local11:Object; mouseEnabled = false; var _local1:MovieClip = boundingBox_mc; _local1.scaleX = (_local1.scaleY = 0); _local1.visible = false; var _local2:RectButton = (button = new RectButton()); var _local3:MovieClip = (icon = new VolumeIcon()); var _local4:Sprite = (sliderCombo = new Sprite()); var _local5:Sprite = (background = new VolumeSliderBackground()); var _local6:Slider = (slider = new Slider()); var _local7:Array = [_local4, _local3, _local2]; for each (_local8 in _local7) { addChild(_local8); }; _local5.y = -84; _local5.useHandCursor = false; _local5.addEventListener(MouseEvent.MOUSE_OVER, onBgRollOver); _local5.addEventListener(MouseEvent.MOUSE_OUT, onBgRollOut); _local5.addEventListener(MouseEvent.CLICK, StopPropagation.stopEventPropagation); _local5.name = "volumeBackground"; _local2.addEventListener(MouseEvent.MOUSE_OVER, onButtonRollOver); _local2.addEventListener(MouseEvent.MOUSE_OUT, onButtonRollOut); _local2.addEventListener(MouseEvent.CLICK, onButtonClick); _local2.name = "volumeButton"; _local6.rotation = -90; _local6.setSize(60, 14); _local6.addEventListener(Event.CHANGE, onSliderChange); _local6.name = "volumeSlider"; _local4.addChild(_local5); _local4.addChild(_local6); _local4.alpha = 0; _local4.visible = false; _local6.x = 6; _local6.y = (-((_local5.height - _local6.width)) / 2); _local3.mouseEnabled = false; _local9 = (sliderCloseTimer = new Timer(200, 1)); _local9.addEventListener(TimerEvent.TIMER_COMPLETE, onCloseTimerComplete); cachedVolume = (volume = 1); _local10 = SharedObject.getLocal("vpPrefs", "/"); _local11 = _local10.data; if (_local11.isMute){ volume = 0; cachedVolume = _local11.volume; } else { volume = (cachedVolume = ((_local11.volume) || (1))); }; size(); hideSlider(); } private function onCloseTimerComplete(_arg1:TimerEvent):void{ hideSlider(); } private function showSlider():void{ var _local1:Timer = sliderCloseTimer; _local1.stop(); var _local2:Sprite = sliderCombo; TweenLite.killTweensOf(_local2); TweenLite.to(_local2, 0.3, {autoAlpha:1}); _local2.mouseChildren = true; } private function hideSlider():void{ var _local1:Sprite = sliderCombo; TweenLite.killTweensOf(_local1); TweenLite.to(_local1, 0.3, {autoAlpha:0}); _local1.mouseChildren = false; isActive = false; } private function onBgRollOver(_arg1:MouseEvent):void{ var _local2:Timer = sliderCloseTimer; _local2.stop(); isActive = true; } private function onBgRollOut(_arg1:MouseEvent):void{ var _local2:InteractiveObject = _arg1.relatedObject; if (((!((_local2 == button))) && (!((_local2 == slider))))){ startCloseTimer(); }; } private function onButtonClick(_arg1:MouseEvent):void{ _arg1.stopPropagation(); dispatchEvent(new MouseEvent(MouseEvent.CLICK)); } private function onButtonRollOver(_arg1:MouseEvent):void{ showSlider(); } private function onButtonRollOut(_arg1:MouseEvent):void{ var _local2:InteractiveObject = _arg1.relatedObject; if (_local2 != background){ startCloseTimer(); }; } private function onActiveMouseMove(_arg1:MouseEvent):void{ var _local3:Timer; var _local2:Sprite = background; if (_local2.hitTestPoint(stage.mouseX, stage.mouseY)){ _local3 = sliderCloseTimer; _local3.stop(); } else { hideSlider(); }; } private function onSliderChange(_arg1:Event):void{ var _local2:Slider = (_arg1.target as Slider); volume = _local2.value; _arg1.stopPropagation(); } private function startCloseTimer(){ trace("startCloseTimer"); var _local1:Timer = sliderCloseTimer; _local1.reset(); _local1.start(); } override protected function size():void{ var _local1:Number = width; var _local2:Number = height; var _local3:Sprite = background; var _local4:Slider = slider; var _local5:MovieClip = icon; _local5.x = ((_local1 - _local5.width) / 2); _local5.y = ((_local2 - _local5.height) / 2); } } }//package com.metacafe.gui
Section 163
//TimeTrackerEvent (com.metacafe.modules.events.TimeTrackerEvent) package com.metacafe.modules.events { import flash.events.*; public class TimeTrackerEvent extends Event { public static const PLAYBACK_REPORT_CUE:String = "playbackReportCue"; public static const CACHE_NEXT_CUE:String = "cacheNextCue"; public function TimeTrackerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new TimeTrackerEvent(type)); } override public function toString():String{ return (formatToString("TimeTrackerEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.modules.events
Section 164
//TimeTracker (com.metacafe.modules.TimeTracker) package com.metacafe.modules { import com.metacafe.video.events.*; import com.metacafe.base.*; public class TimeTracker extends VideoPlayerModuleBase { override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ var _local2:Object = _arg1.info; var _local3:Number = _local2.time; var _local4:Number = _local2.duration; var _local5:Number = (_local4 - _local3); if ((((((_local4 > 0)) && ((_local3 > 0)))) && ((((_local5 < 5)) || ((_local4 < 5)))))){ }; } } }//package com.metacafe.modules
Section 165
//ModelEvent (com.metacafe.mvc.events.ModelEvent) package com.metacafe.mvc.events { import flash.events.*; public class ModelEvent extends Event { public var eventName:String; public static const MODEL_CHANGED:String = "modelChanged"; public function ModelEvent(_arg1:String="", _arg2=false, _arg3=false){ super(MODEL_CHANGED, _arg2, _arg3); eventName = _arg1; } override public function clone():Event{ return (new ModelEvent(eventName)); } override public function toString():String{ return (formatToString("ModelEvent", "type", "bubbles", "cancelable", "eventPhase", "eventName")); } } }//package com.metacafe.mvc.events
Section 166
//Controller (com.metacafe.mvc.Controller) package com.metacafe.mvc { public class Controller implements IController { protected var model:IModel; public function Controller(_arg1:IModel=null){ setModel(_arg1); } public function setModel(_arg1:IModel):void{ model = _arg1; } } }//package com.metacafe.mvc
Section 167
//IController (com.metacafe.mvc.IController) package com.metacafe.mvc { public interface IController { function setModel(_arg1:IModel):void; } }//package com.metacafe.mvc
Section 168
//IModel (com.metacafe.mvc.IModel) package com.metacafe.mvc { import flash.events.*; public interface IModel extends IEventDispatcher { function addView(_arg1:IView):void; function removeView(_arg1:IView):void; } }//package com.metacafe.mvc
Section 169
//IView (com.metacafe.mvc.IView) package com.metacafe.mvc { import com.metacafe.mvc.events.*; public interface IView { function setController(_arg1:IController):void; function setModel(_arg1:IModel):void; function modelChanged(_arg1:ModelEvent):void; } }//package com.metacafe.mvc
Section 170
//Model (com.metacafe.mvc.Model) package com.metacafe.mvc { import com.metacafe.mvc.events.*; import flash.events.*; public class Model extends EventDispatcher implements IModel { private var views:Array; public function Model(){ views = []; } public function addView(_arg1:IView):void{ if (views.indexOf(_arg1) != -1){ return; }; views.push(_arg1); _arg1.setModel(this); addEventListener(ModelEvent.MODEL_CHANGED, _arg1.modelChanged); } public function removeView(_arg1:IView):void{ var _local2:Number = views.length; var _local3:uint; while (_local3 < _local2) { if (views[_local3] === _arg1){ views.splice(_local3, 1); }; break; _local3++; }; removeEventListener(ModelEvent.MODEL_CHANGED, _arg1.modelChanged); } } }//package com.metacafe.mvc
Section 171
//ResizeableSpriteView (com.metacafe.mvc.ResizeableSpriteView) package com.metacafe.mvc { import com.metacafe.mvc.events.*; import com.metacafe.base.*; public class ResizeableSpriteView extends ResizeableSprite implements IView { protected var model:IModel; protected var controller:IController; public function ResizeableSpriteView(_arg1:IController, _arg2:IModel){ setController(_arg1); setModel(_arg2); } public function setController(_arg1:IController):void{ controller = _arg1; } public function setModel(_arg1:IModel):void{ model = _arg1; model.addView(this); } public function modelChanged(_arg1:ModelEvent):void{ } } }//package com.metacafe.mvc
Section 172
//View (com.metacafe.mvc.View) package com.metacafe.mvc { import com.metacafe.mvc.events.*; import flash.events.*; public class View extends EventDispatcher implements IView { protected var model:IModel; protected var controller:IController; public function View(_arg1:IController, _arg2:IModel){ setController(_arg1); setModel(_arg2); } public function setController(_arg1:IController):void{ controller = _arg1; } public function setModel(_arg1:IModel):void{ model = _arg1; model.addView(this); } public function modelChanged(_arg1:ModelEvent):void{ } } }//package com.metacafe.mvc
Section 173
//AdModuleEvent (com.metacafe.portal.events.AdModuleEvent) package com.metacafe.portal.events { import flash.events.*; public class AdModuleEvent extends Event { public static const VIDEO_AD_COMPLETE:String = "videoAdComplete"; public static const TIME_OUT:String = "timeout"; public static const ERROR:String = "error"; public static const VIDEO_AD_SKIPPED:String = "videoAdSkipped"; public function AdModuleEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new AdModuleEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("AdModuleEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.portal.events
Section 174
//ComponentLoaderEvent (com.metacafe.portal.events.ComponentLoaderEvent) package com.metacafe.portal.events { import flash.events.*; public class ComponentLoaderEvent extends Event { public static const CLOSE:String = "close"; public static const SHOW:String = "show"; public static const HIDE:String = "hide"; public function ComponentLoaderEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){ super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new ComponentLoaderEvent(type, bubbles, cancelable)); } override public function toString():String{ return (formatToString("ComponentLoaderEvent", "type", "bubbles", "cancelable", "eventPhase")); } } }//package com.metacafe.portal.events
Section 175
//AdModuleLoader (com.metacafe.portal.AdModuleLoader) package com.metacafe.portal { import flash.events.*; import flash.net.*; import flash.display.*; import com.metacafe.base.*; import flash.system.*; public class AdModuleLoader extends ResizeableSprite { private var _isLoading:Boolean; private var loader:Loader; private var _moduleURL:String; private var _adVendorData:Object; public function AdModuleLoader(_arg1:String=""){ moduleURL = _arg1; } public function get moduleURL():String{ return (_moduleURL); } public function set moduleURL(_arg1:String):void{ _moduleURL = _arg1; } public function get integrationModule():OverlayAdIntegrationBase{ var mod:OverlayAdIntegrationBase; var content:*; try { content = loader.content; mod = content.module; } catch(err:Error) { trace(err); }; return (mod); } public function get adVendorData():Object{ return (_adVendorData); } public function set adVendorData(_arg1:Object):void{ _adVendorData = _arg1; } public function get isLoading():Boolean{ return (_isLoading); } public function load(){ _isLoading = true; var _local1:String = moduleURL; var _local2:Loader = (loader = new Loader()); addChild(_local2); _local2.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInfoEvent); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoaderInfoEvent); var _local3:LoaderContext = new LoaderContext(); _local3.applicationDomain = root.loaderInfo.applicationDomain; var _local4:URLRequest = new URLRequest(_local1); _local2.load(_local4, _local3); } private function onLoaderInfoEvent(_arg1:Event):void{ _isLoading = false; switch (_arg1.type){ case Event.INIT: integrationModule.adVendorData = adVendorData; size(); dispatchEvent(new Event(Event.INIT)); break; case IOErrorEvent.IO_ERROR: trace(this, _arg1); dispatchEvent(new IOErrorEvent(IOErrorEvent.IO_ERROR)); break; }; } public function unload(){ var _local1:Loader = loader; _local1.unload(); } override protected function size():void{ var w:Number = width; var h:Number = height; if (integrationModule){ try { integrationModule.setSize(w, h); } catch(err:Error) { }; }; } } }//package com.metacafe.portal
Section 176
//OpenAdsBeaconDispatcher (com.metacafe.portal.OpenAdsBeaconDispatcher) package com.metacafe.portal { import flash.events.*; import flash.net.*; import flash.display.*; public class OpenAdsBeaconDispatcher { private var _beaconURLs:Array; public function get beaconURLs():Array{ return (_beaconURLs); } public function set beaconURLs(_arg1:Array):void{ var _local4:String; var _local2:Array = (_beaconURLs = _arg1); var _local3:int; while (_local2[_local3]) { _local4 = _local2[_local3]; callBeacon(_local4); _local3++; }; } private function callBeacon(_arg1:String):void{ var _local2:URLRequest = new URLRequest(_arg1); var _local3:Loader = new Loader(); var _local4:LoaderInfo = _local3.contentLoaderInfo; _local4.addEventListener(Event.COMPLETE, onBeaconCallSuccess); _local4.addEventListener(IOErrorEvent.IO_ERROR, onBeaconCallFail); _local3.load(_local2); trace(((this + " calling ") + _arg1)); } private function onBeaconCallSuccess(_arg1:Event):void{ trace((this + " Beacon called successfully")); } private function onBeaconCallFail(_arg1:IOErrorEvent):void{ trace(((this + " Beacon call failed ") + _arg1)); } } }//package com.metacafe.portal
Section 177
//PlaybackTypes (com.metacafe.portal.PlaybackTypes) package com.metacafe.portal { public class PlaybackTypes { public static const TYPE_ITEM:String = "item"; public static const TYPE_PREROLL_VIDEO_AD:String = "preRollVideoAd"; public static const TYPE_POSTROLL_VIDEO_AD:String = "postRollVideoAd"; } }//package com.metacafe.portal
Section 178
//CommonReporter (com.metacafe.reports.CommonReporter) package com.metacafe.reports { import flash.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import flash.net.*; import com.adobe.serialization.json.*; import com.metacafe.base.*; import com.metacafe.*; public class CommonReporter implements IReporter { private var owner:CommonVideoPlayer; private var isStartReported:Boolean; private var isOverallPlaytimeReported:Boolean; public static const REPORT_BASE_URL:String = "/services/fplayer/report.php"; public static const CREPORTER_BASE_URL:String = "/index.php"; public static const CREPORTER_BASE_QUERYSTRING:URLVariables = new URLVariables("inputType=reporter"); public function CommonReporter(_arg1:CommonVideoPlayer){ owner = (_arg1 as CommonVideoPlayer); } public function resetOverallPlaytimeFlag():void{ isOverallPlaytimeReported = false; } public function reset():void{ isStartReported = (isOverallPlaytimeReported = false); } public function sendReport(_arg1:String, _arg2:Object):void{ var _local10:URLRequest; var _local13:String; var _local3:CommonVideoPlayer = owner; var _local4:Registery = Registery.getInstance(); var _local5:Env = _local4.envData; var _local6:PlayerConfiguration = _local4.playerConfig; var _local7:String = _local5.reportsBaseURL; var _local8:String = (((_local6.reportToWinter) && (_local7.length))) ? _local7 : _local5.altServerURL; var _local9:String = (_local8 + REPORT_BASE_URL); var _local11:URLLoader = new URLLoader(); _local11.addEventListener(IOErrorEvent.IO_ERROR, onIOError); var _local12:URLVariables = new URLVariables(); for (_local13 in _arg2) { _local12[_local13] = _arg2[_local13]; }; switch (_arg1){ case ReportNames.VIEW_START: if (isStartReported){ return; }; _local10 = new URLRequest(_local9); _local10.data = _local12; _local10.method = URLRequestMethod.GET; _local11.load(_local10); isStartReported = true; break; case ReportNames.OVERALL_PLAY_TIME: if (isOverallPlaytimeReported){ return; }; _local12 = CREPORTER_BASE_QUERYSTRING; _local12.reportName = _arg1; for (_local13 in _arg2) { _local12[_local13] = _arg2[_local13]; trace(_local13, _arg2[_local13]); }; _local10 = new URLRequest((_local8 + CREPORTER_BASE_URL)); _local10.data = _local12; _local10.method = URLRequestMethod.GET; _local11.load(_local10); isOverallPlaytimeReported = true; break; case ReportNames.MEDIA_FILE_PLAY_ERROR: _local12 = CREPORTER_BASE_QUERYSTRING; _local12.reportName = _arg1; for (_local13 in _arg2) { _local12[_local13] = _arg2[_local13]; trace(_local13, _arg2[_local13]); }; _local10 = new URLRequest((_local8 + CREPORTER_BASE_URL)); _local10.data = _local12; _local10.method = URLRequestMethod.GET; _local11.load(_local10); break; }; trace((_arg1 + " report sent to:"), _local10.url, ("\nData: " + Debug.dump(_arg2))); Logger.getInstance().log({scope:"[Object CommonReporter]", message:((((("'" + _arg1) + "' report sent to:") + _local10.url) + ". Report data: ") + JSON.encode(_arg2))}); } private function onIOError(_arg1:IOErrorEvent):void{ trace(_arg1); } } }//package com.metacafe.reports
Section 179
//ComScoreBeaconDispatcher (com.metacafe.reports.ComScoreBeaconDispatcher) package com.metacafe.reports { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.utils.*; import flash.net.*; import com.metacafe.base.*; public class ComScoreBeaconDispatcher extends VideoPlayerModuleBase { private var isReported:Boolean; private var _reportCurrentStream:Boolean; private var loader:URLLoader; public function ComScoreBeaconDispatcher(){ super(); isReported = false; reportCurrentStream = true; var ldr:URLLoader = (loader = new URLLoader()); ldr.addEventListener(Event.COMPLETE, onBeaconResponse); ldr.addEventListener(IOErrorEvent.IO_ERROR, function (_arg1:IOErrorEvent){ }); } public function get reportCurrentStream():Boolean{ return (_reportCurrentStream); } public function set reportCurrentStream(_arg1:Boolean):void{ _reportCurrentStream = _arg1; } override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ super.onVideoTimeChanged(_arg1); var _local2:Number = _arg1.info.time; if ((((((_local2 > 1)) && (!(isReported)))) && (reportCurrentStream))){ dispatchBeacon(); }; } private function dispatchBeacon():void{ isReported = true; var _local1:URLLoader = loader; var _local2:String = Registery.getInstance().playerConfig.comscoreURL; if (!_local2){ return; }; var _local3:URLRequest = new URLRequest(_local2); _local1.load(_local3); trace(this, "dispatching beacon:", _local2); } private function onBeaconResponse(_arg1:Event):void{ trace(this, "beacon called successfully"); } } }//package com.metacafe.reports
Section 180
//IReporter (com.metacafe.reports.IReporter) package com.metacafe.reports { public interface IReporter { function sendReport(_arg1:String, _arg2:Object):void; } }//package com.metacafe.reports
Section 181
//ReportNames (com.metacafe.reports.ReportNames) package com.metacafe.reports { public class ReportNames { public static const VIEW_START:String = "viewStart"; public static const VIDEO_VIEW:String = "videoView"; public static const OVERALL_PLAY_TIME:String = "OverallPlayTime"; public static const MEDIA_FILE_PLAY_ERROR:String = "MediaFilePlayError"; } }//package com.metacafe.reports
Section 182
//TubeMogulReporter (com.metacafe.reports.TubeMogulReporter) package com.metacafe.reports { import com.metacafe.video.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import com.metacafe.video.*; import flash.net.*; import flash.display.*; import com.metacafe.base.*; import com.tubemogul.inplay.*; import com.metacafe.config.*; public class TubeMogulReporter extends VideoPlayerModuleBase { private var _registery:Registery; private var _playTime:Number;// = 0 private var _playDuration:Number;// = 0 private var _isStopped:Boolean;// = false private var _displayObject:DisplayObject; private var _ipStream:Generic_IP; private var _videoPlayer:VideoPlayer; private var _reportCurrentStream:Boolean;// = false public function TubeMogulReporter(_arg1:DisplayObject){ _displayObject = _arg1; _registery = Registery.getInstance(); init(); } public function get reportCurrentStream():Boolean{ return (_reportCurrentStream); } public function set reportCurrentStream(_arg1:Boolean):void{ _reportCurrentStream = _arg1; } public function get videoPlayer():VideoPlayer{ return (_videoPlayer); } public function set videoPlayer(_arg1:VideoPlayer):void{ _videoPlayer = _arg1; } private function init():void{ var _local1:Registery = _registery; var _local2:PlayerConfiguration = _local1.playerConfig; var _local3:Env = _local1.envData; var _local4:Item = _local1.itemData; var _local5:User = _local1.userData; var _local6:String = (_local2.embeddingURL) ? _local2.embeddingURL : (_local3.pageURL) ? _local3.pageURL : ""; var _local7:String = TubeMoguleIDs.getPlayerTypeID(_local2.playerType); var _local8:String = _local5.nickName; var _local9:Object = {display:_displayObject, playerID:"P-Y04-TDU", trackerIDs:_local7, defaultBrowserURL:_local6, debugOn:_local2.tmDebugOn}; Generic_IP.startPlayer(_local9); var _local10:Object = {videoID:_local4.itemID, publisherID:_local8, displayName:unescape(_local4.title), categories:_local4.categories}; var _local11:Generic_IP = (_ipStream = new Generic_IP(_local10)); } private function getPlayheadPosition():Number{ return (_playTime); } private function getBytesLoaded():Number{ var _local2:NetStream; var _local1:VideoPlayer = videoPlayer; if (_local1.currentNetStream){ _local2 = _local1.currentNetStream; return (_local2.bytesLoaded); }; return (0); } private function registerStreamMetadata():void{ var _local6:NetStream; var _local1:Generic_IP = _ipStream; var _local2:VideoPlayer = (videoPlayer as VideoPlayer); var _local3:uint; var _local4:Object = _local2.metadata; var _local5:Number = _playTime; _local4.duration = _local2.duration; if (_local2.currentNetStream){ _local6 = _local2.currentNetStream; _local3 = _local6.bytesTotal; }; _local1.metadataReceived(_local5, _local4, _local3); } override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ var _local2:Generic_IP; var _local3:VideoPlayer; if ((((((_playDuration == 0)) && ((_arg1.info.duration > 0)))) && (_reportCurrentStream))){ _playDuration = _arg1.info.duration; registerStreamMetadata(); }; if (_reportCurrentStream){ _local2 = _ipStream; _local3 = (videoPlayer as VideoPlayer); _local2.playheadTime = (_playTime = _arg1.info.time); }; } override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ if (!_reportCurrentStream){ return; }; var _local2:String = _arg1.info.state; var _local3:Generic_IP = _ipStream; var _local4:Number = _playTime; var _local5:VideoPlayer = videoPlayer; var _local6:Number = _local5.seekTime; switch (_local2){ case StreamStates.STATE_BUFFERING: _local3.buffering(_local4); break; case StreamStates.STATE_PLAYING: _local3.play(_local4); break; case StreamStates.STATE_PAUSED: _local3.pause(_local4); break; case StreamStates.STATE_STOPPED: _local3.stop(_local4); _isStopped = true; _playDuration = 0; break; case StreamStates.STATE_SEEKING: _local3.seek(_local6); break; }; } override public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ _playDuration = 0; _playTime = 0; if (!_reportCurrentStream){ return; }; var _local2:Registery = _registery; var _local3:Item = _local2.itemData; var _local4:Env = _local2.envData; var _local5:Generic_IP = _ipStream; var _local6:Number = _playTime; var _local7:String = (_local3.affiliateID) ? _local4.pageURL : _local3.mediaURL; _local5.loading(_local6, _local7); _local5.registerBytesLoadedHandler(getBytesLoaded); } } }//package com.metacafe.reports
Section 183
//VisibleMeasureReporter (com.metacafe.reports.VisibleMeasureReporter) package com.metacafe.reports { import com.metacafe.video.events.*; import com.metacafe.utils.*; import com.metacafe.dataObjects.*; import com.metacafe.video.*; import com.metacafe.base.*; import com.metacafe.adv.*; import com.metacafe.config.*; import com.metacafe.*; import com.metacafe.portal.*; import com.vmc.integration.*; import com.metacafe.social.events.*; public class VisibleMeasureReporter extends VideoPlayerModuleBase { private var _isInitialized:Boolean; private var _registery:Registery; private var _time:Number;// = 0 private var _duration:Number;// = -1 private var _isStopped:Boolean;// = false private var _seeking:Boolean;// = false private var _eventStack:Array; private var _videoPlayer:IVideoPlayer; private var _reportCurrentStream:Boolean;// = true private var _clipInfo:Object; private var _itemClipInfo:Object; private var _videoAdClipInfo:Object; private var _currentPlaybackType:String; private var _isModuleLoaded:Boolean; private static var myInstance:VisibleMeasureReporter; public function VisibleMeasureReporter(_arg1:SingletonLock){ _eventStack = []; super(); init(); } public function get reportCurrentStream():Boolean{ return (_reportCurrentStream); } public function set reportCurrentStream(_arg1:Boolean):void{ _reportCurrentStream = _arg1; if (APILoader.getRemoteNode()){ APILoader.getRemoteNode().reset(); }; } public function get videoPlayer():IVideoPlayer{ return (_videoPlayer); } public function set videoPlayer(_arg1:IVideoPlayer):void{ _videoPlayer = _arg1; } public function get currentPlaybackType():String{ return (_currentPlaybackType); } public function set currentPlaybackType(_arg1:String):void{ _currentPlaybackType = _arg1; switch (_arg1){ case PlaybackTypes.TYPE_ITEM: _clipInfo = _itemClipInfo; break; case PlaybackTypes.TYPE_PREROLL_VIDEO_AD: case PlaybackTypes.TYPE_POSTROLL_VIDEO_AD: _clipInfo = _videoAdClipInfo; break; }; trace(this, "currentPlaybackType set to", _arg1); trace("_clipInfo is now", Debug.dump(_clipInfo)); } public function set itemMediaURL(_arg1:String):void{ var value = _arg1; try { _itemClipInfo.flvSourceUrl = value; } catch(err:Error) { }; } public function get isInitialized():Boolean{ return (_isInitialized); } private function init():void{ _isInitialized = true; var _local1:Registery = (_registery = Registery.getInstance()); var _local2:Item = _local1.itemData; var _local3:PlayerConfiguration = _local1.playerConfig; var _local4:Object = _local3.playerVars; var _local5:Env = _local1.envData; var _local6 = (_local3.playerType + " Player"); var _local7:String = (_local2.affiliateID) ? (_local2.affiliateID + " Player") : "Metacafe Player"; var _local8:String = (_local3.embeddingURL) ? _local3.embeddingURL : (_local5.pageURL) ? _local5.pageURL : ""; var _local9:Boolean = (_local4) ? _local4.autoPlay : false; var _local10:Object = {callback:onModuleLoad, accountKey:"be60e5f0b5b611dd89bb0019b9f1584b", target:this, playerInfo:{id:_local6, name:_local7, autoPlay:_local9, hostPage:_local8}, genericTimerInfo:{property:getPlayheadPosition, target:this, units:"seconds"}, APIConfiguration:{SCRUB_FORWARDS_BUFFER:2500}}; APILoader.load(_local10); trace(this, "-------------------------------------------------------------- init"); } public function populateItemData():void{ trace(this, "-------------------------------------------------------------- populateItemData"); var _local1:Registery = _registery; var _local2:Item = _local1.itemData; var _local3:User = _local1.userData; var _local4 = (((_local1.envData.staticURL + "/thumb/") + _local2.itemID) + "/0/directors_cut/0/1/thumb.jpg"); _itemClipInfo = {id:_local2.itemID, title:unescape(_local2.title), description:unescape(_local2.description), category:_local3.nickName, tags:_local2.keywords, flvSourceUrl:_local2.mediaURL, thumbnailUrl:_local4}; } public function populateAdData(_arg1:AdDataDTO=null){ var _local2:Object; var _local3:String; trace(this, "-------------------------------------------------------------- populateAdData"); if (_arg1){ if (_arg1.vendorID == AdVendors.METACAFE){ _local2 = _arg1.config; trace("adVendorData:", Debug.dump(_local2)); if (_local2.type == AdTypes.VIDEO){ _local3 = ((_local2.spot == AdSpots.POSTROLL)) ? VMAdFormats.LINEAR_POSTROLL : VMAdFormats.LINEAR_PREROLL; _videoAdClipInfo = {assetType:1, adFormat:_local3, id:_local2.bannerid, campaign:_local2.campaignid, flvSourceUrl:_local2.videoAdData.mediaURL}; }; }; }; } private function onModuleLoad():void{ trace(this, "-------------------------------------------------------------- moduleLoad"); _isModuleLoaded = true; } protected function getPlayheadPosition():Number{ return (_time); } override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ var remoteNode:Object; var evt = _arg1; _time = evt.info.time; if ((((((((((_duration == -1)) && ((evt.info.duration > 0)))) && (_reportCurrentStream))) && (_isModuleLoaded))) && (APILoader.getRemoteNode()))){ _duration = (evt.info.duration * 1000); try { remoteNode = APILoader.getRemoteNode(); remoteNode.clipViewed(_clipInfo); trace(this, "-----------------clipViewed:", Debug.dump(_clipInfo)); remoteNode.setClipDuration(_duration); trace(this, "-----------------duration:", _duration); } catch(err:Error) { }; }; } override public function onVideoStreamChanged(_arg1:VideoPlayerEvent):void{ _duration = -1; } override public function onVideoStateChanged(_arg1:VideoPlayerEvent):void{ if (!_reportCurrentStream){ return; }; var _local2:Number = _time; var _local3:IVideoPlayer = videoPlayer; var _local4:Number = _local3.getSeekTime(); var _local5:String = _arg1.info.state; var _local6:* = APILoader.getRemoteNode(); switch (_local5){ case StreamStates.STATE_PLAYING: if (_isStopped){ _isStopped = false; _local5 = "rewind"; _time = 0; }; break; case StreamStates.STATE_STOPPED: _isStopped = true; break; case StreamStates.STATE_SEEKING: if (_seeking){ _seeking = false; if (_local4 == 0){ _local5 = "rewind"; _time = 0; }; }; break; }; if (_local6){ _local6.logCustomEvent(_local5); }; trace("-------------------------------------------------------------- stateChanged", _local5); } override public function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void{ var _local2:String = _arg1.info.name; if (_local2 == MediaControlsNames.SEEK){ _seeking = true; }; } public function reportSocialEvent(_arg1:String):void{ var _local2:* = APILoader.getRemoteNode(); switch (_arg1){ case PostSocialEvent.EMBED: _local2.logReferEmbed(); trace("---------------------------- reporting social event:", _arg1); break; case PostSocialEvent.SEND_TO_FRIEND: _local2.logReferEmail(); trace("---------------------------- reporting social event:", _arg1); break; }; } public static function getInstance():VisibleMeasureReporter{ if (!myInstance){ myInstance = new VisibleMeasureReporter(new SingletonLock()); }; return (myInstance); } } }//package com.metacafe.reports class SingletonLock { private function SingletonLock(){ } }
Section 184
//URLValidator (com.metacafe.security.URLValidator) package com.metacafe.security { public class URLValidator { public static const VALID_DOMAINS:Array = ["metacafe.com", "metacafe.co.il", "mcstatic.com", "mccont.com", "products.edgeboss.net"]; public static function validate(_arg1:String=""){ var _local2:RegExp = new RegExp((("^http://((www.|s.|v.|mcqacont.qa.|qacont02.stable.|akvideos.|cdn.|lbc.|rtl.|gdi.|winter.|rtlnojpn.|jpnnortl.)|(.*?.dev.)|(.*?.qa.))?(" + VALID_DOMAINS.join("|")) + ")")); if (_arg1.match(_local2)){ return (_arg1); }; trace(("Invalid URL: " + _arg1)); return (null); } } }//package com.metacafe.security
Section 185
//PostSocialEvent (com.metacafe.social.events.PostSocialEvent) package com.metacafe.social.events { import flash.events.*; public class PostSocialEvent extends Event { public var info:Object; public static const EMBED:String = "embed"; public static const SEND_TO_FRIEND:String = "sendToFriend"; public function PostSocialEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ this.info = _arg4; super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new PostSocialEvent(type, bubbles, cancelable, info)); } override public function toString():String{ return (formatToString("PostSocialEvent", "type", "bubbles", "cancelable", "eventPhase", "info")); } } }//package com.metacafe.social.events
Section 186
//SocialContentIDs (com.metacafe.social.SocialContentIDs) package com.metacafe.social { public class SocialContentIDs { public static const EMAIL_TAB:String = "PostSocialEmail"; public static const BOOKMARK_TAB:String = "PostSocialBookmark"; public static const POST_TAB:String = "PostSocialEmbed"; public static const LINK_TAB:String = "PostSocialLink"; public static const PORTAL_SHARE:String = "PortalShare"; } }//package com.metacafe.social
Section 187
//Data (com.metacafe.utils.Data) package com.metacafe.utils { public class Data { public static function assignDefault(_arg1:Object=null, _arg2:String="", _arg3=null){ var _local4:* = (_arg1.hasOwnProperty(_arg2)) ? _arg1[_arg2] : _arg3; trace(_arg1, ("." + _arg2), "set to", _local4); return (_local4); } } }//package com.metacafe.utils
Section 188
//Logger (com.metacafe.utils.Logger) package com.metacafe.utils { import flash.net.*; import com.adobe.serialization.json.*; public class Logger { private var _logURL:String; private static var myInstance:Logger; public function Logger(_arg1:SingletonLock){ } public function get logURL():String{ return (_logURL); } public function set logURL(_arg1:String):void{ _logURL = _arg1; } public function log(_arg1:Object){ if (!_logURL){ return; }; var _local2:URLVariables = new URLVariables(); _local2.info = JSON.encode(_arg1); var _local3:URLRequest = new URLRequest(logURL); _local3.data = _local2; _local3.method = URLRequestMethod.POST; new URLLoader().load(_local3); trace(this, "log(", _local2.info, ")"); } public static function getInstance():Logger{ if (!myInstance){ myInstance = new Logger(new SingletonLock()); }; return (myInstance); } } }//package com.metacafe.utils class SingletonLock { private function SingletonLock(){ } }
Section 189
//Registery (com.metacafe.utils.Registery) package com.metacafe.utils { import com.metacafe.dataObjects.*; public dynamic class Registery { private var _itemData:Item; private var _userData:User; private var _playerConfig:PlayerConfiguration; private var _envData:Env; private var _adData:Advertisement; private var _dartConfig:DartConfig; private static var myInstance:Registery; public function get itemData():Item{ return (_itemData); } public function set itemData(_arg1:Item):void{ _itemData = _arg1; } public function get userData():User{ return (_userData); } public function set userData(_arg1:User):void{ _userData = _arg1; } public function get playerConfig():PlayerConfiguration{ return (_playerConfig); } public function set playerConfig(_arg1:PlayerConfiguration):void{ _playerConfig = _arg1; } public function get envData():Env{ return (_envData); } public function set envData(_arg1:Env):void{ _envData = _arg1; } public function get adData():Advertisement{ return (_adData); } public function set adData(_arg1:Advertisement):void{ _adData = _arg1; } public function get dartConfig():DartConfig{ return (_dartConfig); } public function set dartConfig(_arg1:DartConfig):void{ _dartConfig = _arg1; } public static function getInstance():Registery{ if (!myInstance){ myInstance = new (Registery); }; return (myInstance); } } }//package com.metacafe.utils
Section 190
//TimeFormat (com.metacafe.utils.TimeFormat) package com.metacafe.utils { public class TimeFormat { public static function formatMinutes(_arg1:Number):String{ var _local2:Number = Math.floor((_arg1 / 60)); _arg1 = (_arg1 % 60); return (((((_local2) || ("0")) + ":") + addLeadingZero(_arg1))); } public static function addLeadingZero(_arg1:Number):String{ var _local2:String = Math.floor(_arg1).toString(); if (_local2.length == 1){ _local2 = ("0" + _local2); }; return (_local2); } } }//package com.metacafe.utils
Section 191
//StreamEvent (com.metacafe.video.events.StreamEvent) package com.metacafe.video.events { import flash.events.*; public class StreamEvent extends Event { public var info:Object; public static const STATE_CHANGED:String = "stateChanged"; public static const METADATA_CHANGED:String = "metadataChanged"; public static const REBUFFERING:String = "reBuffering"; public function StreamEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ this.info = _arg4; super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new StreamEvent(type, bubbles, cancelable, info)); } override public function toString():String{ return (formatToString("StreamEvent", "type", "bubbles", "cancelable", "eventPhase", "info")); } } }//package com.metacafe.video.events
Section 192
//VideoModelEvent (com.metacafe.video.events.VideoModelEvent) package com.metacafe.video.events { import com.metacafe.mvc.events.*; import flash.events.*; public class VideoModelEvent extends ModelEvent { public static const STREAM_CHANGED:String = "streamChanged"; public static const METADATA_CHANGED:String = "metadataChanged"; public static const DURATION_CHANGED:String = "durationChanged"; public static const VIDEO_SEGMENT_CHANGED:String = "videoSegmentChanged"; public static const TIME_CHANGED:String = "timeChanged"; public static const DOWNLOAD_PROGRESS_CHANGED:String = "downloadProgressChanged"; public static const BUFFER_CHANGED:String = "bufferChanged"; public static const SEEKTIME_CHANGED:String = "seektimeChanged"; public static const STATE_CHANGED:String = "stateChanged"; public static const VOLUME_CHANGED:String = "volumeChanged"; public static const MUTE_CHANGED:String = "muteChanged"; public static const VIDEO_SIZE_CHANGED:String = "videoSizeChanged"; public function VideoModelEvent(_arg1:String=""){ super(MODEL_CHANGED); eventName = _arg1; } override public function clone():Event{ return (new VideoModelEvent(eventName)); } override public function toString():String{ return (formatToString("VideoModelEvent", "type", "bubbles", "cancelable", "eventPhase", "eventName")); } } }//package com.metacafe.video.events
Section 193
//VideoPlayerEvent (com.metacafe.video.events.VideoPlayerEvent) package com.metacafe.video.events { import flash.events.*; public class VideoPlayerEvent extends Event { public var info:Object; public static const BUTTON_CLICK:String = "buttonClick"; public static const SLIDER_CHANGED:String = "sliderChanged"; public static const SCREEN_CLICK:String = "screenClick"; public static const SCREEN_DOUBLE_CLICK:String = "screenDoubleClick"; public static const STATE_CHANGED:String = "stateChanged"; public static const STREAM_CHANGED:String = "streamChanged"; public static const TIME_CHANGED:String = "timeChanged"; public static const SEEK_TIME_CHANGED:String = "seekTimeChanged"; public static const STREAM_DOWNLOAD_CHANGED:String = "streamDownloadChanged"; public function VideoPlayerEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false, _arg4:Object=null){ this.info = _arg4; super(_arg1, _arg2, _arg3); } override public function clone():Event{ return (new VideoPlayerEvent(type, bubbles, cancelable, info)); } override public function toString():String{ return (formatToString("VideoPlayerEvent", "type", "bubbles", "cancelable", "eventPhase", "info")); } } }//package com.metacafe.video.events
Section 194
//AbstractVideoPlayer (com.metacafe.video.AbstractVideoPlayer) package com.metacafe.video { import flash.geom.*; import flash.net.*; import com.metacafe.base.*; public class AbstractVideoPlayer extends ResizeableSprite implements IVideoPlayer { public function registerModule(_arg1:IVideoPlayerModule):void{ } public function unRegisterModule(_arg1:IVideoPlayerModule):void{ } public function getState():String{ return (""); } public function getTime():Number{ return (0); } public function getSeekTime():Number{ return (0); } public function getDuration():Number{ return (0); } public function getVolume():Number{ return (0); } public function getMute():Boolean{ return (false); } public function getNetStream():NetStream{ return (new NetStream(null)); } public function getScreenRect():Rectangle{ return (new Rectangle()); } public function getVideoRect():Rectangle{ return (new Rectangle()); } public function setVolume(_arg1:Number):void{ } public function setMute(_arg1:Boolean):void{ } public function setStream(_arg1:Stream):void{ } public function killStream():void{ } public function play():void{ } public function pause():void{ } public function stop():void{ } public function rewind():void{ } public function seek(_arg1:Number):void{ } public function getDownloadProgress():Number{ return (0); } public function get mediaControlsEnabled():Boolean{ return (true); } public function set mediaControlsEnabled(_arg1:Boolean):void{ } public function get seekEnabled():Boolean{ return (true); } public function set seekEnabled(_arg1:Boolean):void{ } public function set allowSeekAhead(_arg1:Boolean):void{ } public function get allowSeekAhead():Boolean{ return (false); } } }//package com.metacafe.video
Section 195
//CuePoint (com.metacafe.video.CuePoint) package com.metacafe.video { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.base.*; public class CuePoint extends VideoPlayerModuleBase { private var _time:Number; private var _hasTicked:Boolean; private var _fireOnce:Boolean; private var _id:String; public function CuePoint(){ hasTicked = false; fireOnce = false; } public function get time():Number{ return (_time); } public function set time(_arg1:Number):void{ _time = _arg1; } public function get hasTicked():Boolean{ return (_hasTicked); } public function set hasTicked(_arg1:Boolean):void{ _hasTicked = _arg1; } public function get id():String{ return (_id); } public function set id(_arg1:String):void{ _id = _arg1; } public function get fireOnce():Boolean{ return (_fireOnce); } public function set fireOnce(_arg1:Boolean):void{ _fireOnce = _arg1; } override public function onVideoTimeChanged(_arg1:VideoPlayerEvent):void{ if ((((_arg1.info.time >= time)) && (!(hasTicked)))){ hasTicked = true; dispatchEvent(new TimerEvent(TimerEvent.TIMER)); }; } override public function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void{ if ((((_arg1.info.seekTime < time)) && (!(fireOnce)))){ hasTicked = false; }; } } }//package com.metacafe.video
Section 196
//IVideoDisplay (com.metacafe.video.IVideoDisplay) package com.metacafe.video { import com.metacafe.mvc.*; import flash.geom.*; public interface IVideoDisplay extends IView { function getVideoRect():Rectangle; function setSize(_arg1:Number, _arg2:Number):void; } }//package com.metacafe.video
Section 197
//IVideoPlaybackController (com.metacafe.video.IVideoPlaybackController) package com.metacafe.video { public interface IVideoPlaybackController { function playVideo():void; function pauseVideo():void; function stopVideo():void; function seek(_arg1:Number):void; function setMediaType(_arg1:String):void; } }//package com.metacafe.video
Section 198
//IVideoPlayer (com.metacafe.video.IVideoPlayer) package com.metacafe.video { import flash.geom.*; import flash.net.*; public interface IVideoPlayer { function registerModule(_arg1:IVideoPlayerModule):void; function unRegisterModule(_arg1:IVideoPlayerModule):void; function getState():String; function getDownloadProgress():Number; function getTime():Number; function getSeekTime():Number; function getDuration():Number; function getVolume():Number; function getMute():Boolean; function getNetStream():NetStream; function getScreenRect():Rectangle; function getVideoRect():Rectangle; function setVolume(_arg1:Number):void; function setMute(_arg1:Boolean):void; function setStream(_arg1:Stream):void; function killStream():void; function play():void; function pause():void; function stop():void; function rewind():void; function seek(_arg1:Number):void; function get seekEnabled():Boolean; function set seekEnabled(_arg1:Boolean):void; function get mediaControlsEnabled():Boolean; function set mediaControlsEnabled(_arg1:Boolean):void; } }//package com.metacafe.video
Section 199
//IVideoPlayerModule (com.metacafe.video.IVideoPlayerModule) package com.metacafe.video { import com.metacafe.video.events.*; public interface IVideoPlayerModule { function onMediaControlsButtonClick(_arg1:VideoPlayerEvent):void; function onMediaControlsSliderChanged(_arg1:VideoPlayerEvent):void; function onVideoStateChanged(_arg1:VideoPlayerEvent):void; function onVideoTimeChanged(_arg1:VideoPlayerEvent):void; function onVideoSeekTimeChanged(_arg1:VideoPlayerEvent):void; function onVideoStreamChanged(_arg1:VideoPlayerEvent):void; function onVideoStreamDownloadChanged(_arg1:VideoPlayerEvent):void; function onScreenClick(_arg1:VideoPlayerEvent):void; function onScreenDoubleClick(_arg1:VideoPlayerEvent):void; } }//package com.metacafe.video
Section 200
//Stream (com.metacafe.video.Stream) package com.metacafe.video { import com.metacafe.video.events.*; import flash.events.*; import com.metacafe.utils.*; import flash.geom.*; import flash.net.*; import flash.utils.*; import flash.media.*; import com.akamai.*; import flash.external.*; public class Stream extends EventDispatcher { private var netConnection:NetConnection; private var _netStream:AkamaiEnhancedNetStream; private var _isBufferFlushed:Boolean; private var _videoSize:Rectangle; private var isBuffReported:Boolean; private var _cachedVolume:Number; private var _jpnEnabled:Boolean; private var _authKey:String; private var _initialBuffer:uint; private var _bitRate:uint; private var _akState:String; private var _akPrevState:String; private var reBufferCount:uint; private static const BIT_RATE_PARAM:String = "rtl_bitrate"; private static const BUFFER_PARAM:String = "rtl_buffer"; private static const AUTH_KEY_PARAM:String = "__gda__"; public function Stream(_arg1:Boolean=true, _arg2:String="", _arg3:uint=0, _arg4:uint=0){ _jpnEnabled = _arg1; if (_arg2){ _authKey = _arg2; }; if (_arg3){ _initialBuffer = _arg3; }; if (_arg4){ _bitRate = _arg4; }; trace("new Stream instance!", "jpnEnabled:", _arg1, "authKey:", _arg2, "initialBuffer:", _arg3, "bitRate:", _arg4); init(); } public function get state():String{ var _local2:String; var _local1:AkamaiEnhancedNetStream = _netStream; akState = _local1.state; switch (_local1.state){ case _local1.STATE_BUFFERING: _local2 = StreamStates.STATE_BUFFERING; break; case _local1.STATE_PLAYING: _local2 = StreamStates.STATE_PLAYING; break; case _local1.STATE_PAUSED: _local2 = StreamStates.STATE_PAUSED; break; case _local1.STATE_SEEKING: _local2 = StreamStates.STATE_SEEKING; break; case _local1.STATE_STOPPED: _local2 = StreamStates.STATE_STOPPED; break; case _local1.STATE_ENDED: _local2 = StreamStates.STATE_ENDED; break; case _local1.STATE_FAILED: _local2 = StreamStates.STATE_FILE_NOT_FOUND; break; }; return (_local2); } public function get width(){ return (_netStream.width); } public function get height(){ return (_netStream.height); } public function get isBufferFlushed():Boolean{ return (_isBufferFlushed); } public function set isBufferFlushed(_arg1:Boolean):void{ _isBufferFlushed = _arg1; } public function get bytesLoaded():uint{ return (_netStream.bytesLoaded); } public function get bytesTotal():uint{ return (_netStream.bytesTotal); } public function get segmentLoadRatio(){ return (_netStream.segmentLoadRatio); } public function get time():Number{ return (_netStream.time); } public function get bufferTime():Number{ return (_netStream.bufferTime); } public function get bufferLength():Number{ return (_netStream.bufferLength); } public function get volume():Number{ return (_netStream.soundTransform.volume); } public function set volume(_arg1:Number):void{ var _local2:SoundTransform = new SoundTransform(); _local2.volume = (cachedVolume = _arg1); _netStream.soundTransform = _local2; } public function get netStream():NetStream{ return ((_netStream as NetStream)); } public function get duration():Number{ return (_netStream.duration); } public function get segmentStartTime():Number{ return (_netStream.segmentStartTime); } public function get segmentDuration():Number{ return (_netStream.segmentDuration); } public function get videoSize():Rectangle{ return (_videoSize); } public function set videoSize(_arg1:Rectangle):void{ _videoSize = _arg1; } public function get cachedVolume():Number{ return (_cachedVolume); } public function set cachedVolume(_arg1:Number):void{ _cachedVolume = _arg1; } public function get akState():String{ return (_akState); } public function set akState(_arg1:String):void{ akPrevState = _akState; _akState = _arg1; var _local2:AkamaiEnhancedNetStream = _netStream; if ((((((_local2.time > 1)) && ((_arg1 == _local2.STATE_BUFFERING)))) && ((akPrevState == _local2.STATE_PLAYING)))){ dispatchEvent(new StreamEvent(StreamEvent.REBUFFERING, false, false, {count:++reBufferCount})); }; } public function get akPrevState():String{ return (_akPrevState); } public function set akPrevState(_arg1:String):void{ _akPrevState = _arg1; } private function init(){ isBufferFlushed = false; reBufferCount = 0; var _local1:NetConnection = (netConnection = new NetConnection()); _local1.connect(null); var _local2:AkamaiEnhancedNetStream = (_netStream = new AkamaiEnhancedNetStream(_local1)); _local2.checkPolicyFile = true; _akState = _local2.state; _local2.jpnEnabled = _jpnEnabled; _local2.client = this; _local2.addEventListener(NetStatusEvent.NET_STATUS, handleNetStatus); _local2.addEventListener("stateChange", handleStateChange); _local2.bufferTime = 2; } public function play(_arg1:String){ var _local4:String; isBufferFlushed = false; var _local2:Object = {}; if (_authKey){ _local2[AUTH_KEY_PARAM] = _authKey; }; if (_initialBuffer > 0){ _local2[BUFFER_PARAM] = _initialBuffer; }; if (_bitRate > 0){ _local2[BIT_RATE_PARAM] = _bitRate; }; var _local3:Array = []; for (_local4 in _local2) { _local3.push(((_local4 + "=") + _local2[_local4])); }; if (_local3.length){ _arg1 = (_arg1 + ("?" + _local3.join("&"))); }; _netStream.play(_arg1); var _local5:Logger = Logger.getInstance(); _local5.log({scope:this.toString(), message:("Requesting " + _arg1)}); } public function stop(){ _netStream.close(); netConnection.close(); } public function pause(){ _netStream.pause(); } public function resume(){ _netStream.resume(); } public function seek(_arg1:Number){ _netStream.seek(_arg1); } public function close(){ _netStream.close(); netConnection.close(); } private function handleNetStatus(_arg1:NetStatusEvent):void{ var e = _arg1; var code:String = e.info.code; var lgr:Logger = Logger.getInstance(); switch (code){ case "NetStream.Play.Stop": lgr.log({scope:this.toString(), message:"Video stopped"}); break; case "NetStream.Play.Start": if (!isBuffReported){ lgr.log({scope:this.toString(), message:"Initial buffering started"}); try { ExternalInterface.call("fpOnBufferStart"); trace(this, "fpOnBufferStart called", getTimer()); } catch(e:Error) { trace(e); }; }; break; case "NetStream.Buffer.Full": if (!isBuffReported){ lgr.log({scope:this.toString(), message:"Initial buffering complete"}); try { ExternalInterface.call("fpOnBufferFull"); ExternalInterface.call("fpStartPlay2"); ExternalInterface.call("kpi.addReport", {name:"VideoPlayerBuffer", value:getTimer()}); trace(this, "fpOnBufferFull called", getTimer()); trace(this, "fpStartPlay2 called", getTimer()); isBuffReported = true; } catch(e:Error) { trace(e); }; }; volume = cachedVolume; break; case "NetStream.Buffer.Flush": isBufferFlushed = true; break; case "NetStream.Buffer.Empty": if (isBufferFlushed){ lgr.log({scope:this.toString(), message:"Video complete"}); dispatchEvent(new StreamEvent(StreamEvent.STATE_CHANGED, false, false, StreamStates.STATE_ENDED)); }; break; case "NetStream.Play.StreamNotFound": lgr.log({scope:this.toString(), message:"Video not found", type:"ERROR"}); break; }; } private function handleStateChange(_arg1:NetStatusEvent):void{ dispatchEvent(new StreamEvent(StreamEvent.STATE_CHANGED, false, false, state)); } public function onMetaData(_arg1:Object){ var _local4:String; var _local2:Number = _arg1.width; var _local3:Number = _arg1.height; for (_local4 in _arg1) { trace(_local4, ":", _arg1[_local4]); }; videoSize = new Rectangle(0, 0, _local2, _local3); dispatchEvent(new StreamEvent(StreamEvent.METADATA_CHANGED, false, false, _arg1)); } private function myTrace(_arg1:Object){ trace(((this + ":: ") + _arg1)); } } }//package com.metacafe.video
Section 201
//StreamStates (com.metacafe.video.StreamStates) package com.metacafe.video { public class StreamStates { public static const STATE_WAITING:String = "waiting"; public static const STATE_BUFFERING:String = "buffering"; public static const STATE_PLAYING:String = "playing"; public static const STATE_PAUSED:String = "paused"; public static const STATE_STOPPED:String = "stopped"; public static const STATE_ENDED:String = "ended"; public static const STATE_SEEKING:String = "seeking"; public static const STATE_FILE_NOT_FOUND:String = "fileNotFound"; } }//package com.metacafe.video
Section 202
//StreamView (com.metacafe.video.StreamView) package com.metacafe.video { import com.metacafe.video.events.*; import com.metacafe.mvc.*; import com.metacafe.mvc.events.*; import flash.events.*; import com.metacafe.dataObjects.*; import flash.geom.*; import flash.utils.*; public class StreamView extends View implements IView { private var _stream:Stream; private var timeUpdateTimer:Timer; private var bufferUpdateTimer:Timer; private var progressUpdateTimer:Timer; public function StreamView(_arg1:IController, _arg2:IModel){ super(_arg1, _arg2); init(); } public function get stream():Stream{ return (_stream); } public function set stream(_arg1:Stream):void{ _stream = _arg1; } public function get isStreamDownloadComplete(){ var _local1:Stream = stream; return ((((((((_local1.bytesLoaded > 0)) && ((_local1.bytesTotal > 0)))) && ((_local1.bytesLoaded == _local1.bytesTotal)))) || ((_local1.segmentLoadRatio == 1)))); } private function init():void{ var _local1:Timer = (timeUpdateTimer = new Timer(1000, 0)); _local1.addEventListener(TimerEvent.TIMER, sendTimeUpdate); var _local2:Timer = (bufferUpdateTimer = new Timer(250, 0)); _local2.addEventListener(TimerEvent.TIMER, sendBufferUpdate); var _local3:Timer = (progressUpdateTimer = new Timer(1000, 0)); _local3.addEventListener(TimerEvent.TIMER, sendProgressUpdate); } override public function setController(_arg1:IController):void{ controller = (_arg1 as VideoController); } override public function setModel(_arg1:IModel):void{ model = (_arg1 as VideoModel); _arg1.addView(this); } public function registerStream(_arg1:Stream):void{ stream = _arg1; var _local2:VideoModel = (model as VideoModel); var _local3:Number = (_local2.isMute) ? 0 : _local2.volume; _arg1.volume = _local3; trace(this, "set the stream volume to", _local3); _arg1.addEventListener(StreamEvent.STATE_CHANGED, onStreamStateChange); _arg1.addEventListener(StreamEvent.METADATA_CHANGED, onStreamMetadataChange); var _local4:VideoController = (controller as VideoController); _local4.setStream(_arg1); if (_arg1.duration){ _local4.setDuration(_arg1.duration); }; if (_arg1.videoSize){ _local4.setVideoSize(_arg1.videoSize); }; } public function killStream(){ var strm:Stream; var ctrl:VideoController; try { strm = stream; strm.removeEventListener(StreamEvent.STATE_CHANGED, onStreamStateChange); strm.removeEventListener(StreamEvent.METADATA_CHANGED, onStreamMetadataChange); strm.close(); ctrl = (controller as VideoController); ctrl.unSetStream(); } catch(err:Error) { }; } private function onStreamMetadataChange(_arg1:StreamEvent):void{ var _local2:Number = stream.duration; var _local3:Number = stream.segmentStartTime; var _local4:Number = stream.segmentDuration; var _local5:Number = stream.width; var _local6:Number = stream.height; var _local7:VideoController = (controller as VideoController); _local7.setVideoSize(new Rectangle(0, 0, _local5, _local6)); _local7.setDuration(_local2); _local7.setVideoSegmentData(new VideoSegment(_local3, _local4)); _local7.setMetadata(_arg1.info); } private function onStreamStateChange(_arg1:StreamEvent):void{ var _local2:VideoController = (controller as VideoController); _local2.setState(_arg1.info.toString()); } override public function modelChanged(_arg1:ModelEvent):void{ var _local4:VideoModel; var _local9:String; var _local10:Timer; super.modelChanged(_arg1); var _local2:VideoController = (controller as VideoController); var _local3:VideoModelEvent = (_arg1 as VideoModelEvent); _local4 = (_local3.target as VideoModel); var _local5:String = _local3.eventName; var _local6:Stream = stream; var _local7:Timer = timeUpdateTimer; var _local8:Timer = bufferUpdateTimer; switch (_local5){ case VideoModelEvent.STATE_CHANGED: _local7.stop(); _local8.stop(); _local9 = _local4.state; switch (_local9){ case StreamStates.STATE_WAITING: break; case StreamStates.STATE_BUFFERING: _local8.start(); break; case StreamStates.STATE_PLAYING: _local8.stop(); _local7.start(); _local6.resume(); break; case StreamStates.STATE_SEEKING: break; case StreamStates.STATE_PAUSED: _local6.pause(); break; case StreamStates.STATE_STOPPED: _local6.stop(); break; }; break; case VideoModelEvent.STREAM_CHANGED: _local10 = progressUpdateTimer; if (!isStreamDownloadComplete){ _local10.start(); }; _local6.volume = (_local4.isMute) ? 0 : _local4.volume; break; case VideoModelEvent.SEEKTIME_CHANGED: _local6.seek(_local4.seekTime); break; case VideoModelEvent.VOLUME_CHANGED: _local6.volume = _local4.volume; break; case VideoModelEvent.MUTE_CHANGED: if (!_local4.isMute){ _local6.volume = _local4.volume; }; break; case VideoModelEvent.DURATION_CHANGED: break; }; } private function sendTimeUpdate(_arg1:TimerEvent):void{ var _local2:VideoController = (controller as VideoController); var _local3:Stream = stream; _local2.setTime(_local3.time); } private function sendBufferUpdate(_arg1:TimerEvent):void{ var _local2:VideoController = (controller as VideoController); var _local3:Stream = stream; _local2.setBuffer((_local3.bufferLength / _local3.bufferTime)); } private function sendProgressUpdate(_arg1:TimerEvent):void{ var _local2:VideoController = (controller as VideoController); var _local3:Stream = stream; var _local4:Number = _local3.segmentLoadRatio; _local2.setDownloadProgress(_local4); if (isStreamDownloadComplete){ progressUpdateTimer.stop(); }; } } }//package com.metacafe.video
Section 203
//VideoController (com.metacafe.video.VideoController) package com.metacafe.video { import com.metacafe.mvc.*; import com.metacafe.dataObjects.*; import flash.geom.*; import flash.net.*; public class VideoController extends Controller { public function VideoController(_arg1:IModel=null){ super(_arg1); } override public function setModel(_arg1:IModel):void{ model = (_arg1 as Model); var _local2:SharedObject = SharedObject.getLocal("vpPrefs", "/"); var _local3:Object = _local2.data; if (_local3.volume){ setVolume(_local3.volume); }; if (_local3.isMute){ setMute(true); }; } public function setAllowSeekAhead(_arg1:Boolean){ var _local2:VideoModel = (model as VideoModel); _local2.allowSeekAhead = _arg1; } public function play(){ var _local1:VideoModel = (model as VideoModel); _local1.state = StreamStates.STATE_PLAYING; _local1.isPlaying = true; _local1.isPaused = false; } public function pause(){ var _local1:VideoModel = (model as VideoModel); _local1.state = StreamStates.STATE_PAUSED; _local1.isPlaying = false; _local1.isPaused = true; } public function stop(){ var _local1:VideoModel = (model as VideoModel); _local1.state = StreamStates.STATE_STOPPED; } public function replay(){ } public function seek(_arg1:Number){ var _local2:VideoModel = (model as VideoModel); var _local3:Number = _local2.duration; _local2.seekTime = (_arg1 * _local3); } public function setVideoSegmentData(_arg1:VideoSegment){ var _local2:VideoModel = (model as VideoModel); _local2.videoSegmentData = _arg1; } public function setStream(_arg1:Stream):void{ var _local2:VideoModel = (model as VideoModel); _arg1.volume = (_local2.isMute) ? 0 : _local2.volume; _local2.stream = _arg1; } public function unSetStream():void{ var _local1:VideoModel = (model as VideoModel); _local1.stream = new Stream(); } public function setMetadata(_arg1:Object):void{ var _local2:VideoModel = (model as VideoModel); _local2.metadata = _arg1; } public function setDuration(_arg1:Number):void{ var _local2:VideoModel = (model as VideoModel); _local2.duration = _arg1; } public function setVideoSize(_arg1:Rectangle):void{ var _local2:VideoModel = (model as VideoModel); _local2.videoSize = _arg1; } public function setState(_arg1:String):void{ var _local2:VideoModel = (model as VideoModel); _local2.state = _arg1; } public function setCachedState(_arg1:String):void{ var _local2:VideoModel = (model as VideoModel); _local2.cachedState = _arg1; } public function setTime(_arg1:Number):void{ var _local2:VideoModel = (model as VideoModel); _local2.time = _arg1; } public function setBuffer(_arg1:Number):void{ var _local2:VideoModel = (model as VideoModel); _local2.buffer = _arg1; } public function setDownloadProgress(_arg1:Number):void{ var _local2:VideoModel = (model as VideoModel); _local2.downloadProgress = _arg1; } public function setVolume(_arg1:Number):void{ var _local2:VideoModel = (model as VideoModel); _local2.volume = _arg1; if ((((_arg1 > 0)) && (_local2.isMute))){ setMute(false); }; } public function toggleMute():void{ var _local1:VideoModel = (model as VideoModel); _local1.isMute = !(_local1.isMute); } public function setMute(_arg1:Boolean):void{ var _local2:VideoModel = (model as VideoModel); _local2.isMute = _arg1; } } }//package com.metacafe.video
Section 204
//VideoDisplay (com.metacafe.video.VideoDisplay) package com.metacafe.video { import com.metacafe.video.events.*; import com.metacafe.mvc.*; import com.metacafe.mvc.events.*; import gs.*; import flash.geom.*; import flash.net.*; import flash.media.*; public class VideoDisplay extends ResizeableSpriteView implements IVideoDisplay { private var screen:Video; private var pauseIndicator:PauseIndicator; public function VideoDisplay(_arg1:IController, _arg2:IModel){ super(_arg1, _arg2); var _local3:Video = (screen = new Video()); _local3.smoothing = true; addChild(_local3); var _local4:PauseIndicator = (pauseIndicator = new PauseIndicator()); _local4.alpha = 0; _local4.visible = false; addChild(_local4); } public function get videoRect():Rectangle{ var _local1:Video = screen; return (new Rectangle(_local1.x, _local1.y, _local1.width, _local1.height)); } override public function modelChanged(_arg1:ModelEvent):void{ var _local2:VideoModel; var _local6:Stream; var _local7:NetStream; var _local8:Video; _arg1 = (_arg1 as VideoModelEvent); _local2 = (_arg1.target as VideoModel); var _local3:String = _arg1.eventName; var _local4:PauseIndicator = pauseIndicator; var _local5:String = _local2.state; switch (_local3){ case VideoModelEvent.VIDEO_SIZE_CHANGED: size(); break; case VideoModelEvent.STREAM_CHANGED: _local6 = _local2.stream; _local7 = _local6.netStream; _local8 = screen; _local8.attachNetStream(_local7); break; case VideoModelEvent.STATE_CHANGED: switch (_local5){ case StreamStates.STATE_PAUSED: TweenLite.to(_local4, 0.25, {autoAlpha:1}); break; default: if (_local4.alpha > 0){ TweenLite.to(_local4, 0.25, {autoAlpha:0}); }; }; break; case VideoModelEvent.TIME_CHANGED: if (((!((_local5 == StreamStates.STATE_PAUSED))) && (_local4.visible))){ TweenLite.to(_local4, 0.25, {autoAlpha:0}); }; break; }; } override protected function size():void{ var _local1:Number = width; var _local2:Number = height; var _local3:Video = screen; var _local4:PauseIndicator = pauseIndicator; var _local5:VideoModel = (model as VideoModel); var _local6:Rectangle = _local5.videoSize; var _local7:Number = ((((_local6.width) || (_local3.videoWidth))) || (4)); var _local8:Number = ((((_local6.height) || (_local3.videoHeight))) || (3)); var _local9:Number = (_local1 / _local2); var _local10:Number = (_local7 / _local8); if (_local9 >= _local10){ _local3.height = _local2; _local3.width = (_local2 * _local10); _local3.x = ((_local1 - _local3.width) / 2); _local3.y = 0; } else { _local3.width = _local1; _local3.height = (_local1 / _local10); _local3.x = 0; _local3.y = ((_local2 - _local3.height) / 2); }; _local4.x = ((_local1 - _local4.width) / 2); _local4.y = ((_local2 - _local4.height) / 2); } public function getVideoRect():Rectangle{ return (videoRect); } } }//package com.metacafe.video
Section 205
//VideoModel (com.metacafe.video.VideoModel) package com.metacafe.video { import com.metacafe.video.events.*; import com.metacafe.mvc.*; import com.metacafe.dataObjects.*; import flash.geom.*; public class VideoModel extends Model implements IModel { private var _stream:Stream; private var _state:String; private var _cachedState:String; private var _videoSize:Rectangle; private var _duration:Number; private var _videoSegmentData:VideoSegment; private var _time:Number; private var _seekTime:Number; private var _buffer:Number; private var _downloadProgress:Number; private var _volume:Number; private var _isMute:Boolean; private var _isPlaying:Boolean; private var _isPaused:Boolean; private var _allowSeekAhead:Boolean; private var _metadata:Object; public function VideoModel(){ _stream = null; _metadata = {}; _videoSegmentData = new VideoSegment(); _state = (_cachedState = StreamStates.STATE_WAITING); _videoSize = new Rectangle(0, 0, 0, 0); _duration = 0; _time = 0; _seekTime = 0; _buffer = 0; _downloadProgress = 0; _volume = 1; _isMute = false; _allowSeekAhead = false; } public function get state():String{ return (_state); } public function set state(_arg1:String):void{ if (_arg1 == _state){ return; }; _state = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.STATE_CHANGED)); } public function get cachedState():String{ return (_cachedState); } public function set cachedState(_arg1:String):void{ _cachedState = _arg1; } public function get isPlaying():Boolean{ return (_isPlaying); } public function set isPlaying(_arg1:Boolean):void{ _isPlaying = _arg1; } public function get isPaused():Boolean{ return (_isPaused); } public function set isPaused(_arg1:Boolean):void{ _isPaused = _arg1; } public function get videoSize():Rectangle{ return (_videoSize); } public function set videoSize(_arg1:Rectangle):void{ _videoSize = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.VIDEO_SIZE_CHANGED)); } public function get duration():Number{ return (_duration); } public function set duration(_arg1:Number):void{ if (_arg1 == duration){ return; }; _duration = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.DURATION_CHANGED)); } public function get videoSegmentData():VideoSegment{ return (_videoSegmentData); } public function set videoSegmentData(_arg1:VideoSegment):void{ _videoSegmentData = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.VIDEO_SEGMENT_CHANGED)); } public function get stream():Stream{ return (_stream); } public function set stream(_arg1:Stream):void{ if (_arg1 == _stream){ return; }; _stream = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.STREAM_CHANGED)); } public function get time():Number{ return (_time); } public function set time(_arg1:Number):void{ _time = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.TIME_CHANGED)); } public function get buffer():Number{ return (_buffer); } public function set buffer(_arg1:Number):void{ _buffer = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.BUFFER_CHANGED)); } public function get downloadProgress():Number{ return (_downloadProgress); } public function set downloadProgress(_arg1:Number):void{ _downloadProgress = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED)); } public function get seekTime():Number{ return (_seekTime); } public function set seekTime(_arg1:Number):void{ _seekTime = (allowSeekAhead) ? _arg1 : Math.min(_arg1, (duration * downloadProgress)); dispatchEvent(new VideoModelEvent(VideoModelEvent.SEEKTIME_CHANGED)); } public function get volume():Number{ return (_volume); } public function set volume(_arg1:Number):void{ if (_arg1 == _volume){ return; }; _volume = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.VOLUME_CHANGED)); } public function get isMute():Boolean{ return (_isMute); } public function set isMute(_arg1:Boolean):void{ if (_arg1 == _isMute){ return; }; _isMute = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.MUTE_CHANGED)); } public function get allowSeekAhead():Boolean{ return (_allowSeekAhead); } public function set allowSeekAhead(_arg1:Boolean):void{ _allowSeekAhead = _arg1; } public function get metadata():Object{ return (_metadata); } public function set metadata(_arg1:Object):void{ _metadata = _arg1; dispatchEvent(new VideoModelEvent(VideoModelEvent.METADATA_CHANGED)); } } }//package com.metacafe.video
Section 206
//VideoPlayer (com.metacafe.video.VideoPlayer) package com.metacafe.video { import com.metacafe.video.events.*; import com.metacafe.mvc.events.*; import flash.events.*; import flash.geom.*; import com.greensock.*; import flash.net.*; import flash.display.*; import com.metacafe.gui.*; import com.metacafe.config.*; import com.greensock.plugins.*; import com.metacafe.gui.shapes.*; public class VideoPlayer extends AbstractVideoPlayer implements IVideoPlayer { protected var model:VideoModel; protected var controller:VideoController; private var streamView:StreamView; protected var background:Rect; protected var videoDisplay:IVideoDisplay; protected var mediaControls:IMediaControls; protected var screenButton:Sprite; protected var _screenRect:Rectangle; protected var _mediaControlsVisible:Boolean; protected var _mediaControlsPlacement:String; protected var _mediaControlsTransitionType:String;// = "fade" public function VideoPlayer(){ TweenPlugin.activate([AutoAlphaPlugin]); addEventListener(Event.ADDED_TO_STAGE, onAddedToStage); } override public function get mediaControlsEnabled():Boolean{ return (mediaControls.enabled); } override public function set mediaControlsEnabled(_arg1:Boolean):void{ mediaControls.enabled = _arg1; } override public function get allowSeekAhead():Boolean{ return (model.allowSeekAhead); } override public function set allowSeekAhead(_arg1:Boolean):void{ controller.setAllowSeekAhead(_arg1); } override public function get seekEnabled():Boolean{ return (mediaControls.seekEnabled); } override public function set seekEnabled(_arg1:Boolean):void{ mediaControls.seekEnabled = _arg1; } public function get volumeEnabled():Boolean{ return (mediaControls.volumeEnabled); } public function set volumeEnabled(_arg1:Boolean):void{ mediaControls.volumeEnabled = _arg1; } public function get fullScreenEnabled():Boolean{ return (mediaControls.fullScreenEnabled); } public function set fullScreenEnabled(_arg1:Boolean):void{ mediaControls.fullScreenEnabled = _arg1; } public function get mediaControlsHeight():Number{ var _local1:Number = 0; if (mediaControls){ _local1 = mediaControls.height; }; return (_local1); } public function get metadata():Object{ return (model.metadata); } public function get state():String{ return (model.state); } public function get duration():Number{ return (model.duration); } public function get time():Number{ return (model.time); } public function get downloadProgress():Number{ return (model.downloadProgress); } public function get isMute():Boolean{ return (model.isMute); } public function get volume():Number{ return (model.volume); } public function set volume(_arg1:Number):void{ controller.setVolume(_arg1); } public function get seekTime():Number{ return (model.seekTime); } public function get currentNetStream():NetStream{ var _local1:NetStream; if (((streamView) && (streamView.stream))){ _local1 = streamView.stream.netStream; }; return (_local1); } public function get screenRect():Rectangle{ return (_screenRect); } public function get videoRect():Rectangle{ return (videoDisplay.getVideoRect()); } public function get mediaControlsVisible():Boolean{ return (_mediaControlsVisible); } public function set mediaControlsVisible(_arg1:Boolean):void{ _mediaControlsVisible = _arg1; setMediaControlsVisible(); } public function get mediaControlsPlacement():String{ return (_mediaControlsPlacement); } public function set mediaControlsPlacement(_arg1:String):void{ var value = _arg1; _mediaControlsPlacement = value; try { mediaControls.placement = value; } catch(err:Error) { }; } public function get mediaControlsTransitionType():String{ return (_mediaControlsTransitionType); } public function set mediaControlsTransitionType(_arg1:String):void{ _mediaControlsTransitionType = _arg1; } private function onAddedToStage(_arg1:Event):void{ loaderInfo.addEventListener(Event.UNLOAD, onUnLoad); init(); } protected function init(){ var _local1:VideoModel = (model = new VideoModel()); _local1.addEventListener(ModelEvent.MODEL_CHANGED, onVideoModelChanged); var _local2:VideoController = (controller = new VideoController(_local1)); setMediaControlsPlacement(); var _local3:Rect = (background = new Rect()); addChild(_local3); initViews(); initScreenButton(); _screenRect = new Rectangle(); _mediaControlsVisible = true; } protected function initScreenButton():void{ var _local1:Sprite = (screenButton = new Sprite()); addChild(_local1); _local1.buttonMode = (_local1.useHandCursor = true); var _local2:Graphics = _local1.graphics; _local2.beginFill(0, 0); _local2.drawRect(0, 0, 100, 100); _local2.endFill(); _local1.name = MediaControlsNames.SCREEN; _local1.doubleClickEnabled = true; _local1.addEventListener(MouseEvent.CLICK, onScreenClick); _local1.addEventListener(MouseEvent.DOUBLE_CLICK, onScreenDoubleClick); _local1.visible = false; } protected function onUnLoad(_arg1:Event):void{ killStream(); } protected function initViews(){ var _local1:VideoModel = model; var _local2:VideoController = controller; var _local3:IVideoDisplay = (videoDisplay = new VideoDisplay(_local2, _local1)); addChild(VideoDisplay(_local3)); var _local4:StreamView = (streamView = new StreamView(_local2, _local1)); } public function setMediaControlsPlacement(_arg1:String="external"):void{ mediaControlsPlacement = _arg1; } public function setMediaControls(_arg1:IMediaControls){ mediaControls = _arg1; _arg1.setController(controller); _arg1.setModel(model); _arg1.addEventListener(MouseEvent.CLICK, onMediaControlsButtonClick); _arg1.addEventListener(Event.CHANGE, onMediaControlsSliderChanged); } override public function setStream(_arg1:Stream):void{ if (mediaControls){ mediaControls.resetSeek(); }; var _local2:StreamView = streamView; _local2.registerStream(_arg1); } override public function killStream():void{ var _local1:StreamView = streamView; _local1.killStream(); } override public function registerModule(_arg1:IVideoPlayerModule):void{ addEventListener(VideoPlayerEvent.BUTTON_CLICK, _arg1.onMediaControlsButtonClick); addEventListener(VideoPlayerEvent.SCREEN_CLICK, _arg1.onScreenClick); addEventListener(VideoPlayerEvent.SCREEN_DOUBLE_CLICK, _arg1.onScreenDoubleClick); addEventListener(VideoPlayerEvent.SLIDER_CHANGED, _arg1.onMediaControlsSliderChanged); addEventListener(VideoPlayerEvent.STATE_CHANGED, _arg1.onVideoStateChanged); addEventListener(VideoPlayerEvent.TIME_CHANGED, _arg1.onVideoTimeChanged); addEventListener(VideoPlayerEvent.SEEK_TIME_CHANGED, _arg1.onVideoSeekTimeChanged); addEventListener(VideoPlayerEvent.STREAM_CHANGED, _arg1.onVideoStreamChanged); addEventListener(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, _arg1.onVideoStreamDownloadChanged); } override public function unRegisterModule(_arg1:IVideoPlayerModule):void{ removeEventListener(VideoPlayerEvent.BUTTON_CLICK, _arg1.onMediaControlsButtonClick); removeEventListener(VideoPlayerEvent.SCREEN_CLICK, _arg1.onScreenClick); removeEventListener(VideoPlayerEvent.SCREEN_DOUBLE_CLICK, _arg1.onScreenDoubleClick); removeEventListener(VideoPlayerEvent.SLIDER_CHANGED, _arg1.onMediaControlsSliderChanged); removeEventListener(VideoPlayerEvent.STATE_CHANGED, _arg1.onVideoStateChanged); removeEventListener(VideoPlayerEvent.TIME_CHANGED, _arg1.onVideoTimeChanged); removeEventListener(VideoPlayerEvent.SEEK_TIME_CHANGED, _arg1.onVideoSeekTimeChanged); removeEventListener(VideoPlayerEvent.STREAM_CHANGED, _arg1.onVideoStreamChanged); removeEventListener(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, _arg1.onVideoStreamDownloadChanged); } override public function play():void{ controller.play(); } override public function pause():void{ controller.pause(); } override public function stop():void{ controller.stop(); } override public function rewind():void{ controller.seek(0); } override public function seek(_arg1:Number):void{ controller.seek(_arg1); } override public function setMute(_arg1:Boolean):void{ controller.setMute(_arg1); } override public function getState():String{ return (state); } override public function getTime():Number{ return (time); } override public function getSeekTime():Number{ return (seekTime); } override public function getDuration():Number{ return (duration); } override public function getVolume():Number{ return (volume); } override public function setVolume(_arg1:Number):void{ volume = _arg1; } override public function getNetStream():NetStream{ return (currentNetStream); } override public function getScreenRect():Rectangle{ return (screenRect); } override public function getVideoRect():Rectangle{ return (videoRect); } override public function getDownloadProgress():Number{ var value:Number = 0; try { value = (currentNetStream.bytesLoaded / currentNetStream.bytesTotal); } catch(err:Error) { }; return (value); } protected function onScreenDoubleClick(_arg1:MouseEvent):void{ _arg1.stopPropagation(); dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SCREEN_DOUBLE_CLICK)); } protected function onScreenClick(_arg1:MouseEvent):void{ _arg1.stopPropagation(); dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SCREEN_CLICK, false, false, {x:_arg1.stageX, y:_arg1.stageY})); } protected function onVideoModelChanged(_arg1:ModelEvent):void{ var _local4:Sprite; var _local2:VideoModel = (_arg1.target as VideoModel); var _local3:String = _arg1.eventName; switch (_local3){ case VideoModelEvent.STATE_CHANGED: dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STATE_CHANGED, false, false, {state:_local2.state})); _local4 = screenButton; switch (_local2.state){ case StreamStates.STATE_ENDED: case StreamStates.STATE_FILE_NOT_FOUND: case StreamStates.STATE_STOPPED: if (_local4){ _local4.visible = false; }; break; default: if (_local4){ _local4.visible = true; }; }; break; case VideoModelEvent.TIME_CHANGED: dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.TIME_CHANGED, false, false, {time:_local2.time, duration:_local2.duration})); break; case VideoModelEvent.SEEKTIME_CHANGED: dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SEEK_TIME_CHANGED, false, false, {seekTime:_local2.seekTime, time:_local2.time, duration:_local2.duration})); break; case VideoModelEvent.STREAM_CHANGED: dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STREAM_CHANGED, false, false, {stream:_local2.stream})); break; case VideoModelEvent.DOWNLOAD_PROGRESS_CHANGED: dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.STREAM_DOWNLOAD_CHANGED, false, false, {progress:_local2.downloadProgress})); break; }; } protected function onMediaControlsSliderChanged(_arg1:Event):void{ _arg1.stopPropagation(); var _local2:* = _arg1.target; var _local3:String = _local2.name; var _local4:* = ((_local2 is IVolumeUnit)) ? _local2.volume : _local2.value; dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.SLIDER_CHANGED, false, false, {name:_local3, value:_local4})); } protected function onMediaControlsButtonClick(_arg1:MouseEvent):void{ var _local2:String = _arg1.target.name; dispatchEvent(new VideoPlayerEvent(VideoPlayerEvent.BUTTON_CLICK, false, false, {name:_local2})); _arg1.stopPropagation(); } protected function setMediaControlsVisible():void{ var _local1:String = mediaControlsTransitionType; var _local2:IMediaControls = mediaControls; TweenLite.killTweensOf(_local2); trace("setMediaControlsVisible(", mediaControlsVisible, ")"); var _local3:uint = (mediaControlsVisible) ? 1 : 0; var _local4:Object = {autoAlpha:_local3}; if (_local1 == MediaControlsTransitionTypes.SLIDE){ _local4.y = (mediaControlsVisible) ? (height - mediaControlsHeight) : height; }; TweenLite.to(_local2, 0.25, _local4); } override protected function size():void{ var _local2:Number; var _local4:IMediaControls; var _local10:Number; var _local1:Number = width; _local2 = height; var _local3:IVideoDisplay = videoDisplay; var _local5:Number = 0; if (mediaControls){ _local4 = mediaControls; _local5 = mediaControlsHeight; _local4.alpha = 1; TweenLite.killTweensOf(_local4); }; var _local6:Rect = background; var _local7:Sprite = screenButton; var _local8:String = ((stage.displayState) || (StageDisplayState.NORMAL)); var _local9 = (mediaControlsPlacement == MediaControlsPlacementTypes.EXTERNAL); switch (_local8){ case StageDisplayState.NORMAL: _local10 = _local2; if (_local4){ _local4.x = 0; _local4.y = (_local2 - _local5); _local4.setSize(_local1, _local5); _local10 = (_local9) ? _local4.y : _local2; }; _local3.setSize(_local1, _local10); _local6.height = (_local2 - (_local9) ? _local5 : 0); break; case StageDisplayState.FULL_SCREEN: _local3.setSize(_local1, _local2); if (_local4){ _local4.setSize(400, _local5); _local4.x = ((_local1 - _local4.width) / 2); _local4.y = ((_local2 - _local5) - 3); }; _local6.height = _local2; break; }; _local6.width = (_screenRect.width = _local1); _screenRect.height = (_local2 - _local5); if (_local7){ _local7.width = _local1; _local7.height = (_local2 - _local5); }; } } }//package com.metacafe.video
Section 207
//Debug (com.metacafe.Debug) package com.metacafe { public class Debug { public static function dump(_arg1, _arg2:String="", _arg3:String=""):String{ var _local5:*; var _local6:*; var _local4:* = false; if (_arg3 == null){ _arg3 = "\t"; } else { _arg3 = (_arg3 + "\t"); }; if (_arg2 == null){ _arg2 = "Object: {"; } else { _arg2 = (_arg2 + "{"); }; for (_local5 in _arg1) { _arg2 = (_arg2 + ("\n" + _arg3)); if (!_local4){ _local4 = true; }; _local6 = _arg1[_local5]; if ((_local6 is Array)){ _arg2 = (_arg2 + (((_local5 + ": [") + dump(_local6, (_local5 + ": "), _arg3)) + "]")); } else { if ((((((((((((((_local6 is Object)) && (!((_local6 is Function))))) && (!((_local6 is Number))))) && (!((_local6 is int))))) && (!((_local6 is uint))))) && (!((_local6 is String))))) && (!((_local6 is Boolean))))){ _arg2 = (_arg2 + dump(_local6, (_local5 + ": "), _arg3)); } else { if ((_local6 is Function)){ _arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(function)")); } else { if ((_local6 is Number)){ _arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(number)")); } else { if ((_local6 is int)){ _arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(int)")); } else { if ((_local6 is uint)){ _arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(uint)")); } else { if ((_local6 is Boolean)){ _arg2 = (_arg2 + (((_local5 + ": ") + _local6) + "(boolean)")); } else { _arg2 = (_arg2 + ((_local5 + ": ") + _local6)); }; }; }; }; }; }; }; }; return ((((_arg2 + "\n") + _arg3.slice(0, -1)) + "}")); } } }//package com.metacafe
Section 208
//FlashvarsStubBase (com.metacafe.FlashvarsStubBase) package com.metacafe { public class FlashvarsStubBase { } }//package com.metacafe
Section 209
//FVStubMCEmbed (com.metacafe.FVStubMCEmbed) package com.metacafe { public class FVStubMCEmbed extends FlashvarsStubBase { public var embeddingURL;// = "http://www.facebook.com/elorilan?ref=profile" public var mediaType;// = "highDefinitionMP4" public var playerType;// = "taylor_swift_vma_side_story" public var itemID;// = "3373432" public var duration;// = "30" public var LEID;// = "2214" public var indexedItemID;// = "3373432" public var staticURL;// = "http://cdn.elor.dev.metacafe.com" public var isViral;// = "false" public var isWatermarked;// = "false" public var pageURL;// = "http://elor.dev.metacafe.com/watch/3373432/taylor_swift_vma_side_story/" public var altServerURL;// = "http://elor.dev.metacafe.com" public var mediaData;// = "{"flv":{"jpn":false,"buffer":0,"bitRate":0,"mediaURL":"http://lbc.metacafe.com/ItemFiles/%5BFrom%20www.metacafe.com%5D%202899638.10680127.11.flv"},"highDefinitionMP4":{"jpn":false,"buffer":0,"bitRate":0,"mediaURL":"http://lbc.metacafe.com/ItemFiles/%5BFrom%20www.metacafe.com%5D%202899638.10680127.11.flv"}}" public var errorDisplayFileURL;// = "" public var reportBaseURL;// = "http://mcqa02.qa.metacafe.com" public var reportToWinter;// = "false" public var postRollContentURL;// = "../../prc/EmbedCatalog_2.0.1.0.swf" public var jsDisabledPRCURL;// = "../../prc/EmbedCatalog_2.0.1.0.swf" public var networkingAllowed;// = "true" public var fullScreenAllowed;// = "true" public var reportVM;// = "false" public var reportTM;// = "false" public var logURL;// = "" public var playerVars;// = "showStats=no|autoPlay=yes" public var allowAds;// = "false" } }//package com.metacafe
Section 210
//Generic_IP (com.tubemogul.inplay.Generic_IP) package com.tubemogul.inplay { import flash.events.*; import flash.display.*; import flash.utils.*; public class Generic_IP { private var streamNum:int;// = -1 private var _playheadTime:Number;// = 0 private var _playheadFunc:Function;// = null private var _bytesLoaded:Number;// = 0 private var _bytesLoadedFunc:Function;// = null private var _poller:Timer;// = null public static const BUFFERING:String = "buffering"; public static const PAUSED:String = "paused"; public static const STOPPED:String = "stopped"; public static const LOADING:String = "loading"; public static const PLAYING:String = "playing"; public static const SEEKING:String = "seeking"; public static const REWINDING:String = "rewinding"; private static const BOOTLOADER_ID:String = "B-K5F-82N"; private static var streams:Array = new Array(); private static var display:DisplayObject = null; private static var _params:Object = null; public function Generic_IP(_arg1:Object):void{ var reuseStream:Boolean; var params = _arg1; super(); try { Utils.assertarg(((params.display) || (Generic_IP.display)), "No display:DisplayObject passed in!"); if (!params){ params = new Object(); }; if (!params.display){ params.display = Generic_IP.display; }; startPlayer(params); params.thePlayer = _params.thePlayer; reuseStream = (((params.streamID >= 0)) && (streams[params.streamID])); if (reuseStream){ Utils.debug((("Got streamID of " + params.streamID) + ". Re-using existing streamID!")); streamNum = params.streamID; } else { Utils.debug((("Got streamID of " + params.streamID) + ". Creating stream!")); streamNum = streams.length; }; streams[streamNum] = this; if (reuseStream){ InPlayApi.api.queueEvent(InPlayEvent.UPDATE_STREAM, params, streamNum); } else { InPlayApi.api.queueEvent(InPlayEvent.NEW_STREAM, params, streamNum); }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in Generic_IP constructor:"); Utils.dumpException(err); }; } public function getStreamID():int{ try { if (!streams[streamNum]){ return (-1); }; return (streamNum); } catch(err:Error) { Utils.error("Unintentional exception in Generic_IP.getStreamID:"); Utils.dumpException(err); }; return (-1); } public function deleteStream():void{ try { if (!streams[streamNum]){ return; }; streams[streamNum] = null; streamNum = -1; clearPoller(); if (_playheadFunc != null){ _playheadFunc = null; }; if (_bytesLoadedFunc != null){ _bytesLoadedFunc = null; }; } catch(err:Error) { Utils.error("Unintentional exception in Generic_IP.deleteStream:"); Utils.dumpException(err); }; } public function loading(_arg1:Number, _arg2:String):void{ _params.thePlayer.source = _arg2; stateChange(LOADING, _arg1); } public function metadataReceived(_arg1:Number, _arg2:Object, _arg3:int):void{ var params:Object; var time = _arg1; var metaObj = _arg2; var bytesTotal = _arg3; try { Utils.debug("%%%%%%%%% In metaDataReceived."); _params.thePlayer.bytesTotal = bytesTotal; params = new Object(); params.info = metaObj; params.playheadTime = (this.playheadTime = time); InPlayApi.api.queueEvent(InPlayEvent.METADATA, params, streamNum); } catch(err:Error) { Utils.error("Unintentional exception in metaDataReceived:"); Utils.dumpException(err); }; } public function buffering(_arg1:Number):void{ stateChange(BUFFERING, _arg1); } public function play(_arg1:Number):void{ stateChange(PLAYING, _arg1); } public function pause(_arg1:Number):void{ stateChange(PAUSED, _arg1); } public function stop(_arg1:Number):void{ stateChange(STOPPED, _arg1); } public function seek(_arg1:Number):void{ stateChange(SEEKING, _arg1); } public function rewind(_arg1:Number):void{ stateChange(REWINDING, _arg1); } public function stateChange(_arg1:String, _arg2:Number):void{ var params:Object; var state = _arg1; var time = _arg2; try { Utils.debug(("%%%%%%%%% Sending STATE_CHANGE event: " + state)); params = new Object(); params.playheadTime = (_params.thePlayer.playheadTime = (this.playheadTime = time)); params.state = (_params.thePlayer.state = state); InPlayApi.api.queueEvent(InPlayEvent.STATE_CHANGE, params, streamNum); } catch(err:Error) { Utils.error(("Unintentional exception in stateChange:" + state)); Utils.dumpException(err); }; } public function registerPlayheadTimeHandler(_arg1:Function):void{ Utils.assert(!((_arg1 == null)), "Generic_IP.registerPlayheadTimeHandler: No func provided"); _playheadFunc = _arg1; startPoller(); } public function registerBytesLoadedHandler(_arg1:Function):void{ Utils.assert(!((_arg1 == null)), "Generic_IP.registerBytesLoadedHandler: No func provided"); _bytesLoadedFunc = _arg1; startPoller(); } public function set playheadTime(_arg1:Number):void{ _params.thePlayer.playheadTime = (_playheadTime = _arg1); } public function get playheadTime():Number{ if (_playheadFunc != null){ return (_playheadFunc()); }; return (_playheadTime); } public function set bytesLoaded(_arg1:uint):void{ _params.thePlayer.bytesLoaded = (_bytesLoaded = _arg1); } public function get bytesLoaded():uint{ if (_bytesLoadedFunc != null){ return (_bytesLoadedFunc()); }; return (_bytesLoaded); } private function startPoller():void{ if (!_poller){ _poller = new Timer(100, 0); _poller.addEventListener(TimerEvent.TIMER, pollHandler); _poller.start(); }; } private function clearPoller():void{ if (!_poller){ return; }; _poller.stop(); _poller = null; } private function pollHandler(_arg1:TimerEvent):void{ _params.thePlayer.playheadTime = this.playheadTime; _params.thePlayer.bytesLoaded = this.bytesLoaded; } public static function startPlayer(_arg1:Object):void{ var params = _arg1; try { if (!InPlayLoader.getInPlayLoader()){ Utils.info("In Generic_IP.startPlayer"); Utils.assertarg(params, "No params passed in!"); Utils.assertarg(params.display, "No display:DisplayObject passed in!"); params.playerType = "Generic"; params.bootloaderID = Generic_IP.BOOTLOADER_ID; Generic_IP.display = params.display; params.thePlayer = new Object(); params.thePlayer.playheadTime = 0; params.thePlayer.bytesLoaded = 0; params.thePlayer.bytesTotal = 0; params.thePlayer.source = ""; params.thePlayer.metadata = new Object(); params.thePlayer.metadata.videodatarate = 0; params.thePlayer.metadata.duration = 0; _params = params; InPlayLoader.init(params); }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in Generic_IP.startPlayer:"); Utils.dumpException(err); }; } } }//package com.tubemogul.inplay
Section 211
//IInPlayCore (com.tubemogul.inplay.IInPlayCore) package com.tubemogul.inplay { public interface IInPlayCore { } }//package com.tubemogul.inplay
Section 212
//InPlayApi (com.tubemogul.inplay.InPlayApi) package com.tubemogul.inplay { import flash.events.*; import flash.display.*; public class InPlayApi extends EventDispatcher { private var eventPendingQ:Array; private var _coreReady:Boolean;// = false private static var _core:IInPlayCore = null; private static var _api:InPlayApi = null; public function InPlayApi(){ eventPendingQ = new Array(); super(); if (_api != null){ return; }; if (_api == null){ _api = this; }; } public function setCore(_arg1:IInPlayCore):void{ _core = _arg1; } public function getCore():IInPlayCore{ return (_core); } public function onDisplayList(_arg1:DisplayObjectContainer):DisplayObject{ Utils.debug("In InPlayApi.onDisplayList"); if (!_core){ Utils.error("core needs to be set first!"); return (null); }; if (_arg1.contains((_core as DisplayObject))){ Utils.debug("core already on display list."); return (_arg1.addChild((_core as DisplayObject))); }; Utils.debug("Putting core on display list."); return (_arg1.addChild((_core as DisplayObject))); } public function call(_arg1:String, _arg2:Object=null, _arg3:int=0):void{ var _local4:Object = new Object(); _local4.func = _arg1; _local4.params = _arg2; queueEvent(InPlayEvent.CALL_API, _local4, _arg3); } override public function dispatchEvent(_arg1:Event):Boolean{ if (_arg1.type == InPlayEvent.CORE_READY){ _coreReady = true; }; if (!_coreReady){ Utils.error("core not ready to receive events!"); return (false); }; Utils.debug(("***** Dispatching event: " + _arg1.toString())); return (super.dispatchEvent(_arg1)); } public function queueEvent(_arg1:String, _arg2:Object=null, _arg3:int=-1):void{ var event:InPlayEvent; var type = _arg1; var params = _arg2; var streamNum = _arg3; try { event = new InPlayEvent(type, params, streamNum); if (_coreReady){ dispatchEvent(event); } else { Utils.debug(("Queueing " + event.toString())); eventPendingQ.unshift(event); }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in queueEvent:"); Utils.dumpException(err); }; } public function dequeueEvents():void{ var event:InPlayEvent; try { while ((((eventPendingQ.length > 0)) && (_coreReady))) { event = (eventPendingQ.pop() as InPlayEvent); dispatchEvent(event); }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in dequeueEvents:"); Utils.dumpException(err); }; } public static function init():void{ if (!_api){ _api = new (InPlayApi); }; } public static function get api():InPlayApi{ return (_api); } } }//package com.tubemogul.inplay
Section 213
//InPlayEvent (com.tubemogul.inplay.InPlayEvent) package com.tubemogul.inplay { import flash.events.*; public class InPlayEvent extends Event { private var _streamNum:int; private var _params:Object; public static const STREAM_NUM_PLAYER:int = -1; public static const CORE_READY:String = "coreReady"; public static const START:String = "start"; public static const NEW_STREAM:String = "newStream"; public static const UPDATE_STREAM:String = "updateStream"; public static const VAR_CHANGED:String = "variableChanged"; public static const NS_CLOSE:String = "close"; public static const NET_STATUS:String = "netStatus"; public static const STATE_CHANGE:String = "stateChange"; public static const METADATA:String = "metadataReceived"; public static const NS_PLAY:String = "play"; public static const NS_PAUSE:String = "pause"; public static const NS_RESUME:String = "resume"; public static const NS_TOGGLE_PAUSE:String = "togglePause"; public static const PLAY_STATUS:String = "playStatus"; public static const LAST_SECOND:String = "lastSecond"; public static const CUE_POINT:String = "cuePoint"; public static const SOUND_UPDATE:String = "soundUpdate"; public static const CALL_API:String = "callApi"; public static const CUSTOM:String = "custom"; public function InPlayEvent(_arg1:String, _arg2:Object=null, _arg3:int=-1){ super(_arg1); _params = _arg2; _streamNum = _arg3; } public function get streamNum():uint{ return (_streamNum); } public function get params():Object{ return (_params); } override public function toString():String{ return (((("InPlayEvent: " + this.type) + ", streamNum: ") + _streamNum)); } } }//package com.tubemogul.inplay
Section 214
//InPlayLoader (com.tubemogul.inplay.InPlayLoader) package com.tubemogul.inplay { import flash.events.*; import flash.net.*; import flash.display.*; import flash.external.*; import flash.system.*; public class InPlayLoader extends Sprite { private var loadURL:String;// = "http://load2.tubemogul.com/core" private var _params:Object;// = null private var playerID:String;// = "" private var usingLoader:Boolean;// = true private var loader:Loader;// = null private var isStarted:Boolean;// = false private static const PROTO_VERSION:uint = 3; private static var inPlayLoader:InPlayLoader = null; public function InPlayLoader(_arg1:Object):void{ Utils.debug("In InPlayLoader constructor"); Utils.assert(_arg1, "No params passed in!"); Utils.assert(_arg1.display, "No display:DisplayObject passed in!"); Utils.assert(_arg1.bootloaderID, "No bootloaderID passed in!"); if (inPlayLoader != null){ return; }; if (inPlayLoader == null){ inPlayLoader = this; }; _arg1.bootloader = this; _params = _arg1; InPlayApi.init(); InPlayApi.api.addEventListener(InPlayEvent.CORE_READY, launchInPlay); _params.display.addEventListener(Event.ADDED_TO_STAGE, onStage); Utils.dumpObject("_params.display.stage", _params.display.stage); if (_params.display.stage){ onStage(new Event(Event.ADDED_TO_STAGE)); }; } public function onStage(_arg1:Event):void{ var event = _arg1; try { _params.display.removeEventListener(Event.ADDED_TO_STAGE, onStage); Utils.debug("In InPlayLoader.onStage"); if (((!(_params.playerURL)) && (!((_params.display.root == null))))){ _params.playerURL = _params.display.root.loaderInfo.url; }; Utils.initParams(_params.display, _params); Utils.initDebug(); playerID = Utils.checkForParam("playerID", ""); loadURL = Utils.checkForParam("loadURL", loadURL); usingLoader = ((Utils.checkForParam("usingLoader", String(usingLoader)) == "true")) ? true : false; Utils.assertarg(Utils.isSpecified(playerID), "No playerID passed in!"); if (usingLoader){ loadURL = (loadURL + (((("?" + "playerID=") + playerID) + "&bootloaderID=") + _params.bootloaderID)); loadInPlay(); } else { Utils.debug("Not using bootloader."); InPlayApi.api.setCore(null); InPlayApi.api.onDisplayList(this); }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in onDisplayList:"); Utils.dumpException(err); }; } private function loadInPlay():void{ var urlReq:URLRequest; var loadCtx:LoaderContext; try { Utils.info(("InPlayLoader: Attempting to load " + loadURL)); Security.allowDomain(loadURL); urlReq = new URLRequest(loadURL); loadCtx = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain); loader = new Loader(); addChild(loader); loader.load(urlReq, loadCtx); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); } catch(err:Error) { Utils.error("Unintentional exception in loadInPlay:"); Utils.dumpException(err); }; } private function onLoaded(_arg1:Event):void{ var core:IInPlayCore; var event = _arg1; Utils.debug("In InPlayLoader.onLoaded"); try { core = (loader.content as IInPlayCore); InPlayApi.api.setCore(core); InPlayApi.api.onDisplayList(this); } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in onLoaded:"); Utils.dumpException(err); }; } private function launchInPlay(_arg1:Event):void{ var event = _arg1; try { if (!isStarted){ Utils.info("Launching InPlay."); InPlayApi.api.dispatchEvent(new InPlayEvent(InPlayEvent.START, _params)); InPlayApi.api.dequeueEvents(); isStarted = true; }; } catch(err:ArgumentError) { throw (err); } catch(err:Error) { Utils.error("Unintentional exception in launchInPlay:"); Utils.dumpException(err); }; } private function ioErrorHandler(_arg1:Event):void{ Utils.fatal("Failed server response. Event details:"); Utils.fatal(_arg1.toString()); } public function extInterfaceCallRelay(_arg1:String):Object{ var str = _arg1; try { Utils.debug("In extInterfaceCallRelay"); return (ExternalInterface.call(str)); } catch(err:Error) { Utils.error("Unintentional exception in extInterfaceCallRelay:"); Utils.dumpException(err); }; return (null); } public static function init(_arg1:Object):void{ if (!inPlayLoader){ inPlayLoader = new InPlayLoader(_arg1); }; } public static function getInPlayLoader():InPlayLoader{ return (inPlayLoader); } } }//package com.tubemogul.inplay
Section 215
//Utils (com.tubemogul.inplay.Utils) package com.tubemogul.inplay { import flash.display.*; import com.luminicbox.log.*; public class Utils { public static const LOG = "LOG"; public static const DEBUG = "DEBUG"; public static const INFO = "INFO"; public static const WARN = "WARN"; public static const ERROR = "ERROR"; public static const FATAL = "FATAL"; private static var display = null; private static var lc_params = null; private static var lc_extParams = null; private static var _debugOn = false; private static var _log = null; private static var timeOffset = 0; public static function isSpecified(_arg1:String):Boolean{ if (((((!(_arg1)) || ((_arg1 == "null")))) || ((_arg1 == "undefined")))){ return (false); }; return (true); } public static function paramsToLC(_arg1:Object):Object{ var _local3:*; if (!_arg1){ return (null); }; var _local2:* = new Object(); for (_local3 in _arg1) { _local2[_local3.toLowerCase()] = unescape(_arg1[_local3]); }; return (_local2); } public static function initParams(_arg1:DisplayObject, _arg2:Object):void{ var _local4:*; Utils.display = _arg1; lc_params = paramsToLC(_arg2); Utils.dumpObject("lc_params", lc_params); var _local3:* = ((((_arg1) && (_arg1.root))) && (_arg1.root.loaderInfo)); if (_local3){ _local4 = _arg1.root.loaderInfo.parameters; lc_extParams = paramsToLC(_local4); Utils.dumpObject("lc_extParams", lc_extParams); }; } public static function getLCParams():Object{ return (lc_params); } public static function getLCExtParams():Object{ return (lc_extParams); } public static function checkForParam(_arg1:String, _arg2:String):String{ Utils.assert(((Utils.display) && (Utils.lc_params)), "checkForParam called before initParams!"); var _local3:* = _arg1.toLowerCase(); var _local4:* = ("tm_" + _local3); var _local5:* = false; var _local6:* = 0; while ((((_local6 < 2)) && ((_local5 == false)))) { if (_local6 == 1){ _local4 = _local3; }; if (((lc_extParams) && (isSpecified(lc_extParams[_local4])))){ Utils.debug((((("Found " + _local4) + " = ") + lc_extParams[_local4]) + " on root timeline.")); lc_params[_local3] = lc_extParams[_local4]; _local5 = true; } else { if (((lc_params) && (isSpecified(lc_params[_local4])))){ Utils.debug((((("Got " + _local4) + " = ") + lc_params[_local4]) + " passed in via params.")); lc_params[_local3] = lc_params[_local4]; _local5 = true; }; }; _local6++; }; if (!_local5){ Utils.debug((((("Setting " + _local3) + " = ") + _arg2) + " based on default.")); lc_params[_local3] = _arg2; }; return (lc_params[_local3]); } public static function initDebug():void{ debugOn = ((Utils.checkForParam("debugOn", String(debugOn)) == "true")) ? true : false; Utils.debug("If you see this, debugging is on."); } public static function get debugOn():Boolean{ return (_debugOn); } public static function set debugOn(_arg1:Boolean):void{ _debugOn = _arg1; } public static function assertarg(_arg1:Boolean, _arg2:String):void{ if (!_arg1){ throw (new ArgumentError(_arg2)); }; } public static function assert(_arg1:Boolean, _arg2:String):void{ if (!_arg1){ throw (new Error(_arg2)); }; } public static function log(_arg1:Object):void{ tlog(LOG, _arg1); } public static function debug(_arg1:Object):void{ tlog(DEBUG, _arg1); } public static function info(_arg1:Object):void{ tlog(INFO, _arg1); } public static function warn(_arg1:Object):void{ tlog(WARN, _arg1); } public static function error(_arg1:Object):void{ tlog(ERROR, _arg1); } public static function fatal(_arg1:Object):void{ tlog(FATAL, _arg1); } public static function tlog(_arg1:String, _arg2:Object):void{ var _local3:*; var _local4:*; if (((!(_arg2)) || ((_arg2 == "")))){ return; }; if (timeOffset == 0){ timeOffset = new Date().getTime(); }; if ((typeof(_arg2) as String) == "string"){ _local3 = (new Date().getTime() - timeOffset); _local4 = ((_local3 + ": ") + _arg2.toString()); Utils.llog(_arg1, _local4); } else { Utils.llog(_arg1, _arg2); }; } private static function llog(_arg1:String, _arg2:Object):void{ if (debugOn){ if (!_log){ _log = new Logger(); _log.addPublisher(new ConsolePublisher()); _log.addPublisher(new TracePublisher()); }; _log.publish(_arg2, Level.getLevel(_arg1)); }; } public static function dumpObject(_arg1:String, _arg2:Object):void{ var _local3:*; if (!_arg2){ Utils.debug((("--------</" + _arg1) + ">--------")); return; }; Utils.debug((("--------<" + _arg1) + ">--------")); for (_local3 in _arg2) { Utils.debug(((_local3 + " = ") + _arg2[_local3])); }; Utils.debug((("--------</" + _arg1) + ">--------")); } public static function dumpException(_arg1:Error):void{ Utils.error((" errorID = " + _arg1.errorID)); Utils.error((" message = " + _arg1.message)); Utils.error((" name = " + _arg1.name)); } try { LOG = "LOG"; DEBUG = "DEBUG"; INFO = "INFO"; WARN = "WARN"; ERROR = "ERROR"; FATAL = "FATAL"; display = null; lc_params = null; lc_extParams = null; _debugOn = false; _log = null; timeOffset = 0; } catch(err:Error) { Utils.error("Unintentional exception at the class level:"); Utils.dumpException(err); }; } }//package com.tubemogul.inplay
Section 216
//APILoader (com.vmc.integration.APILoader) package com.vmc.integration { import flash.events.*; import flash.net.*; import flash.display.*; import flash.system.*; public class APILoader { public static const DEFAULT_VMC_API_URL:String = "http://cdn.visiblemeasures.com/swf/as3/v4.2/vmcutility.swf"; public static const NODE_TYPE_VIDEO:String = "video"; public static const NODE_TYPE_AD:String = "ad"; public static const VERSION:String = "1.6"; private static var vmcUtility:Object; private static var initInfo:Object; private static var apiUrl:String; private static var accountKey:String; private static var callback:Function; private static var target:Object; public static function getVMCUtility():Object{ return (APILoader.vmcUtility); } public static function getRemoteNode(_arg1:String=null, _arg2:String=null):Object{ if (vmcUtility){ return (vmcUtility.getRemoteNode(_arg1, _arg2)); }; return (null); } public static function load(_arg1:Object):void{ Security.allowDomain("cdn.visiblemeasures.com"); Security.allowDomain("qa.visiblemeasures.com"); log(VERSION); if (!_arg1.apiUrl){ _arg1.apiUrl = APILoader.DEFAULT_VMC_API_URL; }; var _local2:Number = new Date().getTime(); _arg1.apiLoadStartTime = _local2; if (!_arg1.playerStartTime){ _arg1.playerStartTime = _local2; }; var _local3:Boolean; if (!_arg1.callback){ log("*** ERROR: No initInfoParam.callback propery supplied in APILoader.load()"); _local3 = true; }; if (!_arg1.target){ log("*** WARNING: No initInfoParam.target propery supplied in APILoader.load()"); }; if (!_arg1.accountKey){ log("*** WARNING: No initInfoParam.accountKey propery supplied in APILoader.load()"); }; if (_local3){ log("*** ERROR: Could not load VMCUtility due to bad arguments in APILoader."); return; }; APILoader.initInfo = _arg1; APILoader.callback = _arg1.callback; APILoader.target = _arg1.target; if (vmcUtility){ completeLoad(vmcUtility); return; }; loadApi(); } private static function loadApi():void{ var _local1:String = APILoader.initInfo.apiUrl; var _local2:Loader = new Loader(); _local2.contentLoaderInfo.addEventListener(Event.INIT, onLoadInit); _local2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadError); log(("Loading " + _local1)); _local2.load(new URLRequest(_local1)); } private static function completeLoad(_arg1:Object):void{ vmcUtility = _arg1; vmcUtility.configure(APILoader.initInfo); if (callback != null){ callback.apply(APILoader.target); }; } private static function onLoadInit(_arg1:Event):void{ completeLoad(LoaderInfo(_arg1.target).content); } private static function onLoadError(_arg1:IOErrorEvent):void{ log(("Error: " + _arg1.text)); if (callback != null){ callback.apply(APILoader.target); }; } private static function log(_arg1:Object):void{ trace(("[APILoader] " + _arg1)); } } }//package com.vmc.integration
Section 217
//URLNavigator (com.zorked.URLNavigator) package com.zorked { import flash.net.*; import flash.external.*; public class URLNavigator { public static function ChangePage(_arg1, _arg2:String="_self"):void{ var _local4:String; var _local3:URLRequest = ((_arg1 is String)) ? new URLRequest(_arg1) : _arg1; if (!ExternalInterface.available){ navigateToURL(_local3, _arg2); } else { _local4 = String(ExternalInterface.call("function() {return navigator.userAgent;}")).toLowerCase(); if (((!((_local4.indexOf("firefox") == -1))) || (((!((_local4.indexOf("msie") == -1))) && ((uint(_local4.substr((_local4.indexOf("msie") + 5), 3)) >= 7)))))){ ExternalInterface.call("window.open", _local3.url, _arg2); } else { navigateToURL(_local3, _arg2); }; }; } } }//package com.zorked
Section 218
//Linear (gs.easing.Linear) package gs.easing { public class Linear { public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((_arg3 * _arg1) / _arg4) + _arg2)); } } }//package gs.easing
Section 219
//Sine (gs.easing.Sine) package gs.easing { public class Sine { private static const _HALF_PI:Number = 1.5707963267949; public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) * Math.cos(((_arg1 / _arg4) * _HALF_PI))) + _arg3) + _arg2)); } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (((_arg3 * Math.sin(((_arg1 / _arg4) * _HALF_PI))) + _arg2)); } public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return ((((-(_arg3) / 2) * (Math.cos(((Math.PI * _arg1) / _arg4)) - 1)) + _arg2)); } } }//package gs.easing
Section 220
//AutoAlphaPlugin (gs.plugins.AutoAlphaPlugin) package gs.plugins { import gs.*; import flash.display.*; public class AutoAlphaPlugin extends TweenPlugin { protected var _tweenVisible:Boolean; protected var _visible:Boolean; protected var _tween:TweenLite; protected var _target:Object; public static const VERSION:Number = 1; public static const API:Number = 1; public function AutoAlphaPlugin(){ this.propName = "autoAlpha"; this.overwriteProps = ["alpha", "visible"]; this.onComplete = onCompleteTween; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(!((_arg2 == 0))); _tweenVisible = true; addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha"); return (true); } override public function killProps(_arg1:Object):void{ super.killProps(_arg1); _tweenVisible = !(Boolean(("visible" in _arg1))); } public function onCompleteTween():void{ if (((((_tweenVisible) && (!((_tween.vars.runBackwards == true))))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); if (((!((_target.visible == true))) && (_tweenVisible))){ _target.visible = true; }; } } }//package gs.plugins
Section 221
//EndArrayPlugin (gs.plugins.EndArrayPlugin) package gs.plugins { import gs.*; import flash.display.*; import gs.utils.tween.*; public class EndArrayPlugin extends TweenPlugin { protected var _a:Array; protected var _info:Array; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function EndArrayPlugin(){ _info = []; super(); this.propName = "endArray"; this.overwriteProps = ["endArray"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){ return (false); }; init((_arg1 as Array), _arg2); return (true); } public function init(_arg1:Array, _arg2:Array):void{ _a = _arg1; var _local3:int = (_arg2.length - 1); while (_local3 > -1) { if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){ _info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3])); }; _local3--; }; } override public function set changeFactor(_arg1:Number):void{ var _local2:int; var _local3:ArrayTweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _a[_local3.index] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_info.length - 1); while (_local2 > -1) { _local3 = _info[_local2]; _a[_local3.index] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } } }//package gs.plugins
Section 222
//FramePlugin (gs.plugins.FramePlugin) package gs.plugins { import gs.*; import flash.display.*; public class FramePlugin extends TweenPlugin { public var frame:int; protected var _target:MovieClip; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function FramePlugin(){ this.propName = "frame"; this.overwriteProps = ["frame"]; this.round = true; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){ return (false); }; _target = (_arg1 as MovieClip); this.frame = _target.currentFrame; addTween(this, "frame", this.frame, _arg2, "frame"); return (true); } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.gotoAndStop(this.frame); } } }//package gs.plugins
Section 223
//RemoveTintPlugin (gs.plugins.RemoveTintPlugin) package gs.plugins { public class RemoveTintPlugin extends TintPlugin { public static const VERSION:Number = 1.01; public static const API:Number = 1; public function RemoveTintPlugin(){ this.propName = "removeTint"; } } }//package gs.plugins
Section 224
//TintPlugin (gs.plugins.TintPlugin) package gs.plugins { import gs.*; import flash.geom.*; import flash.display.*; import gs.utils.tween.*; public class TintPlugin extends TweenPlugin { protected var _target:DisplayObject; protected var _ct:ColorTransform; protected var _ignoreAlpha:Boolean; public static const VERSION:Number = 1.1; public static const API:Number = 1; protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"]; public function TintPlugin(){ this.propName = "tint"; this.overwriteProps = ["tint"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (!(_arg1 is DisplayObject)){ return (false); }; var _local4:ColorTransform = new ColorTransform(); if (((!((_arg2 == null))) && (!((_arg3.exposedVars.removeTint == true))))){ _local4.color = uint(_arg2); }; _ignoreAlpha = true; init((_arg1 as DisplayObject), _local4); return (true); } public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{ var _local3:int; var _local4:String; _target = _arg1; _ct = _target.transform.colorTransform; _local3 = (_props.length - 1); while (_local3 > -1) { _local4 = _props[_local3]; if (_ct[_local4] != _arg2[_local4]){ _tweens[_tweens.length] = new TweenInfo(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false); }; _local3--; }; } override public function set changeFactor(_arg1:Number):void{ var _local2:ColorTransform; updateTweens(_arg1); if (_ignoreAlpha){ _local2 = _target.transform.colorTransform; _ct.alphaMultiplier = _local2.alphaMultiplier; _ct.alphaOffset = _local2.alphaOffset; }; _target.transform.colorTransform = _ct; } } }//package gs.plugins
Section 225
//TweenPlugin (gs.plugins.TweenPlugin) package gs.plugins { import gs.*; import gs.utils.tween.*; public class TweenPlugin { public var propName:String; public var overwriteProps:Array; public var round:Boolean; public var onComplete:Function; protected var _tweens:Array; protected var _changeFactor:Number;// = 0 public static const VERSION:Number = 1.03; public static const API:Number = 1; public function TweenPlugin(){ _tweens = []; super(); } public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName); return (true); } protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{ var _local6:Number; if (_arg4 != null){ _local6 = ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4); if (_local6 != 0){ _tweens[_tweens.length] = new TweenInfo(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false); }; }; } protected function updateTweens(_arg1:Number):void{ var _local2:int; var _local3:TweenInfo; var _local4:Number; var _local5:int; if (this.round){ _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local4 = (_local3.start + (_local3.change * _arg1)); _local5 = ((_local4)<0) ? -1 : 1; _local3.target[_local3.property] = ((((_local4 % 1) * _local5))>0.5) ? (int(_local4) + _local5) : int(_local4); _local2--; }; } else { _local2 = (_tweens.length - 1); while (_local2 > -1) { _local3 = _tweens[_local2]; _local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1)); _local2--; }; }; } public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _changeFactor = _arg1; } public function get changeFactor():Number{ return (_changeFactor); } public function killProps(_arg1:Object):void{ var _local2:int; _local2 = (this.overwriteProps.length - 1); while (_local2 > -1) { if ((this.overwriteProps[_local2] in _arg1)){ this.overwriteProps.splice(_local2, 1); }; _local2--; }; _local2 = (_tweens.length - 1); while (_local2 > -1) { if ((_tweens[_local2].name in _arg1)){ _tweens.splice(_local2, 1); }; _local2--; }; } public static function activate(_arg1:Array):Boolean{ var _local2:int; var _local3:Object; _local2 = (_arg1.length - 1); while (_local2 > -1) { _local3 = new (_arg1[_local2]); TweenLite.plugins[_local3.propName] = _arg1[_local2]; _local2--; }; return (true); } } }//package gs.plugins
Section 226
//VisiblePlugin (gs.plugins.VisiblePlugin) package gs.plugins { import gs.*; import flash.display.*; public class VisiblePlugin extends TweenPlugin { protected var _target:Object; protected var _tween:TweenLite; protected var _visible:Boolean; public static const VERSION:Number = 1; public static const API:Number = 1; public function VisiblePlugin(){ this.propName = "visible"; this.overwriteProps = ["visible"]; this.onComplete = onCompleteTween; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ _target = _arg1; _tween = _arg3; _visible = Boolean(_arg2); return (true); } public function onCompleteTween():void{ if (((!((_tween.vars.runBackwards == true))) && ((_tween.ease == _tween.vars.ease)))){ _target.visible = _visible; }; } override public function set changeFactor(_arg1:Number):void{ if (_target.visible != true){ _target.visible = true; }; } } }//package gs.plugins
Section 227
//VolumePlugin (gs.plugins.VolumePlugin) package gs.plugins { import gs.*; import flash.display.*; import flash.media.*; public class VolumePlugin extends TweenPlugin { protected var _target:Object; protected var _st:SoundTransform; public static const VERSION:Number = 1.01; public static const API:Number = 1; public function VolumePlugin(){ this.propName = "volume"; this.overwriteProps = ["volume"]; } override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{ if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){ return (false); }; _target = _arg1; _st = _target.soundTransform; addTween(_st, "volume", _st.volume, _arg2, "volume"); return (true); } override public function set changeFactor(_arg1:Number):void{ updateTweens(_arg1); _target.soundTransform = _st; } } }//package gs.plugins
Section 228
//ArrayTweenInfo (gs.utils.tween.ArrayTweenInfo) package gs.utils.tween { public class ArrayTweenInfo { public var index:uint; public var start:Number; public var change:Number; public function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){ this.index = _arg1; this.start = _arg2; this.change = _arg3; } } }//package gs.utils.tween
Section 229
//TweenInfo (gs.utils.tween.TweenInfo) package gs.utils.tween { public class TweenInfo { public var target:Object; public var property:String; public var start:Number; public var change:Number; public var name:String; public var isPlugin:Boolean; public function TweenInfo(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean){ this.target = _arg1; this.property = _arg2; this.start = _arg3; this.change = _arg4; this.name = _arg5; this.isPlugin = _arg6; } } }//package gs.utils.tween
Section 230
//TweenLite (gs.TweenLite) package gs { import flash.events.*; import flash.display.*; import gs.utils.tween.*; import gs.plugins.*; import flash.utils.*; public class TweenLite { public var duration:Number; public var vars:Object; public var delay:Number; public var startTime:Number; public var initTime:Number; public var tweens:Array; public var target:Object; public var active:Boolean; public var ease:Function; public var initted:Boolean; public var combinedTimeScale:Number; public var gc:Boolean; public var started:Boolean; public var exposedVars:Object; protected var _hasPlugins:Boolean; protected var _hasUpdate:Boolean; public static const version:Number = 10.092; public static var plugins:Object = {}; public static var killDelayedCallsTo:Function = TweenLite.killTweensOf; public static var defaultEase:Function = TweenLite.easeOut; public static var overwriteManager:Object; public static var currentTime:uint; public static var masterList:Dictionary = new Dictionary(false); public static var timingSprite:Sprite = new Sprite(); private static var _tlInitted:Boolean; private static var _timer:Timer = new Timer(2000); protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, persist:1, renderOnStart:1, proxiedEase:1, easeParams:1, yoyo:1, loop:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, orientToBezier:1, timeScale:1}; public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){ if (_arg1 == null){ return; }; if (!_tlInitted){ TweenPlugin.activate([TintPlugin, RemoveTintPlugin, FramePlugin, AutoAlphaPlugin, VisiblePlugin, VolumePlugin, EndArrayPlugin]); currentTime = getTimer(); timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); if (overwriteManager == null){ overwriteManager = {mode:1, enabled:false}; }; _timer.addEventListener("timer", killGarbage, false, 0, true); _timer.start(); _tlInitted = true; }; this.vars = _arg3; this.duration = ((_arg2) || (0.001)); this.delay = ((_arg3.delay) || (0)); this.combinedTimeScale = ((_arg3.timeScale) || (1)); this.active = Boolean((((_arg2 == 0)) && ((this.delay == 0)))); this.target = _arg1; if (typeof(this.vars.ease) != "function"){ this.vars.ease = defaultEase; }; if (this.vars.easeParams != null){ this.vars.proxiedEase = this.vars.ease; this.vars.ease = easeProxy; }; this.ease = this.vars.ease; this.exposedVars = ((this.vars.isTV)==true) ? this.vars.exposedVars : this.vars; this.tweens = []; this.initTime = currentTime; this.startTime = (this.initTime + (this.delay * 1000)); var _local4:int = ((((_arg3.overwrite == undefined)) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite); if (((!((_arg1 in masterList))) || ((_local4 == 1)))){ masterList[_arg1] = [this]; } else { masterList[_arg1].push(this); }; if ((((((this.vars.runBackwards == true)) && (!((this.vars.renderOnStart == true))))) || (this.active))){ initTweenVals(); if (this.active){ render((this.startTime + 1)); } else { render(this.startTime); }; if (((((!((this.exposedVars.visible == null))) && ((this.vars.runBackwards == true)))) && ((this.target is DisplayObject)))){ this.target.visible = this.exposedVars.visible; }; }; } public function initTweenVals():void{ var _local1:String; var _local2:int; var _local3:*; var _local4:TweenInfo; if (((!((this.exposedVars.timeScale == undefined))) && (this.target.hasOwnProperty("timeScale")))){ this.tweens[this.tweens.length] = new TweenInfo(this.target, "timeScale", this.target.timeScale, (this.exposedVars.timeScale - this.target.timeScale), "timeScale", false); }; for (_local1 in this.exposedVars) { if ((_local1 in _reservedProps)){ } else { if ((_local1 in plugins)){ _local3 = new (plugins[_local1]); if (_local3.onInitTween(this.target, this.exposedVars[_local1], this) == false){ this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); } else { this.tweens[this.tweens.length] = new TweenInfo(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true); _hasPlugins = true; }; } else { this.tweens[this.tweens.length] = new TweenInfo(this.target, _local1, this.target[_local1], ((typeof(this.exposedVars[_local1]))=="number") ? (this.exposedVars[_local1] - this.target[_local1]) : Number(this.exposedVars[_local1]), _local1, false); }; }; }; if (this.vars.runBackwards == true){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { _local4 = this.tweens[_local2]; this.tweens[_local2].start = (_local4.start + _local4.change); _local4.change = -(_local4.change); _local2--; }; }; if (this.vars.onUpdate != null){ _hasUpdate = true; }; if (((TweenLite.overwriteManager.enabled) && ((this.target in masterList)))){ overwriteManager.manageOverwrites(this, masterList[this.target]); }; this.initted = true; } public function activate():void{ this.started = (this.active = true); if (!this.initted){ initTweenVals(); }; if (this.vars.onStart != null){ this.vars.onStart.apply(null, this.vars.onStartParams); }; if (this.duration == 0.001){ this.startTime = (this.startTime - 1); }; } public function render(_arg1:uint):void{ var _local3:Number; var _local4:TweenInfo; var _local5:int; var _local2:Number = ((_arg1 - this.startTime) * 0.001); if (_local2 >= this.duration){ _local2 = this.duration; _local3 = ((((this.ease == this.vars.ease)) || ((this.duration == 0.001)))) ? 1 : 0; } else { _local3 = this.ease(_local2, 0, 1, this.duration); }; _local5 = (this.tweens.length - 1); while (_local5 > -1) { _local4 = this.tweens[_local5]; _local4.target[_local4.property] = (_local4.start + (_local3 * _local4.change)); _local5--; }; if (_hasUpdate){ this.vars.onUpdate.apply(null, this.vars.onUpdateParams); }; if (_local2 == this.duration){ complete(true); }; } public function complete(_arg1:Boolean=false):void{ var _local2:int; if (!_arg1){ if (!this.initted){ initTweenVals(); }; this.startTime = (currentTime - ((this.duration * 1000) / this.combinedTimeScale)); render(currentTime); return; }; if (_hasPlugins){ _local2 = (this.tweens.length - 1); while (_local2 > -1) { if (((this.tweens[_local2].isPlugin) && (!((this.tweens[_local2].target.onComplete == null))))){ this.tweens[_local2].target.onComplete(); }; _local2--; }; }; if (this.vars.persist != true){ this.enabled = false; }; if (this.vars.onComplete != null){ this.vars.onComplete.apply(null, this.vars.onCompleteParams); }; } public function clear():void{ this.tweens = []; this.vars = (this.exposedVars = {ease:this.vars.ease}); _hasUpdate = false; } public function killVars(_arg1:Object):void{ if (overwriteManager.enabled){ overwriteManager.killVars(_arg1, this.exposedVars, this.tweens); }; } protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams))); } public function get enabled():Boolean{ return ((this.gc) ? false : true); } public function set enabled(_arg1:Boolean):void{ var _local2:Array; var _local3:Boolean; var _local4:int; if (_arg1){ if (!(this.target in masterList)){ masterList[this.target] = [this]; } else { _local2 = masterList[this.target]; _local4 = (_local2.length - 1); while (_local4 > -1) { if (_local2[_local4] == this){ _local3 = true; break; }; _local4--; }; if (!_local3){ _local2[_local2.length] = this; }; }; }; this.gc = (_arg1) ? false : true; if (this.gc){ this.active = false; } else { this.active = this.started; }; } public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ return (new TweenLite(_arg1, _arg2, _arg3)); } public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{ _arg3.runBackwards = true; return (new TweenLite(_arg1, _arg2, _arg3)); } public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null):TweenLite{ return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, overwrite:0})); } public static function updateAll(_arg1:Event=null):void{ var _local4:Array; var _local5:int; var _local6:TweenLite; var _local2:uint = (currentTime = getTimer()); var _local3:Dictionary = masterList; for each (_local4 in _local3) { _local5 = (_local4.length - 1); while (_local5 > -1) { _local6 = _local4[_local5]; if (_local6.active){ _local6.render(_local2); } else { if (_local6.gc){ _local4.splice(_local5, 1); } else { if (_local2 >= _local6.startTime){ _local6.activate(); _local6.render(_local2); }; }; }; _local5--; }; }; } public static function removeTween(_arg1:TweenLite, _arg2:Boolean=true):void{ if (_arg1 != null){ if (_arg2){ _arg1.clear(); }; _arg1.enabled = false; }; } public static function killTweensOf(_arg1:Object=null, _arg2:Boolean=false):void{ var _local3:Array; var _local4:int; var _local5:TweenLite; if (((!((_arg1 == null))) && ((_arg1 in masterList)))){ _local3 = masterList[_arg1]; _local4 = (_local3.length - 1); while (_local4 > -1) { _local5 = _local3[_local4]; if (((_arg2) && (!(_local5.gc)))){ _local5.complete(false); }; _local5.clear(); _local4--; }; delete masterList[_arg1]; }; } protected static function killGarbage(_arg1:TimerEvent):void{ var _local3:Object; var _local2:Dictionary = masterList; for (_local3 in _local2) { if (_local2[_local3].length == 0){ delete _local2[_local3]; }; }; } public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{ _arg1 = (_arg1 / _arg4); return ((((-(_arg3) * _arg1) * (_arg1 - 2)) + _arg2)); } } }//package gs
Section 231
//FullScreenButtonDownState (FullScreenButtonDownState) package { import flash.display.*; public dynamic class FullScreenButtonDownState extends Sprite { } }//package
Section 232
//FullScreenButtonOverState (FullScreenButtonOverState) package { import flash.display.*; public dynamic class FullScreenButtonOverState extends Sprite { } }//package
Section 233
//FullScreenButtonUpState (FullScreenButtonUpState) package { import flash.display.*; public dynamic class FullScreenButtonUpState extends Sprite { } }//package
Section 234
//HDButtonDownState (HDButtonDownState) package { import flash.display.*; public dynamic class HDButtonDownState extends Sprite { } }//package
Section 235
//HDButtonOverState (HDButtonOverState) package { import flash.display.*; public dynamic class HDButtonOverState extends Sprite { } }//package
Section 236
//HDButtonUpState (HDButtonUpState) package { import flash.display.*; public dynamic class HDButtonUpState extends Sprite { } }//package
Section 237
//HDTglButtonDownState (HDTglButtonDownState) package { import flash.display.*; public dynamic class HDTglButtonDownState extends Sprite { } }//package
Section 238
//HDTglButtonOverState (HDTglButtonOverState) package { import flash.display.*; public dynamic class HDTglButtonOverState extends Sprite { } }//package
Section 239
//HDTglButtonUpState (HDTglButtonUpState) package { import flash.display.*; public dynamic class HDTglButtonUpState extends Sprite { } }//package
Section 240
//MediaControlsBackground (MediaControlsBackground) package { import flash.display.*; public dynamic class MediaControlsBackground extends Sprite { public var bg1_mc:MovieClip; } }//package
Section 241
//MetacafeLogoButtonState (MetacafeLogoButtonState) package { import flash.display.*; public dynamic class MetacafeLogoButtonState extends Sprite { } }//package
Section 242
//PauseButtonDownState (PauseButtonDownState) package { import flash.display.*; public dynamic class PauseButtonDownState extends Sprite { } }//package
Section 243
//PauseButtonOverState (PauseButtonOverState) package { import flash.display.*; public dynamic class PauseButtonOverState extends Sprite { } }//package
Section 244
//PauseButtonUpState (PauseButtonUpState) package { import flash.display.*; public dynamic class PauseButtonUpState extends Sprite { } }//package
Section 245
//PauseIndicator (PauseIndicator) package { import flash.display.*; public dynamic class PauseIndicator extends Sprite { } }//package
Section 246
//PlayButtonDownState (PlayButtonDownState) package { import flash.display.*; public dynamic class PlayButtonDownState extends Sprite { } }//package
Section 247
//PlayButtonOverState (PlayButtonOverState) package { import flash.display.*; public dynamic class PlayButtonOverState extends Sprite { } }//package
Section 248
//PlayButtonUpState (PlayButtonUpState) package { import flash.display.*; public dynamic class PlayButtonUpState extends Sprite { } }//package
Section 249
//PlayVideoButtonDownState (PlayVideoButtonDownState) package { import flash.display.*; public dynamic class PlayVideoButtonDownState extends Sprite { } }//package
Section 250
//PlayVideoButtonOverState (PlayVideoButtonOverState) package { import flash.display.*; public dynamic class PlayVideoButtonOverState extends Sprite { } }//package
Section 251
//PlayVideoButtonUpState (PlayVideoButtonUpState) package { import flash.display.*; public dynamic class PlayVideoButtonUpState extends Sprite { } }//package
Section 252
//RectButtonDownState (RectButtonDownState) package { import flash.display.*; public dynamic class RectButtonDownState extends Sprite { } }//package
Section 253
//RectButtonOverState (RectButtonOverState) package { import flash.display.*; public dynamic class RectButtonOverState extends Sprite { } }//package
Section 254
//RectButtonUpState (RectButtonUpState) package { import flash.display.*; public dynamic class RectButtonUpState extends Sprite { } }//package
Section 255
//ReplayButtonDownState (ReplayButtonDownState) package { import flash.display.*; public dynamic class ReplayButtonDownState extends Sprite { } }//package
Section 256
//ReplayButtonOverState (ReplayButtonOverState) package { import flash.display.*; public dynamic class ReplayButtonOverState extends Sprite { } }//package
Section 257
//ReplayButtonUpState (ReplayButtonUpState) package { import flash.display.*; public dynamic class ReplayButtonUpState extends Sprite { } }//package
Section 258
//ShareButtonDownState (ShareButtonDownState) package { import flash.display.*; public dynamic class ShareButtonDownState extends Sprite { } }//package
Section 259
//ShareButtonOverState (ShareButtonOverState) package { import flash.display.*; public dynamic class ShareButtonOverState extends Sprite { } }//package
Section 260
//ShareButtonUpState (ShareButtonUpState) package { import flash.display.*; public dynamic class ShareButtonUpState extends Sprite { } }//package
Section 261
//SliderFullness (SliderFullness) package { import flash.display.*; public dynamic class SliderFullness extends Sprite { } }//package
Section 262
//SliderHandleDownState (SliderHandleDownState) package { import flash.display.*; public dynamic class SliderHandleDownState extends Sprite { } }//package
Section 263
//SliderHandleOverState (SliderHandleOverState) package { import flash.display.*; public dynamic class SliderHandleOverState extends Sprite { } }//package
Section 264
//SliderHandleUpState (SliderHandleUpState) package { import flash.display.*; public dynamic class SliderHandleUpState extends Sprite { } }//package
Section 265
//SliderTrackGraphics (SliderTrackGraphics) package { import flash.display.*; public dynamic class SliderTrackGraphics extends Sprite { } }//package
Section 266
//StopButtonDownState (StopButtonDownState) package { import flash.display.*; public dynamic class StopButtonDownState extends Sprite { } }//package
Section 267
//StopButtonOverState (StopButtonOverState) package { import flash.display.*; public dynamic class StopButtonOverState extends Sprite { } }//package
Section 268
//StopButtonUpState (StopButtonUpState) package { import flash.display.*; public dynamic class StopButtonUpState extends Sprite { } }//package
Section 269
//TrebuchetRegular (TrebuchetRegular) package { import flash.text.*; public dynamic class TrebuchetRegular extends Font { } }//package
Section 270
//VolumeIcon (VolumeIcon) package { import flash.display.*; public dynamic class VolumeIcon extends MovieClip { public function VolumeIcon(){ addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 271
//VolumeSliderBackground (VolumeSliderBackground) package { import flash.display.*; public dynamic class VolumeSliderBackground extends Sprite { } }//package

Library Items

Symbol 1 Font {TrebuchetRegular}
Symbol 2 GraphicUsed by:11 12 13 21 22 23 35 62 65 90 91 92
Symbol 3 GraphicUsed by:11
Symbol 4 GraphicUsed by:11
Symbol 5 GraphicUsed by:11
Symbol 6 GraphicUsed by:11
Symbol 7 GraphicUsed by:11
Symbol 8 GraphicUsed by:11
Symbol 9 GraphicUsed by:11
Symbol 10 GraphicUsed by:11
Symbol 11 MovieClip {com.metacafe.gui.MCWatermark}Uses:2 3 4 5 6 7 8 9 10
Symbol 12 MovieClip {SliderTrackGraphics}Uses:2
Symbol 13 MovieClip {SliderFullness}Uses:2
Symbol 14 GraphicUsed by:15 77 80 81
Symbol 15 MovieClipUses:14Used by:18
Symbol 16 FontUsed by:17
Symbol 17 TextUses:16Used by:18
Symbol 18 MovieClip {PauseIndicator}Uses:15 17
Symbol 19 GraphicUsed by:21 22 23
Symbol 20 GraphicUsed by:21 22 23
Symbol 21 MovieClip {SliderHandleOverState}Uses:2 19 20
Symbol 22 MovieClip {SliderHandleUpState}Uses:2 19 20
Symbol 23 MovieClip {SliderHandleDownState}Uses:2 19 20
Symbol 24 BitmapUsed by:25
Symbol 25 GraphicUses:24Used by:26
Symbol 26 MovieClip {PlayVideoButtonUpState}Uses:25
Symbol 27 BitmapUsed by:28
Symbol 28 GraphicUses:27Used by:29
Symbol 29 MovieClip {PlayVideoButtonOverState}Uses:28
Symbol 30 BitmapUsed by:31
Symbol 31 GraphicUses:30Used by:32
Symbol 32 MovieClip {PlayVideoButtonDownState}Uses:31
Symbol 33 GraphicUsed by:35
Symbol 34 GraphicUsed by:35
Symbol 35 MovieClip {MetacafeLogoButtonState}Uses:33 34 2
Symbol 36 GraphicUsed by:38 42 43 44 45 47 49 70 73 74
Symbol 37 GraphicUsed by:38 42 43 44 45 47 49 52 53 54 65 70 73 74 95
Symbol 38 MovieClip {RectButtonDownState}Uses:36 37Used by:42 43 44 49
Symbol 39 GraphicUsed by:40 46 48
Symbol 40 MovieClipUses:39Used by:42 43 44 49
Symbol 41 GraphicUsed by:42 43 44 49
Symbol 42 MovieClip {HDTglButtonUpState}Uses:38 37 40 36 41
Symbol 43 MovieClip {HDTglButtonOverState}Uses:38 37 40 36 41
Symbol 44 MovieClip {HDTglButtonDownState}Uses:38 37 40 36 41
Symbol 45 MovieClip {RectButtonUpState}Uses:36 37Used by:46
Symbol 46 MovieClip {HDButtonUpState}Uses:45 39
Symbol 47 MovieClip {RectButtonOverState}Uses:36 37Used by:48
Symbol 48 MovieClip {HDButtonOverState}Uses:47 39
Symbol 49 MovieClip {HDButtonDownState}Uses:38 37 40 36 41
Symbol 50 GraphicUsed by:52 53 54
Symbol 51 GraphicUsed by:52 53 54
Symbol 52 MovieClip {ShareButtonUpState}Uses:50 37 51Used by:97
Symbol 53 MovieClip {ShareButtonOverState}Uses:50 37 51Used by:97
Symbol 54 MovieClip {ShareButtonDownState}Uses:50 37 51Used by:97
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:57 66 97
Symbol 57 MovieClip {com.metacafe.gui.Slider}Uses:56Used by:66 96
Symbol 58 GraphicUsed by:62
Symbol 59 GraphicUsed by:62
Symbol 60 GraphicUsed by:62
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClip {VolumeIcon}Uses:58 2 59 60 61Used by:66
Symbol 63 GraphicUsed by:65
Symbol 64 GraphicUsed by:65 95
Symbol 65 MovieClip {VolumeSliderBackground}Uses:63 2 64 37Used by:66
Symbol 66 MovieClip {com.metacafe.gui.VolumeUnit}Uses:56 57 62 65Used by:96
Symbol 67 FontUsed by:68
Symbol 68 EditableTextUses:67Used by:96
Symbol 69 GraphicUsed by:70 72
Symbol 70 MovieClip {FullScreenButtonDownState}Uses:36 37 69Used by:96
Symbol 71 GraphicUsed by:72 74
Symbol 72 MovieClipUses:71 69Used by:73
Symbol 73 MovieClip {FullScreenButtonOverState}Uses:36 37 72Used by:96
Symbol 74 MovieClip {FullScreenButtonUpState}Uses:36 37 71Used by:96
Symbol 75 GraphicUsed by:77 80 81 83 84 85 87 88 89 90 91 92
Symbol 76 GraphicUsed by:77 80 81 83 84 85 87 88 89 90 91 92
Symbol 77 MovieClip {PauseButtonDownState}Uses:75 14 76Used by:96
Symbol 78 GraphicUsed by:80 81 84 85 88 89 91 92
Symbol 79 GraphicUsed by:80 84 88 91
Symbol 80 MovieClip {PauseButtonOverState}Uses:75 78 14 76 79Used by:96
Symbol 81 MovieClip {PauseButtonUpState}Uses:75 78 14 76Used by:96
Symbol 82 GraphicUsed by:83 84 85
Symbol 83 MovieClip {PlayButtonDownState}Uses:75 82 76Used by:96
Symbol 84 MovieClip {PlayButtonOverState}Uses:75 78 82 76 79Used by:96
Symbol 85 MovieClip {PlayButtonUpState}Uses:75 78 82 76Used by:96
Symbol 86 GraphicUsed by:87 88 89
Symbol 87 MovieClip {ReplayButtonDownState}Uses:75 86 76Used by:96
Symbol 88 MovieClip {ReplayButtonOverState}Uses:75 78 86 76 79Used by:96
Symbol 89 MovieClip {ReplayButtonUpState}Uses:75 78 86 76Used by:96
Symbol 90 MovieClip {StopButtonDownState}Uses:75 2 76Used by:96
Symbol 91 MovieClip {StopButtonOverState}Uses:75 78 2 76 79Used by:96
Symbol 92 MovieClip {StopButtonUpState}Uses:75 78 2 76Used by:96
Symbol 93 GraphicUsed by:94
Symbol 94 MovieClipUses:93Used by:95
Symbol 95 MovieClip {MediaControlsBackground}Uses:64 37 94Used by:96
Symbol 96 MovieClip {com.metacafe.gui.MediaControlsBase}Uses:66 57 68 70 73 74 77 80 81 83 84 85 87 88 89 90 91 92 95Used by:97
Symbol 97 MovieClip {com.metacafe.gui.MediaControlsEmbed}Uses:56 96 54 53 52

Instance Names

"boundingBox_mc"Symbol 57 MovieClip {com.metacafe.gui.Slider} Frame 1Symbol 56 MovieClip
"boundingBox_mc"Symbol 66 MovieClip {com.metacafe.gui.VolumeUnit} Frame 1Symbol 56 MovieClip
"bg1_mc"Symbol 95 MovieClip {MediaControlsBackground} Frame 1Symbol 94 MovieClip
"output_txt"Symbol 96 MovieClip {com.metacafe.gui.MediaControlsBase} Frame 2Symbol 68 EditableText
"boundingBox_mc"Symbol 97 MovieClip {com.metacafe.gui.MediaControlsEmbed} Frame 1Symbol 56 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.

Labels

"begin"Symbol 11 MovieClip {com.metacafe.gui.MCWatermark} Frame 2




http://swfchan.com/52/259896/info.shtml
Created: 1/4 -2025 16:58:16 Last modified: 1/4 -2025 16:58:16 Server time: 15/06 -2025 05:27:28