//¡ABC File MinorVersion:16 , MajorVersion:46 //INT cnt=259 //UINT cnt=1 //DOUBLE cnt=62 //STRING cnt=12387 //NAMESPACES cnt=2372 //NAMESPACE_SETS cnt=493 //MULTINAMES cnt=11948 //Methods cnt=8750 //METADATA cnt=0 //INTERFACE cnt=932 //CLASS cnt=932 //SCRIPT cnt=925 //¡script000¡ package ru.rutube.manager.extern{ //¡class(instance)_index:0 public interface IExternalPlayer { //static constructor public static function IExternalPlayer$cinit() { //MethodID:0, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function openContentPage():void; //MethodID:1, dispID:0 function externalNotify(hug1:String):void; //MethodID:2, dispID:0 function restart(hug1:Object):Boolean; //MethodID:3, dispID:0 //constructor public function IExternalPlayer(); //MethodID:4, dispID:0 } } //¡script001¡ package{ import flash.display.DisplayObject import flash.display.DisplayObjectContainer import flash.display.Sprite import flash.display.StageAlign import flash.display.StageScaleMode import flash.events.Event import flash.geom.Rectangle import flash.system.Security import flash.ui.ContextMenu import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent import ru.rutube.event.PlayerStateEvent import ru.rutube.event.RestartEvent import ru.rutube.manager.extern.ExternalFunctId import ru.rutube.manager.extern.ExternalJSController import ru.rutube.managers.advertisement.AdvertisementManager import ru.rutube.managers.content.ContentManager import ru.rutube.managers.remote.RemoteEvent import ru.rutube.managers.state.PlayerStatesManager import ru.rutube.managers.statistic.google.GoogleAnalytics import ru.rutube.managers.statistic.player.PlayerStatistic //¡class(instance)_index:1 public class RutubePlayer extends Sprite implements IExternalPlayer { //static constructor public static function RutubePlayer$cinit() { //MethodID:6, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 instanceRutubePlayer = null; } //static variables/etc. private static var instanceRutubePlayer:RutubePlayer = null; //slotID:1 public static function get instance():RutubePlayer { //dispID:3, MethodID:7, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return instanceRutubePlayer; } //constructor public function RutubePlayer() { //MethodID:8, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 45 super(); instanceRutubePlayer = this; if(!parent){ addEventListener(Event.ADDED_TO_STAGE, this.listenerAddedToStage); }else{ this.init(); } } //variables/etc. public function getContainer():DisplayObjectContainer { //MethodID:9, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return instanceRutubePlayer; } public function getStageBounds():Rectangle { //MethodID:10, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73 var hug1:Rectangle = new Rectangle(); if(this.getContainer().stage != null){ hug1.width = this.getContainer().stage.stageWidth; hug1.height = this.getContainer().stage.stageHeight; }else{ hug1.width = width; hug1.height = height; } return hug1; } public function getRelativeStageBounds(hug1:DisplayObject):Rectangle { //MethodID:11, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 60 var hug2:Rectangle = null; if(hug1 != null){ if(this.getContainer().stage != null){ hug2 = hug1.getBounds(this.getContainer().stage); }else{ hug2 = hug1.getBounds(this.getContainer()); } } return hug2; } public function removeAllChildrens():void { //MethodID:12, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33 while(this.getContainer().numChildren > 0){ this.getContainer().removeChildAt(0); } } public function getPlayerRectangle():Rectangle { //MethodID:13, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 116 var hug1:Rectangle = new Rectangle(); hug1.width = ((parent != null) ? ((parent.stage != null) ? parent.stage.stageWidth : parent.width) : width); hug1.height = ((parent != null) ? ((parent.stage != null) ? parent.stage.stageHeight : parent.height) : height); return hug1; } private function init():void { //MethodID:14, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 250 PlayerStatistic.instance.finishPlayerLoading(); if(!ContentManager.instance.playerIsChild) stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.stageFocusRect = false; stage.tabChildren = false; Security.allowDomain("*", "*.rutube.ru", "*.ezn-dev01.rutube.corp", "*.doubleclick.net"); Security.allowInsecureDomain("*.rutube.ru", "*.ezn-dev01.rutube.corp"); contextMenu = new ContextMenu(); contextMenu.hideBuiltInItems(); Security.loadPolicyFile("http://tub.rutube.ru/crossdomain.xml"); Security.loadPolicyFile("http://al.rutube.ru/crossdomain.xml"); Security.loadPolicyFile("http://rutube.ru/crossdomain.xml"); Security.loadPolicyFile("http://img.rutube.ru/crossdomain.xml"); Security.loadPolicyFile("http://img-5.rutube.ru/crossdomain.xml"); EventManager.instance.addEventListener(PlayerStateEvent.CHANGE_PLAYER_STATE, this.listenerChangePlayerState); AdvertisementManager.instance; ExternalJSController.instance; GoogleAnalytics.instance.eventDispatcher = EventManager.instance; GoogleAnalytics.instance.displayObject = this; PlayerStatesManager.instance.changePlayerState(PlayerStatesManager.instance.getFirstStateId()); addEventListener(Event.REMOVED_FROM_STAGE, this.listenerRemovedFromStage); } private function listenerChangePlayerState(hug1:PlayerStateEvent):void { //MethodID:15, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 PlayerStatesManager.instance.changePlayerState(hug1.needState); } private function listenerAddedToStage(hug1:Event):void { //MethodID:16, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 40 removeEventListener(Event.ADDED_TO_STAGE, this.listenerAddedToStage); addEventListener(Event.ADDED_TO_STAGE, this.listenerNextAddedToStage); this.init(); } private function listenerNextAddedToStage(hug1:Event):void { //MethodID:17, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 12 EventManager.instance.addStageListeners(); } private function listenerRemovedFromStage(hug1:Event):void { //MethodID:18, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 24 EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.FREE, 0)); } public function openContentPage():void { //MethodID:19, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 PlayerStatesManager.instance.getCurrentState().externalFunctionCall(ExternalFunctId.FUNCTION_OPEN_CONTENT_PAGE); } public function externalNotify(hug1:String):void { //MethodID:20, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20 EventManager.instance.dispatchEvent(new RemoteEvent(hug1)); } public function restart(hug1:Object):Boolean { //MethodID:21, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 24 EventManager.instance.dispatchEvent(new RestartEvent(RestartEvent.RESTART, hug1)); return true; } } } //¡script002¡ //skip components :fl.controls.listClasses //as filename :ICellRenderer.as //¡script003¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:3 public dynamic class CloseButtonOldSkin extends MovieClip { //static constructor public static function CloseButtonOldSkin$cinit() { //MethodID:36, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CloseButtonOldSkin() { //MethodID:37, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script004¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:4 public dynamic class CloseButtonSkin extends MovieClip { //static constructor public static function CloseButtonSkin$cinit() { //MethodID:39, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CloseButtonSkin() { //MethodID:40, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script005¡ package DefaultSkin.Volume{ import flash.display.MovieClip //¡class(instance)_index:5 public dynamic class VolumeButtonSkin extends MovieClip { //static constructor public static function VolumeButtonSkin$cinit() { //MethodID:42, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function VolumeButtonSkin() { //MethodID:43, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script006¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:6 public dynamic class NextPageSearchButtonSkin extends MovieClip { //static constructor public static function NextPageSearchButtonSkin$cinit() { //MethodID:45, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function NextPageSearchButtonSkin() { //MethodID:46, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script007¡ //skip components :fl.events //as filename :DataChangeType.as //¡script008¡ //skip components :fl.core //as filename :InvalidationType.as //¡script009¡ //skip components :fl.transitions.easing //as filename :None.as //¡script010¡ //skip components :fl.transitions //as filename :Transition.as //¡script011¡ //skip components :fl.transitions //as filename :Wipe.as //¡script012¡ //skip components :fl.events //as filename :SliderEventClickTarget.as //¡script013¡ //skip components :fl.transitions //as filename :TweenEvent.as //¡script014¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:14 public dynamic class VoiceDownButtonSkin extends MovieClip { //static constructor public static function VoiceDownButtonSkin$cinit() { //MethodID:102, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function VoiceDownButtonSkin() { //MethodID:103, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script015¡ package{ import flash.display.MovieClip //¡class(instance)_index:15 public dynamic class ScrollArrowDown_disabledSkin extends MovieClip { //static constructor public static function ScrollArrowDown_disabledSkin$cinit() { //MethodID:105, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowDown_disabledSkin() { //MethodID:106, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script016¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:16 public dynamic class WeightIcon extends BitmapData { //static constructor public static function WeightIcon$cinit() { //MethodID:108, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function WeightIcon(hug1:Number, hug2:Number) { //MethodID:109, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script017¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:17 public dynamic class RotateButtonSkin extends MovieClip { //static constructor public static function RotateButtonSkin$cinit() { //MethodID:111, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RotateButtonSkin() { //MethodID:112, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script018¡ package DefaultSkin.EndScreen{ import flash.display.MovieClip //¡class(instance)_index:18 public dynamic class CodeButtonSkin extends MovieClip { //static constructor public static function CodeButtonSkin$cinit() { //MethodID:114, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CodeButtonSkin() { //MethodID:115, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script019¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:19 public dynamic class livePlayStatus extends MovieClip { //static constructor public static function livePlayStatus$cinit() { //MethodID:117, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function livePlayStatus() { //MethodID:118, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script020¡ package{ import flash.display.MovieClip //¡class(instance)_index:20 public dynamic class CellRenderer_selectedDownSkin extends MovieClip { //static constructor public static function CellRenderer_selectedDownSkin$cinit() { //MethodID:120, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_selectedDownSkin() { //MethodID:121, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script021¡ //skip components :fl.core //as filename :UIComponent.as //¡script022¡ //skip components :fl.managers //as filename :IFocusManagerComponent.as //¡script023¡ //skip components :fl.controls //as filename :TextInput.as //¡script024¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:24 public dynamic class PrevButtonSkin extends MovieClip { //static constructor public static function PrevButtonSkin$cinit() { //MethodID:251, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PrevButtonSkin() { //MethodID:252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script025¡ //skip components :fl.events //as filename :ListEvent.as //¡script026¡ //skip components :fl.controls //as filename :ScrollPolicy.as //¡script027¡ package{ import flash.display.MovieClip //¡class(instance)_index:27 public dynamic class ScrollArrowDown_upSkin extends MovieClip { //static constructor public static function ScrollArrowDown_upSkin$cinit() { //MethodID:266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowDown_upSkin() { //MethodID:267, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script028¡ package{ import flash.display.MovieClip //¡class(instance)_index:28 public dynamic class ScrollThumb_overSkin extends MovieClip { //static constructor public static function ScrollThumb_overSkin$cinit() { //MethodID:269, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollThumb_overSkin() { //MethodID:270, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script029¡ //skip components :fl.transitions.easing //as filename :Strong.as //¡script030¡ //skip components :fl.events //as filename :ScrollEvent.as //¡script031¡ package{ import flash.display.MovieClip //¡class(instance)_index:31 public dynamic class CellRenderer_upSkin extends MovieClip { //static constructor public static function CellRenderer_upSkin$cinit() { //MethodID:286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_upSkin() { //MethodID:287, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script032¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:32 public dynamic class SizeButtonSkin extends MovieClip { //static constructor public static function SizeButtonSkin$cinit() { //MethodID:289, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SizeButtonSkin() { //MethodID:290, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script033¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:33 public dynamic class LinkButtonSkin extends MovieClip { //static constructor public static function LinkButtonSkin$cinit() { //MethodID:292, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LinkButtonSkin() { //MethodID:293, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script034¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:34 public dynamic class PrevPageNavButtonSkin extends MovieClip { //static constructor public static function PrevPageNavButtonSkin$cinit() { //MethodID:295, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PrevPageNavButtonSkin() { //MethodID:296, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script035¡ //skip components :fl.core //as filename :ComponentShim.as //¡script036¡ //skip components :fl.controls //as filename :ScrollBar.as //¡script037¡ //skip components :fl.controls //as filename :UIScrollBar.as //¡script038¡ package{ import flash.display.MovieClip //¡class(instance)_index:38 public dynamic class ScrollThumb_upSkin extends MovieClip { //static constructor public static function ScrollThumb_upSkin$cinit() { //MethodID:354, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollThumb_upSkin() { //MethodID:355, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script039¡ package{ import flash.display.MovieClip //¡class(instance)_index:39 public dynamic class TextInput_upSkin extends MovieClip { //static constructor public static function TextInput_upSkin$cinit() { //MethodID:357, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TextInput_upSkin() { //MethodID:358, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script040¡ package DefaultSkin.EndScreen{ import flash.display.MovieClip //¡class(instance)_index:40 public dynamic class CopyButtonSkin extends MovieClip { //static constructor public static function CopyButtonSkin$cinit() { //MethodID:360, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CopyButtonSkin() { //MethodID:361, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script041¡ package Components{ import fl.core.UIComponent import flash.display.MovieClip import flash.events.Event import flash.events.EventDispatcher import flash.events.MouseEvent import flash.geom.Point import flash.geom.Rectangle import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent //¡class(instance)_index:41 public class Component extends MovieClip { //static constructor public static function Component$cinit() { //MethodID:363, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35 akLeft = 0; akTop = 1; akRight = 2; akBottom = 3; } //static variables/etc. private static const akLeft:uint = 0; //slotID:1 private static const akTop:uint = 1; //slotID:2 private static const akRight:uint = 2; //slotID:3 private static const akBottom:uint = 3; //slotID:4 //constructor public function Component(hug1:EventDispatcher=null, hug2:Boolean=false):void { //MethodID:364, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 133 this.topLeft = new Point(0, 0); this.deltaPoint = new Point(0, 0); this._anchors = [true, true, false, false]; this.dispatcher = (this as EventDispatcher); super(); stop(); buttonMode = hug2; if(hug2){ mouseChildren = false; addEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown); addEventListener(MouseEvent.MOUSE_UP, this.onMouseUp); } if(hug1 != null) this.dispatcher = hug1; addEventListener(Event.ADDED, this.onAdded); } //variables/etc. private var originalHeightContainer:Number = 0.0; //slotID:0 private var originalWidthContainer:Number = 0.0; //slotID:0 protected var minWidth:Number = 0.0; //slotID:0 protected var minHeight:Number = 0.0; //slotID:0 protected var _anchors:Array; //slotID:0 protected var dispatcher:EventDispatcher; //slotID:0 protected var maxHeight:Number = 0.0; //slotID:0 private var downFlag:Boolean = false; //slotID:0 private var isListenerStage:Boolean = false; //slotID:0 private var deltaPoint:Point; //slotID:0 protected var maxWidth:Number = 0.0; //slotID:0 protected var percentTop:Boolean = false; //slotID:0 private var $visible:Boolean = true; //slotID:0 private var calcHeight:Number = 0.0; //slotID:0 protected var originalHeight:Number = 0.0; //slotID:0 private var middleX:Boolean = false; //slotID:0 private var middleY:Boolean = false; //slotID:0 protected var percentLeft:Boolean = false; //slotID:0 private var calcWidth:Number = 0.0; //slotID:0 protected var originalWidth:Number = 0.0; //slotID:0 protected var topLeft:Point; //slotID:0 protected var skin:MovieClip = null; //slotID:0 public function release():void { //MethodID:365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function setSkin(hug1:MovieClip, hug2:uint=0):void { //MethodID:366, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 76 if(this.skin){ removeChild(this.skin); this.skin = null; } if(hug1){ hug1.gotoAndStop(0); hug1.mouseChildren = false; hug1.mouseEnabled = false; if(hug2 > numChildren) hug2 = numChildren; addChildAt(hug1, hug2); this.skin = hug1; } } private function onMouseDown(hug1:MouseEvent):void { //MethodID:367, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.downFlag = true; } private function onMouseUp(hug1:MouseEvent):void { //MethodID:368, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25 if(!this.downFlag){ hug1.stopImmediatePropagation(); }else{ this.downFlag = false; } } private function onAdded(hug1:Event):void { //MethodID:369, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17 if(hug1.target == this) this.originalState(); } public function get _width():Number { //MethodID:370, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.calcWidth; } public function get _height():Number { //MethodID:371, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.calcHeight; } public function get baseWidth():Number { //MethodID:372, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.originalWidth; } public function get baseHeight():Number { //MethodID:373, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.originalHeight; } override public function set visible(hug1:Boolean):void { //MethodID:374, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 17 super.visible = this.$visible = hug1; } override public function get visible():Boolean { //MethodID:375, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.$visible; } public function set rawVisible(hug1:Boolean):void { //MethodID:376, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 super.visible = hug1; } public function get rawVisible():Boolean { //MethodID:377, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return super.visible; } public function setVisibleMode(hug1:Boolean, ...rest):void { //MethodID:378, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28 this.$visible = hug1; if(rest.length > 0) this.rawVisible = rest[0]; } public function changeSkin(hug1:String):void { //MethodID:379, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32 if(this.skin){ this.skin.gotoAndStop(hug1); }else{ gotoAndStop(hug1); } } public function changeAnimationSkin(hug1:String):void { //MethodID:380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32 if(this.skin){ this.skin.gotoAndPlay(hug1); }else{ gotoAndStop(hug1); } } public function currentFrameLabelSkin():String { //MethodID:381, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 21 if(this.skin) return this.skin.currentLabel; return ""; } public function size(hug1:Number, hug2:Number, hug3:Boolean=false, hug4:Number=0.0, hug5:Number=0.0, hug6:Number=0.0, hug7:Number=0.0):void { //MethodID:382, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 107 this.calcWidth = this.originalWidth = hug1; this.calcHeight = this.originalHeight = hug2; this.minWidth = (hug3 ? hug1 : hug4); this.minHeight = (hug3 ? hug2 : hug5); this.maxWidth = (hug3 ? hug1 : hug6); this.maxHeight = (hug3 ? hug2 : hug7); } public function position(hug1:Number=0.0, hug2:Number=0.0, hug3:Boolean=false, hug4:Boolean=false, hug5:Boolean=false, hug6:Boolean=false, hug7:Number=0.0, hug8:Number=0.0):void { //MethodID:383, LocalCount= 9 , MaxScope= 1, MaxStack= 2, CodeLength= 60 this.topLeft.x = hug1; this.topLeft.y = hug2; this.percentLeft = hug3; this.percentTop = hug4; this.middleX = hug5; this.middleY = hug6; this.deltaPoint.x = hug7; this.deltaPoint.y = hug8; } public function anchors(hug1:Boolean=true, hug2:Boolean=true, hug3:Boolean=false, hug4:Boolean=false):void { //MethodID:384, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 14 this._anchors = [hug1, hug2, hug3, hug4]; } private function contentTopLeft(hug1:Point, hug2:Number, hug3:Number):Point { //MethodID:385, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 134 return new Point(Math.round(((this.topLeft.x * hug2) - (this.percentLeft ? (this.middleX ? (this.calcWidth / 2) : this.deltaPoint.x))) : hug1.x), Math.round(((this.topLeft.y * hug3) - (this.percentTop ? (this.middleY ? (this.calcHeight / 2) : this.deltaPoint.y))) : hug1.y)); } private function originalState():void { //MethodID:386, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 56 var hug1:Point = this.contentTopLeft(this.topLeft, this.originalWidthContainer, this.originalHeightContainer); x = hug1.x; y = hug1.y; this.onUpdate(this.originalWidth, this.originalHeight); } public function init(hug1:Boolean=false, hug2:Number=Number.NaN, hug3:Number=Number.NaN):void { //MethodID:387, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 211 var hug4:Boolean = false; if(hug1){ this.originalWidthContainer = stage.stageWidth; this.originalHeightContainer = stage.stageHeight; if(!this.isListenerStage){ this.isListenerStage = true; EventManager.instance.addEventListener(InternalEvent.STAGE, this.onResize); } }else{ if(this.isListenerStage){ EventManager.instance.removeEventListener(InternalEvent.STAGE, this.onResize); this.isListenerStage = false; } hug4 = (parent && (parent is Component)); this.originalWidthContainer = (isNaN(hug2) ? (hug4 ? (parent as Component).originalWidth : 0) : hug2); this.originalHeightContainer = (isNaN(hug3) ? (hug4 ? (parent as Component).originalHeight : 0) : hug3); } this.originalState(); } public function onResize(... rest):void { //MethodID:388, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 873 public var args:Array; //slotID:1 internal var w:Number; //slotID:2 internal var h:Number; //slotID:3 internal var countArgs:uint; //slotID:4 internal var rect:Rectangle; //slotID:5 internal var point:Point; //slotID:6 internal var internalEvent:InternalEvent; //slotID:7 internalEvent = null; internal var args:Object = rest; w = NaN; h = NaN; countArgs = args.length; if(countArgs > 0){ internalEvent = null; if(args[0] is InternalEvent) internalEvent = (args[0] as InternalEvent); if(internalEvent != null){ if(internalEvent.eventType != Event.RESIZE) return; try{ w = stage.stageWidth; h = stage.stageHeight; } catch(err:Error){ trace(err); } }else if(args[0] != null){ w = args[0]; if(countArgs > 1) h = args[1]; }else{ if(countArgs > 1) w = args[1]; if(countArgs > 2) h = args[2]; } } if(isNaN(w)) w = ((parent is Component) ? (parent as Component)._width : 0); if(isNaN(h)) h = ((parent is Component) ? (parent as Component)._height : 0); rect = new Rectangle(); this.calcWidth = this.originalWidth; this.calcHeight = this.originalHeight; rect.topLeft = this.contentTopLeft(this.topLeft, this.originalWidthContainer, this.originalHeightContainer); rect.size = new Point(this.originalWidth, this.originalHeight); if(this._anchors[akRight]){ if(this._anchors[akLeft]){ rect.width = (w - this.originalWidthContainer - this.originalWidth); }else{ rect.x = (w - this.originalWidthContainer - rect.x); } }else if(!this._anchors[akLeft]){ rect.x = ((rect.x * w) / this.originalWidthContainer); } if(this._anchors[akBottom]){ if(this._anchors[akTop]){ rect.height = (h - this.originalHeightContainer - this.originalHeight); }else{ rect.y = (h - this.originalHeightContainer - rect.y); } }else if(!this._anchors[akTop]){ rect.y = ((rect.y * h) / this.originalHeightContainer); } if(parent is RutubePlayer){ if(parent.parent){ if(parent.parent is UIComponent){ rect.width = parent.parent.width; this.calcWidth = parent.parent.width; rect.height = parent.parent.height; this.calcHeight = parent.parent.height; rect.x = 0; rect.y = 0; } } } this.applySize(rect.width, rect.height); point = this.contentTopLeft(rect.topLeft, w, h); x = point.x; y = point.y; this.onUpdate(this.calcWidth, this.calcHeight); } protected function applySize(hug1:Number, hug2:Number):void { //MethodID:389, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 129 if((this.maxWidth > 0) && (hug1 > this.maxWidth)) hug1 = this.maxWidth; if((this.maxHeight > 0) && (hug2 > this.maxHeight)) hug2 = this.maxHeight; if((this.minWidth > 0) && (hug1 < this.minWidth)) hug1 = this.minWidth; if((this.minHeight > 0) && (hug2 < this.minHeight)) hug2 = this.minHeight; this.calcWidth = hug1; this.calcHeight = hug2; } public function location(hug1:Object):void { //MethodID:390, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 117 if(hug1.hasOwnProperty("x")) x = hug1.x; if(hug1.hasOwnProperty("y")) y = hug1.y; this.applySize((hug1.hasOwnProperty("w") ? hug1.w : this.calcWidth), (hug1.hasOwnProperty("h") ? hug1.h : this.calcHeight)); this.onUpdate(this.calcWidth, this.calcHeight); } protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:391, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function onPaint(hug1:Boolean=false):void { //MethodID:392, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 60 if(hug1 && parent && (parent is Component)){ (parent as Component).onPaint(); }else{ this.onUpdate(this.calcWidth, this.calcHeight); } } public function free():void { //MethodID:393, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 132 removeEventListener(MouseEvent.MOUSE_DOWN, this.onMouseDown); removeEventListener(MouseEvent.MOUSE_UP, this.onMouseUp); removeEventListener(Event.ADDED, this.onAdded); if(this.isListenerStage){ try{ EventManager.instance.removeEventListener(InternalEvent.STAGE, this.onResize); } catch(err:Error){ trace(err); } this.isListenerStage = false; } if(parent) parent.removeChild(this); } public function params(hug1:Object, hug2:Boolean=true, hug3:Boolean=true, hug4:Boolean=true, hug5:Boolean=true):void { //MethodID:394, LocalCount= 8 , MaxScope= 1, MaxStack= 10, CodeLength= 695 var hug6:Boolean = false; var hug7:Boolean = false; if(hug2) this.size((hug1.hasOwnProperty("w") ? hug1.w : this.originalWidth), (hug1.hasOwnProperty("h") ? hug1.h : this.originalHeight), (hug1.hasOwnProperty("fixedSize") ? hug1.fixedSize : false), (hug1.hasOwnProperty("minW") ? hug1.minW : this.minWidth), (hug1.hasOwnProperty("minH") ? hug1.minH : this.minHeight), (hug1.hasOwnProperty("maxW") ? hug1.maxW : this.maxWidth), (hug1.hasOwnProperty("maxH") ? hug1.maxH : this.maxHeight)); if(hug3){ hug6 = (hug1.hasOwnProperty("xP") ? hug1.xP : false); hug7 = (hug1.hasOwnProperty("yP") ? hug1.yP : false); this.position((hug1.hasOwnProperty("x") ? hug1.x : this.topLeft.x), (hug1.hasOwnProperty("y") ? hug1.y : this.topLeft.y), hug6, hug7, (hug1.hasOwnProperty("xM") ? hug1.xM : (hug6 ? this.middleX : false)), (hug1.hasOwnProperty("yM") ? hug1.yM : (hug7 ? this.middleY : false)), (hug1.hasOwnProperty("xD") ? hug1.xD : (hug6 ? this.deltaPoint.x : 0)), (hug1.hasOwnProperty("yD") ? hug1.yD : (hug7 ? this.deltaPoint.y : 0))); } if(hug4) this.anchors((hug1.hasOwnProperty("left") ? hug1.left : this._anchors[0]), (hug1.hasOwnProperty("top") ? hug1.top : this._anchors[1]), (hug1.hasOwnProperty("right") ? hug1.right : this._anchors[2]), (hug1.hasOwnProperty("bottom") ? hug1.bottom : this._anchors[3])); if(hug5) this.init((hug1.hasOwnProperty("stage") ? hug1.stage : false), (hug1.hasOwnProperty("wContainer") ? hug1.wContainer : NaN), (hug1.hasOwnProperty("hContainer") ? hug1.hContainer : NaN)); } } } //¡script042¡ package Components{ import flash.display.DisplayObject import flash.display.MovieClip import flash.events.MouseEvent //¡class(instance)_index:42 public class Button extends Component { //static constructor public static function Button$cinit() { //MethodID:396, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 39 STATE_UP = "_up"; STATE_OVER = "_over"; STATE_DOWN = "_down"; clickDelay = 1000; } //static variables/etc. public static const STATE_UP:String = "_up"; //slotID:1 public static const STATE_OVER:String = "_over"; //slotID:2 public static const STATE_DOWN:String = "_down"; //slotID:3 private static var clickDelay:int = 1000; //slotID:4 //constructor public function Button(hug1:MovieClip=null):void { //MethodID:397, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42 this._hint = new Hint(this as DisplayObject); super(null, true); if(hug1){ setSkin(hug1); this.useModes(true); } } //variables/etc. private var _mode:String = ""; //slotID:0 private var defaultMode:String = ""; //slotID:0 private var state:String = "_up"; //slotID:0 public var lastClick:Number = 0.0; //slotID:0 private var hints:Array = null; //slotID:0 public var listenerAllowed:Boolean = true; //slotID:0 public var onChangeStateFunction:Function = null; //slotID:0 private var isModes:Boolean = false; //slotID:0 private var allowModes:Array = null; //slotID:0 private var _hint:Hint; //slotID:0 private var downFlag:Boolean = false; //slotID:0 public function useModes(hug1:Boolean, hug2:String, hug3:Array=null, hug4:Array=null):void { //MethodID:398, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 202 var hug5:Boolean = this.isModes; this.isModes = hug1; if(hug1){ this.allowModes = hug3; this.hints = hug4; this.mode = this.defaultMode = hug2; } if(hug1 == hug5) return; if(hug1){ addEventListener(MouseEvent.ROLL_OVER, this.onChangeState); addEventListener(MouseEvent.ROLL_OUT, this.onChangeState); addEventListener(MouseEvent.MOUSE_DOWN, this.onChangeState); addEventListener(MouseEvent.MOUSE_UP, this.onChangeState); }else{ removeEventListener(MouseEvent.ROLL_OVER, this.onChangeState); removeEventListener(MouseEvent.ROLL_OUT, this.onChangeState); removeEventListener(MouseEvent.MOUSE_DOWN, this.onChangeState); removeEventListener(MouseEvent.MOUSE_UP, this.onChangeState); this.allowModes = null; this.hints = null; } } public function set mode(hug1:String):void { //MethodID:399, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 117 var hug2:int = 0; if(this.isModes){ hug2 = (this.allowModes ? this.allowModes.indexOf(hug1) : (-1)); this._mode = ((hug2 != (-1)) ? hug1 : this.defaultMode); if(this.hints && (hug2 != (-1)) && (hug2 < this.hints.length)) this.hint = this.hints[hug2]; this.updateState(); } } public function get mode():String { //MethodID:400, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mode; } public function set hint(hug1:String):void { //MethodID:401, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this._hint.value = hug1; } private function onChangeState(hug1:MouseEvent):void { //MethodID:402, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 202 if(!this.listenerAllowed) return; var hug2:String = STATE_UP; switch(hug1.type){ case MouseEvent.ROLL_OVER: if(this.downFlag && !hug1.buttonDown) this.downFlag = false; hug2 = (this.downFlag ? STATE_DOWN : STATE_OVER); break; case MouseEvent.MOUSE_DOWN: this.downFlag = true; hug2 = STATE_DOWN; break; case MouseEvent.MOUSE_UP: hug2 = STATE_OVER; break; default: break; } if(hug2 != this.state) this.updateState(hug2); } private function updateState(hug1:String=null):void { //MethodID:403, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 64 if(hug1) this.state = hug1; if(this.isModes && (this.onChangeStateFunction != null)){ this.onChangeStateFunction(this.state); }else{ changeSkin(this._mode + this.state); } } public function isDoubleClick():Boolean { //MethodID:404, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 27 return (Number(new Date().time) < (this.lastClick + clickDelay)); } } } //¡script043¡ package Components.Forms{ import Components.Button //¡class(instance)_index:43 public dynamic class ClipboardButton extends Button { //static constructor public static function ClipboardButton$cinit() { //MethodID:406, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ClipboardButton() { //MethodID:407, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script044¡ package{ import flash.display.MovieClip //¡class(instance)_index:44 public dynamic class List_skin extends MovieClip { //static constructor public static function List_skin$cinit() { //MethodID:409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function List_skin() { //MethodID:410, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script045¡ package Components{ //¡class(instance)_index:45 public dynamic class AdViewMuteOffButton extends Button { //static constructor public static function AdViewMuteOffButton$cinit() { //MethodID:412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdViewMuteOffButton() { //MethodID:413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script046¡ package{ import flash.display.MovieClip //¡class(instance)_index:46 public dynamic class TextInput_disabledSkin extends MovieClip { //static constructor public static function TextInput_disabledSkin$cinit() { //MethodID:415, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TextInput_disabledSkin() { //MethodID:416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script047¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:47 public dynamic class liveNotFoundStatus extends MovieClip { //static constructor public static function liveNotFoundStatus$cinit() { //MethodID:418, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function liveNotFoundStatus() { //MethodID:419, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script048¡ package{ import flash.display.MovieClip //¡class(instance)_index:48 public dynamic class TextArea_upSkin extends MovieClip { //static constructor public static function TextArea_upSkin$cinit() { //MethodID:421, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TextArea_upSkin() { //MethodID:422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script049¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:49 public dynamic class VoiceUpButtonSkin extends MovieClip { //static constructor public static function VoiceUpButtonSkin$cinit() { //MethodID:424, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function VoiceUpButtonSkin() { //MethodID:425, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script050¡ package{ import flash.display.MovieClip //¡class(instance)_index:50 public dynamic class ScrollArrowUp_disabledSkin extends MovieClip { //static constructor public static function ScrollArrowUp_disabledSkin$cinit() { //MethodID:427, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowUp_disabledSkin() { //MethodID:428, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script051¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:51 public dynamic class LogoFButtonSkin extends MovieClip { //static constructor public static function LogoFButtonSkin$cinit() { //MethodID:430, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LogoFButtonSkin() { //MethodID:431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script052¡ package{ import flash.display.MovieClip //¡class(instance)_index:52 public dynamic class Transparent_List_skin extends MovieClip { //static constructor public static function Transparent_List_skin$cinit() { //MethodID:433, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Transparent_List_skin() { //MethodID:434, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script053¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:53 public dynamic class DateIcon extends BitmapData { //static constructor public static function DateIcon$cinit() { //MethodID:436, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function DateIcon(hug1:Number, hug2:Number) { //MethodID:437, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script054¡ package{ import flash.display.MovieClip //¡class(instance)_index:54 public dynamic class ScrollTrack_skin extends MovieClip { //static constructor public static function ScrollTrack_skin$cinit() { //MethodID:439, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollTrack_skin() { //MethodID:440, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script055¡ //skip components :fl.events //as filename :ComponentEvent.as //¡script056¡ package Components{ //¡class(instance)_index:56 public dynamic class Preloader extends Component { //static constructor public static function Preloader$cinit() { //MethodID:447, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Preloader() { //MethodID:448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script057¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:57 public dynamic class liveStopStatus extends MovieClip { //static constructor public static function liveStopStatus$cinit() { //MethodID:450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function liveStopStatus() { //MethodID:451, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script058¡ //skip components :fl.data //as filename :SimpleCollectionItem.as //¡script059¡ package{ import flash.display.MovieClip //¡class(instance)_index:59 public dynamic class ComboBox_disabledSkin extends MovieClip { //static constructor public static function ComboBox_disabledSkin$cinit() { //MethodID:457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ComboBox_disabledSkin() { //MethodID:458, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script060¡ //skip components :fl.video //as filename :IVPEvent.as //¡script061¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:61 public dynamic class CommentsIcon extends BitmapData { //static constructor public static function CommentsIcon$cinit() { //MethodID:466, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommentsIcon(hug1:Number, hug2:Number) { //MethodID:467, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script062¡ package DefaultSkin.EndScreen{ import flash.display.MovieClip //¡class(instance)_index:62 public dynamic class SearchButtonSkin extends MovieClip { //static constructor public static function SearchButtonSkin$cinit() { //MethodID:469, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SearchButtonSkin() { //MethodID:470, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script063¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:63 public dynamic class EditIcon extends BitmapData { //static constructor public static function EditIcon$cinit() { //MethodID:472, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function EditIcon(hug1:Number, hug2:Number) { //MethodID:473, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script064¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:64 public dynamic class DurationIcon extends BitmapData { //static constructor public static function DurationIcon$cinit() { //MethodID:475, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function DurationIcon(hug1:Number, hug2:Number) { //MethodID:476, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script065¡ //skip components :fl.controls //as filename :BaseButton.as //¡script066¡ //skip components :fl.controls //as filename :LabelButton.as //¡script067¡ package DefaultSkin.EndScreen{ import flash.display.MovieClip //¡class(instance)_index:67 public dynamic class AboutButtonSkin extends MovieClip { //static constructor public static function AboutButtonSkin$cinit() { //MethodID:520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AboutButtonSkin() { //MethodID:521, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script068¡ package{ import flash.display.MovieClip //¡class(instance)_index:68 public dynamic class ScrollBar_thumbIcon extends MovieClip { //static constructor public static function ScrollBar_thumbIcon$cinit() { //MethodID:523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollBar_thumbIcon() { //MethodID:524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script069¡ package Components{ //¡class(instance)_index:69 public dynamic class AdViewCloseButton extends Button { //static constructor public static function AdViewCloseButton$cinit() { //MethodID:526, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdViewCloseButton() { //MethodID:527, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script070¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:70 public dynamic class NextButtonSkin extends MovieClip { //static constructor public static function NextButtonSkin$cinit() { //MethodID:529, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function NextButtonSkin() { //MethodID:530, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script071¡ package{ import flash.display.MovieClip //¡class(instance)_index:71 public dynamic class TextArea_disabledSkin extends MovieClip { //static constructor public static function TextArea_disabledSkin$cinit() { //MethodID:532, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TextArea_disabledSkin() { //MethodID:533, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script072¡ //skip components :fl.video //as filename :MetadataEvent.as //¡script073¡ //skip components :fl.events //as filename :SliderEvent.as //¡script074¡ package Components.Window{ import flash.display.BitmapData //¡class(instance)_index:74 public dynamic class DefaultAvatarData extends BitmapData { //static constructor public static function DefaultAvatarData$cinit() { //MethodID:552, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function DefaultAvatarData(hug1:Number, hug2:Number) { //MethodID:553, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script075¡ package{ import Components.Component //¡class(instance)_index:75 public dynamic class WaitFigure extends Component { //static constructor public static function WaitFigure$cinit() { //MethodID:555, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function WaitFigure() { //MethodID:556, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script076¡ package{ import flash.display.MovieClip //¡class(instance)_index:76 public dynamic class ComboBox_upSkin extends MovieClip { //static constructor public static function ComboBox_upSkin$cinit() { //MethodID:558, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ComboBox_upSkin() { //MethodID:559, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script077¡ package{ import flash.display.MovieClip //¡class(instance)_index:77 public dynamic class ScrollArrowUp_overSkin extends MovieClip { //static constructor public static function ScrollArrowUp_overSkin$cinit() { //MethodID:561, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowUp_overSkin() { //MethodID:562, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script078¡ package{ import flash.display.MovieClip //¡class(instance)_index:78 public dynamic class CellRenderer_selectedOverSkin extends MovieClip { //static constructor public static function CellRenderer_selectedOverSkin$cinit() { //MethodID:564, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_selectedOverSkin() { //MethodID:565, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script079¡ package DefaultSkin.Control{ import flash.display.MovieClip //¡class(instance)_index:79 public dynamic class PlayPauseButtonSkin extends MovieClip { //static constructor public static function PlayPauseButtonSkin$cinit() { //MethodID:567, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayPauseButtonSkin() { //MethodID:568, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script080¡ package{ import flash.display.MovieClip //¡class(instance)_index:80 public dynamic class focusRectSkin extends MovieClip { //static constructor public static function focusRectSkin$cinit() { //MethodID:570, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function focusRectSkin() { //MethodID:571, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script081¡ package Components{ //¡class(instance)_index:81 public dynamic class AdViewMuteOnButton extends Button { //static constructor public static function AdViewMuteOnButton$cinit() { //MethodID:573, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdViewMuteOnButton() { //MethodID:574, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script082¡ package{ import flash.display.MovieClip //¡class(instance)_index:82 public dynamic class CellRenderer_selectedUpSkin extends MovieClip { //static constructor public static function CellRenderer_selectedUpSkin$cinit() { //MethodID:576, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_selectedUpSkin() { //MethodID:577, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script083¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:83 public dynamic class SnapshotButtonSkin extends MovieClip { //static constructor public static function SnapshotButtonSkin$cinit() { //MethodID:579, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SnapshotButtonSkin() { //MethodID:580, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script084¡ package{ import flash.display.MovieClip //¡class(instance)_index:84 public dynamic class CellRenderer_downSkin extends MovieClip { //static constructor public static function CellRenderer_downSkin$cinit() { //MethodID:582, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_downSkin() { //MethodID:583, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script085¡ package{ import flash.display.MovieClip //¡class(instance)_index:85 public dynamic class ScrollThumb_downSkin extends MovieClip { //static constructor public static function ScrollThumb_downSkin$cinit() { //MethodID:585, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollThumb_downSkin() { //MethodID:586, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script086¡ //skip components :fl.transitions.easing //as filename :Bounce.as //¡script087¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:87 public dynamic class livePauseStatus extends MovieClip { //static constructor public static function livePauseStatus$cinit() { //MethodID:594, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function livePauseStatus() { //MethodID:595, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script088¡ package{ import flash.display.MovieClip //¡class(instance)_index:88 public dynamic class ScrollArrowDown_overSkin extends MovieClip { //static constructor public static function ScrollArrowDown_overSkin$cinit() { //MethodID:597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowDown_overSkin() { //MethodID:598, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script089¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:89 public dynamic class PlayWindowButtonSkin extends MovieClip { //static constructor public static function PlayWindowButtonSkin$cinit() { //MethodID:600, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayWindowButtonSkin() { //MethodID:601, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script090¡ package{ import flash.display.MovieClip //¡class(instance)_index:90 public dynamic class ScrollArrowUp_upSkin extends MovieClip { //static constructor public static function ScrollArrowUp_upSkin$cinit() { //MethodID:603, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowUp_upSkin() { //MethodID:604, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script091¡ //skip components :fl.managers //as filename :IFocusManager.as //¡script092¡ //skip components :fl.managers //as filename :FocusManager.as //¡script093¡ //skip components :fl.controls //as filename :ButtonLabelPlacement.as //¡script094¡ package{ import flash.display.MovieClip //¡class(instance)_index:94 public dynamic class ScrollArrowUp_downSkin extends MovieClip { //static constructor public static function ScrollArrowUp_downSkin$cinit() { //MethodID:676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowUp_downSkin() { //MethodID:677, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script095¡ //skip components :fl.transitions //as filename :Tween.as //¡script096¡ package DefaultSkin.EndScreen{ import flash.display.MovieClip //¡class(instance)_index:96 public dynamic class RepeatButtonSkin extends MovieClip { //static constructor public static function RepeatButtonSkin$cinit() { //MethodID:710, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RepeatButtonSkin() { //MethodID:711, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script097¡ //skip components :fl.controls //as filename :ScrollBarDirection.as //¡script098¡ //skip components :fl.controls //as filename :TextArea.as //¡script099¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:99 public dynamic class FavoriteButtonSkin2 extends MovieClip { //static constructor public static function FavoriteButtonSkin2$cinit() { //MethodID:784, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function FavoriteButtonSkin2() { //MethodID:785, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script100¡ //skip components :fl.containers //as filename :BaseScrollPane.as //¡script101¡ //skip components :fl.controls //as filename :SelectableList.as //¡script102¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:102 public dynamic class SubscribeIcon extends BitmapData { //static constructor public static function SubscribeIcon$cinit() { //MethodID:891, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function SubscribeIcon(hug1:Number, hug2:Number) { //MethodID:892, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script103¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:103 public dynamic class ToFriendsIcon extends BitmapData { //static constructor public static function ToFriendsIcon$cinit() { //MethodID:894, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ToFriendsIcon(hug1:Number, hug2:Number) { //MethodID:895, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script104¡ //skip components :fl.controls.listClasses //as filename :ListData.as //¡script105¡ package{ import flash.display.MovieClip //¡class(instance)_index:105 public dynamic class ComboBox_downSkin extends MovieClip { //static constructor public static function ComboBox_downSkin$cinit() { //MethodID:906, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ComboBox_downSkin() { //MethodID:907, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script106¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:106 public dynamic class ScaleButtonSkin extends MovieClip { //static constructor public static function ScaleButtonSkin$cinit() { //MethodID:909, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScaleButtonSkin() { //MethodID:910, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script107¡ package{ import flash.display.MovieClip //¡class(instance)_index:107 public dynamic class CellRenderer_overSkin extends MovieClip { //static constructor public static function CellRenderer_overSkin$cinit() { //MethodID:912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_overSkin() { //MethodID:913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script108¡ //skip components :fl.managers //as filename :StyleManager.as //¡script109¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:109 public dynamic class LogoButtonSkin extends MovieClip { //static constructor public static function LogoButtonSkin$cinit() { //MethodID:931, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LogoButtonSkin() { //MethodID:932, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script110¡ package{ import flash.display.MovieClip //¡class(instance)_index:110 public dynamic class CellRenderer_selectedDisabledSkin extends MovieClip { //static constructor public static function CellRenderer_selectedDisabledSkin$cinit() { //MethodID:934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_selectedDisabledSkin() { //MethodID:935, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script111¡ //skip components :fl.events //as filename :DataChangeEvent.as //¡script112¡ //skip components :fl.transitions //as filename :TransitionManager.as //¡script113¡ //skip components :fl.video //as filename :VideoEvent.as //¡script114¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:114 public dynamic class LogoButtonSkin2 extends MovieClip { //static constructor public static function LogoButtonSkin2$cinit() { //MethodID:976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LogoButtonSkin2() { //MethodID:977, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script115¡ package{ import flash.display.MovieClip //¡class(instance)_index:115 public dynamic class CellRenderer_disabledSkin extends MovieClip { //static constructor public static function CellRenderer_disabledSkin$cinit() { //MethodID:979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CellRenderer_disabledSkin() { //MethodID:980, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script116¡ package{ import flash.display.MovieClip //¡class(instance)_index:116 public dynamic class ScrollArrowDown_downSkin extends MovieClip { //static constructor public static function ScrollArrowDown_downSkin$cinit() { //MethodID:982, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScrollArrowDown_downSkin() { //MethodID:983, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script117¡ package EndScreen.AboutIcons{ import flash.display.BitmapData //¡class(instance)_index:117 public dynamic class RatingIcon extends BitmapData { //static constructor public static function RatingIcon$cinit() { //MethodID:985, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function RatingIcon(hug1:Number, hug2:Number) { //MethodID:986, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 8 super(hug1, hug2); } } } //¡script118¡ package DefaultSkin.Control{ import flash.display.MovieClip //¡class(instance)_index:118 public dynamic class StopButtonSkin extends MovieClip { //static constructor public static function StopButtonSkin$cinit() { //MethodID:988, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function StopButtonSkin() { //MethodID:989, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script119¡ //skip components :fl.transitions.easing //as filename :Back.as //¡script120¡ package Components.Window{ import Components.Component //¡class(instance)_index:120 public dynamic class WaitRutubeWindow extends Component { //static constructor public static function WaitRutubeWindow$cinit() { //MethodID:997, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function WaitRutubeWindow() { //MethodID:998, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script121¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:121 public dynamic class ScreenButtonSkin extends MovieClip { //static constructor public static function ScreenButtonSkin$cinit() { //MethodID:1000, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ScreenButtonSkin() { //MethodID:1001, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script122¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:122 public dynamic class PrevPageSearchButtonSkin extends MovieClip { //static constructor public static function PrevPageSearchButtonSkin$cinit() { //MethodID:1003, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PrevPageSearchButtonSkin() { //MethodID:1004, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script123¡ package DefaultSkin.Timeline{ import flash.display.MovieClip //¡class(instance)_index:123 public dynamic class TimelineSliderSkin extends MovieClip { //static constructor public static function TimelineSliderSkin$cinit() { //MethodID:1006, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function TimelineSliderSkin() { //MethodID:1007, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script124¡ //skip components :fl.controls.listClasses //as filename :CellRenderer.as //¡script125¡ //skip components :fl.controls //as filename :Button.as //¡script126¡ package{ import flash.display.MovieClip //¡class(instance)_index:126 public dynamic class ComboBox_overSkin extends MovieClip { //static constructor public static function ComboBox_overSkin$cinit() { //MethodID:1032, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ComboBox_overSkin() { //MethodID:1033, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script127¡ //skip components :fl.controls //as filename :List.as //¡script128¡ //skip components :fl.managers //as filename :IFocusManagerGroup.as //¡script129¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:129 public dynamic class MessageButtonSkin2 extends MovieClip { //static constructor public static function MessageButtonSkin2$cinit() { //MethodID:1071, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function MessageButtonSkin2() { //MethodID:1072, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script130¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:130 public dynamic class StarVoteSkin extends MovieClip { //static constructor public static function StarVoteSkin$cinit() { //MethodID:1074, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function StarVoteSkin() { //MethodID:1075, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script131¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:131 public dynamic class NextPageNavButtonSkin extends MovieClip { //static constructor public static function NextPageNavButtonSkin$cinit() { //MethodID:1077, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function NextPageNavButtonSkin() { //MethodID:1078, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script132¡ package DefaultSkin{ import flash.display.MovieClip //¡class(instance)_index:132 public dynamic class PlaylistButtonSkin2 extends MovieClip { //static constructor public static function PlaylistButtonSkin2$cinit() { //MethodID:1080, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlaylistButtonSkin2() { //MethodID:1081, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script133¡ //skip components :fl.events //as filename :InteractionInputType.as //¡script134¡ //skip components :fl.controls //as filename :ComboBox.as //¡script135¡ //skip components :fl.data //as filename :DataProvider.as //¡script136¡ package ru.rutube.managers.remote{ import flash.events.Event //¡class(instance)_index:136 public class RemoteEvent extends Event { //static constructor public static function RemoteEvent$cinit() { //MethodID:1188, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 66 EVENT_EXT_START = "startExt"; EVENT_EXT_PLAY = "playExt"; EVENT_EXT_PAUSE = "pauseExt"; EVENT_EXT_STOP = "stopExt"; EVENT_EXT_HIDE_PANELS = "hidePanelsExt"; EVENT_EXT_HIDE_TOP_PANEL = "hideTopPanel"; EVENT_EXT_RESIZE = "resize"; } //static variables/etc. public static const EVENT_EXT_START:String = "startExt"; //slotID:1 public static const EVENT_EXT_PLAY:String = "playExt"; //slotID:2 public static const EVENT_EXT_PAUSE:String = "pauseExt"; //slotID:3 public static const EVENT_EXT_STOP:String = "stopExt"; //slotID:4 public static const EVENT_EXT_HIDE_PANELS:String = "hidePanelsExt";//slotID:5 public static const EVENT_EXT_HIDE_TOP_PANEL:String = "hideTopPanel";//slotID:6 public static const EVENT_EXT_RESIZE:String = "resize"; //slotID:7 //constructor public function RemoteEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:1189, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9 super(hug1, hug2, hug3); } } } //¡script137¡ package ru.rutube.managers.advertisement{ import flash.events.TimerEvent import flash.external.ExternalInterface import flash.utils.Dictionary import flash.utils.Timer import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.event.AdvertisementEvent import ru.rutube.managers.advertisement.model.Advertisement import ru.rutube.managers.advertisement.model.adriver.AdriverSpecialFormats import ru.rutube.managers.advertisement.model.adriver.AdvertisementAdRiver import ru.rutube.managers.advertisement.model.adriver.AdvertisementRutubeXml import ru.rutube.managers.advertisement.model.adriver.BannerSiamTween import ru.rutube.managers.advertisement.model.context.AdvertisementContext import ru.rutube.managers.advertisement.model.context.begun.AdvertisementBegun import ru.rutube.managers.advertisement.model.context.yandexdirect.AdvertisementYandex import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.AdvertisingData import ru.rutube.managers.configuration.data.MetaInfo //¡class(instance)_index:137 public class AdvertisementManager extends Object { //static constructor public static function AdvertisementManager$cinit() { //MethodID:1191, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28 CONTEXT_BEGUN = "begun"; CONTEXT_YANDEX = "yandex"; _instance = null; } //static variables/etc. private static const CONTEXT_BEGUN:String = "begun"; //slotID:1 private static const CONTEXT_YANDEX:String = "yandex"; //slotID:2 private static var _instance:AdvertisementManager = null; //slotID:3 public static function get instance():AdvertisementManager { //dispID:3, MethodID:1192, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new AdvertisementManager(); return _instance; } //constructor public function AdvertisementManager() { //MethodID:1193, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 super(); if(_instance != null) throw new Error("You must call 'instance' for get object"); _instance = this; this.init(); } //variables/etc. private var timer:Timer = null; //slotID:0 private var advertisements:Dictionary = null; //slotID:0 private var bannerSiamTweens:Dictionary = null; //slotID:0 private function init():void { //MethodID:1194, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 78 this.advertisements = new Dictionary(); this.initSiams(); if(!ExternalInterface.available){ this.timer = new Timer(1000); this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerExternalCheck); this.timer.start(); }else{ this.listenerTimerExternalCheck(null); } } private function initSiams():void { //MethodID:1195, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 102 this.bannerSiamTweens = new Dictionary(); this.bannerSiamTweens[AdvertisementType.AD_PRE_ROLL] = new BannerSiamTween(AdvertisementType.AD_PRE_ROLL); this.bannerSiamTweens[AdvertisementType.AD_OVERLAY] = new BannerSiamTween(AdvertisementType.AD_OVERLAY); EventManager.instance.addEventListener(AdvertisementEvent.ADVERTISEMENT_SIAMTWEEN_LOADED, this.listenerSiamTweenLoaded); EventManager.instance.addEventListener(AdvertisementEvent.ADVERTISEMENT_BEGIN_SHOW, this.listenerShowAdvertisement); } public function resetAll():void { //MethodID:1196, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 53 var hug2:Object = null; var hug1:Advertisement = null; for(hug2 in this.advertisements){ delete this.advertisements[hug2]; } } public function getAdvertisement(hug1:int, hug2:Boolean=false):Advertisement { //MethodID:1197, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 116 var hug3:Advertisement = this.getAd(hug1); if(!hug3 || hug2){ if(hug1 == AdvertisementType.AD_BEGUN){ hug3 = this.createContext(); }else if([AdvertisementType.AD_BLIND, AdvertisementType.AD_PRE_ROLL, AdvertisementType.AD_PAUSE, AdvertisementType.AD_POST_ROLL, AdvertisementType.AD_OVERLAY].indexOf(hug1) > (-1)){ hug3 = this.createAdRiver(hug1); } } if(!hug3) hug3 = new Advertisement(hug1); return hug3; } public function reset(hug1:int):void { //MethodID:1198, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23 var hug2:Advertisement = this.getAd(hug1); if(hug2 != null) hug2.reset(); } public function isAdLoaded(hug1:int):Boolean { //MethodID:1199, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 23 var hug2:Advertisement = this.getAd(hug1); if(!hug2) return false; return hug2.isLoaded; } public function finishAllCheckSiamtwin():void { //MethodID:1200, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 50 var hug1:BannerSiamTween = null; this.clearTimer(); for each(hug1 in this.bannerSiamTweens){ hug1.finishCheckSiamtwin(); } } public function finishCheckSiamtwin(hug1:int):void { //MethodID:1201, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 113 var hug3:Boolean = false; var hug4:BannerSiamTween = null; var hug2:BannerSiamTween = (this.bannerSiamTweens[hug1] as BannerSiamTween); if(hug2){ hug2.finishCheckSiamtwin(); if(this.timer){ hug3 = true; for each(hug4 in this.bannerSiamTweens){ if(!hug4.canceled){ hug3 = false; break; } } if(hug3) this.clearTimer(); } hug2 = null; } } protected function getAd(hug1:int):Advertisement { //MethodID:1202, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 109 var hug3:AdvertisementAdRiver = null; var hug4:AdvertisementAdRiver = null; var hug2:Advertisement = null; if(hug1 == AdvertisementType.AD_POST_ROLL){ hug2 = (this.advertisements[AdvertisementType.AD_OVERLAY] as Advertisement); hug3 = (hug2 as AdvertisementAdRiver); if(hug3 != null){ if(hug3.adRutube.isTwinPresent){ hug4 = this.createAdRiver(AdvertisementType.AD_POST_ROLL); hug4.clone(hug3); return hug4; } } } hug2 = (this.advertisements[hug1] as Advertisement); return hug2; } private function createAdRiver(hug1:int):AdvertisementAdRiver { //MethodID:1203, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 314 var hug2:AdvertisementAdRiver = new AdvertisementAdRiver(hug1); var hug3:MetaInfo = ConfigurationManager.instance.metaInfo; var hug4:AdvertisingData = null; var hug5:int = hug1; switch(hug5){ case AdvertisementType.AD_BLIND: hug4 = ConfigurationManager.instance.playerConfig.getAdvertise(0); break; case AdvertisementType.AD_PRE_ROLL: hug4 = hug3.preView; break; case AdvertisementType.AD_PAUSE: hug4 = hug3.pauseView; break; case AdvertisementType.AD_POST_ROLL: hug4 = hug3.postView; break; case AdvertisementType.AD_OVERLAY: hug4 = hug3.overlayView; break; default: break; } if(hug4 != null){ hug2.url = hug4.urlContent; hug2.totalShow = hug4.showCount; } if(this.advertisements[hug1] != null){ (this.advertisements[hug1] as Advertisement).reset(); this.advertisements[hug1] = null; } this.advertisements[hug1] = hug2; return hug2; } private function createContext():AdvertisementContext { //MethodID:1204, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 216 var hug1:AdvertisementContext = null; switch(ConfigurationManager.instance.metaInfo.context_povider){ case CONTEXT_YANDEX: hug1 = new AdvertisementYandex(AdvertisementType.AD_BEGUN); break; default: hug1 = new AdvertisementBegun(AdvertisementType.AD_BEGUN); break; } hug1.url = ConfigurationManager.instance.metaInfo.urlContextAdvertisement; hug1.keywords = ConfigurationManager.instance.metaInfo.movieKeywords; hug1.reference = ConfigurationManager.instance.flashVariablesConfig.referrer; if(this.advertisements[AdvertisementType.AD_BEGUN] != null){ (this.advertisements[AdvertisementType.AD_BEGUN] as Advertisement).reset(); this.advertisements[AdvertisementType.AD_BEGUN] = null; } this.advertisements[AdvertisementType.AD_BEGUN] = hug1; return hug1; } private function listenerTimerExternalCheck(hug1:TimerEvent):void { //MethodID:1205, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 60 if(this.timer != null){ if((this.timer.currentCount > 20) || ExternalInterface.available) this.clearTimer(); } if(!ExternalInterface.available) return; this.LoadBannerSiamTweens(); } private function listenerShowAdvertisement(hug1:AdvertisementEvent):void { //MethodID:1206, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 69 var hug3:Advertisement = null; var hug4:AdvertisementAdRiver = null; var hug2:BannerSiamTween = this.bannerSiamTweens[hug1.adType]; if(hug2){ hug3 = AdvertisementManager.instance.getAdvertisement(hug1.adType); hug4 = (hug3 as AdvertisementAdRiver); if(hug4.isSiam) hug2.notifyLoaded(); } } private function listenerSiamTweenLoaded(hug1:AdvertisementEvent):void { //MethodID:1207, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 212 var hug3:Advertisement = null; var hug4:AdvertisementAdRiver = null; var hug2:BannerSiamTween = this.bannerSiamTweens[hug1.adType]; if(hug2){ hug3 = AdvertisementManager.instance.getAdvertisement(hug1.adType); hug4 = (hug3 as AdvertisementAdRiver); hug4.adRutube.bannerUrl = hug2.show; hug4.adRiver.clickURL = hug2.click; hug4.adRiver.urlEvent = hug2.event; hug4.isSiam = true; hug4.specialFormat = AdriverSpecialFormats.ASF_MAIN; if(hug4.adRutube.bannerUrl.indexOf(".swf")){ hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_SWF; }else if(hug4.adRutube.bannerUrl.indexOf(".flv")){ hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_FLV; }else{ hug4.adRutube.bannerType = AdvertisementRutubeXml.BANNER_IMG; } this.clearTimer(); hug4 = null; hug3 = null; hug2 = null; } } private function clearTimer():void { //MethodID:1208, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 53 if(this.timer != null){ this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerExternalCheck); if(this.timer.running) this.timer.reset(); this.timer = null; } } private function LoadBannerSiamTweens():void { //MethodID:1209, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 49 var hug1:BannerSiamTween = null; for each(hug1 in this.bannerSiamTweens){ (hug1 as BannerSiamTween).startCheckSiamtween(); } } } } //¡script138¡ package ru.rutube.manager.extern{ import flash.events.Event import flash.events.TimerEvent import flash.external.ExternalInterface import flash.utils.Timer import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager //¡class(instance)_index:138 public class ExternalJSController extends Object { //static constructor public static function ExternalJSController$cinit() { //MethodID:1211, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 TOTAL_CHECK_COUNT = 30; _instance = null; } //static variables/etc. private static const TOTAL_CHECK_COUNT:int = 30; //slotID:1 private static var _instance:ExternalJSController = null; //slotID:2 public static function get instance():ExternalJSController { //dispID:3, MethodID:1212, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 if(_instance == null){ _instance = new ExternalJSController(); _instance.init(); } return _instance; } //constructor public function ExternalJSController() { //MethodID:1213, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 super(); if(_instance != null) throw new Error("Must use ExternalNotifier.instance method for get object"); _instance = this; } //variables/etc. private var timer:Timer = null; //slotID:0 private var checkCount:int = 0; //slotID:0 private function init():void { //MethodID:1214, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.listenerTimerCheck(); } private function extRutubePlay():int { //MethodID:1215, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY)); return 100; } private function extRutubePause():int { //MethodID:1216, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT)); return 101; } private function extRutubeStop():int { //MethodID:1217, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 24 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_STOP)); return 102; } private function listenerTimerCheck(hug1:TimerEvent=null):void { //MethodID:1218, LocalCount= 5 , MaxScope= 7, MaxStack= 6, CodeLength= 320 internal var tEvent:TimerEvent = null; //slotID:1 internal var externalAvalible:Boolean; //slotID:2 tEvent = hug1; externalAvalible = false; this.checkCount++; try{ externalAvalible = ExternalInterface.available; } catch(err:Error){ externalAvalible = false; } if(externalAvalible){ if(this.timer != null){ if(this.timer.running) this.timer.reset(); this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheck); this.timer = null; } try{ ExternalInterface.addCallback("rutubePlay", this.extRutubePlay); ExternalInterface.addCallback("rutubePause", this.extRutubePause); ExternalInterface.addCallback("rutubeStop", this.extRutubeStop); } catch(err:Error){ } }else{ if(this.checkCount > TOTAL_CHECK_COUNT){ if(this.timer != null){ if(this.timer.running) this.timer.reset(); this.timer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheck); this.timer = null; } return; } if(!this.timer){ this.timer = new Timer(1000); this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerCheck, false, 0, true); } if(!this.timer.running) this.timer.start(); } } } } //¡script139¡ package ru.rutube.managers.content{ import fl.events.ComponentEvent import flash.display.DisplayObject import flash.display.DisplayObjectContainer import flash.geom.Rectangle import flash.utils.Dictionary //¡class(instance)_index:139 public class ContentManager extends Object { //static constructor public static function ContentManager$cinit() { //MethodID:1220, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 MAIN_PLAYER = 0; _instance = null; } //static variables/etc. public static const MAIN_PLAYER:int = 0; //slotID:1 private static var _instance:ContentManager = null; //slotID:2 public static function get instance():ContentManager { //dispID:3, MethodID:1221, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new ContentManager(); return _instance; } //constructor public function ContentManager() { //MethodID:1222, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 super(); if(_instance != null) throw new Error("You must call instance for get object"); _instance = this; this.init(); } //variables/etc. private var contents:Dictionary = null; //slotID:0 private function init():void { //MethodID:1223, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 this.contents = new Dictionary(); } public function getContentById(hug1:int=0, hug2:Boolean=false, hug3:Class=null):DisplayObject { //MethodID:1224, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 58 var hug4:DisplayObject = this.contents[hug1]; if(!hug4 && hug2 && (hug3 != null)){ hug4 = new hug3(); this.contents[hug1] = hug4; } return hug4; } public function setContentById(hug1:int, hug2:DisplayObject):void { //MethodID:1225, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12 this.contents[hug1] = hug2; } public function removeContentById(hug1:int):DisplayObject { //MethodID:1226, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 47 var hug2:DisplayObject = null; if(this.contents[hug1] != null){ this.removeContent(hug1); hug2 = this.contents[hug1]; delete this.contents[hug1]; } return hug2; } public function getContainer(hug1:int=0):DisplayObjectContainer { //MethodID:1227, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 12 return RutubePlayer.instance.getContainer(); } public function get playerIsChild():Boolean { //MethodID:1228, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 36 var hug1:DisplayObjectContainer = RutubePlayer.instance.getContainer(); if(hug1.parent != null) return (hug1.parent != hug1.stage); return false; } public function getContainerRectangle():Rectangle { //MethodID:1229, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 87 var hug1:Rectangle = null; var hug2:DisplayObjectContainer = RutubePlayer.instance.getContainer(); if((hug2.parent != null) && (hug2.parent != hug2.stage)){ hug1 = new Rectangle(); hug1.width = hug2.parent.width; hug1.height = hug2.parent.height; return hug1; } return RutubePlayer.instance.getStageBounds(); } public function isAlreadyOnContainer(hug1:int):Boolean { //MethodID:1230, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 33 var hug2:DisplayObject = this.getContentById(hug1); if(!hug2) return false; return RutubePlayer.instance.getContainer().contains(hug2); } public function bringToTop(hug1:int):void { //MethodID:1231, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 45 var hug2:DisplayObject = this.getContentById(hug1); if(!hug2) return; return RutubePlayer.instance.getContainer().setChildIndex(hug2, (RutubePlayer.instance.getContainer().numChildren - 1)); } public function addContent(hug1:int, hug2:int=0):DisplayObject { //MethodID:1232, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 68 var hug3:DisplayObject = this.contents[hug1]; if(hug3 != null){ if(!RutubePlayer.instance.getContainer().contains(hug3)){ RutubePlayer.instance.getContainer().addChild(hug3); hug3.dispatchEvent(new ComponentEvent(ComponentEvent.RESIZE)); } } return hug3; } public function removeContent(hug1:int, hug2:int=0):DisplayObject { //MethodID:1233, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 73 var hug3:DisplayObject = this.getContentById(hug1); if(hug3 != null){ if(RutubePlayer.instance.getContainer().contains(hug3)){ RutubePlayer.instance.getContainer().removeChild(hug3); }else if(hug3.parent != null){ hug3.parent.removeChild(hug3); } } return hug3; } public function removeAllContent(hug1:int=0):void { //MethodID:1234, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 67 var hug2:int = hug1; switch(hug2){ case MAIN_PLAYER: RutubePlayer.instance.removeAllChildrens(); break; default: break; } } } } //¡script140¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:140 public class PlayerStateEvent extends Event { //static constructor public static function PlayerStateEvent$cinit() { //MethodID:1236, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 CHANGE_PLAYER_STATE = "CHANGE_PLAYER_STATE"; } //static variables/etc. public static const CHANGE_PLAYER_STATE:String = "CHANGE_PLAYER_STATE";//slotID:1 //constructor public function PlayerStateEvent(hug1:String="CHANGE_PLAYER_STATE", hug2:int=-1) { //MethodID:1237, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12 super(hug1); this.needState = hug2; } //variables/etc. public var needState:int = -1; //slotID:0 override public function clone():Event { //MethodID:1238, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15 return new PlayerStateEvent(type, this.needState); } } } //¡script141¡ package ru.rutube.managers.statistic.player{ import flash.net.URLRequest import flash.net.sendToURL import flash.utils.getTimer import ru.rutube.managers.configuration.data.FlashVariablesConfig //¡class(instance)_index:141 public class PlayerStatistic extends Object { //static constructor public static function PlayerStatistic$cinit() { //MethodID:1240, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43 NONE = 0; LOADING_PLAYER = 1; LOADING_ADVERTISEMENT = 2; STATISTIC_URL = "http://rutube.ru/dbg/player_stat"; _instance = null; } //static variables/etc. public static const NONE:int = 0; //slotID:1 public static const LOADING_PLAYER:int = 1; //slotID:2 public static const LOADING_ADVERTISEMENT:int = 2; //slotID:3 protected static const STATISTIC_URL:String = "http://rutube.ru/dbg/player_stat";//slotID:4 private static var _instance:PlayerStatistic = null; //slotID:5 public static function get instance():PlayerStatistic { //dispID:3, MethodID:1241, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new PlayerStatistic(); return _instance; } //constructor public function PlayerStatistic() { //MethodID:1242, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43 super(); if(_instance != null) throw new Error("Need use \"instance\" static property"); this.statLoadingPlayer = new StatisticLoadingPlayer(); _instance = this; } //variables/etc. private var _statisticAdvertisementLoading:StatisticAdvertisementLoading = null;//slotID:0 private var statLoadingPlayer:StatisticLoadingPlayer = null; //slotID:0 public function get statisticAdvertisementLoading():StatisticAdvertisementLoading { //MethodID:1243, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(!this._statisticAdvertisementLoading) this._statisticAdvertisementLoading = new StatisticAdvertisementLoading(); return this._statisticAdvertisementLoading; } public function get playerLoadingTime():Number { //MethodID:1244, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 return ((this.statLoadingPlayer.finishLoadingPlayerTime - this.statLoadingPlayer.startLoadingPlayerTime) / 1000); } public function startPlayerLoading():void { //MethodID:1245, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.statLoadingPlayer.startLoadingPlayerTime = getTimer(); } public function finishPlayerLoading():void { //MethodID:1246, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.statLoadingPlayer.finishLoadingPlayerTime = getTimer(); } public function startLoadingXML():void { //MethodID:1247, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.statLoadingPlayer.startLoadingXmlTime = getTimer(); } public function finishLoadingXML():void { //MethodID:1248, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.statLoadingPlayer.finishLoadingXmlTime = getTimer(); } public function flashVariables(hug1:FlashVariablesConfig):void { //MethodID:1249, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 48 var hug2:String = ("UC:" + hug1.urlContent + "REF:" + hug1.referrer + "UX:" + hug1.urlMetaInfoXml + "UL" + hug1.loaderUrl); this.statLoadingPlayer.flashVariables = hug2; } public function setMetaInfo(hug1:Object):void { //MethodID:1250, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function setBalancerAnswer(hug1:String):void { //MethodID:1251, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.statLoadingPlayer.balancerUrl = hug1; } public function sendBandwidth(hug1:Number):void { //MethodID:1252, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 31 var hug2:URLRequest = new URLRequest(STATISTIC_URL); hug2.data = ("bandwidth:" + hug1); sendToURL(hug2); } public function sendInfo(hug1:int=0):void { //MethodID:1253, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 132 if(hug1 == NONE) return; var hug2:URLRequest = new URLRequest(STATISTIC_URL); var hug3:int = hug1; switch(hug3){ case LOADING_PLAYER: hug2.data = this.statLoadingPlayer.toString(); break; case LOADING_ADVERTISEMENT: hug2.data = this.statisticAdvertisementLoading.toString(); break; default: break; } sendToURL(hug2); } } } //¡script142¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:142 public class InternalEvent extends Event { //static constructor public static function InternalEvent$cinit() { //MethodID:1255, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 102 COMPLETE = "complete"; ERROR = "error"; PROGRESS = "progress"; STATUS = "status"; COMMAND = "command"; BUTTON = "button"; CLOSE = "close"; STAGE = "stage"; FREE = "free"; CONTROL_PANEL_EVENT = "controlPanelEvent"; BANDWIDTH = "bandwidth"; } //static variables/etc. public static const COMPLETE:String = "complete"; //slotID:1 public static const ERROR:String = "error"; //slotID:2 public static const PROGRESS:String = "progress"; //slotID:3 public static const STATUS:String = "status"; //slotID:4 public static const COMMAND:String = "command"; //slotID:5 public static const BUTTON:String = "button"; //slotID:6 public static const CLOSE:String = "close"; //slotID:7 public static const STAGE:String = "stage"; //slotID:8 public static const FREE:String = "free"; //slotID:9 public static const CONTROL_PANEL_EVENT:String = "controlPanelEvent";//slotID:10 public static const BANDWIDTH:String = "bandwidth"; //slotID:11 //constructor public function InternalEvent(hug1:String, hug2:int, hug3:String, hug4:*=null) { //MethodID:1256, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 23 super(hug1); this.sourceId = hug2; this.data = hug4; this.eventType = hug3; } //variables/etc. public var eventType:String = ""; //slotID:0 public var sourceId:int = 0; //slotID:0 public var data:* = null; //slotID:0 override public function clone():Event { //MethodID:1257, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 23 return new InternalEvent(type, this.sourceId, this.eventType, this.data); } } } //¡script143¡ package ru.rutube.managers.statistic.google{ import com.google.analytics.AnalyticsTracker import com.google.analytics.GATracker import com.google.analytics.core.TrackerMode import flash.display.DisplayObject import flash.display.Sprite import flash.events.IEventDispatcher import flash.events.TimerEvent import flash.utils.Timer import ru.rutube.event.GoogleEvent //¡class(instance)_index:143 public class GoogleAnalytics extends Object { //static constructor public static function GoogleAnalytics$cinit() { //MethodID:1259, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:GoogleAnalytics = null; //slotID:1 public static function get instance():GoogleAnalytics { //dispID:3, MethodID:1260, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new GoogleAnalytics(); return _instance; } //constructor public function GoogleAnalytics() { //MethodID:1261, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35 super(); if(!_instance){ _instance = this; }else{ throw new Error("Use \"instance\" method to get object"); } } //variables/etc. private var _eventDispatcher:IEventDispatcher = null; //slotID:0 private var waitingEvents:Array = null; //slotID:0 private var _displayObject:DisplayObject = null; //slotID:0 private var checkAvalibleTimer:Timer = null; //slotID:0 private var _isExternal:Boolean = true; //slotID:0 private var tracker:AnalyticsTracker = null; //slotID:0 public function set eventDispatcher(hug1:IEventDispatcher):void { //MethodID:1262, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 60 if(this._eventDispatcher != null) this._eventDispatcher.removeEventListener(GoogleEvent.GOOGLE_ANALYTICS_TRACK, this.listenerTrackEvent); this._eventDispatcher = hug1; if(this._eventDispatcher != null) this._eventDispatcher.addEventListener(GoogleEvent.GOOGLE_ANALYTICS_TRACK, this.listenerTrackEvent); } public function get isAvalible():Boolean { //MethodID:1263, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.tracker != null); } public function init(hug1:Boolean=false):void { //MethodID:1264, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 338 internal var isExternal:Boolean = false; //slotID:1 internal var accountStr:String; //slotID:2 internal var mode:String; //slotID:3 internal var event:GoogleEvent; //slotID:4 event = null; isExternal = hug1; accountStr = ""; mode = TrackerMode.AS3; if(isExternal){ mode = TrackerMode.AS3; accountStr = "UA-1993757-1"; }else{ mode = TrackerMode.BRIDGE; accountStr = "window.mainTracker"; } try{ this.tracker = new GATracker(this.displayObject, accountStr, mode, false); } catch(err:Error){ tracker = null; } if(!this.tracker){ if(this.checkAvalibleTimer != null) return; this._isExternal = isExternal; this.checkAvalibleTimer = new Timer(1500, 20); this.checkAvalibleTimer.addEventListener(TimerEvent.TIMER, this.listenerTimerCheckTracker); this.checkAvalibleTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.listenerTimerCheckTracker); this.checkAvalibleTimer.start(); }else{ if(this.checkAvalibleTimer != null){ this.checkAvalibleTimer.removeEventListener(TimerEvent.TIMER, this.listenerTimerCheckTracker); this.checkAvalibleTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, this.listenerTimerCheckTracker); this.checkAvalibleTimer.reset(); this.checkAvalibleTimer = null; } event = null; if(this.waitingEvents != null){ event = this.waitingEvents.shift(); while(this.waitingEvents.shift() != null){ this.listenerTrackEvent(event); } } this.waitingEvents = null; } } public function set displayObject(hug1:DisplayObject):void { //MethodID:1265, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._displayObject = hug1; } public function get displayObject():DisplayObject { //MethodID:1266, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 23 if(!this._displayObject) return new Sprite(); return this._displayObject; } private function listenerTrackEvent(hug1:GoogleEvent):void { //MethodID:1267, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 65 if(this.isAvalible){ this.tracker.trackEvent(hug1.category, hug1.action, hug1.label, hug1.value); }else{ if(!this.waitingEvents) this.waitingEvents = new Array(); this.waitingEvents.push(hug1); } } private function listenerTimerCheckTracker(hug1:TimerEvent):void { //MethodID:1268, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 31 this.init((hug1.type == TimerEvent.TIMER_COMPLETE) ? true : this._isExternal); } } } //¡script144¡ package ru.rutube.manager.extern{ //¡class(instance)_index:144 public class ExternalFunctId extends Object { //static constructor public static function ExternalFunctId$cinit() { //MethodID:1270, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 FUNCTION_NONE = 0; FUNCTION_OPEN_CONTENT_PAGE = 1; } //static variables/etc. public static const FUNCTION_NONE:int = 0; //slotID:1 public static const FUNCTION_OPEN_CONTENT_PAGE:int = 1; //slotID:2 //constructor public function ExternalFunctId() { //MethodID:1271, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script145¡ package ru.rutube.managers.state{ import flash.events.Event import flash.utils.clearTimeout import flash.utils.getTimer import flash.utils.setTimeout import ru.rutube.event.ChangePlayerStateEvent import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent import ru.rutube.managers.remote.RemoteEvent import ru.rutube.managers.remote.RemotePlayerControl import ru.rutube.states.EndExternalPlayerState import ru.rutube.states.EndPlayerState import ru.rutube.states.EndRutubePlayerState import ru.rutube.states.IPlayerState import ru.rutube.states.InitPlayerState import ru.rutube.states.PauseAdvertisementPlayerState import ru.rutube.states.PlayPlayerState import ru.rutube.states.PlayerState import ru.rutube.states.PostAdvertisementPlayerState import ru.rutube.states.PrePlayAdvertisementState import ru.rutube.states.PreloadPlayerState import ru.rutube.states.PreplayPlayerState //¡class(instance)_index:145 public final class PlayerStatesManager extends Object { //static constructor public static function PlayerStatesManager$cinit() { //MethodID:1273, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 166 stateIds = [PlayerState.INIT_STATE, PlayerState.PRELOAD_STATE, PlayerState.PREPLAY_STATE, PlayerState.PREPLAY_AD_STATE, PlayerState.PLAY_STATE, PlayerState.PAUSE_STATE, PlayerState.POST_AD_STATE, PlayerState.END_SCREEN_STATE, PlayerState.END_SCREEN_RUTUBE_STATE, PlayerState.END_SCREEN_EXTERNAL_STATE]; stateIdClasses = [InitPlayerState, PreloadPlayerState, PreplayPlayerState, PrePlayAdvertisementState, PlayPlayerState, PauseAdvertisementPlayerState, PostAdvertisementPlayerState, EndPlayerState, EndRutubePlayerState, EndExternalPlayerState]; playerStatesQuery = [PlayerState.INIT_STATE, PlayerState.PRELOAD_STATE, PlayerState.PREPLAY_STATE, PlayerState.PLAY_STATE, PlayerState.PAUSE_STATE, PlayerState.POST_AD_STATE, PlayerState.END_SCREEN_STATE]; _instance = null; } //static variables/etc. public static const stateIds:Array; //slotID:1 public static const stateIdClasses:Array; //slotID:2 private static const playerStatesQuery:Array; //slotID:3 private static var _instance:PlayerStatesManager = null; //slotID:4 public static function get instance():PlayerStatesManager { //dispID:3, MethodID:1274, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new PlayerStatesManager(); return _instance; } //constructor public function PlayerStatesManager() { //MethodID:1275, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 57 this.currentStateId = PlayerState.STATE_NONE; this.nextStateId = PlayerState.STATE_NONE; super(); if(_instance != null) throw new Error("You must call instance for get object"); _instance = this; this.init(); } //variables/etc. private var currentStateId:int; //slotID:0 private var currentState:IPlayerState = null; //slotID:0 private var nextStateId:int; //slotID:0 private var timeOutId:uint = 0; //slotID:0 private function init():void { //MethodID:1276, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 290 this.currentState = new PlayerState(); EventManager.instance.addEventListener(InternalEvent.COMPLETE, this.handleInternalEvent); EventManager.instance.addEventListener(InternalEvent.ERROR, this.handleInternalEvent); EventManager.instance.addEventListener(InternalEvent.COMMAND, this.handleInternalCommandEvent); EventManager.instance.addEventListener(InternalEvent.PROGRESS, this.handleInternalProgressEvent); EventManager.instance.addEventListener(InternalEvent.CLOSE, this.handleInternalCloseEvent); EventManager.instance.addEventListener(InternalEvent.BUTTON, this.handleInternalButtonEvent); EventManager.instance.addEventListener(InternalEvent.FREE, this.handleInternalFreeEvent); EventManager.instance.addEventListener(InternalEvent.CONTROL_PANEL_EVENT, this.handleControlPanelEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_HIDE_PANELS, this.handleRemoteEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_PAUSE, this.handleRemoteEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_PLAY, this.handleRemoteEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_RESIZE, this.handleRemoteEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_START, this.handleRemoteEvent); EventManager.instance.addEventListener(RemoteEvent.EVENT_EXT_STOP, this.handleRemoteEvent); EventManager.instance.addEventListener(ChangePlayerStateEvent.CHANGE_PLAYER_STATE, this.handlePlayerStateEvent); } public function getCurrentState():IPlayerState { //MethodID:1277, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 20 if(!this.currentState) this.init(); return this.currentState; } public function getCurrentStateId():int { //MethodID:1278, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.currentState.getCurrentStateId(); } public function changePlayerState(hug1:int):void { //MethodID:1279, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 72 var hug2:int = -1; hug2 = stateIds.indexOf(hug1); if(hug2 > (-1)){ this.nextStateId = stateIds[hug2]; if(this.timeOutId > 0) clearTimeout(this.timeOutId); this.timeOutId = setTimeout(this.changeState, 120); } } public function getPlayerState(hug1:int):IPlayerState { //MethodID:1280, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 64 var hug4:Class = null; var hug2:IPlayerState = null; var hug3:int = stateIds.indexOf(hug1); if(hug3 > (-1)){ hug4 = stateIdClasses[hug3]; hug2 = (new hug4() as IPlayerState); }else{ hug2 = new PlayerState(); } return hug2; } public function getFirstStateId():int { //MethodID:1281, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return PlayerState.INIT_STATE; } public function reset():void { //MethodID:1282, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28 this.currentStateId = PlayerState.STATE_NONE; this.currentState = null; this.nextStateId = PlayerState.STATE_NONE; } private function handleInternalFreeEvent(hug1:InternalEvent):void { //MethodID:1283, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.reset(); } private function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1284, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleInternalEvent(hug1); } private function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1285, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleInternalButtonEvent(hug1); } private function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1286, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleInternalCommandEvent(hug1); } private function handleControlPanelEvent(hug1:InternalEvent):Boolean { //MethodID:1287, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 19 return this.getCurrentState().handleControlPanelEvent(hug1.data as ControlPanelEvent); } private function handleInternalProgressEvent(hug1:InternalEvent):Boolean { //MethodID:1288, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleInternalProgressEvent(hug1); } private function handleInternalCloseEvent(hug1:InternalEvent):Boolean { //MethodID:1289, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleInternalCloseEvent(hug1); } private function handleMouseRoll(hug1:Boolean):Boolean { //MethodID:1290, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return this.getCurrentState().handleMouseRoll(hug1); } private function handleRemoteEvent(hug1:Event):Boolean { //MethodID:1291, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return this.getCurrentState().handleRemoteEvent(hug1.type); } private function handlePlayerStateEvent(hug1:ChangePlayerStateEvent):Boolean { //MethodID:1292, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 178 trace("handlePSEvent(" + hug1.state + ")"); switch(hug1.state){ case PlayerState.PLAY_STATE: case PlayerState.STATE_STARTED: RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_PLAYING); break; case PlayerState.STATE_STOPPED: RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_FINISHED); break; default: RemotePlayerControl.instance().changeState(RemotePlayerControl.STATE_PAUSED); break; } return true; } private function changeState():IPlayerState { //MethodID:1293, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 250 if(this.timeOutId > 0) clearTimeout(this.timeOutId); this.timeOutId = 0; if((this.currentStateId == this.nextStateId) || (this.nextStateId == PlayerState.STATE_NONE)) return this.getCurrentState(); trace("Change state"); trace("Old state: " + this.currentStateId); trace("New state: " + this.nextStateId); if(this.currentState != null){ this.currentState.releaseView(); this.currentState.destroy(); this.currentState = null; } this.currentStateId = this.nextStateId; this.nextStateId = PlayerState.STATE_NONE; this.currentState = this.getPlayerState(this.currentStateId); trace("START: " + getTimer()); if(this.currentState != null){ this.currentState.create(); this.currentState.prepareView(); this.currentState.service(); } trace("STOP: " + getTimer()); trace("-----------------------------------"); return this.currentState; } } } //¡script146¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:146 public class RestartEvent extends Event { //static constructor public static function RestartEvent$cinit() { //MethodID:1295, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 RESTART = "RESTART"; } //static variables/etc. public static const RESTART:String = "RESTART"; //slotID:1 //constructor public function RestartEvent(hug1:String, hug2:Object) { //MethodID:1296, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.flashVars = hug2; super(hug1); } //variables/etc. public var flashVars:Object; //slotID:0 override public function clone():Event { //MethodID:1297, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15 return new RestartEvent(type, this.flashVars); } } } //¡script147¡ package ru.rutube.event{ import flash.display.Stage import flash.events.Event import flash.events.EventDispatcher import flash.events.FullScreenEvent import flash.events.IEventDispatcher import flash.events.KeyboardEvent import flash.events.MouseEvent //¡class(instance)_index:147 public class EventManager extends EventDispatcher { //static constructor public static function EventManager$cinit() { //MethodID:1299, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 _instance = null; stage = null; } //static variables/etc. private static var _instance:EventManager = null; //slotID:1 private static var stage:Stage = null; //slotID:2 public static function get instance():EventManager { //dispID:3, MethodID:1300, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new EventManager(); return _instance; } //constructor public function EventManager(hug1:IEventDispatcher=null) { //MethodID:1301, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32 super(hug1); if(_instance) throw new Error("Use 'instance' property for get object"); _instance = this; } //variables/etc. public function addStageListeners(hug1:Stage=null):void { //MethodID:1302, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 208 if(!hug1){ if((RutubePlayer.instance.getContainer() != null) && (RutubePlayer.instance.getContainer().stage != null)) EventManager.stage = RutubePlayer.instance.getContainer().stage; }else{ EventManager.stage = hug1; } if(!EventManager.stage) return; EventManager.stage.addEventListener(MouseEvent.MOUSE_MOVE, this.listenerStageMouse); EventManager.stage.addEventListener(MouseEvent.MOUSE_UP, this.listenerStageMouse); EventManager.stage.addEventListener(MouseEvent.ROLL_OUT, this.listenerStageMouse); EventManager.stage.addEventListener(KeyboardEvent.KEY_UP, this.listenerStageKeyboard); EventManager.stage.addEventListener(Event.MOUSE_LEAVE, this.listenerStageEvents); EventManager.stage.addEventListener(FullScreenEvent.FULL_SCREEN, this.listenerStageFullScreenEvent); EventManager.stage.addEventListener(Event.RESIZE, this.listenerStageEvents); } public function removeStageListeners(hug1:Stage=null):void { //MethodID:1303, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 192 if(!hug1){ if((RutubePlayer.instance.getContainer() != null) && (RutubePlayer.instance.getContainer().stage != null)) hug1 = RutubePlayer.instance.getContainer().stage; } if(!hug1) return; EventManager.stage.removeEventListener(MouseEvent.MOUSE_MOVE, this.listenerStageMouse); EventManager.stage.removeEventListener(MouseEvent.MOUSE_UP, this.listenerStageMouse); EventManager.stage.removeEventListener(MouseEvent.ROLL_OUT, this.listenerStageMouse); EventManager.stage.removeEventListener(KeyboardEvent.KEY_UP, this.listenerStageKeyboard); EventManager.stage.removeEventListener(Event.MOUSE_LEAVE, this.listenerStageEvents); EventManager.stage.removeEventListener(FullScreenEvent.FULL_SCREEN, this.listenerStageFullScreenEvent); EventManager.stage.removeEventListener(Event.RESIZE, this.listenerStageEvents); } override public function dispatchEvent(hug1:Event):Boolean { //MethodID:1304, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 70 var hug2:Boolean = false; if(hug1 is InternalEvent){ if(hug1.type == InternalEvent.FREE) this.removeStageListeners(stage); }else if(hug1 is ControlPanelEvent){ hug1 = new InternalEvent(InternalEvent.CONTROL_PANEL_EVENT, 0, null, hug1); } super.dispatchEvent(hug1); return true; } private function listenerStageMouse(hug1:MouseEvent):void { //MethodID:1305, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 31 var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, "", hug1); this.dispatchEvent(hug2); } private function listenerStageEvents(hug1:Event):void { //MethodID:1306, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 33 var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, hug1.type, hug1); this.dispatchEvent(hug2); } private function listenerStageFullScreenEvent(hug1:FullScreenEvent):void { //MethodID:1307, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 33 var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, hug1.type, hug1); this.dispatchEvent(hug2); } private function listenerStageKeyboard(hug1:KeyboardEvent):void { //MethodID:1308, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 47 if(EventManager.stage != hug1.target) return; var hug2:InternalEvent = new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE_KEYBOARD, hug1.type, hug1); this.dispatchEvent(hug2); } } } //¡script148¡ package Components{ import flash.display.DisplayObject import flash.events.MouseEvent //¡class(instance)_index:148 public class Hint extends Object { //static constructor public static function Hint$cinit() { //MethodID:1310, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Hint(hug1:DisplayObject):void { //MethodID:1311, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.object = hug1; } //variables/etc. private var isHinting:Boolean = false; //slotID:0 private var message:String = ""; //slotID:0 private var object:DisplayObject = null; //slotID:0 public function set value(hug1:String):void { //MethodID:1312, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 119 HintDispatcher.hide(); this.message = hug1; if(Boolean(hug1) != this.isHinting){ this.isHinting = Boolean(hug1); if(this.isHinting){ this.object.addEventListener(MouseEvent.ROLL_OVER, this.onOverHandler); this.object.addEventListener(MouseEvent.ROLL_OUT, this.onRollOutHandler); }else{ this.object.removeEventListener(MouseEvent.ROLL_OVER, this.onOverHandler); this.object.removeEventListener(MouseEvent.ROLL_OUT, this.onRollOutHandler); } } } public function get value():String { //MethodID:1313, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.message; } private function onOverHandler(hug1:MouseEvent):void { //MethodID:1314, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 HintDispatcher.show(this.message); } private function onRollOutHandler(hug1:MouseEvent):void { //MethodID:1315, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 10 HintDispatcher.hide(); } } } //¡script149¡ package ru.rutube.managers.advertisement.model.adriver{ //¡class(instance)_index:149 public class AdriverSpecialFormats extends Object { //static constructor public static function AdriverSpecialFormats$cinit() { //MethodID:1317, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35 ASF_NONE = -1; ASF_MAIN = 0; ASF_SMARTCLIP = 1; ASF_MEDIA_MIND = 2; } //static variables/etc. public static const ASF_NONE:int = -1; //slotID:1 public static const ASF_MAIN:int = 0; //slotID:2 public static const ASF_SMARTCLIP:int = 1; //slotID:3 public static const ASF_MEDIA_MIND:int = 2; //slotID:4 //constructor public function AdriverSpecialFormats() { //MethodID:1318, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script150¡ package ru.rutube.managers.advertisement.model{ import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLLoader import flash.net.URLRequest import flash.utils.clearTimeout import flash.utils.setTimeout import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.event.AdvertisementModelEvent //¡class(instance)_index:150 public class Advertisement extends Object { //static constructor public static function Advertisement$cinit() { //MethodID:1320, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Advertisement(hug1:int) { //MethodID:1321, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.type = hug1; } //variables/etc. protected var loaded:Boolean = false; //slotID:0 protected var timeoutVar:uint = 0; //slotID:0 protected var _reference:String = ""; //slotID:0 protected var state:int = 0; //slotID:0 protected var currentShowCount:int = 0; //slotID:0 protected var urlLoader:URLLoader = null; //slotID:0 protected var totalShowCount:int = 1; //slotID:0 protected var loadUrl:String = ""; //slotID:0 protected var type:int = 0; //slotID:0 public function get advertisementId():String { //MethodID:1322, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return ""; } public function set url(hug1:String):void { //MethodID:1323, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.loadUrl = hug1; if(!this.loadUrl) this.loadUrl = ""; } public function get url():String { //MethodID:1324, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.loadUrl.concat(); } public function set reference(hug1:String):void { //MethodID:1325, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this._reference = hug1; if(!this._reference) this._reference = ""; } public function get reference():String { //MethodID:1326, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._reference.concat(); } public function set totalShow(hug1:int):void { //MethodID:1327, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29 this.totalShowCount = hug1; if(isNaN(this.totalShowCount)) this.totalShowCount = 1; } public function get isAvalibleShowCount():Boolean { //MethodID:1328, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 return (this.totalShowCount > this.currentShowCount); } public function get adType():int { //MethodID:1329, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.type; } public function inProgress():Boolean { //MethodID:1330, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.urlLoader != null); } public function get isLoaded():Boolean { //MethodID:1331, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function clear():void { //MethodID:1332, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function reset():void { //MethodID:1333, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 this.currentShowCount = 0; this.totalShowCount = 1; this.loadUrl = ""; this.state = 0; this.removeListeners(); } public function load():Boolean { //MethodID:1334, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 90 if(this.timeoutVar > 0) clearTimeout(this.timeoutVar); this.timeoutVar = 0; if(!this.loadUrl) return false; if((this.loadUrl.length < 1) || (this.urlLoader != null)) return false; this.state = 0; this.innerLoad(new URLRequest(this.loadUrl)); return true; } public function delayedLoad(hug1:Number=10.0):void { //MethodID:1335, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 74 if(this.timeoutVar > 0) clearTimeout(this.timeoutVar); this.timeoutVar = 0; if(isNaN(hug1) || (hug1 < 0)) return; this.timeoutVar = setTimeout(this.load, (hug1 * 1000)); } protected function innerLoad(hug1:URLRequest):void { //MethodID:1336, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 157 internal var urlRequest:URLRequest; //slotID:1 urlRequest = hug1; this.urlLoader = new URLLoader(); this.urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerLoadError); this.urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerLoadError); this.urlLoader.addEventListener(Event.COMPLETE, this.listenerLoadComplete); try{ this.urlLoader.load(urlRequest); } catch(err:Error){ removeListeners(); EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type)); return; } this.timeoutVar = setTimeout(this.loadTimeout, 15000); } protected function removeListeners():void { //MethodID:1337, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 95 if(this.timeoutVar > 0) clearTimeout(this.timeoutVar); this.timeoutVar = 0; if(!this.urlLoader) return; this.urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerLoadError); this.urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerLoadError); this.urlLoader.removeEventListener(Event.COMPLETE, this.listenerLoadComplete); this.urlLoader = null; } protected function loadTimeout():void { //MethodID:1338, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 34 this.removeListeners(); EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, this.type)); } protected function listenerLoadComplete(hug1:Event):void { //MethodID:1339, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.removeListeners(); } protected function listenerLoadError(hug1:Event):void { //MethodID:1340, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 34 this.removeListeners(); EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, this.type)); } } } //¡script151¡ package ru.rutube.managers.advertisement.model.adriver{ import flash.events.Event import flash.net.URLLoader import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.event.AdvertisementModelEvent import ru.rutube.managers.advertisement.model.Advertisement //¡class(instance)_index:151 public class AdvertisementAdRiver extends Advertisement { //static constructor public static function AdvertisementAdRiver$cinit() { //MethodID:1342, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisementAdRiver(hug1:int) { //MethodID:1343, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25 super(hug1); this.adRiverXML = new AdvertisementAdRiverXml(); this.adRutubeXml = new AdvertisementRutubeXml(); } //variables/etc. public var isSiam:Boolean = false; //slotID:0 private var adRutubeXml:AdvertisementRutubeXml = null; //slotID:0 private var adRiverXML:AdvertisementAdRiverXml = null; //slotID:0 public function get specialFormat():int { //MethodID:1344, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.adRutubeXml.specialFormat; } public function set specialFormat(hug1:int):void { //MethodID:1345, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.adRutubeXml.specialFormat = hug1; } public function clone(hug1:AdvertisementAdRiver):void { //MethodID:1346, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29 this.adRiverXML = null; this.adRiverXML = hug1.adRiver; this.adRutubeXml = null; this.adRutubeXml = hug1.adRutube; } override public function get isLoaded():Boolean { //MethodID:1347, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.adRutubeXml.isLoaded; } public function get adRiver():AdvertisementAdRiverXml { //MethodID:1348, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.adRiverXML; } public function get adRutube():AdvertisementRutubeXml { //MethodID:1349, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.adRutubeXml; } public function fireEvent(hug1:int):void { //MethodID:1350, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function get advertisementId():String { //MethodID:1351, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 113 var hug1:String = ("adid:" + this.adRiverXML.advertiseId + ";" + "bid:" + this.adRiverXML.bannerId + ";" + "bn:" + this.adRiverXML.bannerNumber + ";" + "sz:" + this.adRiverXML.advertiseSiteZone + ";" + "bt:" + this.adRiverXML.bt + ";" + "sid:" + this.adRiverXML.advertiseSiteId + ";" + "pz:" + this.adRiverXML.advertisePageZone); return hug1; } override public function reset():void { //MethodID:1352, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29 this.isSiam = false; this.adRiverXML.reset(); this.adRutubeXml.reset(); super.reset(); } override public function clear():void { //MethodID:1353, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 19 this.adRiverXML.reset(); this.adRutubeXml.reset(); } override public function load():Boolean { //MethodID:1354, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46 if(urlLoader != null) return true; if(currentShowCount >= totalShowCount) return false; this.adRiverXML.reset(); this.adRutubeXml.reset(); return super.load(); } private function loadRutubeXml():void { //MethodID:1355, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 71 if(!this.adRiverXML.isLoaded){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_PART_LOADED, type)); return; } state = 1; var hug1:URLRequest = new URLRequest(this.adRiverXML.rutubeXml); innerLoad(hug1); } override protected function listenerLoadError(hug1:Event):void { //MethodID:1356, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override protected function listenerLoadComplete(hug1:Event):void { //MethodID:1357, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 463 internal var event:Event; //slotID:1 internal var urlLoader:URLLoader; //slotID:2 internal var xml:XML; //slotID:3 internal var xmlStr:String; //slotID:4 event = hug1; urlLoader = (event.target as URLLoader); xml = null; xmlStr = String(urlLoader.data); if(!xmlStr || (xmlStr.length == 0)) xmlStr = null; if(xmlStr != null){ if(xmlStr.search(new RegExp("<(.*)>", "gi")) < 0) xmlStr = null; } try{ if(xmlStr != null) xml = new XML(xmlStr); } catch(err:Error){ xml = null; } super.removeListeners(); switch(state){ case 0: if(xml != null){ this.adRiverXML.parseXml(xml.child("item")); }else{ this.adRiverXML.reset(); EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type)); return; } if(this.adRiverXML.isLoaded) this.loadRutubeXml(); EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_PART_LOADED, type)); break; case 1: if(xml != null){ this.adRutubeXml.parse(xml); }else{ this.adRutubeXml.reset(); } if(this.adRutubeXml.isLoaded){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ADRIVER_FULL_LOADED, type)); }else{ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_ERROR, type)); } break; default: break; } } } } //¡script152¡ package ru.rutube.managers.advertisement.event{ import flash.events.Event //¡class(instance)_index:152 public class AdvertisementEvent extends Event { //static constructor public static function AdvertisementEvent$cinit() { //MethodID:1359, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75 ADVERTISEMENT_ERROR = "ADVERTISEMENT_ERROR"; ADVERTISEMENT_ADRIVER_FULL_LOADED = "ADVERTISEMENT_FULL_LOADED"; ADVERTISEMENT_ADRIVER_PART_LOADED = "ADVERTISEMENT_PART_LOADED"; ADVERTISEMENT_ADRIVER_LOAD_ERROR = "ADVERTISEMENT_LOAD_ERROR"; ADVERTISEMENT_BEGUN_ERROR = "ADVERTISEMENT_BEGUN_ERROR"; ADVERTISEMENT_BEGUN_FINISH = "ADVERTISEMENT_BEGUN_FINISH"; ADVERTISEMENT_SIAMTWEEN_LOADED = "ADVERTISEMENT_SIAMTWEEN_LOADED"; ADVERTISEMENT_BEGIN_SHOW = "ADVERTISEMENT_BEGIN_SHOW"; } //static variables/etc. public static const ADVERTISEMENT_ERROR:String = "ADVERTISEMENT_ERROR";//slotID:1 public static const ADVERTISEMENT_ADRIVER_FULL_LOADED:String = "ADVERTISEMENT_FULL_LOADED";//slotID:2 public static const ADVERTISEMENT_ADRIVER_PART_LOADED:String = "ADVERTISEMENT_PART_LOADED";//slotID:3 public static const ADVERTISEMENT_ADRIVER_LOAD_ERROR:String = "ADVERTISEMENT_LOAD_ERROR";//slotID:4 public static const ADVERTISEMENT_BEGUN_ERROR:String = "ADVERTISEMENT_BEGUN_ERROR";//slotID:5 public static const ADVERTISEMENT_BEGUN_FINISH:String = "ADVERTISEMENT_BEGUN_FINISH";//slotID:6 public static const ADVERTISEMENT_SIAMTWEEN_LOADED:String = "ADVERTISEMENT_SIAMTWEEN_LOADED";//slotID:7 public static const ADVERTISEMENT_BEGIN_SHOW:String = "ADVERTISEMENT_BEGIN_SHOW";//slotID:8 //constructor public function AdvertisementEvent(hug1:String, hug2:int=0) { //MethodID:1360, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12 super(hug1); this.adType = hug2; } //variables/etc. public var adType:int = 0; //slotID:0 override public function clone():Event { //MethodID:1361, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15 return new AdvertisementEvent(type, this.adType); } } } //¡script153¡ package ru.rutube.managers.advertisement.model.context{ import ru.rutube.managers.advertisement.model.Advertisement //¡class(instance)_index:153 public class AdvertisementContext extends Advertisement { //static constructor public static function AdvertisementContext$cinit() { //MethodID:1363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisementContext(hug1:int) { //MethodID:1364, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 super(hug1); this.adverts = null; } //variables/etc. protected var _keywords:Array = null; //slotID:0 protected var adverts:Array = null; //slotID:0 public function get length():int { //MethodID:1365, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 21 if(!this.adverts) return 0; return this.adverts.length; } public function get contextRecords():Array { //MethodID:1366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 22 if(!this.adverts) return []; return this.adverts.concat(); } override public function get isLoaded():Boolean { //MethodID:1367, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.adverts != null); } public function set keywords(hug1:Array):void { //MethodID:1368, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 50 if(this._keywords != null){ do{ }while(this._keywords.pop() != null); } this._keywords = null; if(hug1 != null) this._keywords = hug1.concat(); } public function get keywords():Array { //MethodID:1369, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23 if(this._keywords != null) return this._keywords.concat(); return []; } } } //¡script154¡ package ru.rutube.managers.advertisement.model.context.yandexdirect{ import flash.events.Event import flash.events.SecurityErrorEvent import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.event.AdvertisementModelEvent import ru.rutube.managers.advertisement.model.context.AdvertisementContext import ru.rutube.managers.advertisement.model.context.ContextRecord //¡class(instance)_index:154 public class AdvertisementYandex extends AdvertisementContext { //static constructor public static function AdvertisementYandex$cinit() { //MethodID:1371, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 TRY_LOAD_COUNT = 3; } //static variables/etc. private static const TRY_LOAD_COUNT:int = 3; //slotID:1 //constructor public function AdvertisementYandex(hug1:int) { //MethodID:1372, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7 super(hug1); } //variables/etc. private var currentTryes:int = 0; //slotID:0 override public function reset():void { //MethodID:1373, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46 super.reset(); this.currentTryes = 0; keywords = null; if(adverts != null){ do{ }while(adverts.pop() != null); } } override public function load():Boolean { //MethodID:1374, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 96 if((loadUrl.length < 1) || (urlLoader != null)) return false; if(urlLoader != null) return true; state = 0; var hug1:String = ("http://an.yandex.ru/code/" + loadUrl + "?target-ref=" + reference); this.currentTryes++; innerLoad(new URLRequest(hug1)); return true; } override protected function listenerLoadError(hug1:Event):void { //MethodID:1375, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 67 removeListeners(); if((this.currentTryes < TRY_LOAD_COUNT) && !(hug1 is SecurityErrorEvent)){ this.load(); }else{ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); } } override protected function listenerLoadComplete(hug1:Event):void { //MethodID:1376, LocalCount= 5 , MaxScope= 6, MaxStack= 5, CodeLength= 410 internal var event:Event; //slotID:1 internal var xml:XML; //slotID:2 internal var bannerXML:XML; //slotID:3 internal var advBegun:ContextRecord; //slotID:4 event = hug1; if(adverts != null){ do{ }while(adverts.pop() != null); } adverts = null; xml = null; try{ xml = new XML(urlLoader.data); } catch(error:Error){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); return; } finally{ removeListeners(); } if(!xml.hasOwnProperty("direct") || !xml.direct.hasOwnProperty("banner")){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); return; } bannerXML = null; advBegun = null; adverts = []; for each(bannerXML in xml.direct.banner){ advBegun = new YandexContextRecord(); advBegun.parse(bannerXML); if((advBegun.title.length > 0) && (advBegun.desc.length > 0)) adverts.push(advBegun); } EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_FINISH, type)); } } } //¡script155¡ package ru.rutube.managers.configuration.data{ import Components.Utils.Strings //¡class(instance)_index:155 public class MetaInfo extends Object { //static constructor public static function MetaInfo$cinit() { //MethodID:1378, LocalCount= 1 , MaxScope= 1, MaxStack= 34, CodeLength= 217 classVariables = ["actioContent", "playButtonStatistic", "videoWallUrl", "urlLogotype", "urlContextAdvertisement", "urlVotingAction", "votingValue", "contentVoteCounterHide", "urlDownload", "title", "urlContent", "viewerProfileUrl", "contentRecordDate", "contentDuration", "contentSize", "contentRaiting", "contentVoteCounter", "contentShowHitsCounter", "author", "authorComment", "authorId", "authorRaiting", "authorOnly", "urlContentHomePage", "codeDefaultEmbed", "codeLJEmbed", "codeLIEmbed", "commentsCount", "autoscrollInterval", "urlAuthorize", "bannerInterval", "bannerStartupInterval", "urlSnapShotMakerService"]; xmlVariables = ["actio_content", "playbutton_stat", "video_list_url", "logo_url", "context_advert", "vote_url", "vote_value", "hide_rating", "download_url", "title", "track_url", "client_url", "record_date", "duration", "size", "rating", "rating_counter", "hits_counter", "author", "comment", "author_id", "author_rating", "only_author", "location_url", "embed_code", "ljcode", "licode", "comments_counter", "autoscroll_interval", "authorize_url", "banner_interval", "banner_startup_interval", "snapshoter"]; } //static variables/etc. private static const classVariables:Array; //slotID:1 private static const xmlVariables:Array; //slotID:2 //constructor public function MetaInfo() { //MethodID:1379, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 126 this.tags = []; super(); this.advertisingString = new AdvertisingString(); this.preView = new AdvertisingData(); this.pauseView = new AdvertisingData(); this.postView = new AdvertisingData(); this.overlayView = new AdvertisingData(); this.adSense = new AdSense(); this.complain = new ComplainFormData(); this.infoText = new MetaTextInfo(); this.videoWallArray = []; this.videoPlayList = []; this.playList = new PlayListData(); this.favoriteData = new FavoriteData(); } //variables/etc. public var playlistStartIndex:int = 0; //slotID:0 public var authorId:Number = 0.0; //slotID:0 public var urlContent:String = ""; //slotID:0 private var _parseXmlData:XML = null; //slotID:0 public var bannerInterval:Number = 0.0; //slotID:0 public var overlayView:AdvertisingData = null; //slotID:0 public var urlDownload:String = ""; //slotID:0 public var tags:Array; //slotID:0 public var contentSize:Number = 0.0; //slotID:0 public var authorRaiting:Number = 0.0; //slotID:0 public var autoscrollInterval:Number = 0.0; //slotID:0 public var actioContent:String = ""; //slotID:0 public var contentDuration:Number = 0.0; //slotID:0 public var showBufferLine:Boolean = false; //slotID:0 public var urlContentHomePage:String = ""; //slotID:0 public var urlAuthorize:String = ""; //slotID:0 public var adSense:AdSense = null; //slotID:0 public var inLoadingVideoWall:Boolean = false; //slotID:0 public var contentRaiting:Number = -1.0; //slotID:0 public var urlVotingAction:String = ""; //slotID:0 public var authorComment:String = ""; //slotID:0 public var advertisingString:AdvertisingString = null; //slotID:0 public var context_povider:String = ""; //slotID:0 public var title:String = ""; //slotID:0 public var videoWallUrl:String = ""; //slotID:0 public var contentVoteCounterHide:Boolean = false; //slotID:0 public var urlStartStatistic:String = ""; //slotID:0 public var isPlayListLoading:Boolean = false; //slotID:0 public var postView:AdvertisingData = null; //slotID:0 public var favoriteData:FavoriteData = null; //slotID:0 public var playButtonStatistic:String = ""; //slotID:0 public var codeLJEmbed:String = ""; //slotID:0 private var _userInfo:UserInfo = null; //slotID:0 public var contentVoteCounter:Number = -1.0; //slotID:0 public var commentsCount:Number = 0.0; //slotID:0 private var videoWallArray:Array = null; //slotID:0 public var noHideThumbnail:Boolean = false; //slotID:0 public var votingValue:Number = 0.0; //slotID:0 public var author:String = ""; //slotID:0 public var videoPlayList:Array = null; //slotID:0 public var bannerStartupInterval:Number = 0.0; //slotID:0 public var contentShowHitsCounter:Number = 0.0; //slotID:0 public var categoryName:String = ""; //slotID:0 public var codeDefaultEmbed:String = ""; //slotID:0 public var urlContextAdvertisement:String = ""; //slotID:0 public var viewerProfileUrl:String = ""; //slotID:0 public var pauseView:AdvertisingData = null; //slotID:0 public var urlEndStatistic:String = ""; //slotID:0 public var trackId:String = ""; //slotID:0 public var toggleLoadMetaInfo:Boolean = false; //slotID:0 public var codeLIEmbed:String = ""; //slotID:0 public var authorOnly:Boolean = false; //slotID:0 private var _securityMode:Boolean = false; //slotID:0 public var urlSnapShotMakerService:String = ""; //slotID:0 public var complain:ComplainFormData = null; //slotID:0 public var preView:AdvertisingData = null; //slotID:0 public var playList:PlayListData = null; //slotID:0 public var urlLogotype:String = ""; //slotID:0 public var contentRecordDate:Number = 0.0; //slotID:0 public var infoText:MetaTextInfo = null; //slotID:0 public var category:Number = 0.0; //slotID:0 public function reset(hug1:Boolean=false):void { //MethodID:1380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 127 this.preView.reset(); this.pauseView.reset(); this.postView.reset(); this.overlayView.reset(); this.complain.reset(); this.advertisingString.reset(); do{ }while(this.videoWallArray.pop() != null); if(hug1){ do{ }while(this.videoPlayList.pop() != null); } this.urlStartStatistic = ""; this.urlEndStatistic = ""; do{ }while(this.tags.pop() != null); this._parseXmlData = null; } public function parse(hug1:XML):void { //MethodID:1381, LocalCount= 8 , MaxScope= 1, MaxStack= 4, CodeLength= 811 var hug5:XMLList = null; var hug6:PlaylistElement = null; var hug7:Number = NaN; if(this.isPlayListLoading){ hug5 = hug1.playlist.video; hug6 = null; var hug3:int = 0; while(hug3 < hug5.length()){ hug6 = new PlaylistElement(); hug6.id = hug3; hug6.parse(hug5[hug3]); this.videoPlayList.push(hug6); hug6 = null; hug3++; } return; } this.reset(); this._parseXmlData = hug1.copy(); var hug2:String = ""; hug3 = 0; hug3 = 0; while(hug3 < classVariables.length){ if(hug1.hasOwnProperty(xmlVariables[hug3])){ hug2 = hug1[xmlVariables[hug3]]; if(this[classVariables[hug3]] is Boolean){ this[classVariables[hug3]] = (((hug2 == "1") || (hug2.toLowerCase() == "true")) ? true : false); }else if(this[classVariables[hug3]] is Number){ hug7 = Number(hug2); if(!isNaN(hug7)){ this[classVariables[hug3]] = hug7; }else{ this[classVariables[hug3]] = 0; } }else{ hug2 = hug2.replace(new RegExp("^\s+|\s+$", "g"), ""); this[classVariables[hug3]] = hug2; } } hug3++; } if(hug1.hasOwnProperty("category")){ this.category = hug1.category.attribute("id"); this.categoryName = hug1.category.attribute("name"); } if(isNaN(this.category)) this.category = 0; this.categoryName = this.categoryName.toLowerCase(); this.urlContextAdvertisement = ""; this.context_povider = ""; this.context_povider = hug1["context_advert"].@provider.toString(); this.urlContextAdvertisement = hug1["context_advert"].toString(); if((this.urlContent != null) && (this.urlContent.indexOf("=") > 20)) this.trackId = this.urlContent.substr(this.urlContent.indexOf("=") + 1); this.complain.parse(hug1.complain); this.advertisingString.parse(hug1.advertising); this.preView.parse(hug1.pre_view[0]); this.pauseView.parse(hug1.pause_view[0]); this.postView.parse(hug1.post_view[0]); this.overlayView.parse(hug1.overlay_view[0]); hug2 = ""; hug2 = hug1.stat_url.toString(); this.urlStartStatistic = hug2; hug2 = hug1.endscreen_stat_url.toString(); this.urlEndStatistic = hug2; this.infoText.parse(hug1.child("infotext")); hug2 = hug1.tags.toString(); this.tags = hug2.split(" | "); var hug4:XMLList = null; hug4 = hug1.video_list.video; if(hug4.length() > 1) this.parseVideoWall(hug4); if(this.videoWallUrl.length > 0) this.videoWallUrl = this.videoWallUrl.replace(" ", ""); if(hug1.hasOwnProperty("add_playlist")) this.playList.parse(hug1.add_playlist); if(hug1.hasOwnProperty("add_favorites")) this.favoriteData.parse(hug1.add_favorites); this.title = Strings.htmlToText(this.title); } public function parseVideoWall(hug1:XMLList):void { //MethodID:1382, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 100 if(!hug1) return; if(this.videoWallArray.length > 0){ do{ }while(this.videoWallArray.pop() != null); } var hug2:VideoWallElementInfo = null; var hug3:int = 0; while(hug3 < hug1.length()){ hug2 = new VideoWallElementInfo(); hug2.parseData(hug1[hug3]); this.videoWallArray.push(hug2); hug2 = null; hug3++; } } public function get recordDate():String { //MethodID:1383, LocalCount= 4 , MaxScope= 1, MaxStack= 12, CodeLength= 132 var hug1:Date = new Date(); if(this.contentRecordDate > 0) hug1.time = (this.contentRecordDate * 1000); var hug2:String = ""; var hug3:Array = ["„‘„~„r„p„‚„‘", "„†„u„r„‚„p„|„‘", "„}„p„‚„„„p", "„p„„‚„u„|„‘", "„}„p„‘", "„y„„~„‘", "„y„„|„‘", "„p„r„s„…„ƒ„„„p", "„ƒ„u„~„„„‘„q„‚„‘", "„€„{„„„‘„q„‚„‘", "„~„€„‘„q„‚„‘", "„t„u„{„p„q„‚„‘"]; hug2 += hug1.getDate().toString(); hug2 += " "; hug2 += hug3[hug1.getMonth()]; hug2 += " "; hug2 += hug1.getFullYear().toString(); return hug2; } public function get userInfo():UserInfo { //MethodID:1384, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(!this._userInfo) this._userInfo = new UserInfo(); return this._userInfo; } public function get movieKeywords():Array { //MethodID:1385, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 73 var hug1:Array = null; hug1 = this.tags.concat(); if(!hug1) hug1 = []; if(this.title.length > 0) hug1.unshift(this.title); if(this.authorComment.length > 0) hug1.push(this.authorComment); return hug1; } public function get isSnapshotAvalible():Boolean { //MethodID:1386, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 92 return ((this.urlSnapShotMakerService.length > 0) && (((this.userInfo.userId == this.authorId) || this.userInfo.isAdmin) || this.userInfo.isAllowSnapshot && (this.userInfo.isCategoryAllow(this.category) || this.userInfo.allowAllCategories))); } public function get isRegistered():Boolean { //MethodID:1387, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 return ((this.userInfo.userNick != null) && (this.userInfo.userNick.length > 0)); } public function get videoWall():Array { //MethodID:1388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.videoWallArray.concat(); } public function get isVideoWallLoaded():Boolean { //MethodID:1389, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.videoWallArray.length > 0); } public function removeVideoWallId():void { //MethodID:1390, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function get isActioPresent():Boolean { //MethodID:1391, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.actioContent != null) && (this.actioContent.length > 5)); } public function isAdvertiseContentPresent():Boolean { //MethodID:1392, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.urlContextAdvertisement != null) && (this.urlContextAdvertisement.length > 0)); } public function get isPlaylistStartIndexPresent():Boolean { //MethodID:1393, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.playlistStartIndex > (-1)); } public function get isPlayListAvalible():Boolean { //MethodID:1394, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.videoPlayList.length > 0); } public function get parseXmlData():XML { //MethodID:1395, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28 if(this._parseXmlData != null) return this._parseXmlData.copy(); return new XML(""); } public function get securityMode():Boolean { //MethodID:1396, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._securityMode; } public function set securityMode(hug1:Boolean):void { //MethodID:1397, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._securityMode = hug1; } } } //¡script156¡ package ru.rutube.managers.advertisement.model.adriver{ import flash.events.TimerEvent import flash.external.ExternalInterface import flash.utils.Timer import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.AdvertisementType import ru.rutube.managers.advertisement.event.AdvertisementEvent //¡class(instance)_index:156 public class BannerSiamTween extends Object { //static constructor public static function BannerSiamTween$cinit() { //MethodID:1399, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function BannerSiamTween(hug1:int) { //MethodID:1400, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.advertisementType = hug1; } //variables/etc. private var _id:String = ""; //slotID:0 private var timer:Timer = null; //slotID:0 private var _click:String = ""; //slotID:0 private var successedNumber:int = 0; //slotID:0 private var _canceled:Boolean = false; //slotID:0 private var _event:String = ""; //slotID:0 private var _show:String = ""; //slotID:0 private var advertisementType:int = 0; //slotID:0 public function get show():String { //MethodID:1401, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._show; } public function get click():String { //MethodID:1402, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._click; } public function get event():String { //MethodID:1403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._event; } public function get canceled():Boolean { //MethodID:1404, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._canceled; } private function get siamFunction():String { //MethodID:1405, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 91 switch(this.advertisementType){ case AdvertisementType.AD_PRE_ROLL: return "function(){return window.ar_siam}"; case AdvertisementType.AD_OVERLAY: return "function(){return window.ar_overlay_flash}"; default: return ""; break; } } private function clearTimer():void { //MethodID:1406, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 53 if(this.timer != null){ this.timer.removeEventListener(TimerEvent.TIMER, this.listenerSiam); if(this.timer.running) this.timer.reset(); this.timer = null; } } public function startCheckSiamtween():void { //MethodID:1407, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 61 if(this._canceled) return; if(ExternalInterface.available){ this.timer = new Timer(1000); this.timer.addEventListener(TimerEvent.TIMER, this.listenerSiam); this.timer.start(); } } public function finishCheckSiamtwin():void { //MethodID:1408, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._canceled = true; this.clearTimer(); } public function notifyLoaded():void { //MethodID:1409, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 59 try{ if(this._id.length > 0) ExternalInterface.call("adriver('" + this._id + "').draw"); } catch(err:Error){ } } private function listenerSiam(hug1:TimerEvent):void { //MethodID:1410, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 371 internal var tEvent:TimerEvent; //slotID:1 internal var ok:Object; //slotID:2 tEvent = hug1; if(this._canceled) return; ok = null; try{ ok = ExternalInterface.call(this.siamFunction); } catch(err:Error){ ok = null; } if((ok != null) && ok.hasOwnProperty("show") && ok.hasOwnProperty("click") && ok.hasOwnProperty("event")){ this.successedNumber++; this._show = (ok["show"] as String); this._click = (ok["click"] as String); this._event = (ok["event"] as String); if(ok.hasOwnProperty("id")){ this._id = (ok["id"] as String); this.clearTimer(); } EventManager.instance.dispatchEvent(new AdvertisementEvent(AdvertisementEvent.ADVERTISEMENT_SIAMTWEEN_LOADED, this.advertisementType)); return; } if(!this.timer){ this.timer = new Timer(1000); this.timer.addEventListener(TimerEvent.TIMER, this.listenerSiam); } if(this.timer != null){ if((this.timer.currentCount > 20) || (this.successedNumber > 5)){ this.clearTimer(); }else if(!this.timer.running){ this.timer.start(); } } } } } //¡script157¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:157 public class AdvertisingData extends Object { //static constructor public static function AdvertisingData$cinit() { //MethodID:1412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisingData(hug1:String) { //MethodID:1413, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43 super(); this.urlContent = hug1; if((this.urlContent != null) && (this.urlContent.length > 5)) this.initialized = true; } //variables/etc. public var showCount:Number = 1.0; //slotID:0 private var initialized:Boolean = false; //slotID:0 public var urlContent:String = ""; //slotID:0 public function parse(hug1:XML):void { //MethodID:1414, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 202 if(hug1 == null) return; if(hug1.children().length() < 1) return; if(hug1.hasOwnProperty("ad")) hug1 = hug1.ad[0]; if(hug1.hasOwnProperty("media")) this.urlContent = hug1.child("media").toString().replace(new RegExp(" ", "gi"), ""); this.urlContent = this.urlContent.replace("bt=45", "bt=54"); if(hug1.hasOwnProperty("play_once")) this.showCount = Number(hug1.child("play_once").toString()); if(isNaN(this.showCount)) this.showCount = 1; this.urlContent = this.urlContent.replace(" ", ""); if(this.urlContent.length > 0) this.initialized = true; } public function reset():void { //MethodID:1415, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 20 this.urlContent = ""; this.showCount = 1; this.initialized = false; } public function get isInitialized():Boolean { //MethodID:1416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.initialized; } } } //¡script158¡ package ru.rutube.managers.configuration{ import flash.events.Event import flash.events.HTTPStatusEvent import flash.events.IOErrorEvent import flash.events.ProgressEvent import flash.events.SecurityErrorEvent import flash.events.TimerEvent import flash.geom.Point import flash.net.URLLoader import flash.net.URLRequest import flash.net.URLVariables import flash.utils.Timer import ru.rutube.event.ConfigurationMetaInfoEvent import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.configuration.data.PlayerConfig import ru.rutube.managers.configuration.data.PlaylistElement import ru.rutube.managers.playlist.PlayFilesList //¡class(instance)_index:158 public class ConfigurationManager extends Object { //static constructor public static function ConfigurationManager$cinit() { //MethodID:1418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 62 DEBUG_MODE = false; VERSION = "00041.30.13"; TIMEOUT_INTERVAL = 15000; URL_PLAYER_CONTEXT_DEBUG = "../resources/xml/env.xml"; URL_PLAYER_CONTEXT = "http://rutube.ru/cgi-bin/skin.cgi"; URL_USER_INFO = "http://rutube.ru/users/current.xml"; _instance = null; } //static variables/etc. public static const DEBUG_MODE:Boolean = false; //slotID:1 public static const VERSION:String = "00041.30.13"; //slotID:2 public static var TIMEOUT_INTERVAL:Number = 15000.0; //slotID:3 private static const URL_PLAYER_CONTEXT_DEBUG:String = "../resources/xml/env.xml";//slotID:4 private static const URL_PLAYER_CONTEXT:String = "http://rutube.ru/cgi-bin/skin.cgi";//slotID:5 private static const URL_USER_INFO:String = "http://rutube.ru/users/current.xml";//slotID:6 private static var _instance:ConfigurationManager = null; //slotID:7 public static function get instance():ConfigurationManager { //dispID:3, MethodID:1419, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new ConfigurationManager(); return _instance; } //constructor public function ConfigurationManager() { //MethodID:1420, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 super(); if(_instance != null) throw new Error("You must call instance for get object"); _instance = this; this.init(); } //variables/etc. private var timer:Timer = null; //slotID:0 private var playFilesList:PlayFilesList = null; //slotID:0 private var _playerConfig:PlayerConfig = null; //slotID:0 private var playMetaInfo:MetaInfo = null; //slotID:0 private var _flashVariablesConfig:FlashVariablesConfig = null; //slotID:0 private var currentLoader:URLLoader = null; //slotID:0 private function init():void { //MethodID:1421, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 70 this._flashVariablesConfig = new FlashVariablesConfig(); this.playFilesList = new PlayFilesList(); this.playMetaInfo = new MetaInfo(); XML.ignoreWhitespace = true; this.timer = new Timer(TIMEOUT_INTERVAL / 2); this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimer); } public function get flashVariablesConfig():FlashVariablesConfig { //MethodID:1422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._flashVariablesConfig; } public function get fileList():PlayFilesList { //MethodID:1423, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.playFilesList; } public function get metaInfo():MetaInfo { //MethodID:1424, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.playMetaInfo; } public function get playerConfig():PlayerConfig { //MethodID:1425, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(!this._playerConfig) this._playerConfig = new PlayerConfig(); return this._playerConfig; } public function loadPlayerConfig():void { //MethodID:1426, LocalCount= 3 , MaxScope= 5, MaxStack= 6, CodeLength= 370 internal var contextUrl:String; //slotID:1 internal var variables:URLVariables; //slotID:2 internal var configLoader:URLLoader; //slotID:3 internal var urlRequest:URLRequest; //slotID:4 internal var internalEvent:InternalEvent; //slotID:5 internalEvent = null; contextUrl = URL_PLAYER_CONTEXT; variables = new URLVariables(); if(contextUrl.indexOf("?") == (-1)){ contextUrl += "?"; }else{ contextUrl += "&"; } if(this.flashVariablesConfig.urlContent != "") contextUrl += ("file=" + this.flashVariablesConfig.urlContent + "&"); if(this.flashVariablesConfig.referrer != "") contextUrl += ("referer=" + this.flashVariablesConfig.referrer); configLoader = new URLLoader(); urlRequest = new URLRequest(); urlRequest.url = contextUrl; configLoader.addEventListener(Event.COMPLETE, this.listenerContextLoadComplete); configLoader.addEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress); configLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError); configLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError); this.currentLoader = configLoader; this.timer.reset(); this.timer.delay = (TIMEOUT_INTERVAL / 2); this.timer.start(); try{ configLoader.load(urlRequest); } catch(err:Error){ internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, err.toString()); EventManager.instance.dispatchEvent(internalEvent); } } public function loadMetaInfo(hug1:String=null, hug2:Boolean=false):void { //MethodID:1427, LocalCount= 5 , MaxScope= 5, MaxStack= 6, CodeLength= 461 internal var loadUrl:String = null; //slotID:1 internal var isPlayList:Boolean = false; //slotID:2 internal var variables:URLVariables; //slotID:3 internal var metaInfoLoader:URLLoader; //slotID:4 internal var urlRequest:URLRequest; //slotID:5 internal var internalEvent:InternalEvent; //slotID:6 internalEvent = null; loadUrl = hug1; isPlayList = hug2; if(!loadUrl) loadUrl = this.flashVariablesConfig.urlMetaInfoXml; loadUrl += ((loadUrl.indexOf("?") != (-1)) ? "&" : "?"); variables = new URLVariables(); if(this.flashVariablesConfig.userId != "0") variables["uid"] = this.flashVariablesConfig.userId; if((this.flashVariablesConfig.referrer != "") && (loadUrl.indexOf("referer=") == (-1))) variables["referer"] = this.flashVariablesConfig.referrer; if(this.flashVariablesConfig.useApi) variables["api"] = this.flashVariablesConfig.useApi; if(isPlayList) this.playMetaInfo.isPlayListLoading = isPlayList; if(loadUrl.indexOf("https") == 0) this.playMetaInfo.securityMode = true; metaInfoLoader = new URLLoader(); urlRequest = new URLRequest(); urlRequest.url = loadUrl; urlRequest.data = variables; metaInfoLoader.addEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete); metaInfoLoader.addEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress); metaInfoLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError); metaInfoLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError); metaInfoLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus); try{ metaInfoLoader.load(urlRequest); } catch(err:Error){ internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, err.toString()); EventManager.instance.dispatchEvent(internalEvent); } } public function loadVideoWall(hug1:String=null):void { //MethodID:1428, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 125 var hug2:String = hug1; if(!hug2) hug2 = this.metaInfo.videoWallUrl; if(!hug2 || this.metaInfo.inLoadingVideoWall) return; this.metaInfo.inLoadingVideoWall = true; var hug3:URLRequest = new URLRequest(); hug3.url = hug2; var hug4:URLLoader = new URLLoader(); hug4.addEventListener(Event.COMPLETE, this.listenerVideoWallcomplete); hug4.addEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError); hug4.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError); hug4.load(hug3); } public function loadUserInfo():void { //MethodID:1429, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 115 var hug1:URLRequest = new URLRequest(); hug1.url = (this.playMetaInfo.securityMode ? URL_USER_INFO.replace(new RegExp("http", "gi"), "https") : URL_USER_INFO); var hug2:URLLoader = new URLLoader(); hug2.addEventListener(Event.COMPLETE, this.listenerUserInfoComplete); hug2.addEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError); hug2.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError); hug2.load(hug1); } private function parsePlayerContextXml(hug1:String=null):PlayerConfig { //MethodID:1430, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 101 internal var strXml:String = null; //slotID:1 internal var plContext:PlayerConfig; //slotID:2 internal var contXml:XML; //slotID:3 strXml = hug1; plContext = new PlayerConfig(); contXml = null; try{ contXml = new XML(strXml); } catch(err:Error){ trace(err); } if(contXml != null) plContext.parseXml(contXml); return plContext; } private function listenerTimer(hug1:TimerEvent):void { //MethodID:1431, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 176 internal var tEvent:TimerEvent; //slotID:1 internal var internalEvent:InternalEvent; //slotID:2 internalEvent = null; tEvent = hug1; if(this.currentLoader != null){ try{ this.currentLoader.close(); } catch(err:Error){ } this.currentLoader.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete); this.currentLoader.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress); this.currentLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError); this.currentLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError); this.currentLoader = null; internalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, "timer"); EventManager.instance.dispatchEvent(internalEvent); } this.timer.stop(); } private function listenerUserInfoComplete(hug1:Event):void { //MethodID:1432, LocalCount= 5 , MaxScope= 9, MaxStack= 8, CodeLength= 309 internal var event:Event; //slotID:1 internal var urlLoader:URLLoader; //slotID:2 internal var xml:XML; //slotID:3 internal var playList:XMLList; //slotID:4 internal var internalEvent:InternalEvent; //slotID:5 playList = null; internalEvent = null; event = hug1; urlLoader = (event.target as URLLoader); urlLoader.removeEventListener(Event.COMPLETE, this.listenerUserInfoComplete); urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError); urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError); xml = null; try{ xml = new XML(urlLoader.data); } finally{ try{ try{ this.metaInfo.userInfo.parse(xml); playList = xml.playlist; if(playList.length() > 0) this.metaInfo.playList.parseLists(playList); } catch(err:Error){ } } internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO, null, null); EventManager.instance.dispatchEvent(internalEvent); } } private function listenerUserInfoError(hug1:Event):void { //MethodID:1433, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 92 var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerUserInfoComplete); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerUserInfoError); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerUserInfoError); var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO, null, hug1.toString()); EventManager.instance.dispatchEvent(hug3); } private function listenerContextLoadComplete(hug1:Event):void { //MethodID:1434, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 166 this.timer.stop(); var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete); hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError); if(hug2 == this.currentLoader) this.currentLoader = null; this._playerConfig = this.parsePlayerContextXml(hug2.data); if(this._playerConfig.userId == "0") this._playerConfig.initByFlashVars(this.flashVariablesConfig.userId); var hug3:InternalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION, null, null); EventManager.instance.dispatchEvent(hug3); } private function listenerContextLoadProgress(hug1:ProgressEvent):void { //MethodID:1435, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 46 var hug2:InternalEvent = new InternalEvent(InternalEvent.PROGRESS, EventSources.SOURCE_MANAGER_CONFIGURATION, null, new Point(hug1.bytesLoaded, hug1.bytesTotal)); EventManager.instance.dispatchEvent(hug2); } private function listenerContextLoadError(hug1:Event):void { //MethodID:1436, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 128 this.timer.stop(); var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerContextLoadComplete); hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerContextLoadProgress); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerContextLoadError); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerContextLoadError); if(hug2 == this.currentLoader) this.currentLoader = null; var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION, null, hug1.toString()); EventManager.instance.dispatchEvent(hug3); } private function listenerMetaInfoLoadComplete(hug1:Event):void { //MethodID:1437, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 463 internal var event:Event; //slotID:1 internal var ulrLoader:URLLoader; //slotID:2 internal var xmlMetaInfo:XML; //slotID:3 internal var internalEvent:InternalEvent; //slotID:4 internal var playlistElement:PlaylistElement; //slotID:5 internal var i:int; //slotID:6 playlistElement = null; i = 0; event = hug1; ulrLoader = (event.target as URLLoader); ulrLoader.removeEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete); ulrLoader.removeEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress); ulrLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError); ulrLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError); ulrLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus); xmlMetaInfo = null; internalEvent = null; try{ xmlMetaInfo = new XML(ulrLoader.data); } catch(err:Error){ trace("MetaXMLError" + err.message); EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE)); return; } this.playMetaInfo.parse(xmlMetaInfo); if(this.playMetaInfo.isPlayListLoading){ this.playMetaInfo.isPlayListLoading = false; playlistElement = null; i = 0; while(i < this.playMetaInfo.videoPlayList.length){ playlistElement = (this.playMetaInfo.videoPlayList[i] as PlaylistElement); if(playlistElement.trackId == this.flashVariablesConfig.playListStartId){ this.playMetaInfo.playlistStartIndex = playlistElement.id; break; } i++; } playlistElement = (this.playMetaInfo.videoPlayList[i] as PlaylistElement); if(playlistElement != null){ this.loadMetaInfo(playlistElement.urlMetaInfo); return; } } EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE)); if(!this.playMetaInfo.isVideoWallLoaded && (this.playMetaInfo.videoWallUrl.length > 0)) this.loadVideoWall(this.playMetaInfo.videoWallUrl); } private function listenerMetaInfoLoadProgress(hug1:ProgressEvent):void { //MethodID:1438, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 46 var hug2:InternalEvent = new InternalEvent(InternalEvent.PROGRESS, EventSources.SOURCE_MANAGER_CONFIGURATION, null, new Point(hug1.bytesLoaded, hug1.bytesTotal)); EventManager.instance.dispatchEvent(hug2); } private function listenerMetaInfoLoadError(hug1:Event):void { //MethodID:1439, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 105 var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerMetaInfoLoadComplete); hug2.removeEventListener(ProgressEvent.PROGRESS, this.listenerMetaInfoLoadProgress); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerMetaInfoLoadError); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerMetaInfoLoadError); hug2.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.listenerMetainfoStatus); EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE)); } private function listenerMetainfoStatus(hug1:HTTPStatusEvent):void { //MethodID:1440, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function listenerVideoWallcomplete(hug1:Event):void { //MethodID:1441, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 210 internal var event:Event; //slotID:1 internal var urlLoader:URLLoader; //slotID:2 internal var xml:XML; //slotID:3 internal var internalEvent:InternalEvent; //slotID:4 event = hug1; urlLoader = (event.target as URLLoader); urlLoader.removeEventListener(Event.COMPLETE, this.listenerVideoWallcomplete); urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError); urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError); xml = null; try{ xml = new XML(urlLoader.data); } catch(err:Error){ xml = null; return; } this.playMetaInfo.parseVideoWall(xml.child("video")); internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL, null, null); EventManager.instance.dispatchEvent(internalEvent); EventManager.instance.dispatchEvent(new Event(ConfigurationMetaInfoEvent.CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE)); } private function listenerVideoWallError(hug1:Event):void { //MethodID:1442, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 92 var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerVideoWallcomplete); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVideoWallError); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerVideoWallError); var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL, null, hug1.toString()); EventManager.instance.dispatchEvent(hug3); } } } //¡script159¡ package ru.rutube.managers.advertisement.model.context.begun{ import flash.events.Event import flash.events.SecurityErrorEvent import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.managers.advertisement.event.AdvertisementModelEvent import ru.rutube.managers.advertisement.model.context.AdvertisementContext import ru.rutube.managers.advertisement.model.context.ContextRecord //¡class(instance)_index:159 public class AdvertisementBegun extends AdvertisementContext { //static constructor public static function AdvertisementBegun$cinit() { //MethodID:1444, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 TRY_LOAD_COUNT = 3; } //static variables/etc. private static const TRY_LOAD_COUNT:int = 3; //slotID:1 //constructor public function AdvertisementBegun(hug1:int) { //MethodID:1445, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7 super(hug1); } //variables/etc. private var currentTryes:int = 0; //slotID:0 override public function reset():void { //MethodID:1446, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46 super.reset(); this.currentTryes = 0; keywords = null; if(adverts != null){ do{ }while(adverts.pop() != null); } } override public function load():Boolean { //MethodID:1447, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 155 if((loadUrl.length < 1) || (urlLoader != null)) return false; if(urlLoader != null) return true; state = 0; var hug1:String = ""; if(keywords != null) hug1 = keywords.join(","); var hug2:String = loadUrl; if(hug1.length > 0){ if(hug2.indexOf("&") > 0){ hug2 += ("&begun_self_keywords=" + hug1); }else{ hug2 += ("?begun_self_keywords=" + hug1); } } this.currentTryes++; innerLoad(new URLRequest(hug2)); return true; } override protected function listenerLoadError(hug1:Event):void { //MethodID:1448, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 67 removeListeners(); if((this.currentTryes < TRY_LOAD_COUNT) && !(hug1 is SecurityErrorEvent)){ this.load(); }else{ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); } } override protected function listenerLoadComplete(hug1:Event):void { //MethodID:1449, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 319 internal var event:Event; //slotID:1 internal var xml:XML; //slotID:2 internal var bannerXML:XML; //slotID:3 internal var advBegun:ContextRecord; //slotID:4 event = hug1; if(adverts != null){ do{ }while(adverts.pop() != null); } adverts = null; xml = null; try{ xml = new XML(urlLoader.data); } catch(error:Error){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); return; } removeListeners(); bannerXML = null; advBegun = null; adverts = []; for each(bannerXML in xml.banner){ advBegun = new BegunContextRecord(); advBegun.parse(bannerXML); if((advBegun.title.length > 0) && (advBegun.desc.length > 0)) adverts.push(advBegun); } if(adverts.length < 1){ EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_ERROR, type)); return; } EventManager.instance.dispatchEvent(new AdvertisementModelEvent(AdvertisementModelEvent.ADVERTISEMENT_BEGUN_FINISH, type)); } } } //¡script160¡ package ru.rutube.managers.advertisement{ //¡class(instance)_index:160 public class AdvertisementType extends Object { //static constructor public static function AdvertisementType$cinit() { //MethodID:1451, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 139 AD_NONE = 0; AD_BLIND = 1; AD_PRE_ROLL = 2; AD_PAUSE = 3; AD_POST_ROLL = 4; AD_OVERLAY = 5; AD_BEGUN = 6; AD_ADSENSE = 7; ADV_NONE = "ADV_NONE"; ADV_BEGUN = "ADV_BEGUN"; ADV_ADRIVER = "ADV_ADRIVER"; ADV_OVERLAY = "ADV_OVERLAY"; ADV_ADSENSE = "ADV_ADSENSE"; CONTENT_TYPE_SWF = "swf"; CONTENT_TYPE_FLV = "flv"; CONTENT_TYPE_IMG = "img"; } //static variables/etc. public static const AD_NONE:int = 0; //slotID:1 public static const AD_BLIND:int = 1; //slotID:2 public static const AD_PRE_ROLL:int = 2; //slotID:3 public static const AD_PAUSE:int = 3; //slotID:4 public static const AD_POST_ROLL:int = 4; //slotID:5 public static const AD_OVERLAY:int = 5; //slotID:6 public static const AD_BEGUN:int = 6; //slotID:7 public static const AD_ADSENSE:int = 7; //slotID:8 public static const ADV_NONE:String = "ADV_NONE"; //slotID:9 public static const ADV_BEGUN:String = "ADV_BEGUN"; //slotID:10 public static const ADV_ADRIVER:String = "ADV_ADRIVER"; //slotID:11 public static const ADV_OVERLAY:String = "ADV_OVERLAY"; //slotID:12 public static const ADV_ADSENSE:String = "ADV_ADSENSE"; //slotID:13 public static const CONTENT_TYPE_SWF:String = "swf"; //slotID:14 public static const CONTENT_TYPE_FLV:String = "flv"; //slotID:15 public static const CONTENT_TYPE_IMG:String = "img"; //slotID:16 //constructor public function AdvertisementType() { //MethodID:1452, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script161¡ package ru.rutube.managers.advertisement.model.adriver{ //¡class(instance)_index:161 public class AdvertisementRutubeXml extends Object { //static constructor public static function AdvertisementRutubeXml$cinit() { //MethodID:1454, LocalCount= 1 , MaxScope= 1, MaxStack= 21, CodeLength= 103 BANNER_NONE = 0; BANNER_FLV = 1; BANNER_SWF = 2; BANNER_IMG = 3; classVariables = ["hideCloseButton", "hideBackgroundPanel", "windowMode", "duration", "widthSWF", "heightSWF", "urlThumbnail", "wndHAlign", "wndVAlign", "wndfsHAlign", "wndfsVAlign", "contHAlign", "contVAlign", "insideStretch", "hideProgressFLV", "showVolumePanel", "specialFormat", "MMVideoStarted", "MMVideoEnded", "MMVideoDuration"]; } //static variables/etc. public static const BANNER_NONE:int = 0; //slotID:1 public static const BANNER_FLV:int = 1; //slotID:2 public static const BANNER_SWF:int = 2; //slotID:3 public static const BANNER_IMG:int = 3; //slotID:4 protected static const classVariables:Array; //slotID:5 //constructor public function AdvertisementRutubeXml() { //MethodID:1455, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 super(); this.pixels = []; this.clicks = []; } //variables/etc. public var contVAlign:String = ""; //slotID:0 private var _twinOverlay:AdvertisementTwinOverlayXml = null; //slotID:0 public var specialFormat:int = -1; //slotID:0 public var widthBanner:Number = 0.0; //slotID:0 public var wndfsHAlign:String = ""; //slotID:0 public var duration:Number = 6.0; //slotID:0 public var bannerUrl:String = ""; //slotID:0 private var _bannerType:int = 0; //slotID:0 private var pixels:Array = null; //slotID:0 public var hideCloseButton:Boolean = false; //slotID:0 public var heightBanner:Number = 0.0; //slotID:0 public var windowMode:Boolean = false; //slotID:0 public var urlThumbnail:String = ""; //slotID:0 private var MMVideoEnded:String = ""; //slotID:0 private var toggleLinkButton:Boolean = true; //slotID:0 public var wndfsVAlign:String = ""; //slotID:0 public var showVolumePanel:Boolean = true; //slotID:0 public var contHAlign:String = ""; //slotID:0 public var wndHAlign:String = ""; //slotID:0 public var hideBackgroundPanel:Boolean = false; //slotID:0 private var MMVideoStarted:String = ""; //slotID:0 public var hideProgressFLV:Boolean = false; //slotID:0 public var insideStretch:Boolean = true; //slotID:0 private var clicks:Array = null; //slotID:0 private var toggleInteractive:Boolean = false; //slotID:0 private var MMVideoDuration:String = ""; //slotID:0 public var wndVAlign:String = ""; //slotID:0 public function get MMStartLink():String { //MethodID:1456, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.MMVideoStarted; } public function get MMEndedLink():String { //MethodID:1457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.MMVideoEnded; } public function get MMStopDurationLink():String { //MethodID:1458, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.MMVideoDuration; } public function set widthSWF(hug1:Number):void { //MethodID:1459, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.widthBanner = hug1; } public function get widthSWF():Number { //MethodID:1460, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.widthBanner; } public function set heightSWF(hug1:Number):void { //MethodID:1461, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.heightBanner = hug1; } public function get heightSWF():Number { //MethodID:1462, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.heightBanner; } public function get isTwinPresent():Boolean { //MethodID:1463, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this._twinOverlay != null); } public function get isInteractive():Boolean { //MethodID:1464, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.toggleInteractive; } public function get isShowLinkPanel():Boolean { //MethodID:1465, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.toggleLinkButton; } public function get twinOverlay():AdvertisementTwinOverlayXml { //MethodID:1466, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._twinOverlay; } public function get bannerType():int { //MethodID:1467, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._bannerType; } public function set bannerType(hug1:int):void { //MethodID:1468, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._bannerType = hug1; } public function get isVideoContent():Boolean { //MethodID:1469, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return (this._bannerType == BANNER_FLV); } public function get bannerTypeAsText():String { //MethodID:1470, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 122 var hug1:String = "none"; switch(this.bannerType){ case BANNER_FLV: hug1 = "flv"; break; case BANNER_SWF: hug1 = "swf"; break; case BANNER_IMG: hug1 = "img"; break; default: break; } return hug1; } public function get pixelUrls():Array { //MethodID:1471, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.pixels.concat(); } public function get clickUrls():Array { //MethodID:1472, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.clicks.concat(); } public function get isLoaded():Boolean { //MethodID:1473, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28 return ((this._bannerType != BANNER_NONE) && (this.bannerUrl.length > 0)); } public function reset():void { //MethodID:1474, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 112 this._bannerType = BANNER_NONE; this.bannerUrl = ""; var hug1:int = 0; while(hug1 < classVariables.length){ this[classVariables[hug1]] = ""; hug1++; } this.specialFormat = AdriverSpecialFormats.ASF_NONE; this.toggleInteractive = false; this.toggleLinkButton = true; this.duration = 3; do{ }while(this.pixels.pop() != null); do{ }while(this.clicks.pop() != null); } public function parse(hug1:XML):void { //MethodID:1475, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 630 var hug6:Number = NaN; this.reset(); var hug2:String = ""; var hug3:int = 0; hug3 = 0; while(hug3 < classVariables.length){ if(hug1.hasOwnProperty(classVariables[hug3])){ hug2 = hug1[classVariables[hug3]]; if(this[classVariables[hug3]] is Boolean){ this[classVariables[hug3]] = (((hug2 != null) && ((hug2 == "1") || (hug2.toLowerCase() == "true"))) ? true : false); }else if(this[classVariables[hug3]] is Number){ hug6 = Number(hug2); if(!isNaN(hug6)) this[classVariables[hug3]] = hug6; }else{ this[classVariables[hug3]] = hug2; } } hug3++; } hug2 = hug1.isInteractiveBanner.toString(); hug2 = hug2.toLowerCase(); this.toggleInteractive = (hug2 == "true"); hug2 = hug1.showClickButton.toString(); hug2 = hug2.toLowerCase(); this.toggleLinkButton = (hug2 == "true"); var hug4:XMLList = null; if(hug1.hasOwnProperty("content_flv")){ this._bannerType = BANNER_FLV; hug4 = hug1.child("content_flv"); }else if(hug1.hasOwnProperty("content_swf")){ this._bannerType = BANNER_SWF; hug4 = hug1.child("content_swf"); }else if(hug1.hasOwnProperty("content_image")){ this._bannerType = BANNER_IMG; hug4 = hug1.child("content_image"); } if(this._bannerType != BANNER_NONE){ this.bannerUrl = hug4["localUrl"].toString(); if(this.bannerUrl.length < 2) this.bannerUrl = hug4["locationUrl"].toString(); } hug4 = hug1.child("pixelCounter").children(); var hug5:String = ""; hug3 = 0; while(hug3 < hug4.length()){ hug5 = hug4[hug3].toString().replace(new RegExp(" ", "gi"), ""); if(hug5.length > 5) this.pixels.push(hug5); hug3++; } if(hug1.hasOwnProperty("overlay")){ if(this._twinOverlay != null){ this._twinOverlay.reset(); this._twinOverlay = null; } this._twinOverlay = new AdvertisementTwinOverlayXml(); this._twinOverlay.parse(hug1["overlay"][0]); } this.hideCloseButton = false; this.hideBackgroundPanel = false; this.windowMode = false; if(this.isLoaded && (this.specialFormat == AdriverSpecialFormats.ASF_NONE)) this.specialFormat = AdriverSpecialFormats.ASF_MAIN; } } } //¡script162¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:162 public class ControlPanelEvent extends Event { //static constructor public static function ControlPanelEvent$cinit() { //MethodID:1477, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 219 EVENT_PLAY = "play"; EVENT_PAUSE = "pause"; EVENT_PAUSE_WITHOUT_ADVERT = "pause.without.advert"; EVENT_STOP = "stop"; EVENT_VOLUME = "volume"; EVENT_CHANGE_VOLUME = "eventChangeVolume"; EVENT_MUTE = "eventMute"; EVENT_TIMER_RELEASE = "timerRelease"; EVENT_THUMB_PRESS = "thumbPress"; EVENT_THUMB_DRAG = "thumbDrag"; EVENT_THUMB_RELEASE = "thumbRelease"; EVENT_THUMB_OVER = "thumbOver"; EVENT_THUMB_OUT = "thumbOut"; EVENT_TRACK_PRESS = "trackPress"; EVENT_MARK_OVER = "markOver"; EVENT_MARK_CHANGE = "markChange"; EVENT_MARK_SHOW_ADD = "markShowAdd"; EVENT_MARK_ADD = "addMark"; EVENT_MARK_EDIT = "markEdit"; EVENT_MARK_SHOW_DESC = "markShowDesc"; EVENT_CLIPBOARD_CODE_MARK = "clipboardCodeMark"; EVENT_VIDEO_TITLE_CLICKED = "eventVideoTitleClicked"; EVENT_SHOW_ABOUT_WINDOW = "EVENT_SHOW_ABOUT_WINDOW"; EVENT_COPY_DEBUG_INFO = "EVENT_COPY_DEBUG_INFO"; } //static variables/etc. public static const EVENT_PLAY:String = "play"; //slotID:1 public static const EVENT_PAUSE:String = "pause"; //slotID:2 public static const EVENT_PAUSE_WITHOUT_ADVERT:String = "pause.without.advert";//slotID:3 public static const EVENT_STOP:String = "stop"; //slotID:4 public static const EVENT_VOLUME:String = "volume"; //slotID:5 public static const EVENT_CHANGE_VOLUME:String = "eventChangeVolume";//slotID:6 public static const EVENT_MUTE:String = "eventMute"; //slotID:7 public static const EVENT_TIMER_RELEASE:String = "timerRelease";//slotID:8 public static const EVENT_THUMB_PRESS:String = "thumbPress"; //slotID:9 public static const EVENT_THUMB_DRAG:String = "thumbDrag"; //slotID:10 public static const EVENT_THUMB_RELEASE:String = "thumbRelease";//slotID:11 public static const EVENT_THUMB_OVER:String = "thumbOver"; //slotID:12 public static const EVENT_THUMB_OUT:String = "thumbOut"; //slotID:13 public static const EVENT_TRACK_PRESS:String = "trackPress"; //slotID:14 public static const EVENT_MARK_OVER:String = "markOver"; //slotID:15 public static const EVENT_MARK_CHANGE:String = "markChange"; //slotID:16 public static const EVENT_MARK_SHOW_ADD:String = "markShowAdd"; //slotID:17 public static const EVENT_MARK_ADD:String = "addMark"; //slotID:18 public static const EVENT_MARK_EDIT:String = "markEdit"; //slotID:19 public static const EVENT_MARK_SHOW_DESC:String = "markShowDesc";//slotID:20 public static const EVENT_CLIPBOARD_CODE_MARK:String = "clipboardCodeMark";//slotID:21 public static const EVENT_VIDEO_TITLE_CLICKED:String = "eventVideoTitleClicked";//slotID:22 public static const EVENT_SHOW_ABOUT_WINDOW:String = "EVENT_SHOW_ABOUT_WINDOW";//slotID:23 public static const EVENT_COPY_DEBUG_INFO:String = "EVENT_COPY_DEBUG_INFO";//slotID:24 //constructor public function ControlPanelEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:1478, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9 super(hug1, hug2, hug3); } } } //¡script163¡ package ru.rutube.managers.statistic.player{ import flash.utils.getTimer //¡class(instance)_index:163 public class StatisticAdvertisementLoading extends Object { //static constructor public static function StatisticAdvertisementLoading$cinit() { //MethodID:1480, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function StatisticAdvertisementLoading() { //MethodID:1481, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private var finishTime:Number = 0.0; //slotID:0 public var fileName:String = ""; //slotID:0 private var startTime:Number = 0.0; //slotID:0 public var totalBytes:Number = 0.0; //slotID:0 public function reset():void { //MethodID:1482, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 33 this.startTime = this.finishTime = this.totalBytes = 0; this.fileName = ""; } public function startLoad():void { //MethodID:1483, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 this.startTime = getTimer(); } public function finishLoad():void { //MethodID:1484, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 this.finishTime = getTimer(); } public function toString():String { //MethodID:1485, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 48 var hug1:String = ""; hug1 = (("F:" + this.fileName + "SZ:" + this.totalBytes + "LT:") + ((this.finishTime - this.startTime) / 1000).toString()); return hug1; } } } //¡script164¡ package ru.rutube.managers.statistic.player{ //¡class(instance)_index:164 public class StatisticLoadingPlayer extends Object { //static constructor public static function StatisticLoadingPlayer$cinit() { //MethodID:1487, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function StatisticLoadingPlayer() { //MethodID:1488, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var flashVariables:String = ""; //slotID:0 public var startLoadingPlayerTime:Number = 0.0; //slotID:0 public var startLoadingXmlTime:Number = 0.0; //slotID:0 public var metaInfo:String = ""; //slotID:0 public var finishLoadingPlayerTime:Number = 0.0; //slotID:0 public var balancerUrl:String = ""; //slotID:0 public var finishLoadingXmlTime:Number = 0.0; //slotID:0 public function reset():void { //MethodID:1489, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 60 this.startLoadingPlayerTime = this.finishLoadingPlayerTime = this.startLoadingXmlTime = this.finishLoadingXmlTime = 0; this.flashVariables = this.metaInfo = this.balancerUrl = ""; } public function toString():String { //MethodID:1490, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 89 var hug1:String = ""; hug1 = (("LT:" + int((this.finishLoadingPlayerTime - this.startLoadingPlayerTime) / 1000).toString() + "LXT:") + int((this.finishLoadingXmlTime - this.startLoadingXmlTime) / 1000).toString() + "BL:" + this.balancerUrl + "MI:" + this.metaInfo + "FV:" + this.flashVariables); return hug1; } } } //¡script165¡ package ru.rutube.managers.configuration.data{ import ru.rutube.managers.configuration.ConfigurationManager //¡class(instance)_index:165 public final class FlashVariablesConfig extends Object { //static constructor public static function FlashVariablesConfig$cinit() { //MethodID:1492, LocalCount= 1 , MaxScope= 1, MaxStack= 31, CodeLength= 199 classVariables = ["toggleShowBookmarkWindow", "toggleInnerEmbedFlash", "useApi", "repeat", "autoload", "bookMarkTitle", "bufferMain", "bufferReserve", "urlContent", "urlMetaInfoXml", "variables", "referrer", "bookMarkStartTime", "bookMarkFinishTime", "userId", "rotationAngle", "playListEnable", "playListStartId", "playListSelfPlay", "retryTimeout", "retryCount", "toggleShowLogo", "toggleAutoPlayVideo", "toggleDebugInfo", "toggleManualBuffer", "toggleWithoutVideo", "toggleNewWindow", "fsb", "pageId", "hideFullScreen"]; htmlVariables = ["shBWnd", "inEmbedFl", "api", "repeat", "autoload", "bmtitle", "buffer_first", "buffer", "file", "xurl", "xvars", "referer", "bmstart", "bmstop", "uid", "rAngle", "enablePL", "plStartId", "plSelfPlay", "retryTime", "retryCount", "logo", "autoStart", "trace", "handBuffer", "a_only", "newWnd", "fsb", "pageId", "hfull"]; } //static variables/etc. private static const classVariables:Array; //slotID:1 private static const htmlVariables:Array; //slotID:2 //constructor public function FlashVariablesConfig() { //MethodID:1493, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 94 this.bufferMain = (ConfigurationManager.DEBUG_MODE ? 5 : 0.5); this.bufferReserve = (ConfigurationManager.DEBUG_MODE ? 2.5 : 2.5); super(); if(!ConfigurationManager.DEBUG_MODE) return; var hug1:Object = {}; hug1.file = "http://bl.rutube.ru/6c1d4d9ba5d8a981e33e2a698dbece3a.iflv"; hug1.xurl = "http://rutube.ru/trackinfo/6c1d4d9ba5d8a981e33e2a698dbece3a.html"; hug1.referer = "http://rutube.ru/tracks/3975243.html?v=486e45b736a035566ade2cfa416e267e"; this.parseVariables(hug1); } //variables/etc. public var toggleWithoutVideo:Boolean = false; //slotID:0 public var pageId:String = null; //slotID:0 public var urlContent:String = ""; //slotID:0 public var useApi:Boolean = false; //slotID:0 public var playListEnable:Boolean = false; //slotID:0 public var toggleShowBookmarkWindow:Boolean = true; //slotID:0 public var bookMarkStartTime:Number = 0.0; //slotID:0 public var toggleManualBuffer:Boolean = false; //slotID:0 public var autoload:Boolean = false; //slotID:0 public var referrer:String = ""; //slotID:0 public var bufferMain:Number; //slotID:0 public var bookMarkTitle:String = ""; //slotID:0 public var retryTimeout:Number = 2000.0; //slotID:0 public var toggleDebugInfo:Boolean = false; //slotID:0 public var playListSelfPlay:Boolean = true; //slotID:0 public var repeat:String = ""; //slotID:0 public var fsb:Boolean = true; //slotID:0 public var toggleInnerEmbedFlash:Boolean = false; //slotID:0 public var toggleNewWindow:Boolean = true; //slotID:0 public var hideFullScreen:Boolean = false; //slotID:0 public var toggleShowLogo:Boolean = true; //slotID:0 public var userId:String = 0; //slotID:0 public var retryCount:Number = 5.0; //slotID:0 public var playListStartId:Number = 0.0; //slotID:0 public var toggleAutoPlayVideo:Boolean = false; //slotID:0 public var urlMetaInfoXml:String = ""; //slotID:0 public var bufferReserve:Number; //slotID:0 public var loaderUrl:String = ""; //slotID:0 public var rotationAngle:Number = 0.0; //slotID:0 public var bookMarkFinishTime:Number = 0.0; //slotID:0 public var variables:String = ""; //slotID:0 public function getHash():String { //MethodID:1494, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 45 var hug1:String = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1); hug1 = hug1.substr(0, hug1.indexOf(".")); return hug1; } public function parseVariables(hug1:Object):void { //MethodID:1495, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 441 var hug4:Number = NaN; var hug5:String = null; var hug2:String = ""; if(hug1 == null) return; var hug3:int = 0; while(hug3 < classVariables.length){ if(hug1.hasOwnProperty(htmlVariables[hug3])){ hug2 = hug1[htmlVariables[hug3]]; if(this[classVariables[hug3]] is Boolean){ this[classVariables[hug3]] = (((hug2 != null) && ((hug2 == "1") || (hug2.toLowerCase() == "true"))) ? true : false); }else if(this[classVariables[hug3]] is Number){ hug4 = Number(hug2); if(!isNaN(hug4)) this[classVariables[hug3]] = hug4; }else{ this[classVariables[hug3]] = hug2; } } hug3++; } if(this.referrer != null) this.referrer = unescape(this.referrer); if(hug1.hasOwnProperty("bmstart")){ if(this.bookMarkStartTime > 0) this.bookMarkStartTime /= 1000; } if(hug1.hasOwnProperty("bmstop")){ if(this.bookMarkFinishTime > 0) this.bookMarkFinishTime /= 1000; } if((this.urlMetaInfoXml == null) || (this.urlMetaInfoXml == "")){ if((this.urlContent != null) && (this.urlContent.length > 0)){ hug5 = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1); hug5 = hug5.substr(0, hug5.indexOf(".")); this.toggleShowLogo = true; this.urlMetaInfoXml = ("http://rutube.ru/trackinfo/" + hug5 + ".html"); } } if(this.urlContent.indexOf("ezn-dev") > 0) this.parseDeveloperUrls(); } public function get isEmbedMode():Boolean { //MethodID:1496, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 37 return ((this.referrer == null) || (this.referrer.search(new RegExp("rutube\.ru", "i")) == (-1))); } public function toString():String { //MethodID:1497, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 59 var hug1:String = ""; var hug2:int = 0; while(hug2 < classVariables.length){ hug1 += ((htmlVariables[hug2] + ":") + this[classVariables[hug2]] + "; "); hug2++; } return hug1; } private function parseDeveloperUrls():void { //MethodID:1498, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 57 var hug1:String = this.urlContent.substr(this.urlContent.lastIndexOf("/") + 1); hug1 = hug1.substr(0, hug1.indexOf(".")); this.urlContent = ("http://bl.rutube.ru/" + hug1 + ".iflv"); } } } //¡script166¡ //skip components :com.google.analytics.core //as filename :TrackerMode.as //¡script167¡ //skip components :com.google.analytics.v4 //as filename :GoogleAnalyticsAPI.as //¡script168¡ //skip components :com.google.analytics //as filename :AnalyticsTracker.as //¡script169¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:169 public class GoogleEvent extends Event { //static constructor public static function GoogleEvent$cinit() { //MethodID:1566, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 GOOGLE_ANALYTICS_NONE = "GOOGLE_ANALYTICS_NONE"; GOOGLE_ANALYTICS_TRACK = "GOOGLE_ANALYTICS_TRACK"; } //static variables/etc. public static const GOOGLE_ANALYTICS_NONE:String = "GOOGLE_ANALYTICS_NONE";//slotID:1 public static const GOOGLE_ANALYTICS_TRACK:String = "GOOGLE_ANALYTICS_TRACK";//slotID:2 //constructor public function GoogleEvent(hug1:String, hug2:String, hug3:String, hug4:String=null, hug5:Number=Number.NaN) { //MethodID:1567, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 29 super(hug1); this._category = hug2; this._action = hug3; this._label = hug4; this._value = hug5; } //variables/etc. protected var _value:Number = Number.NaN; //slotID:0 protected var _action:String = ""; //slotID:0 protected var _label:String = ""; //slotID:0 protected var _category:String = ""; //slotID:0 override public function clone():Event { //MethodID:1568, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 27 return new GoogleEvent(type, this.category, this.action, this.label, this.value); } public function get category():String { //MethodID:1569, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(this._category != null) return this._category.concat(); return "none"; } public function get action():String { //MethodID:1570, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(this._action != null) return this._action.concat(); return "none"; } public function get label():String { //MethodID:1571, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(this._label != null) return this._label.concat(); return null; } public function get value():Number { //MethodID:1572, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._value; } } } //¡script170¡ //skip components :com.google.analytics //as filename :GATracker.as //¡script171¡ package ru.rutube.states{ import ru.rutube.event.ControlPanelEvent import ru.rutube.event.InternalEvent //¡class(instance)_index:171 public interface IPlayerState { //static constructor public static function IPlayerState$cinit() { //MethodID:1643, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function create():void; //MethodID:1644, dispID:0 function destroy():void; //MethodID:1645, dispID:0 function prepareView():void; //MethodID:1646, dispID:0 function releaseView():void; //MethodID:1647, dispID:0 function service():void; //MethodID:1648, dispID:0 function externalFunctionCall(hug1:int=0, ...rest):void; //MethodID:1649, dispID:0 function getCurrentStateId():int; //MethodID:1650, dispID:0 function handleVideoStreamEvent():Boolean; //MethodID:1651, dispID:0 function handleInternalEvent(hug1:InternalEvent):Boolean; //MethodID:1652, dispID:0 function handleInternalButtonEvent(hug1:InternalEvent):Boolean; //MethodID:1653, dispID:0 function handleInternalCommandEvent(hug1:InternalEvent):Boolean; //MethodID:1654, dispID:0 function handleInternalProgressEvent(hug1:InternalEvent):Boolean; //MethodID:1655, dispID:0 function handleInternalCloseEvent(hug1:InternalEvent):Boolean; //MethodID:1656, dispID:0 function handleInternalErrorEvent(hug1:InternalEvent):Boolean; //MethodID:1657, dispID:0 function handleMouseRoll(hug1:Boolean):Boolean; //MethodID:1658, dispID:0 function handleRemoteEvent(hug1:String):Boolean; //MethodID:1659, dispID:0 function handleControlPanelEvent(hug1:ControlPanelEvent):Boolean; //MethodID:1660, dispID:0 //constructor public function IPlayerState(); //MethodID:1661, dispID:0 } } //¡script172¡ package ru.rutube.states{ import Components.Component import flash.events.Event import flash.geom.Rectangle import flash.utils.clearTimeout import flash.utils.setTimeout import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent import ru.rutube.event.PlayerStateEvent import ru.rutube.manager.extern.ExternalFunctId import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.managers.remote.RemoteEvent import ru.rutube.managers.statistic.tns.TNSStatistic //¡class(instance)_index:172 public class PlayerState extends Object implements IPlayerState { //static constructor public static function PlayerState$cinit() { //MethodID:1663, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 170 STATE_UNDEFINED = "STATE_UNDEFINED"; STATE_NOT_AVALIBLE = "STATE_NOT_AVALIBLE"; STATE_INITIAL = "STATE_INITIAL"; STATE_STARTED = "STATE_STARTED"; STATE_PAUSED = "STATE_PAUSED"; STATE_STOPPED = "STATE_STOPPED"; STATE_PREVIEW = "STATE_PREVIEW"; STATE_POSTVIEW = "STATE_POSTVIEW"; STATE_NONE = -1; INIT_STATE = 0; PRELOAD_STATE = 1; PREPLAY_STATE = 2; PREPLAY_AD_STATE = 3; PLAY_STATE = 4; PAUSE_STATE = 5; POST_AD_STATE = 6; END_SCREEN_STATE = 7; END_SCREEN_RUTUBE_STATE = 8; END_SCREEN_EXTERNAL_STATE = 9; controller = null; } //static variables/etc. public static const STATE_UNDEFINED:String = "STATE_UNDEFINED"; //slotID:1 public static const STATE_NOT_AVALIBLE:String = "STATE_NOT_AVALIBLE";//slotID:2 public static const STATE_INITIAL:String = "STATE_INITIAL"; //slotID:3 public static const STATE_STARTED:String = "STATE_STARTED"; //slotID:4 public static const STATE_PAUSED:String = "STATE_PAUSED"; //slotID:5 public static const STATE_STOPPED:String = "STATE_STOPPED"; //slotID:6 public static const STATE_PREVIEW:String = "STATE_PREVIEW"; //slotID:7 public static const STATE_POSTVIEW:String = "STATE_POSTVIEW"; //slotID:8 public static const STATE_NONE:int = -1; //slotID:9 public static const INIT_STATE:int = 0; //slotID:10 public static const PRELOAD_STATE:int = 1; //slotID:11 public static const PREPLAY_STATE:int = 2; //slotID:12 public static const PREPLAY_AD_STATE:int = 3; //slotID:13 public static const PLAY_STATE:int = 4; //slotID:14 public static const PAUSE_STATE:int = 5; //slotID:15 public static const POST_AD_STATE:int = 6; //slotID:16 public static const END_SCREEN_STATE:int = 7; //slotID:17 public static const END_SCREEN_RUTUBE_STATE:int = 8; //slotID:18 public static const END_SCREEN_EXTERNAL_STATE:int = 9; //slotID:19 protected static var controller:Controller = null; //slotID:20 //constructor public function PlayerState() { //MethodID:1664, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 super(); this.executeQuery = new Array(); } //variables/etc. protected var currentQueryState:int = 0; //slotID:0 protected var nextStateId:int = -1; //slotID:0 protected var executeQuery:Array = null; //slotID:0 protected var currentStateId:int = -1; //slotID:0 protected var clearTimeOutId:uint = 0; //slotID:0 protected var queryPoiner:int = 0; //slotID:0 protected function next(hug1:Boolean=false):Boolean { //MethodID:1665, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 210 var hug2:QueryElement = null; if(this.executeQuery.length > this.queryPoiner){ do{ hug2 = this.executeQuery[this.queryPoiner]; if((hug2 != null) || (this.queryPoiner >= this.executeQuery.length)) break; this.queryPoiner++; }while(hug2 == null); if(this.queryPoiner >= this.executeQuery.length){ this.resetQuery(); }else if((hug2 != null) && (hug2.func != null)){ this.queryPoiner++; this.currentQueryState = hug2.stateAlias; this.clearTimeOutId = setTimeout(this.executeQueryFunct, 120, hug2); return true; } }else{ this.resetQuery(); } if(hug1) this.changePlayerStateToNext(); return false; } protected function getCurrentStateAlias():int { //MethodID:1666, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug1:int = 0; var hug2:QueryElement = null; hug2 = this.executeQuery[this.queryPoiner]; if(hug2 != null) hug1 = hug2.stateAlias; return hug1; } protected function changePlayerStateToNext():void { //MethodID:1667, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.changePlayerState(this.nextStateId); } protected function executeQueryFunct(... rest):void { //MethodID:1668, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 43 if(this.clearTimeOutId > 0) clearTimeout(this.clearTimeOutId); var hug2:QueryElement = (rest[0] as QueryElement); hug2.func(); } protected function changePlayerState(hug1:int):void { //MethodID:1669, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 27 var hug2:PlayerStateEvent = new PlayerStateEvent(PlayerStateEvent.CHANGE_PLAYER_STATE, hug1); EventManager.instance.dispatchEvent(hug2); } public function resetQuery():void { //MethodID:1670, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 9 this.queryPoiner = 0; } public function getCurrentStateId():int { //MethodID:1671, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.currentStateId; } public function getCurrentQueryId():int { //MethodID:1672, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.currentQueryState; } public function create():void { //MethodID:1673, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function destroy():void { //MethodID:1674, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function prepareView():void { //MethodID:1675, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function releaseView():void { //MethodID:1676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function externalFunctionCall(hug1:int=0, ...rest):void { //MethodID:1677, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 82 var hug3:int = hug1; switch(hug3){ case ExternalFunctId.FUNCTION_OPEN_CONTENT_PAGE: if(PlayerState.controller != null) PlayerState.controller.openContentPage(); break; default: break; } } public function service():void { //MethodID:1678, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 trace("DEFAULT VALUE"); this.next(); } public function handleVideoStreamEvent():Boolean { //MethodID:1679, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleControlPanelEvent(hug1:ControlPanelEvent):Boolean { //MethodID:1680, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleMouseRoll(hug1:Boolean):Boolean { //MethodID:1681, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalErrorEvent(hug1:InternalEvent):Boolean { //MethodID:1682, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalCloseEvent(hug1:InternalEvent):Boolean { //MethodID:1683, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1684, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1685, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1686, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleInternalProgressEvent(hug1:InternalEvent):Boolean { //MethodID:1687, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function handleRemoteEvent(hug1:String):Boolean { //MethodID:1688, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 377 if(!PlayerState.controller) return false; trace("handleRemoteEvent(" + hug1 + ")"); var hug2:String = hug1; switch(hug2){ case RemoteEvent.EVENT_EXT_PAUSE: EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT)); break; case RemoteEvent.EVENT_EXT_PLAY: case RemoteEvent.EVENT_EXT_START: EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY)); break; case RemoteEvent.EVENT_EXT_STOP: if(controller != null){ if(controller.currentPlayerState == PlayerState.STATE_STOPPED) return true; } controller.externalStop = true; TNSStatistic.instance.setReportFinished(StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM).hash); EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_STOP)); break; case RemoteEvent.EVENT_EXT_HIDE_PANELS: EventManager.instance.dispatchEvent(new Event(Event.MOUSE_LEAVE)); break; case RemoteEvent.EVENT_EXT_HIDE_TOP_PANEL: break; case RemoteEvent.EVENT_EXT_RESIZE: this.handleRemoteResize(); break; default: return false; break; } return true; } private function handleRemoteResize():Boolean { //MethodID:1689, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 66 var hug1:Component = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Component); var hug2:Rectangle = ContentManager.instance.getContainerRectangle(); hug1.params({w:hug2.width, h:hug2.height}); hug1 = null; hug2 = null; return true; } } } //¡script173¡ package ru.rutube.states{ import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:173 public class PrePlayAdvertisementState extends PlayerState implements IPlayerState { //static constructor public static function PrePlayAdvertisementState$cinit() { //MethodID:1691, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PrePlayAdvertisementState() { //MethodID:1692, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.PLAY_STATE; currentStateId = PlayerState.PREPLAY_AD_STATE; } //variables/etc. override public function create():void { //MethodID:1693, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1694, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1695, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1696, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleMouseRoll(hug1:Boolean):Boolean { //MethodID:1697, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function service():void { //MethodID:1698, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1699, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1700, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1701, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78 switch(hug1.sourceId){ case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON: changePlayerStateToNext(); break; default: super.handleInternalButtonEvent(hug1); break; } return true; } } } //¡script174¡ package ru.rutube.states{ import ru.rutube.event.InternalEvent //¡class(instance)_index:174 public class PlayPlayerState extends PlayerState implements IPlayerState { //static constructor public static function PlayPlayerState$cinit() { //MethodID:1703, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayPlayerState() { //MethodID:1704, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.POST_AD_STATE; currentStateId = PlayerState.PLAY_STATE; } //variables/etc. override public function create():void { //MethodID:1705, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1706, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1707, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1708, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1709, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1710, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1711, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 return super.handleInternalEvent(hug1); } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1712, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1713, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } } } //¡script175¡ package ru.rutube.states{ import Components.LockPanel import Components.Player import flash.display.Sprite import flash.events.ContextMenuEvent import flash.events.Event import flash.geom.Rectangle import flash.ui.ContextMenu import flash.ui.ContextMenuItem import ru.rutube.event.ConfigurationMetaInfoEvent import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.GoogleEvent import ru.rutube.event.InternalEvent import ru.rutube.event.RestartEvent import ru.rutube.manager.extern.ExternalNotifier import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.SkinLoaderManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.PlayerConfig import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.reporter.Reporter import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants import ru.rutube.managers.statistic.player.PlayerStatistic import ru.rutube.ui.managers.LiveStateManager //¡class(instance)_index:175 public class PreloadPlayerState extends PlayerState implements IPlayerState { //static constructor public static function PreloadPlayerState$cinit() { //MethodID:1715, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 35 QUERY_CONFIG_LOAD = 1; QUERY_SKIN_LOAD = 2; QUERY_META_LOAD = 4; QUERY_USER_LOAD = 8; } //static variables/etc. public static const QUERY_CONFIG_LOAD:int = 1; //slotID:1 public static const QUERY_SKIN_LOAD:int = 2; //slotID:2 public static const QUERY_META_LOAD:int = 4; //slotID:3 public static const QUERY_USER_LOAD:int = 8; //slotID:4 //constructor public function PreloadPlayerState() { //MethodID:1716, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.PREPLAY_STATE; currentStateId = PlayerState.PRELOAD_STATE; } //variables/etc. private var alreadyLocked:Boolean = false; //slotID:0 private var totalStateExecution:uint = 0; //slotID:0 private const TOTAL_EXECUTION:uint = 15; //slotID:0 private function queryLoadConfig():void { //MethodID:1717, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 12 ConfigurationManager.instance.loadPlayerConfig(); } private function queryLoadExternalSkin():void { //MethodID:1718, LocalCount= 5 , MaxScope= 1, MaxStack= 11, CodeLength= 764 trace("queryLoadExternalSkin"); var hug1:PlayerConfig = ConfigurationManager.instance.playerConfig; var hug2:Boolean = false; var hug3:LockPanel = null; var hug4:Rectangle = null; if(ConfigurationManager.instance.flashVariablesConfig.isEmbedMode) hug2 = !hug1.isEmbededContentAllowed(); if(!ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash){ if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "unauthenticated")){ hug3 = new LockPanel((("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„€„r„p„~„~„„} „„€„|„„x„€„r„p„„„u„|„‘„} RuTube.\n„P„€„w„p„|„…„z„ƒ„„„p, „p„r„„„€„‚„y„x„…„z„„„u„ƒ„, „|„y„q„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„…„z„„„u„ƒ„."), true); Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_HIDED); }else if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "domain")){ hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u Rutube.ru.", true); Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED); }else if(!hug1.isContentAllowed() && (hug1.blockReason.toLowerCase() == "unavailable")){ hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true); Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_UNAVALIBLE); }else if(!hug1.isContentAllowed() || (hug1.blockReason.toLowerCase() == "invalid track id")){ hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „…„t„p„|„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true); Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DELETED); }else if(!hug1.isContentAllowed() || hug2){ if(hug2){ hug3 = new LockPanel("„D„€„ƒ„„„…„ „{ „x„p„„‚„€„Š„u„~„~„€„}„… „r„y„t„u„€-„{„€„~„„„u„~„„„… „‚„p„x„‚„u„Š„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u rutube.ru"); }else{ hug3 = new LockPanel("„D„€„ƒ„„„…„ „{ „x„p„„‚„€„Š„u„~„~„€„}„… „r„y„t„u„€-„{„€„~„„„u„~„„„… „x„p„„‚„u„‹„u„~"); } Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DEFAULT); } } if((hug3 != null) && !this.alreadyLocked){ ContentManager.instance.removeAllContent(); ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER); ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug3); ContentManager.instance.addContent(ContentIds.LOCK_PANEL); hug4 = RutubePlayer.instance.getPlayerRectangle(); hug3.params({w:hug4.width, h:hug4.height, right:true, bottom:true, stage:true}); this.alreadyLocked = true; }else if((hug1.skinUrl != null) && (hug1.skinUrl.length > 3) && !ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash){ if(SkinLoaderManager.instance.loadSkin(hug1.skinUrl)) return; } this.totalStateExecution |= QUERY_SKIN_LOAD; } private function queryLoadMetaInfo(hug1:String=null):void { //MethodID:1719, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 56 var hug2:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig; ConfigurationManager.instance.loadMetaInfo(((hug1 != null) ? hug1 : hug2.urlMetaInfoXml), ((hug1 != null) ? false : hug2.playListEnable)); } private function queryLoadUserInfo():void { //MethodID:1720, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 12 ConfigurationManager.instance.loadUserInfo(); } override public function service():void { //MethodID:1721, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 103 EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_LOAD)); EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_LOADING_TIME, PlayerStatistic.instance.playerLoadingTime.toString())); this.totalStateExecution = 0; this.alreadyLocked = false; this.queryLoadConfig(); this.queryLoadUserInfo(); this.queryLoadMetaInfo(); } override public function prepareView():void { //MethodID:1722, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 48 EventManager.instance.addEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false, 0, true); EventManager.instance.addEventListener(RestartEvent.RESTART, this.onRestart, false, 0, true); } override public function releaseView():void { //MethodID:1725, LocalCount= 2 , MaxScope= 2, MaxStack= 11, CodeLength= 407 internal var player:Player; //slotID:1 internal var rect:Rectangle; //slotID:2 internal var rutubePlayer:Sprite; //slotID:3 internal var item:ContextMenuItem; //slotID:4 player = null; PlayerStatistic.instance.finishLoadingXML(); EventManager.instance.removeEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false); EventManager.instance.removeEventListener(RestartEvent.RESTART, this.onRestart, false); ContentManager.instance.removeContent(ContentIds.CIRCLE_PRELOADER); ContentManager.instance.removeAllContent(); LiveStateManager.instance; player = new Player(); player.visible = false; ContentManager.instance.setContentById(ContentIds.PLAYER, player); ContentManager.instance.addContent(ContentIds.PLAYER); rect = ContentManager.instance.getContainerRectangle(); player.params({w:rect.width, h:rect.height, right:true, bottom:true, stage:true}); ExternalNotifier.instance.dispatcher = ContentManager.instance.getContainer().loaderInfo.sharedEvents; PlayerState.controller = Controller.instance; PlayerState.controller.init(); rutubePlayer = RutubePlayer.instance; item = null; rutubePlayer.contextMenu = new ContextMenu(); item = new ContextMenuItem("„O „„|„u„u„‚„u"); rutubePlayer.contextMenu.customItems.push(item); item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(hug1:Event):void{ //MethodID:1723, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_SHOW_ABOUT_WINDOW)); }); item = null; item = new ContextMenuItem("„P„€„w„p„|„€„r„p„„„„ƒ„‘ „‚„p„x„‚„p„q„€„„„‰„y„{„…"); item.enabled = false; item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, function(hug1:Event):void{ //MethodID:1724, LocalCount= 2 , MaxScope= 0, MaxStack= 3, CodeLength= 20 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_COPY_DEBUG_INFO)); }); item = null; rutubePlayer.contextMenu.hideBuiltInItems(); } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1726, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 191 switch(hug1.sourceId){ case EventSources.SOURCE_MANAGER_SKIN: this.totalStateExecution |= QUERY_SKIN_LOAD; break; case EventSources.SOURCE_MANAGER_CONFIGURATION: this.totalStateExecution |= QUERY_CONFIG_LOAD; this.processConfigManager(hug1); if(!this.alreadyLocked){ this.queryLoadExternalSkin(); }else{ this.totalStateExecution |= QUERY_SKIN_LOAD; } break; case EventSources.SOURCE_MANAGER_CONFIGURATION_USER_INFO: this.totalStateExecution |= QUERY_USER_LOAD; break; default: break; } this.checkFinishParallelLoading(); return true; } private function onRestart(hug1:RestartEvent):void { //MethodID:1727, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48 ConfigurationManager.instance.metaInfo.reset(); ConfigurationManager.instance.flashVariablesConfig.parseVariables(hug1.flashVars); ConfigurationManager.instance.flashVariablesConfig.toggleAutoPlayVideo = true; this.service(); } private function checkFinishParallelLoading():void { //MethodID:1728, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33 if(this.totalStateExecution != this.TOTAL_EXECUTION) return; if(this.alreadyLocked) return; next(true); } private function listenerMetaInfoLoaded(hug1:Event):void { //MethodID:1729, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20 this.totalStateExecution |= QUERY_META_LOAD; this.checkFinishParallelLoading(); } private function processConfigManager(hug1:InternalEvent):Boolean { //MethodID:1730, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 614 var hug2:LockPanel = null; var hug3:Rectangle = null; var hug4:PlayerConfig = null; switch(hug1.type){ case InternalEvent.PROGRESS: break; case InternalEvent.COMPLETE: trace("COMPLETE"); hug2 = null; hug3 = null; switch(getCurrentQueryId()){ case QUERY_CONFIG_LOAD: if(ConfigurationManager.instance.flashVariablesConfig.toggleInnerEmbedFlash) return true; hug4 = ConfigurationManager.instance.playerConfig; new LockPanel((("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„€„r„p„~„~„„} „„€„|„„x„€„r„p„„„u„|„‘„} RuTube.\n„P„€„w„p„|„…„z„ƒ„„„p, „p„r„„„€„‚„y„x„…„z„„„u„ƒ„, „|„y„q„€ „x„p„‚„u„s„y„ƒ„„„‚„y„‚„…„z„„„u„ƒ„."), true); new LockPanel("„^„„„€„„ „‚„€„|„y„{ „t„€„ƒ„„„…„„u„~ „„„€„|„„{„€ „~„p „ƒ„p„z„„„u Rutube.ru.", true); new LockPanel("„^„„„€„„ „‚„€„|„y„{ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true); return true; if((hug2 != null) && !this.alreadyLocked){ ContentManager.instance.removeAllContent(); ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER); ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug2); ContentManager.instance.addContent(ContentIds.LOCK_PANEL); hug3 = RutubePlayer.instance.getPlayerRectangle(); RutubePlayer.instance.getPlayerRectangle(); hug2.params({w:hug3.width, h:hug3.height, right:true, bottom:true, stage:true}); this.alreadyLocked = true; } break; default: break; } break; case InternalEvent.ERROR: trace("Error while loading! " + hug1.data); break; default: break; } return true; } } } //¡script176¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:176 public class ChangePlayerStateEvent extends Event { //static constructor public static function ChangePlayerStateEvent$cinit() { //MethodID:1732, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 CHANGE_PLAYER_STATE = "CONTROLLLER_CHANGE_PLAYER_STATE"; } //static variables/etc. public static const CHANGE_PLAYER_STATE:String = "CONTROLLLER_CHANGE_PLAYER_STATE";//slotID:1 //constructor public function ChangePlayerStateEvent(hug1:String) { //MethodID:1733, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 super(CHANGE_PLAYER_STATE); this.state = hug1; } //variables/etc. public var state:String = ""; //slotID:0 override public function clone():Event { //MethodID:1734, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 return new ChangePlayerStateEvent(this.state); } } } //¡script177¡ package ru.rutube.states{ import flash.display.DisplayObject import flash.display.MovieClip import flash.events.Event import flash.events.IOErrorEvent import flash.geom.Rectangle import flash.net.URLLoader import flash.utils.clearTimeout import flash.utils.setTimeout import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.geo.GeoTargetManager import ru.rutube.managers.remote.RemotePlayerControl import ru.rutube.managers.statistic.google.GoogleAnalytics import ru.rutube.managers.statistic.player.PlayerStatistic import ru.rutube.ui.components.preloader.MacCirclePreloader //¡class(instance)_index:177 public class InitPlayerState extends PlayerState implements IPlayerState { //static constructor public static function InitPlayerState$cinit() { //MethodID:1736, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 QUERY_SKIN_LOAD = 1; } //static variables/etc. public static const QUERY_SKIN_LOAD:int = 1; //slotID:1 //constructor public function InitPlayerState() { //MethodID:1737, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.PRELOAD_STATE; currentStateId = PlayerState.INIT_STATE; } //variables/etc. private var zeroInterval:uint = 0; //slotID:0 private var zeroIntervalAttempts:uint = 1; //slotID:0 override public function prepareView():void { //MethodID:1738, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 59 var hug1:MovieClip = new MacCirclePreloader(12, 10); ContentManager.instance.setContentById(ContentIds.CIRCLE_PRELOADER, hug1); this.handleInternalEvent(new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, Event.RESIZE)); } override public function releaseView():void { //MethodID:1739, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.releaseInterval(); } override public function service():void { //MethodID:1740, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 215 internal var flashVarsConfig:FlashVariablesConfig; //slotID:1 PlayerState.controller = null; PlayerStatistic.instance.startLoadingXML(); trace("SERVICE"); ConfigurationManager.instance.flashVariablesConfig.parseVariables(RutubePlayer.instance.loaderInfo.parameters); GoogleAnalytics.instance.init(ConfigurationManager.instance.flashVariablesConfig.isEmbedMode); try{ ConfigurationManager.instance.flashVariablesConfig.loaderUrl = RutubePlayer.instance.loaderInfo.url; } catch(err:Error){ } ConfigurationManager.instance.fileList.setFilesList(ConfigurationManager.instance.flashVariablesConfig.urlContent); EventManager.instance.addStageListeners(); flashVarsConfig = ConfigurationManager.instance.flashVariablesConfig; if(flashVarsConfig.referrer.indexOf("rutube.ru")) RemotePlayerControl.instance(RemotePlayerControl.LC_MAIN_PLAYER, EventManager.instance, flashVarsConfig.pageId); GeoTargetManager.instance.requestGeoPosition(); } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1741, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 345 var hug2:Rectangle = null; var hug3:DisplayObject = null; switch(hug1.sourceId){ case EventSources.SOURCE_MANAGER_SKIN: this.processSkinManager(hug1); break; case EventSources.SOURCE_STAGE: if((hug1.type == InternalEvent.STAGE) && (hug1.eventType == Event.RESIZE)){ hug2 = ContentManager.instance.getContainerRectangle(); hug3 = ContentManager.instance.getContentById(ContentIds.CIRCLE_PRELOADER); hug3.x = (hug2.width / 2); hug3.y = (hug2.height / 2); if(!ContentManager.instance.isAlreadyOnContainer(ContentIds.CIRCLE_PRELOADER)) ContentManager.instance.addContent(ContentIds.CIRCLE_PRELOADER); this.releaseInterval(); if(((hug2.width == 0) || (hug2.height == 0)) && (this.zeroInterval == 0)) this.zeroInterval = setTimeout(this.repeatStageEvent, (50 * this.zeroIntervalAttempts)); } break; case EventSources.SOURCE_MANAGER_GEO: ConfigurationManager.instance.metaInfo.adSense.setCountry(GeoTargetManager.instance.geoPosition); next(true); break; default: break; } return true; } private function releaseInterval():void { //MethodID:1742, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 if(this.zeroInterval > 0){ clearTimeout(this.zeroInterval); this.zeroInterval = 0; } } private function repeatStageEvent():void { //MethodID:1743, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 61 this.releaseInterval(); trace("Waiting non zero rectangle"); this.zeroIntervalAttempts++; this.handleInternalEvent(new InternalEvent(InternalEvent.STAGE, EventSources.SOURCE_STAGE, Event.RESIZE)); } private function processSkinManager(hug1:InternalEvent):void { //MethodID:1744, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 144 switch(hug1.type){ case InternalEvent.PROGRESS: break; case InternalEvent.COMPLETE: trace("COMPLETE"); next(true); break; case InternalEvent.ERROR: trace("Error while loading! " + hug1.data); break; default: break; } } private function listenerGeoLoading(hug1:Event):void { //MethodID:1745, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 153 var hug3:String = null; var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerGeoLoading); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading); ConfigurationManager.instance.metaInfo.adSense.setCountry("RU"); if(!(hug1 is IOErrorEvent)){ hug3 = hug2.data; if(hug3 != null){ hug3 = hug3.replace("\n", ""); hug3.replace("\n", ""); hug3 = hug3.replace("\r", ""); hug3.replace("\r", ""); ConfigurationManager.instance.metaInfo.adSense.setCountry(hug3); } } this.releaseInterval(); next(true); } } } //¡script178¡ package ru.rutube.states{ import flash.events.MouseEvent import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager //¡class(instance)_index:178 public class PreplayPlayerState extends PlayerState implements IPlayerState { //static constructor public static function PreplayPlayerState$cinit() { //MethodID:1747, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PreplayPlayerState() { //MethodID:1748, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.PREPLAY_AD_STATE; currentStateId = PlayerState.PREPLAY_STATE; } //variables/etc. override public function prepareView():void { //MethodID:1749, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 ContentManager.instance.removeContentById(ContentIds.CIRCLE_PRELOADER); } override public function releaseView():void { //MethodID:1750, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1751, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 99 switch(hug1.sourceId){ case EventSources.SOURCE_GUI_MAIN_PLAY_BUTTON: case EventSources.SOURCE_GUI_CONTROL_PLAY_BUTTON: changePlayerStateToNext(); break; default: return super.handleInternalButtonEvent(hug1); break; } return true; } override public function service():void { //MethodID:1752, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function listenerMouseclick(hug1:MouseEvent):void { //MethodID:1753, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 32 var hug2:InternalEvent = new InternalEvent(InternalEvent.BUTTON, EventSources.SOURCE_GUI_MAIN_PLAY_BUTTON); EventManager.instance.dispatchEvent(hug2); } } } //¡script179¡ package ru.rutube.states{ import ru.rutube.event.InternalEvent //¡class(instance)_index:179 public class EndRutubePlayerState extends PlayerState implements IPlayerState { //static constructor public static function EndRutubePlayerState$cinit() { //MethodID:1755, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function EndRutubePlayerState() { //MethodID:1756, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. override public function create():void { //MethodID:1757, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1758, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1759, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1760, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1761, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1762, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1763, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 return super.handleInternalEvent(hug1); } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1764, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1765, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } } } //¡script180¡ package ru.rutube.states{ import flash.net.URLRequest import flash.net.navigateToURL import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:180 public class EndExternalPlayerState extends PlayerState implements IPlayerState { //static constructor public static function EndExternalPlayerState$cinit() { //MethodID:1767, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function EndExternalPlayerState() { //MethodID:1768, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. override public function create():void { //MethodID:1769, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1770, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1771, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1772, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1773, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1774, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1775, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 return super.handleInternalEvent(hug1); } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1776, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1777, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 158 internal var iEvent:InternalEvent; //slotID:1 internal var requestURL:String; //slotID:2 requestURL = null; iEvent = hug1; switch(iEvent.sourceId){ case EventSources.SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON: requestURL = (iEvent.data as String); try{ navigateToURL(new URLRequest(requestURL), "_blank"); } catch(err:Error){ trace(err); } break; default: return super.handleInternalCommandEvent(iEvent); break; } return true; } } } //¡script181¡ package ru.rutube.managers.remote{ import flash.events.AsyncErrorEvent import flash.events.Event import flash.events.EventDispatcher import flash.events.IEventDispatcher import flash.events.SecurityErrorEvent import flash.events.StatusEvent import flash.events.TimerEvent import flash.external.ExternalInterface import flash.net.LocalConnection import flash.utils.Timer //¡class(instance)_index:181 public class RemotePlayerControl extends EventDispatcher { //static constructor public static function RemotePlayerControl$cinit() { //MethodID:1779, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 258 VERSION = "1.0"; DEBUG = true; EVENT_EXT_START = "startExt"; EVENT_EXT_PLAY = "playExt"; EVENT_EXT_PAUSE = "pauseExt"; EVENT_EXT_STOP = "stopExt"; STATE_REGISTER = "register"; STATE_INIT = "init"; STATE_READY = "ready"; STATE_PLAYING = "playing"; STATE_PAUSED = "paused"; STATE_FINISHED = "finished"; CMD_STOP = "stop"; CMD_PLAY = "play"; CMD_PAUSE = "pause"; LC_DEFAULT_PLAYER = "_player_"; LC_MAIN_PLAYER = "_main_player"; LC_MANAGER = "_rutube_lc_master"; FUNC_JS_GETPAGEID = "getPageId"; FUNC_NOTIFY = "notify"; FUNC_EXECUTE = "execute"; RESPONSE_OK = "OK"; RESPONSE_FAULT = "FAULT"; PAGE_RND_ID = "_id"; CST_MAXERRORCOUNTER = 30; __instance = null; imageUrl = "test.jpg"; mediaUrl = "test.flv"; clickUrl = "http://www.rutube.ru"; } //static variables/etc. public static const VERSION:String = 1.0; //slotID:1 public static const DEBUG:Boolean = true; //slotID:2 public static const EVENT_EXT_START:String = "startExt"; //slotID:3 public static const EVENT_EXT_PLAY:String = "playExt"; //slotID:4 public static const EVENT_EXT_PAUSE:String = "pauseExt"; //slotID:5 public static const EVENT_EXT_STOP:String = "stopExt"; //slotID:6 public static const STATE_REGISTER:String = "register"; //slotID:7 public static const STATE_INIT:String = "init"; //slotID:8 public static const STATE_READY:String = "ready"; //slotID:9 public static const STATE_PLAYING:String = "playing"; //slotID:10 public static const STATE_PAUSED:String = "paused"; //slotID:11 public static const STATE_FINISHED:String = "finished"; //slotID:12 public static const CMD_STOP:String = "stop"; //slotID:13 public static const CMD_PLAY:String = "play"; //slotID:14 public static const CMD_PAUSE:String = "pause"; //slotID:15 public static const LC_DEFAULT_PLAYER:String = "_player_"; //slotID:16 public static const LC_MAIN_PLAYER:String = "_main_player"; //slotID:17 public static const LC_MANAGER:String = "_rutube_lc_master"; //slotID:18 public static const FUNC_JS_GETPAGEID:String = "getPageId"; //slotID:19 public static const FUNC_NOTIFY:String = "notify"; //slotID:20 public static const FUNC_EXECUTE:String = "execute"; //slotID:21 public static const RESPONSE_OK:String = "OK"; //slotID:22 public static const RESPONSE_FAULT:String = "FAULT"; //slotID:23 public static var PAGE_RND_ID:String = "_id"; //slotID:24 private static const CST_MAXERRORCOUNTER:int = 30; //slotID:25 private static var __instance:RemotePlayerControl = null; //slotID:26 public static var imageUrl:String = "test.jpg"; //slotID:27 public static var mediaUrl:String = "test.flv"; //slotID:28 public static var clickUrl:String = "http://www.rutube.ru"; //slotID:29 public static function instance(hug1:String="_player_", hug2:IEventDispatcher=null, hug3:String=null):RemotePlayerControl { //dispID:3, MethodID:1780, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 25 if(!__instance) __instance = new RemotePlayerControl(hug1, hug2, hug3); return __instance; } public static function changeState(hug1:String):void { //dispID:4, MethodID:1781, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15 instance().changeState(hug1); } //constructor public function RemotePlayerControl(hug1:String="_player_", hug2:IEventDispatcher=null, hug3:String=null) { //MethodID:1782, LocalCount= 6 , MaxScope= 5, MaxStack= 3, CodeLength= 234 internal var role:String = "_player_"; //slotID:1 internal var target:IEventDispatcher = null; //slotID:2 internal var pageId:String = null; //slotID:3 role = hug1; target = hug2; pageId = hug3; this.dispatcher = (this as EventDispatcher); this.lcTimer = new Timer(300); this.registredLcItems = new Array(); if(target != null){ super(target); this.dispatcher = target; } if(__instance) throw new Error("It's a singleton object, It's already created "); if((pageId != null) && (pageId != "")){ PAGE_RND_ID = pageId; }else if(ExternalInterface.available){ try{ pageId = ExternalInterface.call(FUNC_JS_GETPAGEID); if(pageId && (pageId != "")) PAGE_RND_ID = pageId; } catch(error:Error){ trace("JSError"); } } this.init(role); } //variables/etc. private var name:String; //slotID:0 private var lastLcFunc:Function = null; //slotID:0 private var isMainPlayerPaused:Boolean = false; //slotID:0 private var errorCounter:int = 0; //slotID:0 private var lcTimer:Timer; //slotID:0 private var manangerName:String; //slotID:0 private var currentState:String = "register"; //slotID:0 private var mainPlayerName:String; //slotID:0 private var dispatcher:IEventDispatcher; //slotID:0 private var registredLcItems:Array; //slotID:0 private var lastLcFuncResponse:* = null; //slotID:0 private var lc:LocalConnection; //slotID:0 private function init(hug1:String):void { //MethodID:1783, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 269 internal var role:String; //slotID:1 role = hug1; try{ this.lc = new LocalConnection(); this.lc.allowDomain("*"); this.lc.allowInsecureDomain("*"); this.lc.client = this; this.lc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onLocalConnectionEvent, false, 0, true); this.lc.addEventListener(StatusEvent.STATUS, this.onLocalConnectionStatus, false, 0, true); this.lc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this.onLocalConnectionEvent, false, 0, true); this.currentState = STATE_REGISTER; switch(role){ case LC_MAIN_PLAYER: this.initAsMainPlayer(); break; case LC_MANAGER: this.initAsManager(); break; default: this.initAsDefaultPlayer(); break; } this.lc.connect(this.name); } catch(error:Error){ trace(error.message); } } private function initAsDefaultPlayer():void { //MethodID:1785, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 68 this.name = (LC_DEFAULT_PLAYER + int(Math.random() * 0x989680).toString()); this.manangerName = (LC_MANAGER + PAGE_RND_ID); this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID); this.lastLcFunc = function():*{ //MethodID:1784, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 48 jstrace("lc:" + manangerName + " , notify " + STATE_REGISTER); lastLcFuncResponse = lc.send(manangerName, FUNC_NOTIFY, name, STATE_REGISTER); }; this.lastLcFunc(); } private function initAsMainPlayer():void { //MethodID:1787, LocalCount= 3 , MaxScope= 2, MaxStack= 4, CodeLength= 50 this.manangerName = (LC_MANAGER + PAGE_RND_ID); this.name = (LC_MAIN_PLAYER + PAGE_RND_ID); this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID); this.lastLcFunc = function():void{ //MethodID:1786, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 42 jstrace("lc:" + manangerName + " , notify " + STATE_REGISTER); lc.send(manangerName, FUNC_NOTIFY, name, STATE_REGISTER); }; this.lastLcFunc(); } private function initAsManager():void { //MethodID:1788, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 42 this.name = (LC_MANAGER + PAGE_RND_ID); this.manangerName = (LC_MANAGER + PAGE_RND_ID); this.mainPlayerName = (LC_MAIN_PLAYER + PAGE_RND_ID); this.jstrace("manager connected"); } public function changeState(hug1:String):void { //MethodID:1790, LocalCount= 3 , MaxScope= 2, MaxStack= 3, CodeLength= 73 internal var newState:String; //slotID:1 newState = hug1; if(newState == this.currentState) return; if(this.lcTimer.running){ this.lcTimer.stop(); this.lcTimer.removeEventListener(TimerEvent.TIMER, this.lastLcFunc); } this.lastLcFunc = function():*{ //MethodID:1789, LocalCount= 1 , MaxScope= 0, MaxStack= 6, CodeLength= 70 jstrace("lc:" + manangerName + " , notify " + newState); lastLcFuncResponse = lc.send(manangerName, FUNC_NOTIFY, name, newState); if(lastLcFuncResponse == RESPONSE_OK) currentState = newState; return lastLcFuncResponse; }; this.lastLcFunc(); } private function sendCommand(hug1:String, hug2:String):void { //MethodID:1792, LocalCount= 4 , MaxScope= 2, MaxStack= 2, CodeLength= 29 internal var toLc:String; //slotID:1 internal var command:String; //slotID:2 toLc = hug1; command = hug2; this.lastLcFunc = function():*{ //MethodID:1791, LocalCount= 1 , MaxScope= 0, MaxStack= 5, CodeLength= 45 jstrace("lc:" + toLc + " , execute: " + command); lastLcFuncResponse = lc.send(toLc, FUNC_EXECUTE, command); }; this.lastLcFunc(); } public function notify(hug1:String, hug2:String):String { //MethodID:1793, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 365 var hug3:String = null; this.jstrace("notify lc:" + hug1 + " , notify " + hug2); var hug4:String = hug2; switch(hug4){ case STATE_REGISTER: if(!this.registredLcItems[hug1]) this.registredLcItems[hug1] = hug2; return RESPONSE_OK; case STATE_PLAYING: hug3 = ""; this.registredLcItems[hug1] = hug2; if(hug1 == this.mainPlayerName){ for(hug3 in this.registredLcItems){ if(hug3 != this.mainPlayerName) this.sendCommand(hug3, CMD_STOP); } }else{ for(hug3 in this.registredLcItems){ if(hug3 != this.mainPlayerName){ this.sendCommand(hug3, CMD_STOP); }else if(this.registredLcItems[hug3] == STATE_PLAYING){ this.isMainPlayerPaused = true; this.sendCommand(hug3, CMD_PAUSE); } } } return RESPONSE_OK; case STATE_FINISHED: if(this.isMainPlayerPaused){ this.isMainPlayerPaused = false; this.sendCommand(this.mainPlayerName, CMD_PLAY); } break; default: if(this.registredLcItems[hug1]){ this.registredLcItems[hug1] = hug2; return RESPONSE_OK; } return RESPONSE_FAULT; break; } return RESPONSE_FAULT; } public function execute(hug1:String):String { //MethodID:1794, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 168 var hug2:String = hug1; switch(hug2){ case CMD_STOP: this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_STOP)); return RESPONSE_OK; case CMD_PAUSE: this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_PAUSE)); return RESPONSE_OK; case CMD_PLAY: this.dispatcher.dispatchEvent(new RemoteEvent(RemoteEvent.EVENT_EXT_PLAY)); return RESPONSE_OK; default: return RESPONSE_FAULT; break; } } private function onLocalConnectionEvent(hug1:Event):void { //MethodID:1795, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 trace(hug1.type); } private function onLocalConnectionStatus(hug1:StatusEvent):void { //MethodID:1796, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 239 if(this.lcTimer.running){ this.lcTimer.removeEventListener(TimerEvent.TIMER, this.lastLcFunc); this.lcTimer.stop(); } switch(hug1.level){ case "status": if(this.lcTimer.running) this.lcTimer.stop(); break; case "error": this.errorCounter = this.errorCounter; if((this.errorCounter++) > CST_MAXERRORCOUNTER){ if(this.lcTimer.running) this.lcTimer.stop(); return; } if(this.lastLcFunc != null){ this.lcTimer.delay = (3000 + (this.errorCounter * 100)); this.lcTimer.addEventListener(TimerEvent.TIMER, this.lastLcFunc, false, 0, true); this.lcTimer.start(); } break; default: break; } } private function jstrace(hug1:*):void { //MethodID:1797, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 67 internal var message:*; //slotID:1 message = hug1; if(ExternalInterface.available){ try{ if(DEBUG) ExternalInterface.call("debug2", this.name, message); } catch(e:*){ } } } } } //¡script182¡ package ru.rutube.states{ //¡class(instance)_index:182 public class EndPlayerState extends PlayerState implements IPlayerState { //static constructor public static function EndPlayerState$cinit() { //MethodID:1799, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function EndPlayerState() { //MethodID:1800, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 super(); currentStateId = PlayerState.END_SCREEN_STATE; } //variables/etc. override public function create():void { //MethodID:1801, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1802, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1803, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1804, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1805, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } } } //¡script183¡ package ru.rutube.states{ import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:183 public class PauseAdvertisementPlayerState extends PlayerState implements IPlayerState { //static constructor public static function PauseAdvertisementPlayerState$cinit() { //MethodID:1807, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PauseAdvertisementPlayerState() { //MethodID:1808, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.PLAY_STATE; currentStateId = PlayerState.PAUSE_STATE; } //variables/etc. override public function create():void { //MethodID:1809, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1810, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1811, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1812, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1813, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1814, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1815, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1816, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78 switch(hug1.sourceId){ case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON: changePlayerStateToNext(); break; default: super.handleInternalButtonEvent(hug1); break; } return true; } override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1817, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalProgressEvent(hug1:InternalEvent):Boolean { //MethodID:1818, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleMouseRoll(hug1:Boolean):Boolean { //MethodID:1819, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } } } //¡script184¡ package ru.rutube.states{ import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:184 public class PostAdvertisementPlayerState extends PlayerState implements IPlayerState { //static constructor public static function PostAdvertisementPlayerState$cinit() { //MethodID:1821, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PostAdvertisementPlayerState() { //MethodID:1822, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 super(); nextStateId = PlayerState.END_SCREEN_STATE; currentStateId = PlayerState.POST_AD_STATE; } //variables/etc. override public function create():void { //MethodID:1823, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function destroy():void { //MethodID:1824, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function prepareView():void { //MethodID:1825, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function releaseView():void { //MethodID:1826, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function service():void { //MethodID:1827, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override public function handleVideoStreamEvent():Boolean { //MethodID:1828, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } override public function handleInternalEvent(hug1:InternalEvent):Boolean { //MethodID:1829, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalButtonEvent(hug1:InternalEvent):Boolean { //MethodID:1830, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 78 switch(hug1.sourceId){ case EventSources.SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON: changePlayerStateToNext(); break; default: super.handleInternalButtonEvent(hug1); break; } return true; } override public function handleInternalCommandEvent(hug1:InternalEvent):Boolean { //MethodID:1831, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalProgressEvent(hug1:InternalEvent):Boolean { //MethodID:1832, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalCloseEvent(hug1:InternalEvent):Boolean { //MethodID:1833, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleInternalErrorEvent(hug1:InternalEvent):Boolean { //MethodID:1834, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } override public function handleMouseRoll(hug1:Boolean):Boolean { //MethodID:1835, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } } } //¡script185¡ package ru.rutube.event{ //¡class(instance)_index:185 public final class EventSources extends Object { //static constructor public static function EventSources$cinit() { //MethodID:1837, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 359 SOURCE_NONE = 0; SOURCE_MANAGER_SKIN = 1; SOURCE_MANAGER_CONFIGURATION = 2; SOURCE_MANAGER_TRACKINFO = 3; SOURCE_MANAGER_STREAM = 4; SOURCE_MANAGER_ADVERTISEMENT_BEGUN = 5; SOURCE_MANAGER_SERVER = 6; SOURCE_MANAGER_GEO = 7; SOURCE_MANAGER_BALANCER = 8; SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL = 9; SOURCE_MANAGER_CONFIGURATION_USER_INFO = 10; SOURCE_STAGE = 100; SOURCE_STAGE_KEYBOARD = 101; SOURCE_NETCLIENT = 200; SOURCE_GUI_VOTE = 1001; SOURCE_GUI_MAIN_PLAY_BUTTON = 1002; SOURCE_GUI_CONTROL_PLAY_BUTTON = 1003; SOURCE_GUI_CONTROL_PAUSE_BUTTON = 1004; SOURCE_GUI_CONTROL_TIMELINE = 1005; SOURCE_GUI_CONTROL_STOP_BUTTON = 1006; SOURCE_GUI_CONTROL_COPY_SYSTEM_BUFFER_BUTTON = 1007; SOURCE_GUI_CONTROL_REPLAY_BUTTON = 1008; SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON = 1009; SOURCE_GUI_CONTROL_ENDSCREEN_TITLE = 1010; SOURCE_GUI_CONTROL_ENDSCREEN_AUTHORE = 1011; SOURCE_GUI_CONTROL_VOTE_UP_BUTTON = 1105; SOURCE_GUI_CONTROL_VOTE_DOWN_BUTTON = 1106; SOURCE_GUI_CONTROL_FAVORITE_BUTTON = 1107; SOURCE_GUI_CONTROL_PLAYLIST_BUTTON = 1108; SOURCE_GUI_CONTROL_MODERATION_BUTTON = 1109; SOURCE_GUI_CONTROL_LOGOTYPE_BUTTON = 1110; SOURCE_GUI_CONTROL_FULLSCREEN_BUTTON = 1111; SOURCE_GUI_CONTROL_SEARCH_BUTTON = 1112; SOURCE_GUI_CONTROL_TITLE_BUTTON = 1113; SOURCE_GUI_CONTROL_MARK_BUTTON = 1114; SOURCE_GUI_ADVERTISEMENT_LOAD_COMPLETE = 2000; SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON = 2001; SOURCE_GUI_WINDOW_MODERATION = 3000; SOURCE_GUI_WINDOW_PLAYLIST = 3001; SOURCE_GUI_WINDOW_MARK = 3002; SOURCE_GUI_WINDOW_CONTEXT_ADVERTISEMENT = 3003; } //static variables/etc. public static const SOURCE_NONE:int = 0; //slotID:1 public static const SOURCE_MANAGER_SKIN:int = 1; //slotID:2 public static const SOURCE_MANAGER_CONFIGURATION:int = 2; //slotID:3 public static const SOURCE_MANAGER_TRACKINFO:int = 3; //slotID:4 public static const SOURCE_MANAGER_STREAM:int = 4; //slotID:5 public static const SOURCE_MANAGER_ADVERTISEMENT_BEGUN:int = 5; //slotID:6 public static const SOURCE_MANAGER_SERVER:int = 6; //slotID:7 public static const SOURCE_MANAGER_GEO:int = 7; //slotID:8 public static const SOURCE_MANAGER_BALANCER:int = 8; //slotID:9 public static const SOURCE_MANAGER_CONFIGURATION_VIDEO_WALL:int = 9;//slotID:10 public static const SOURCE_MANAGER_CONFIGURATION_USER_INFO:int = 10;//slotID:11 public static const SOURCE_STAGE:int = 100; //slotID:12 public static const SOURCE_STAGE_KEYBOARD:int = 101; //slotID:13 public static const SOURCE_NETCLIENT:int = 200; //slotID:14 public static const SOURCE_GUI_VOTE:int = 1001; //slotID:15 public static const SOURCE_GUI_MAIN_PLAY_BUTTON:int = 1002; //slotID:16 public static const SOURCE_GUI_CONTROL_PLAY_BUTTON:int = 1003; //slotID:17 public static const SOURCE_GUI_CONTROL_PAUSE_BUTTON:int = 1004; //slotID:18 public static const SOURCE_GUI_CONTROL_TIMELINE:int = 1005; //slotID:19 public static const SOURCE_GUI_CONTROL_STOP_BUTTON:int = 1006; //slotID:20 public static const SOURCE_GUI_CONTROL_COPY_SYSTEM_BUFFER_BUTTON:int = 1007;//slotID:21 public static const SOURCE_GUI_CONTROL_REPLAY_BUTTON:int = 1008;//slotID:22 public static const SOURCE_GUI_CONTROL_THUMB_MOVIE_BUTTON:int = 1009;//slotID:23 public static const SOURCE_GUI_CONTROL_ENDSCREEN_TITLE:int = 1010;//slotID:24 public static const SOURCE_GUI_CONTROL_ENDSCREEN_AUTHORE:int = 1011;//slotID:25 public static const SOURCE_GUI_CONTROL_VOTE_UP_BUTTON:int = 1105;//slotID:26 public static const SOURCE_GUI_CONTROL_VOTE_DOWN_BUTTON:int = 1106;//slotID:27 public static const SOURCE_GUI_CONTROL_FAVORITE_BUTTON:int = 1107;//slotID:28 public static const SOURCE_GUI_CONTROL_PLAYLIST_BUTTON:int = 1108;//slotID:29 public static const SOURCE_GUI_CONTROL_MODERATION_BUTTON:int = 1109;//slotID:30 public static const SOURCE_GUI_CONTROL_LOGOTYPE_BUTTON:int = 1110;//slotID:31 public static const SOURCE_GUI_CONTROL_FULLSCREEN_BUTTON:int = 1111;//slotID:32 public static const SOURCE_GUI_CONTROL_SEARCH_BUTTON:int = 1112;//slotID:33 public static const SOURCE_GUI_CONTROL_TITLE_BUTTON:int = 1113; //slotID:34 public static const SOURCE_GUI_CONTROL_MARK_BUTTON:int = 1114; //slotID:35 public static const SOURCE_GUI_ADVERTISEMENT_LOAD_COMPLETE:int = 2000;//slotID:36 public static const SOURCE_GUI_ADVERTISEMENT_CLOSE_BUTTON:int = 2001;//slotID:37 public static const SOURCE_GUI_WINDOW_MODERATION:int = 3000; //slotID:38 public static const SOURCE_GUI_WINDOW_PLAYLIST:int = 3001; //slotID:39 public static const SOURCE_GUI_WINDOW_MARK:int = 3002; //slotID:40 public static const SOURCE_GUI_WINDOW_CONTEXT_ADVERTISEMENT:int = 3003;//slotID:41 //constructor public function EventSources() { //MethodID:1838, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script186¡ package Components{ import flash.display.DisplayObjectContainer import flash.events.TimerEvent import flash.geom.Rectangle import flash.text.TextField import flash.text.TextFieldAutoSize import flash.text.TextFormat import flash.utils.Timer //¡class(instance)_index:186 public final class HintDispatcher extends Object { //static constructor public static function HintDispatcher$cinit() { //MethodID:1840, LocalCount= 1 , MaxScope= 1, MaxStack= 4, CodeLength= 50 tf = new TextField(); timerDelayStartHint = new Timer(600, 1); timerDelayFinishHint = new Timer(2500, 1); } //static variables/etc. private static var tf:TextField; //slotID:1 private static var timerDelayStartHint:Timer; //slotID:2 private static var timerDelayFinishHint:Timer; //slotID:3 public static function init(hug1:DisplayObjectContainer):void { //dispID:3, MethodID:1841, LocalCount= 2 , MaxScope= 1, MaxStack= 13, CodeLength= 130 if(tf.parent) return; tf.defaultTextFormat = new TextFormat("tahoma", 11, 0, null, null, null, null, null, null, 2, 1); tf.autoSize = TextFieldAutoSize.LEFT; tf.selectable = false; tf.background = true; tf.backgroundColor = 0xFFFFE1; tf.border = true; tf.visible = false; hug1.addChild(tf); timerDelayStartHint.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerStartHintHandler); timerDelayFinishHint.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerFinishHintHandler); } private static function onTimerStartHintHandler(hug1:TimerEvent):void { //dispID:4, MethodID:1842, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 207 timerDelayStartHint.reset(); if(!tf.parent) return; tf.x = tf.parent.mouseX; tf.y = (tf.parent.mouseY + 21); var hug2:Rectangle = tf.getBounds(RutubePlayer.instance.getContainer().stage); if(hug2.right > (RutubePlayer.instance.getContainer().stage.stageWidth - 3)) tf.x -= (hug2.right - RutubePlayer.instance.getContainer().stage.stageWidth + 3); if(hug2.bottom > RutubePlayer.instance.getContainer().stage.stageHeight) tf.y = (tf.parent.mouseY - tf.height - 7); tf.visible = true; timerDelayFinishHint.reset(); timerDelayFinishHint.start(); } private static function onTimerFinishHintHandler(hug1:TimerEvent):void { //dispID:5, MethodID:1843, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 10 tf.visible = false; } public static function show(hug1:String):void { //dispID:6, MethodID:1844, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 51 if(tf.visible) tf.visible = false; tf.text = hug1; if(timerDelayFinishHint.running) timerDelayFinishHint.stop(); timerDelayStartHint.start(); } public static function hide():void { //dispID:7, MethodID:1845, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 45 if(timerDelayStartHint.running) timerDelayStartHint.reset(); if(timerDelayFinishHint.running) timerDelayFinishHint.stop(); onTimerFinishHintHandler(null); } //constructor public function HintDispatcher() { //MethodID:1846, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script187¡ package ru.rutube.managers.advertisement.event{ import flash.events.Event //¡class(instance)_index:187 public class AdvertisementModelEvent extends Event { //static constructor public static function AdvertisementModelEvent$cinit() { //MethodID:1848, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75 ADVERTISEMENT_ERROR = "ADVERTISEMENT_ERROR"; ADVERTISEMENT_ADRIVER_FULL_LOADED = "ADVERTISEMENT_ADRIVER_FULL_LOADED"; ADVERTISEMENT_ADRIVER_PART_LOADED = "ADVERTISEMENT_ADRIVER_PART_LOADED"; ADVERTISEMENT_ADRIVER_LOAD_ERROR = "ADVERTISEMENT_ADRIVER_LOAD_ERROR"; ADVERTISEMENT_BEGUN_ERROR = "ADVERTISEMENT_BEGUN_ERROR"; ADVERTISEMENT_BEGUN_FINISH = "ADVERTISEMENT_BEGUN_FINISH"; ADVERTISEMENT_OVERLAY_ERROR = "ADVERTISEMENT_OVERLAY_ERROR"; ADVERTISEMENT_OVERLAY_FINISH = "ADVERTISEMENT_OVERLAY_FINISH"; } //static variables/etc. public static const ADVERTISEMENT_ERROR:String = "ADVERTISEMENT_ERROR";//slotID:1 public static const ADVERTISEMENT_ADRIVER_FULL_LOADED:String = "ADVERTISEMENT_ADRIVER_FULL_LOADED";//slotID:2 public static const ADVERTISEMENT_ADRIVER_PART_LOADED:String = "ADVERTISEMENT_ADRIVER_PART_LOADED";//slotID:3 public static const ADVERTISEMENT_ADRIVER_LOAD_ERROR:String = "ADVERTISEMENT_ADRIVER_LOAD_ERROR";//slotID:4 public static const ADVERTISEMENT_BEGUN_ERROR:String = "ADVERTISEMENT_BEGUN_ERROR";//slotID:5 public static const ADVERTISEMENT_BEGUN_FINISH:String = "ADVERTISEMENT_BEGUN_FINISH";//slotID:6 public static const ADVERTISEMENT_OVERLAY_ERROR:String = "ADVERTISEMENT_OVERLAY_ERROR";//slotID:7 public static const ADVERTISEMENT_OVERLAY_FINISH:String = "ADVERTISEMENT_OVERLAY_FINISH";//slotID:8 //constructor public function AdvertisementModelEvent(hug1:String, hug2:int=0) { //MethodID:1849, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 12 super(hug1); this.adType = hug2; } //variables/etc. public var adType:int = 0; //slotID:0 override public function clone():Event { //MethodID:1850, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17 return new AdvertisementModelEvent(type, this.adType); } } } //¡script188¡ package ru.rutube.managers.advertisement.model.adriver{ import flash.net.URLRequest import flash.net.sendToURL //¡class(instance)_index:188 public class AdvertisementAdRiverXml extends Object { //static constructor public static function AdvertisementAdRiverXml$cinit() { //MethodID:1852, LocalCount= 1 , MaxScope= 1, MaxStack= 24, CodeLength= 181 EVENT_FULL_LOADED = 0; EVENT_SKIP_ADVERTISEMENT = 1; EVENT_COMPLETE_ADVERTISEMENT = 9; xmlVariables = ["ar_bt", "ar_adid", "ar_alt", "ar_bid", "ar_bn", "ar_cgihref", "ar_comppath", "ar_height", "ar_mirror", "ar_netid", "ar_ntype", "ar_ph", "ar_pz", "ar_rhost", "ar_rnd", "ar_sid", "ar_sliceid", "ar_sz", "ar_target", "ar_tns", "ar_width", "ar_type", "ar_name"]; classVariables = ["bt", "advertiseId", "alternativeText", "bannerId", "bannerNumber", "clickURL", "advertiseCompPath", "advertiseHeight", "advertiseMirrorPath", "advertiseNetId", "advertiseNetType", "advertisePlaceHolder", "advertisePageZone", "advertiseRemoteHost", "advertiseRandom", "advertiseSiteId", "advertiseSliceId", "advertiseSiteZone", "advertiseClickTarget", "advertiseServiseTns", "advertiseWidth", "advertiseBannerType", "advertiseCreativeName"]; } //static variables/etc. public static const EVENT_FULL_LOADED:int = 0; //slotID:1 public static const EVENT_SKIP_ADVERTISEMENT:int = 1; //slotID:2 public static const EVENT_COMPLETE_ADVERTISEMENT:int = 9; //slotID:3 protected static const xmlVariables:Array; //slotID:4 protected static const classVariables:Array; //slotID:5 //constructor public function AdvertisementAdRiverXml() { //MethodID:1853, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 super(); this.notifyClickUrl = new Array(); } //variables/etc. public var advertiseMirrorPath:String = ""; //slotID:0 public var advertiseBannerType:String = "unknown"; //slotID:0 public var bannerNumber:String = ""; //slotID:0 public var advertiseClickTarget:String = ""; //slotID:0 public var advertiseCompPath:String = ""; //slotID:0 public var advertiseRemoteHost:String = ""; //slotID:0 public var advertiseCreativeName:String = ""; //slotID:0 public var advertiseId:String = ""; //slotID:0 public var advertiseSliceId:String = ""; //slotID:0 public var advertisePageZone:String = ""; //slotID:0 public var advertiseHeight:String = ""; //slotID:0 private var notifyClickUrl:Array = null; //slotID:0 public var advertiseNetId:String = ""; //slotID:0 public var clickURL:String = ""; //slotID:0 public var advertiseSiteId:String = ""; //slotID:0 public var advertiseRandom:String = ""; //slotID:0 public var advertiseNetType:String = ""; //slotID:0 public var bt:String = "unknown"; //slotID:0 public var advertiseSiteZone:String = ""; //slotID:0 public var advertiseServiseTns:String = ""; //slotID:0 public var advertiseWidth:String = ""; //slotID:0 public var bannerId:String = ""; //slotID:0 public var urlEvent:String = ""; //slotID:0 public var advertisePlaceHolder:String = ""; //slotID:0 public var alternativeText:String = ""; //slotID:0 public function get rutubeXml():String { //MethodID:1854, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return (this.advertiseCompPath + this.advertiseCreativeName).concat(); } public function get isLoaded():Boolean { //MethodID:1855, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.rutubeXml.length > 5); } public function isInteractiveContent():Boolean { //MethodID:1856, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33 return ((this.advertiseBannerType.toLowerCase() == "swf") || (this.advertiseBannerType.toLowerCase() == "flv")); } public function isSwfContent():Boolean { //MethodID:1857, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return (this.advertiseBannerType.toLowerCase() == "swf"); } public function isFlvContent():Boolean { //MethodID:1858, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return (this.advertiseBannerType.toLowerCase() == "flv"); } public function hasClickNotify():Boolean { //MethodID:1859, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.notifyClickUrl != null) && (this.notifyClickUrl.length > 0)); } public function getNotifyClickUrls():Array { //MethodID:1860, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.notifyClickUrl.concat(); } public function hasCorrectMediaUrl():Boolean { //MethodID:1861, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return true; } public function reset():void { //MethodID:1862, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61 var hug1:int = 0; while(hug1 < classVariables.length){ this[classVariables[hug1]] = ""; hug1++; } do{ }while(this.notifyClickUrl.pop() != null); this.urlEvent = ""; } public function parseXml(hug1:XMLList):void { //MethodID:1863, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 150 var hug2:int = 0; while(hug2 < xmlVariables.length){ if(hug1.hasOwnProperty(xmlVariables[hug2])) this[classVariables[hug2]] = hug1.child(xmlVariables[hug2]).toString(); hug2++; } this.urlEvent = ("http://ad.adriver.ru/cgi-bin/event.cgi?" + "ntype=" + this.advertiseNetType + "&bid=" + this.bannerId + "&sid=" + this.advertiseSiteId + "&bt=" + this.bt + "&ad=" + this.advertiseId + "&nid=" + this.advertiseNetId + "&rnd=" + this.advertiseRandom + "&sliceid=" + this.advertiseSliceId + "&type="); } public function fireEvent(hug1:int):void { //MethodID:1864, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 59 var hug2:String = this.urlEvent; if(hug2.length < 1) return; if(hug2.lastIndexOf("=") == (hug2.length - 1)) hug2 += hug1.toString(); sendToURL(new URLRequest(hug2)); } } } //¡script189¡ package ru.rutube.managers.advertisement.model.context{ //¡class(instance)_index:189 public class ContextRecord extends Object { //static constructor public static function ContextRecord$cinit() { //MethodID:1866, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function ContextRecord() { //MethodID:1867, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var desc:String = ""; //slotID:0 public var domain:String = ""; //slotID:0 public var url:String = ""; //slotID:0 public var title:String = ""; //slotID:0 public function parse(hug1:XML):void { //MethodID:1868, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } } } //¡script190¡ package ru.rutube.managers.advertisement.model.context.yandexdirect{ import ru.rutube.managers.advertisement.model.context.ContextRecord //¡class(instance)_index:190 public class YandexContextRecord extends ContextRecord { //static constructor public static function YandexContextRecord$cinit() { //MethodID:1870, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function YandexContextRecord() { //MethodID:1871, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. override public function parse(hug1:XML):void { //MethodID:1872, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 59 title = hug1.title.toString(); desc = hug1.text.toString(); domain = hug1.domain.toString(); url = hug1.url.toString(); } } } //¡script191¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:191 public class AdvertisingString extends Object { //static constructor public static function AdvertisingString$cinit() { //MethodID:1874, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisingString() { //MethodID:1875, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var textColor:String = ""; //slotID:0 public var dataContainer:String = ""; //slotID:0 public var text:String = ""; //slotID:0 public var url:String = ""; //slotID:0 public function get isEmpty():Boolean { //MethodID:1876, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.text.length == 0); } public function parse(hug1:XMLList):void { //MethodID:1877, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 115 if(hug1.hasOwnProperty("data_container")) this.dataContainer = hug1.child("data_container").toString(); if(hug1.hasOwnProperty("url")) this.url = hug1.child("url").toString(); if(hug1.hasOwnProperty("text")) this.text = hug1.child("text").toString(); if(hug1.hasOwnProperty("text_color")) this.textColor = hug1.child("text_color").toString(); } public function reset():void { //MethodID:1878, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 this.dataContainer = ""; this.url = ""; this.text = ""; this.textColor = ""; } } } //¡script192¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:192 public class MetaTextInfo extends Object { //static constructor public static function MetaTextInfo$cinit() { //MethodID:1880, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function MetaTextInfo() { //MethodID:1881, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var delay:Number = 5.0; //slotID:0 public var text:String = ""; //slotID:0 public var url:String = ""; //slotID:0 public function parse(hug1:XMLList):void { //MethodID:1882, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 56 this.text = hug1.child("xml").toString(); this.url = hug1.child("url").toString(); this.delay = Number(hug1.child("delay").toString()); } public function isPresenter():Boolean { //MethodID:1883, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29 return ((this.text.length > 0) && (this.url.length > 0)); } } } //¡script193¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:193 public class VideoWallElementInfo extends Object { //static constructor public static function VideoWallElementInfo$cinit() { //MethodID:1885, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function VideoWallElementInfo() { //MethodID:1886, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var thumbnailUrl:String = ""; //slotID:0 public var viewCount:Number = 0.0; //slotID:0 public var author:String = ""; //slotID:0 public var videoUrl:String = ""; //slotID:0 public var title:String = ""; //slotID:0 public var rating:Number = 0.0; //slotID:0 public var runTime:String = ""; //slotID:0 public function parseData(hug1:XML):void { //MethodID:1887, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 227 if(hug1.hasOwnProperty("title")) this.title = hug1.title.toString(); if(hug1.hasOwnProperty("author")) this.author = hug1.author.toString(); if(hug1.hasOwnProperty("run_time")) this.runTime = hug1.run_time.toString(); if(hug1.hasOwnProperty("view_count")){ this.viewCount = Number(hug1.view_count.toString()); if(isNaN(this.viewCount)) this.viewCount = 0; } if(hug1.hasOwnProperty("rating")){ this.rating = (Number(hug1.rating.toString()) * 1000); if(isNaN(this.rating)) this.rating = 0; } if(hug1.hasOwnProperty("url")) this.videoUrl = hug1.url.toString(); if(hug1.hasOwnProperty("thumbnail_url")) this.thumbnailUrl = hug1.thumbnail_url.toString(); } } } //¡script194¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:194 public class FavoriteData extends Object { //static constructor public static function FavoriteData$cinit() { //MethodID:1889, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function FavoriteData() { //MethodID:1890, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var urlAddFavorite:String = ""; //slotID:0 public function parse(hug1:XMLList):void { //MethodID:1891, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 14 this.urlAddFavorite = hug1["add_favorites_url"]; } public function isFavoritePresent():Boolean { //MethodID:1892, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.urlAddFavorite != null) && (this.urlAddFavorite.length > 0)); } } } //¡script195¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:195 public class PlaylistElement extends Object { //static constructor public static function PlaylistElement$cinit() { //MethodID:1894, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlaylistElement() { //MethodID:1895, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public var urlMetaInfo:String = ""; //slotID:0 public var trackId:Number = 0.0; //slotID:0 public var urlContent:String = ""; //slotID:0 public var author:String = ""; //slotID:0 public var id:uint = 0; //slotID:0 public var title:String = ""; //slotID:0 public var duration:Number = 0.0; //slotID:0 public var urlThumbnail:String = ""; //slotID:0 public function parse(hug1:XML):void { //MethodID:1896, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 246 if(hug1.hasOwnProperty("title")) this.title = hug1.child("title").toString(); if(hug1.hasOwnProperty("thumbnail_url")) this.urlThumbnail = hug1.child("thumbnail_url").toString(); if(hug1.hasOwnProperty("movie")) this.urlContent = hug1.child("movie").toString(); if(hug1.hasOwnProperty("xurl")) this.urlMetaInfo = hug1.child("xurl").toString(); if(hug1.hasOwnProperty("trackId")) this.trackId = Number(hug1.child("trackId").toString()); if(isNaN(this.trackId)) this.trackId = 0; if(hug1.hasOwnProperty("author")) this.author = hug1.child("author").toString(); if(hug1.hasOwnProperty("duration")) this.duration = hug1.child("duration").toString(); if(isNaN(this.duration)) this.duration = 0; } } } //¡script196¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:196 public class UserInfo extends Object { //static constructor public static function UserInfo$cinit() { //MethodID:1898, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 56 USER_STATUS_NONE = ""; USER_STATUS_ACTIVE = "active"; USER_STATUS_INACTIVE = "inactive"; USER_STATUS_BANNED = "banned"; USER_STATUS_DELETED = "deleted"; USER_STATUS_UNAUTHENTICATED = "unauthenticated"; } //static variables/etc. public static const USER_STATUS_NONE:String = ""; //slotID:1 public static const USER_STATUS_ACTIVE:String = "active"; //slotID:2 public static const USER_STATUS_INACTIVE:String = "inactive"; //slotID:3 public static const USER_STATUS_BANNED:String = "banned"; //slotID:4 public static const USER_STATUS_DELETED:String = "deleted"; //slotID:5 public static const USER_STATUS_UNAUTHENTICATED:String = "unauthenticated";//slotID:6 //constructor public function UserInfo() { //MethodID:1899, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this._allowCategories = []; super(); } //variables/etc. private var _isModerator:Boolean = false; //slotID:0 public var userAvatar:String = ""; //slotID:0 private var _isAdmin:Boolean = false; //slotID:0 public var userId:int = 0; //slotID:0 public var userNick:String = ""; //slotID:0 private var _allowCategories:Array; //slotID:0 public var userStatus:String = ""; //slotID:0 private var _allCategories:Boolean = false; //slotID:0 private var _isAllowSnapshot:Boolean = false; //slotID:0 public function get isUser():Boolean { //MethodID:1900, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.userId > 0); } public function get isActiveUser():Boolean { //MethodID:1901, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return (this.userStatus == USER_STATUS_ACTIVE); } public function get isAllowedUser():Boolean { //MethodID:1902, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25 return ((this.userStatus == USER_STATUS_ACTIVE) || (this.userStatus == USER_STATUS_INACTIVE)); } public function get isAdmin():Boolean { //MethodID:1903, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isAdmin; } public function get isAllowSnapshot():Boolean { //MethodID:1904, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isAllowSnapshot; } public function get isModerator():Boolean { //MethodID:1905, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._isModerator; } public function get allowCategories():Array { //MethodID:1906, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._allowCategories.concat(); } public function isCategoryAllow(hug1:int):Boolean { //MethodID:1907, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15 return (this._allowCategories.indexOf(hug1) > (-1)); } public function get allowAllCategories():Boolean { //MethodID:1908, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._allCategories; } public function reset():void { //MethodID:1909, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 78 this.userId = 0; this.userStatus = USER_STATUS_NONE; this.userNick = ""; this.userAvatar = ""; this._isAdmin = this._isModerator = this._isAllowSnapshot = this._allCategories = false; do{ }while(this._allowCategories.pop() != null); } public function parse(hug1:XML):void { //MethodID:1910, LocalCount= 6 , MaxScope= 1, MaxStack= 5, CodeLength= 294 var hug3:XMLList = null; var hug4:XMLList = null; var hug5:int = 0; this.reset(); if(!hug1) return; this.userId = Number(hug1.attribute("id").toString()); if(isNaN(this.userId)) this.userId = 0; this.userStatus = hug1.attribute("status").toString(); if(hug1.children().length() < 2) return; this.userNick = hug1["nick"].toString(); this.userAvatar = hug1["avatar"].toString(); var hug2:XMLList = hug1["permissions"]; this._isAdmin = hug2.hasOwnProperty("admin"); this._isModerator = hug2.hasOwnProperty("moderator"); if(hug2.hasOwnProperty("moderator")){ hug3 = hug2["moderator"]; this._isAllowSnapshot = hug3.hasOwnProperty("snapshot"); hug4 = hug3.child("category"); hug5 = 0; while(hug5 < hug4.length()){ if(hug4[hug5].@id.toString().toLowerCase() == "all"){ this._allCategories = true; break; } this._allowCategories.push(int(hug4[hug5].@id.toString())); hug5++; } } } } } //¡script197¡ package ru.rutube.managers.configuration.data{ import flash.utils.Dictionary //¡class(instance)_index:197 public class ComplainFormData extends Object { //static constructor public static function ComplainFormData$cinit() { //MethodID:1912, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public var complainUrl:String = ""; //slotID:0 private var subjectsCount:int = 0; //slotID:0 private var subjectsDictionary:Dictionary; //slotID:0 public function getSubjectsCount():int { //MethodID:1913, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.subjectsCount; } public function getSubject(hug1:int):String { //MethodID:1914, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26 var hug2:String = this.subjectsDictionary[hug1.toString()]; if(!hug2) hug2 = ""; return hug2; } public function isComplainPresents():Boolean { //MethodID:1915, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.complainUrl != null) && (this.complainUrl.length > 0)); } public function getSubjectId(hug1:String):String { //MethodID:1916, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 71 var hug3:Object = null; var hug2:String = ""; for(hug3 in this.subjectsDictionary){ if(hug1 == hug3.toString()){ hug2 = hug3.toString(); break; } hug2 = "0"; } return hug2; } public function get complainVariants():Array { //MethodID:1917, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 59 var hug2:Object = null; var hug1:Array = []; for(hug2 in this.subjectsDictionary){ hug1[hug2] = this.subjectsDictionary[hug2]; } return hug1; } public function parse(hug1:XMLList):void { //MethodID:1918, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 123 this.reset(); if(hug1.hasOwnProperty("complain_url")) this.complainUrl = hug1.child("complain_url").toString(); var hug2:XMLList = hug1.child("subject_list").child("subject"); var hug3:int = 0; while(hug3 < hug2.length()){ this.subjectsCount++; this.subjectsDictionary[hug2[hug3].@id.toString()] = hug2[hug3].toString(); hug3++; } } public function reset():void { //MethodID:1919, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 59 var hug1:Object = null; this.complainUrl = ""; this.subjectsCount = 0; for(hug1 in this.subjectsDictionary){ delete this.subjectsDictionary[hug1]; } } //constructor public function ComplainFormData() { //MethodID:1920, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.subjectsDictionary = new Dictionary(); super(); } } } //¡script198¡ package ru.rutube.managers.configuration.data{ import flash.utils.Dictionary //¡class(instance)_index:198 public class PlayListData extends Object { //static constructor public static function PlayListData$cinit() { //MethodID:1922, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PlayListData() { //MethodID:1923, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 super(); this.avaliblePlaylists = new Dictionary(); } //variables/etc. private var avaliblePlaylists:Dictionary = null; //slotID:0 private var playlistCount:int = 0; //slotID:0 public var urlAddToPlaylist:String = ""; //slotID:0 public function parse(hug1:XMLList):void { //MethodID:1924, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 60 this.urlAddToPlaylist = hug1["add_playlist_url"].toString(); var hug2:XMLList = hug1["playlists"]; if(hug2.children().length() > 0){ hug2 = hug2.child("playlist"); this.parseLists(hug2); } } public function parseLists(hug1:XMLList=null):void { //MethodID:1925, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 98 if(!hug1 || (hug1.length() < 1)) return; this.playlistCount = 0; var hug2:int = 0; while(hug2 < hug1.length()){ this.playlistCount++; this.avaliblePlaylists[String(hug1[hug2].@id)] = hug1[hug2].toString(); hug2++; } } public function isPlaylistPresents():Boolean { //MethodID:1926, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 return ((this.urlAddToPlaylist != null) && (this.urlAddToPlaylist.length > 0)); } public function getPlaylistCount():int { //MethodID:1927, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.playlistCount; } public function getPlaylist(hug1:int):String { //MethodID:1928, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 26 var hug2:String = this.avaliblePlaylists[hug1.toString()]; if(!hug2) hug2 = ""; return hug2; } public function getPlaylistId(hug1:String):String { //MethodID:1929, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 70 var hug3:Object = null; var hug2:String = ""; for(hug3 in this.avaliblePlaylists){ if(hug1 == this.avaliblePlaylists[hug3]){ hug2 = hug3.toString(); break; } } return hug2; } public function get playlistVariants():Array { //MethodID:1930, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 59 var hug2:Object = null; var hug1:Array = []; for(hug2 in this.avaliblePlaylists){ hug1.push(this.avaliblePlaylists[hug2]); } return hug1; } } } //¡script199¡ package ru.rutube.managers.configuration.data{ import Components.Component import com.google.ads.instream.api.AdErrorEvent import com.google.ads.instream.api.AdsLoadedEvent import com.google.ads.instream.api.AdsLoader import com.google.ads.instream.api.AdsManager import com.google.ads.instream.api.AdsManagerTypes import com.google.ads.instream.api.AdsRequest import com.google.ads.instream.api.FlashAdsManager import com.google.ads.instream.api.VideoAdsManager //¡class(instance)_index:199 public class AdSense extends Object { //static constructor public static function AdSense$cinit() { //MethodID:1932, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 AD_TYPE_TEXT_OVERLAY = "text_overlay"; } //static variables/etc. public static const AD_TYPE_TEXT_OVERLAY:String = "text_overlay";//slotID:1 //constructor public function AdSense() { //MethodID:1933, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 55 this.channels = []; super(); this.adsRequest = new AdsRequest(); this.adsRequest.publisherId = "ca-video-pub-0970351097917759"; this.adsRequest.adType = AD_TYPE_TEXT_OVERLAY; this.adsRequest.channels = ["am-am-am"]; } //variables/etc. private var container:Component = null; //slotID:0 private var _adsManager:AdsManager = null; //slotID:0 public var channels:Array; //slotID:0 private var isAdSenseAvalible:Boolean = false; //slotID:0 public var adTimePosition:int = 5; //slotID:0 private var adsLoader:AdsLoader = null; //slotID:0 public var maxTotalAdDuration:int = 10000; //slotID:0 private var adsRequest:AdsRequest = null; //slotID:0 public function get isAvalible():Boolean { //MethodID:1934, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.isAdSenseAvalible; } public function set adType(hug1:String):void { //MethodID:1935, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.adsRequest.adType = hug1; } public function get adType():String { //MethodID:1936, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.adsRequest.adType; } public function set publisherId(hug1:String):void { //MethodID:1937, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.adsRequest.publisherId = hug1; } public function get publisherId():String { //MethodID:1938, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.adsRequest.publisherId; } public function set contentId(hug1:String):void { //MethodID:1939, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.adsRequest.contentId = hug1; } public function get contentId():String { //MethodID:1940, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.adsRequest.contentId; } public function setCountry(hug1:String):void { //MethodID:1941, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 43 if(!hug1 || (hug1.length == 0)) return; hug1 = hug1.toLowerCase(); if(hug1 == "us") this.isAdSenseAvalible = true; } public function init(hug1:Component, hug2:String=123):void { //MethodID:1942, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this.adsRequest.contentId = hug2; this.container = hug1; } public function load():void { //MethodID:1943, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 132 if(!this.container || (this.adsLoader != null)) return; this.adsRequest.adSlotWidth = this.container._width; this.adsRequest.adSlotHeight = ((this.container.height >= 60) ? this.container.height : 60); this.adsLoader = new AdsLoader(); this.adsLoader.addEventListener(AdsLoadedEvent.ADS_LOADED, this.listenerAdsLoaded); this.adsLoader.addEventListener(AdErrorEvent.AD_ERROR, this.listenerAdsError); this.adsLoader.requestAds(this.adsRequest); } public function resize():void { //MethodID:1944, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 60 if(!this._adsManager || !this.container) return; trace("_adsManager.type:" + this._adsManager.type); trace("1 _adsManager.adSlotWidth:" + this._adsManager.adSlotWidth); } private function listenerAdsLoaded(hug1:AdsLoadedEvent):void { //MethodID:1945, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 127 var hug3:VideoAdsManager = null; var hug4:FlashAdsManager = null; var hug2:AdsManager = hug1.adsManager; this._adsManager = hug2; if(hug2.type == AdsManagerTypes.VIDEO){ hug3 = (hug2 as VideoAdsManager); hug3.clickTrackingElement = this.container; }else if(hug2.type == AdsManagerTypes.FLASH){ hug4 = (hug2 as FlashAdsManager); hug4.x = 0; hug4.y = 0; hug4.load(this.container); hug4.play(this.container); this.container.visible = true; } } private function listenerAdsError(hug1:AdErrorEvent):void { //MethodID:1946, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 trace(hug1); } } } //¡script200¡ package Components.Utils{ //¡class(instance)_index:200 public class Strings extends Object { //static constructor public static function Strings$cinit() { //MethodID:1948, LocalCount= 1 , MaxScope= 1, MaxStack= 232, CodeLength= 3191 htmlSpecialElementsArray = new Array({coded:"<", decoded:"<"}, {coded:"«", decoded:"á"}, {coded:"»", decoded:"â"}, {coded:"‹", decoded:" "}, {coded:"›", decoded:" "}, {coded:">", decoded:"<"}, {coded:"'", decoded:"'"}, {coded:""", decoded:"\""}, {coded:"&", decoded:"&"}, {coded:" ", decoded:" "}, {coded:"!", decoded:"!"}, {coded:""", decoded:"g"}, {coded:"#", decoded:"#"}, {coded:"$", decoded:"$"}, {coded:"%", decoded:"%"}, {coded:"&", decoded:"&"}, {coded:"'", decoded:"e"}, {coded:"(", decoded:"("}, {coded:")", decoded:")"}, {coded:"*", decoded:"*"}, {coded:"+", decoded:"+"}, {coded:",", decoded:","}, {coded:"-", decoded:"-"}, {coded:".", decoded:"."}, {coded:"/", decoded:"/"}, {coded:"0", decoded:"0"}, {coded:"1", decoded:"1"}, {coded:"2", decoded:"2"}, {coded:"3", decoded:"3"}, {coded:"4", decoded:"4"}, {coded:"5", decoded:"5"}, {coded:"6", decoded:"6"}, {coded:"7", decoded:"7"}, {coded:"8", decoded:"8"}, {coded:"9", decoded:"9"}, {coded:":", decoded:":"}, {coded:";", decoded:";"}, {coded:"<", decoded:"<"}, {coded:"=", decoded:"="}, {coded:">", decoded:">"}, {coded:"?", decoded:"?"}, {coded:"@", decoded:"@"}, {coded:"A", decoded:"A"}, {coded:"B", decoded:"B"}, {coded:"C", decoded:"C"}, {coded:"D", decoded:"D"}, {coded:"E", decoded:"E"}, {coded:"F", decoded:"F"}, {coded:"G", decoded:"G"}, {coded:"H", decoded:"H"}, {coded:"I", decoded:"I"}, {coded:"J", decoded:"J"}, {coded:"K", decoded:"K"}, {coded:"L", decoded:"L"}, {coded:"M", decoded:"M"}, {coded:"N", decoded:"N"}, {coded:"O", decoded:"O"}, {coded:"P", decoded:"P"}, {coded:"Q", decoded:"Q"}, {coded:"R", decoded:"R"}, {coded:"S", decoded:"S"}, {coded:"T", decoded:"T"}, {coded:"U", decoded:"U"}, {coded:"V", decoded:"V"}, {coded:"W", decoded:"W"}, {coded:"X", decoded:"X"}, {coded:"Y", decoded:"Y"}, {coded:"Z", decoded:"Z"}, {coded:"[", decoded:"["}, {coded:"\", decoded:"\\"}, {coded:"]", decoded:"]"}, {coded:"^", decoded:"^"}, {coded:"_", decoded:"_"}, {coded:"`", decoded:"`"}, {coded:"a", decoded:"a"}, {coded:"b", decoded:"b"}, {coded:"c", decoded:"c"}, {coded:"d", decoded:"d"}, {coded:"e", decoded:"e"}, {coded:"f", decoded:"f"}, {coded:"g", decoded:"g"}, {coded:"h", decoded:"h"}, {coded:"i", decoded:"i"}, {coded:"j", decoded:"j"}, {coded:"k", decoded:"k"}, {coded:"l", decoded:"l"}, {coded:"m", decoded:"m"}, {coded:"n", decoded:"n"}, {coded:"o", decoded:"o"}, {coded:"p", decoded:"p"}, {coded:"q", decoded:"q"}, {coded:"r", decoded:"r"}, {coded:"s", decoded:"s"}, {coded:"t", decoded:"t"}, {coded:"u", decoded:"u"}, {coded:"v", decoded:"v"}, {coded:"w", decoded:"w"}, {coded:"x", decoded:"x"}, {coded:"y", decoded:"y"}, {coded:"z", decoded:"z"}, {coded:"{", decoded:"{"}, {coded:"|", decoded:"|"}, {coded:"}", decoded:"}"}, {coded:"~", decoded:"~"}, {coded:"€", decoded:" "}, {coded:"‚", decoded:" "}, {coded:"ƒ", decoded:" "}, {coded:"„", decoded:" "}, {coded:"…", decoded:"c"}, {coded:"†", decoded:"õ"}, {coded:"‡", decoded:"ö"}, {coded:"ˆ", decoded:" "}, {coded:"‰", decoded:"ñ"}, {coded:"Š", decoded:" "}, {coded:"‹", decoded:" "}, {coded:"Œ", decoded:" "}, {coded:"Ž", decoded:" "}, {coded:"‘", decoded:"e"}, {coded:"’", decoded:"f"}, {coded:"“", decoded:"g"}, {coded:"”", decoded:"h"}, {coded:"•", decoded:" "}, {coded:"–", decoded:" "}, {coded:"—", decoded:" "}, {coded:"˜", decoded:" "}, {coded:"™", decoded:" "}, {coded:"š", decoded:" "}, {coded:"›", decoded:" "}, {coded:"œ", decoded:" "}, {coded:"ž", decoded:" "}, {coded:"Ÿ", decoded:" "}, {coded:" ", decoded:""}, {coded:"¡", decoded:"!"}, {coded:"¢", decoded:"‘"}, {coded:"£", decoded:"’"}, {coded:"¤", decoded:" "}, {coded:"¥", decoded:"\\"}, {coded:"¦", decoded:"|"}, {coded:"§", decoded:"˜"}, {coded:"¨", decoded:"N"}, {coded:"©", decoded:"c"}, {coded:"ª", decoded:"a"}, {coded:"«", decoded:"á"}, {coded:"¬", decoded:"Ê"}, {coded:"­", decoded:""}, {coded:"®", decoded:"R"}, {coded:"¯", decoded:"P"}, {coded:"°", decoded:"‹"}, {coded:"±", decoded:"}"}, {coded:"²", decoded:"2"}, {coded:"³", decoded:"3"}, {coded:"´", decoded:"L"}, {coded:"µ", decoded:"ƒÊ"}, {coded:"¶", decoded:"÷"}, {coded:"·", decoded:"E"}, {coded:"¸", decoded:"C"}, {coded:"¹", decoded:"1"}, {coded:"º", decoded:"o"}, {coded:"»", decoded:"â"}, {coded:"¼", decoded:" "}, {coded:"½", decoded:" "}, {coded:"¾", decoded:" "}, {coded:"¿", decoded:" "}, {coded:"À", decoded:"A"}, {coded:"Á", decoded:"A"}, {coded:"Â", decoded:"A"}, {coded:"Ã", decoded:"A"}, {coded:"Ä", decoded:"A"}, {coded:"Å", decoded:"A"}, {coded:"Æ", decoded:"A"}, {coded:"Ç", decoded:"C"}, {coded:"È", decoded:"E"}, {coded:"É", decoded:"E"}, {coded:"Ê", decoded:"E"}, {coded:"Ë", decoded:"E"}, {coded:"Ì", decoded:"I"}, {coded:"Í", decoded:"I"}, {coded:"Î", decoded:"I"}, {coded:"Ï", decoded:"I"}, {coded:"Ð", decoded:"D"}, {coded:"Ñ", decoded:"N"}, {coded:"Ò", decoded:"O"}, {coded:"Ó", decoded:"O"}, {coded:"Ô", decoded:"O"}, {coded:"Õ", decoded:"O"}, {coded:"Ö", decoded:"O"}, {coded:"×", decoded:"~"}, {coded:"Ø", decoded:"O"}, {coded:"Ù", decoded:"U"}, {coded:"Ú", decoded:"U"}, {coded:"Û", decoded:"U"}, {coded:"Ü", decoded:"U"}, {coded:"Ý", decoded:"Y"}, {coded:"Þ", decoded:"T"}, {coded:"ß", decoded:"s"}, {coded:"à", decoded:"a"}, {coded:"á", decoded:"a"}, {coded:"â", decoded:"a"}, {coded:"ã", decoded:"a"}, {coded:"ä", decoded:"a"}, {coded:"å", decoded:"a"}, {coded:"æ", decoded:"a"}, {coded:"ç", decoded:"c"}, {coded:"è", decoded:"e"}, {coded:"é", decoded:"e"}, {coded:"ê", decoded:"e"}, {coded:"ë", decoded:"e"}, {coded:"ì", decoded:"i"}, {coded:"í", decoded:"i"}, {coded:"î", decoded:"i"}, {coded:"ï", decoded:"i"}, {coded:"ð", decoded:"d"}, {coded:"ñ", decoded:"n"}, {coded:"ò", decoded:"o"}, {coded:"ó", decoded:"o"}, {coded:"ô", decoded:"o"}, {coded:"õ", decoded:"o"}, {coded:"ö", decoded:"o"}, {coded:"÷", decoded:"€"}, {coded:"ø", decoded:"o"}, {coded:"ù", decoded:"u"}, {coded:"ú", decoded:"u"}, {coded:"û", decoded:"u"}, {coded:"ü", decoded:"u"}, {coded:"ý", decoded:"y"}, {coded:"þ", decoded:"t"}, {coded:"ÿ", decoded:"y"}); } //static variables/etc. private static var htmlSpecialElementsArray:Array; //slotID:1 public static function strip(hug1:String):String { //dispID:3, MethodID:1949, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 191 var hug4:* = undefined; var hug2:* = hug1.split("\n"); hug1 = hug2.join(""); hug2 = hug1.split("\r"); hug1 = hug2.join(""); var hug3:* = hug1.indexOf("<"); while(hug3 != (-1)){ hug4 = hug1.indexOf(">", (hug3 + 1)); if(hug4 == (-1)){ hug4 = (hug1.length - 1); }else{ } if(hug1.substr(hug3, 3) == " 1){ hug3 = Number(hug2[hug2.length - 1]); hug3 += (Number(hug2[hug2.length - 2]) * 60); if(hug2.length == 3) hug3 += (Number(hug2[hug2.length - 3]) * 3600); }else{ hug3 = Number(hug1); } return hug3; } public static function serialize(hug1:String, hug2:Object):Object { //dispID:7, MethodID:1953, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 100 var hug3:String = typeof(hug2); switch(hug3){ case "boolean": if(hug1 == "true") return true; return false; case "number": return Number(hug1); default: return Strings.decode(hug1); break; } } public static function decode(hug1:String):String { //dispID:8, MethodID:1954, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 54 var hug2:* = hug1.indexOf("asfunction"); if(hug2 == (-1)) return decodeURI(hug1); return decodeURI(hug1.substr(0, hug2) + hug1.substr(hug2 + 10)); } public static function htmlToText(hug1:String):String { //dispID:9, MethodID:1955, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 168 internal var value:String; //slotID:1 internal var retStr:String; //slotID:2 internal var element:Object; //slotID:3 internal var pattern:RegExp; //slotID:4 element = null; pattern = null; value = hug1; retStr = value; if(!retStr || (retStr == "")) return ""; try{ for each(element in htmlSpecialElementsArray){ pattern = new RegExp(element.coded, "gi"); retStr = retStr.replace(pattern, element.decoded); } } catch(error:Error){ } return retStr; } //constructor public function Strings() { //MethodID:1956, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script201¡ package ru.rutube.managers.playlist{ //¡class(instance)_index:201 public class PlayFilesList extends Object { //static constructor public static function PlayFilesList$cinit() { //MethodID:1958, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. private var currentFileHash:String = ""; //slotID:0 private var currentPlayIndex:int = -1; //slotID:0 private var playFiles:Array; //slotID:0 public var previousIndex:int = -1; //slotID:0 public function get length():int { //MethodID:1959, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.playFiles.length; } public function get currentIndex():int { //MethodID:1960, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.currentPlayIndex; } public function get currentPlayFile():String { //MethodID:1961, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 46 if(this.currentIndex < 0) return this.next(); if(this.playFiles.length == 0) return ""; return this.playFiles[this.currentPlayIndex]; } public function get fileHash():String { //MethodID:1962, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.currentFileHash; } public function next():String { //MethodID:1963, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 131 if(this.playFiles.length >= this.currentPlayIndex){ this.currentPlayIndex++; }else{ this.currentPlayIndex = 0; } this.currentFileHash = ""; if(this.playFiles.length == 0) return ""; var hug1:String = this.playFiles[this.currentPlayIndex]; var hug2:RegExp = new RegExp("(?:/|%2F)(.{32}).iflv", "gi"); var hug3:Array = hug2.exec(hug1); this.currentFileHash = hug3[1]; return this.playFiles[this.currentPlayIndex]; } public function setFilesList(hug1:String):void { //MethodID:1964, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 38 do{ }while(this.playFiles.pop() != null); this.playFiles = null; this.playFiles = hug1.split(","); } //constructor public function PlayFilesList() { //MethodID:1965, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.playFiles = []; super(); } } } //¡script202¡ package ru.rutube.event{ import flash.events.Event //¡class(instance)_index:202 public class ConfigurationMetaInfoEvent extends Event { //static constructor public static function ConfigurationMetaInfoEvent$cinit() { //MethodID:1967, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 CONFIGURATION_META_INFO_LOAD_COMPLETE = "CONFIGURATION_META_INFO_LOAD_COMPLETE"; CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE = "CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE"; CONFIGURATION_USER_INFO_LOAD_COMPLETE = "CONFIGURATION_USER_INFO_LOAD_COMPLETE"; } //static variables/etc. public static const CONFIGURATION_META_INFO_LOAD_COMPLETE:String = "CONFIGURATION_META_INFO_LOAD_COMPLETE";//slotID:1 public static const CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE:String = "CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE";//slotID:2 public static const CONFIGURATION_USER_INFO_LOAD_COMPLETE:String = "CONFIGURATION_USER_INFO_LOAD_COMPLETE";//slotID:3 //constructor public function ConfigurationMetaInfoEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:1968, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9 super(hug1, hug2, hug3); } } } //¡script203¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:203 public class PlayerConfig extends Object { //static constructor public static function PlayerConfig$cinit() { //MethodID:1970, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. private var skin:String = ""; //slotID:0 private var embededContentAllowed:Boolean = true; //slotID:0 private var imageSrc:String = ""; //slotID:0 private var advertisementArray:Array; //slotID:0 private var _trackId:int = 0; //slotID:0 private var _userId:String = 0; //slotID:0 private var contentAllowed:Boolean = true; //slotID:0 private var contentBlockReason:String = ""; //slotID:0 public function isContentAllowed():Boolean { //MethodID:1971, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.contentAllowed; } public function isEmbededContentAllowed():Boolean { //MethodID:1972, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.embededContentAllowed; } public function get blockReason():String { //MethodID:1973, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.contentBlockReason; } public function get skinUrl():String { //MethodID:1974, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.skin; } public function get isSkinExists():Boolean { //MethodID:1975, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.skin.length > 5); } public function get trackId():int { //MethodID:1976, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._trackId; } public function get isImagePresent():Boolean { //MethodID:1977, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.imageSrc.length > 0); } public function get imageUrl():String { //MethodID:1978, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.imageSrc.concat(); } public function get advertisement():Array { //MethodID:1979, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.advertisementArray.concat(); } public function getAdvertise(hug1:int):AdvertisingData { //MethodID:1980, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 34 if(this.advertisementArray.length > hug1) return new AdvertisingData(this.advertisementArray[hug1]); return new AdvertisingData(); } public function get userId():String { //MethodID:1981, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._userId; } public function initByFlashVars(hug1:String):void { //MethodID:1982, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._userId = hug1; } public function parseXml(hug1:XML):void { //MethodID:1983, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 323 if(!hug1) return; if(hug1.hasOwnProperty("track")) this._trackId = Number(hug1.track.attribute("id").toString()); if(isNaN(this._trackId)) this._trackId = 0; if((this._trackId > 0) && hug1.track.hasOwnProperty("img")) this.imageSrc = hug1.track.img.attribute("src").toString(); if(hug1.hasOwnProperty("skin")) this.skin = hug1.skin.toString(); if(hug1.hasOwnProperty("user")) this._userId = hug1.user.toString(); if(hug1.hasOwnProperty("forbidden")) this.contentAllowed = false; if(hug1.hasOwnProperty("embeded_forbidden")) this.embededContentAllowed = false; if(!this.contentAllowed){ this.contentBlockReason = hug1.forbidden.attribute("for").toString(); if(!this.contentBlockReason) this.contentBlockReason = ""; } var hug2:XMLList = hug1.child("advert"); do{ }while(this.advertisementArray.pop() != null); var hug3:int = 0; while(hug3 < hug2.length()){ this.advertisementArray.push(hug2[hug3].toString().replace(new RegExp(" ", "gi"), "")); hug3++; } } //constructor public function PlayerConfig() { //MethodID:1984, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.advertisementArray = []; super(); } } } //¡script204¡ package ru.rutube.managers.advertisement.model.context.begun{ import ru.rutube.managers.advertisement.model.context.ContextRecord //¡class(instance)_index:204 public class BegunContextRecord extends ContextRecord { //static constructor public static function BegunContextRecord$cinit() { //MethodID:1986, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function BegunContextRecord() { //MethodID:1987, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. override public function parse(hug1:XML):void { //MethodID:1988, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 59 title = hug1.title.toString(); desc = hug1.desc.toString(); domain = hug1.domain.toString(); url = hug1.url.toString(); } } } //¡script205¡ package ru.rutube.managers.advertisement.model.adriver{ //¡class(instance)_index:205 public class AdvertisementTwinOverlayXml extends Object { //static constructor public static function AdvertisementTwinOverlayXml$cinit() { //MethodID:1990, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisementTwinOverlayXml() { //MethodID:1991, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. protected var _duration:Number = 0.0; //slotID:0 protected var bannerUrl:String = ""; //slotID:0 protected var _widthSWF:Number = 0.0; //slotID:0 protected var _heightSWF:Number = 0.0; //slotID:0 protected var adType:int = 0; //slotID:0 public function get type():int { //MethodID:1992, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.adType; } public function get isLoaded():Boolean { //MethodID:1993, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return (this.bannerUrl.length > 0); } public function get url():String { //MethodID:1994, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.bannerUrl.concat(); } public function get duration():Number { //MethodID:1995, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._duration; } public function get widthSWF():Number { //MethodID:1996, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._widthSWF; } public function get heightSWF():Number { //MethodID:1997, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._heightSWF; } public function reset():void { //MethodID:1998, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 33 this.adType = 0; this.bannerUrl = ""; this._duration = 0; this._widthSWF = 0; this._heightSWF = 0; } public function initFromRutubeXml(hug1:AdvertisementRutubeXml):void { //MethodID:1999, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 48 this.reset(); this.adType = hug1.bannerType; this.bannerUrl = hug1.bannerUrl; this._duration = hug1.duration; this._widthSWF = hug1.widthSWF; this._heightSWF = hug1.heightSWF; } public function parse(hug1:XML):void { //MethodID:2000, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 283 if(!hug1) return; var hug2:String = String(hug1.@type).toLowerCase(); if(hug2 == "swf"){ this.adType = AdvertisementRutubeXml.BANNER_SWF; }else if(hug2 == "flv"){ this.adType = AdvertisementRutubeXml.BANNER_FLV; }else if(hug2 == "img"){ this.adType = AdvertisementRutubeXml.BANNER_IMG; } this.bannerUrl = hug1["localUrl"].toString().replace(new RegExp(" ", "gi"), ""); if(this.bannerUrl.length < 2) this.bannerUrl = hug1["locationUrl"].toString().replace(new RegExp(" ", "gi"), ""); this._duration = Number(hug1["duration"].toString()); if(isNaN(this._duration)) this._duration = 0; this._widthSWF = Number(hug1["widthSWF"].toString()); if(isNaN(this._widthSWF)) this._widthSWF = 0; this._heightSWF = Number(hug1["heightSWF"].toString()); if(isNaN(this._heightSWF)) this._heightSWF = 0; } } } //¡script206¡ //skip components :com.google.analytics.core //as filename :ServerOperationMode.as //¡script207¡ //skip components :com.google.analytics.core //as filename :EventTracker.as //¡script208¡ //skip components :com.google.analytics.v4 //as filename :Configuration.as //¡script209¡ //skip components :com.google.analytics.debug //as filename :DebugConfiguration.as //¡script210¡ //skip components :com.google.analytics.events //as filename :AnalyticsEvent.as //¡script211¡ //skip components :com.google.analytics //as filename :API.as //¡script212¡ //skip components :com.google.analytics.core //as filename :TrackerCache.as //¡script213¡ //skip components :com.google.analytics.core //as filename :Buffer.as //¡script214¡ //skip components :com.google.analytics.core //as filename :ga_internal.as //¡script215¡ //skip components :com.google.analytics.core //as filename :IdleTimer.as //¡script216¡ //skip components :com.google.analytics.v4 //as filename :Bridge.as //¡script217¡ //skip components :com.google.analytics.external //as filename :JavascriptProxy.as //¡script218¡ //skip components :com.google.analytics.external //as filename :HTMLDOM.as //¡script219¡ //skip components :com.google.analytics.core //as filename :GIFRequest.as //¡script220¡ //skip components :com.google.analytics.external //as filename :AdSenseGlobals.as //¡script221¡ //skip components :com.google.analytics.utils //as filename :Version.as //¡script222¡ //skip components :com.google.analytics.debug //as filename :ILayout.as //¡script223¡ //skip components :com.google.analytics.debug //as filename :Layout.as //¡script224¡ //skip components :com.google.analytics.utils //as filename :Environment.as //¡script225¡ //skip components :com.google.analytics.v4 //as filename :Tracker.as //¡script226¡ package ru.rutube.managers.statistic.tns{ import flash.net.URLLoader import flash.net.URLRequest import flash.net.sendToURL import flash.utils.Dictionary //¡class(instance)_index:225 public class TNSStatistic extends Object { //static constructor public static function TNSStatistic$cinit() { //MethodID:2408, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:TNSStatistic = null; //slotID:1 public static function get instance():TNSStatistic { //dispID:3, MethodID:2409, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new TNSStatistic(); return _instance; } //constructor public function TNSStatistic() { //MethodID:2410, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 55 super(); if(_instance) throw new Error("Need use static method 'instance' !"); _instance = this; this.currentFile = " "; this._referrer = ""; this.reportDictionary = new Dictionary(); } //variables/etc. private var _referrer:String = null; //slotID:0 private var reportDictionary:Dictionary = null; //slotID:0 private var currentFile:String = null; //slotID:0 public function set referrer(hug1:String):void { //MethodID:2411, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this._referrer = hug1; if(!this._referrer) this._referrer = ""; } public function get referrer():String { //MethodID:2412, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._referrer.concat(); } public function setCurrentFile(hug1:String):void { //MethodID:2413, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.currentFile = hug1; } public function setFileReports(hug1:String, hug2:String, hug3:String):void { //MethodID:2414, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 86 var hug4:TnsReportRec = this.getReportRecord(hug1); if((hug4.startReportUrl != null) && (hug4.startReportUrl.length > 0)) hug4.clear(); hug4.startReportUrl = hug2; hug4.finishReportUrl = hug3; if(hug4.needStartReport){ hug4.needStartReport = false; hug4.startReported = false; this.startReport(hug1); } } public function initReport():void { //MethodID:2415, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 var hug1:String = ("http://www.tns-counter.ru/V13a***R>" + "$REF" + "*rutube_ru/ru/KOI8-R/tmsec=rutube_player/"); this.statisticReport(hug1); } public function reset(hug1:String=null):void { //MethodID:2416, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 40 var hug2:TnsReportRec = this.getReportRecord(hug1); var hug3:Boolean = false; hug2.startReported = hug3; hug2.finishReported = hug3; var hug3:Boolean = false; hug2.needFinishReport = hug3; hug2.needStartReport = hug3; } public function startReport(hug1:String=null):Boolean { //MethodID:2417, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 73 var hug2:TnsReportRec = this.getReportRecord(hug1); if(!hug2.startReported){ hug2.startReported = true; if((hug2.startReportUrl != null) && (hug2.startReportUrl.length > 0)){ this.statisticReport(hug2.startReportUrl); }else{ hug2.needStartReport = true; } return true; } return false; } public function finishReport(hug1:String=null):Boolean { //MethodID:2418, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 73 var hug2:TnsReportRec = this.getReportRecord(hug1); if(!hug2.finishReported){ hug2.finishReported = true; if((hug2.finishReportUrl != null) && (hug2.finishReportUrl.length > 0)){ this.statisticReport(hug2.finishReportUrl); }else{ hug2.needFinishReport = true; } return true; } return false; } public function setReportFinished(hug1:String):Boolean { //MethodID:2419, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 28 var hug2:TnsReportRec = this.getReportRecord(hug1); if(!hug2.finishReported){ hug2.finishReported = true; return true; } return false; } protected function getReportRecord(hug1:String=null):TnsReportRec { //MethodID:2420, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55 var hug2:TnsReportRec = null; if(!hug1) return new TnsReportRec(); hug2 = (this.reportDictionary[hug1] as TnsReportRec); if(!hug2){ hug2 = new TnsReportRec(); this.reportDictionary[hug1] = hug2; } return hug2; } protected function statisticReport(hug1:String=null):void { //MethodID:2421, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 218 var hug6:String = null; var hug7:RegExp = null; if(!hug1) return; if(hug1.length < 5) return; var hug2:Array = hug1.split(" "); var hug3:URLRequest = null; var hug4:URLLoader = null; var hug5:int = 0; while(hug5 < hug2.length){ if((this.referrer != null) && (this.referrer.length > 0)){ hug6 = hug2[hug5]; hug7 = new RegExp("\$REF"); hug6 = hug6.replace(hug7, this.referrer); hug7 = new RegExp("^\s*"); hug6 = hug6.replace(hug7, ""); hug7 = new RegExp("\s*$"); hug6 = hug6.replace(hug7, ""); hug2[hug5] = hug6; } hug3 = new URLRequest(hug2[hug5]); sendToURL(hug3); hug5++; } } protected function statisticReportEx(hug1:Array, hug2:String=null):void { //MethodID:2422, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 125 var hug5:URLRequest = null; var hug6:String = null; var hug7:RegExp = null; var hug3:Array = hug1; var hug4:int = 0; while(hug4 < hug3.length){ if((hug2 != null) && (hug2.length > 0)){ hug6 = hug3[hug4]; hug7 = new RegExp("\$REF"); hug3[hug4] = hug6.replace(hug7, hug2); } hug5 = new URLRequest(hug3[hug4]); sendToURL(hug5); hug4++; } } } } //¡script227¡ package ru.rutube.managers.content{ //¡class(instance)_index:226 public final class ContentIds extends Object { //static constructor public static function ContentIds$cinit() { //MethodID:2424, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43 NONE = 0; CIRCLE_PRELOADER = 1; LOCK_PANEL = 2; PLAYER = 3; PLAYER_CONTENT_PRELOADER = 4; } //static variables/etc. public static const NONE:int = 0; //slotID:1 public static const CIRCLE_PRELOADER:int = 1; //slotID:2 public static const LOCK_PANEL:int = 2; //slotID:3 public static const PLAYER:int = 3; //slotID:4 public static const PLAYER_CONTENT_PRELOADER:int = 4; //slotID:5 //constructor public function ContentIds() { //MethodID:2425, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script228¡ package ru.rutube.states{ //¡class(instance)_index:227 public final class QueryElement extends Object { //static constructor public static function QueryElement$cinit() { //MethodID:2427, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function QueryElement(hug1:Function=null, hug2:int=0) { //MethodID:2428, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 16 super(); this.func = hug1; this.stateAlias = hug2; } //variables/etc. public var func:Function; //slotID:0 public var stateAlias:int = 0; //slotID:0 } } //¡script229¡ package ru.rutube.managers.playback.controller{ import flash.utils.Dictionary import org.osmf.events.MediaFactoryEvent import org.osmf.media.DefaultMediaFactory import org.osmf.media.MediaElement import org.osmf.media.MediaFactory import org.osmf.media.PluginInfoResource import org.osmf.media.URLResource import org.osmf.metadata.Metadata import ru.rutube.event.EventManager import ru.rutube.managers.balancer.BalancerEvent import ru.rutube.managers.balancer.BalancerManager import ru.rutube.managers.balancer.BalancerResponder import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.playback.StreamMetaInfo import ru.rutube.media.MediaTypes import ru.rutube.plugin.statistic.google.GoogleStatisticPlugin //¡class(instance)_index:228 public class StreamControllerManager extends Object { //static constructor public static function StreamControllerManager$cinit() { //MethodID:2430, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:StreamControllerManager = null; //slotID:1 public static function get instance():StreamControllerManager { //dispID:3, MethodID:2431, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new StreamControllerManager(); return _instance; } //constructor public function StreamControllerManager() { //MethodID:2432, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 super(); if(_instance != null) throw new Error("Oops!"); _instance = this; this.init(); } //variables/etc. private var _factory:MediaFactory = null; //slotID:0 private var controllers:Dictionary = null; //slotID:0 private function init():void { //MethodID:2433, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 108 this.controllers = new Dictionary(); this._factory = new DefaultMediaFactory(); this._factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, this.listenerPluginLoaded); this._factory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD, this.listenerPluginLoaded); EventManager.instance.addEventListener(BalancerEvent.EVENT_BALANCER_COMPLETE, this.listenerBalanceComplete, false, 0, true); EventManager.instance.addEventListener(BalancerEvent.EVENT_BALANCER_ERROR, this.listenerBalanceError, false, 0, true); this.loadPlugins(); } public function loadPlugins(hug1:Array=null):void { //MethodID:2434, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 25 this._factory.loadPlugin(new PluginInfoResource(new GoogleStatisticPlugin())); } protected function get factory():MediaFactory { //MethodID:2435, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._factory; } public function createMediaElement(hug1:URLResource):MediaElement { //MethodID:2436, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 35 var hug2:Metadata = new Metadata(); hug1.addMetadataValue(MediaTypes.MEDIA_TYPE_GOOGLE_VIDEO_PROXY, hug2); return this.factory.createMediaElement(hug1); } public function getController(hug1:int=0):StreamController { //MethodID:2437, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 104 var hug2:StreamController = null; if(hug1 == StreamController.CONTROLLER_NONE){ hug2 = new StreamController(); }else{ hug2 = this.controllers[hug1]; if(!hug2){ hug2 = ((hug1 == StreamController.CONTROLLER_ADVERTISE_STREAM) ? new AdvertisementStreamController(hug1) : new StreamController(hug1)); this.controllers[hug1] = hug2; hug2.addEventListener(StreamControllerEvent.EVENT_BALANCE_URL, this.listenerBalanceFile); } } return hug2; } public function getOffset(hug1:int, hug2:Number):Number { //MethodID:2438, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 139 var hug3:StreamController = this.getController(hug1); var hug4:Number = hug2; if(hug3.getMediaType() == StreamController.STREAM_TYPE_STREAM) return hug4; var hug5:StreamMetaInfo = hug3.getMetaData(); if(hug3.getSecondMetaData().isHasMetadata()){ hug5 = hug3.getSecondMetaData(); }else{ hug5 = hug3.getMetaData(); } var hug6:int = -1; if(hug5.isHasMetadata() && hug5.isHasKeyframes()){ hug6 = hug5.searchIndex(hug4); if(hug6 > (-1)) hug4 = hug5.getTimeByIndex(hug6); } return hug4; } public function getCorrectedOffset(hug1:int, hug2:Number):Number { //MethodID:2439, LocalCount= 8 , MaxScope= 1, MaxStack= 2, CodeLength= 218 var hug3:Number = hug2; var hug4:StreamController = this.getController(hug1); if(hug4.getMediaType() == StreamController.STREAM_TYPE_STREAM) return hug3; var hug5:StreamMetaInfo = hug4.getMetaData(); var hug6:int = -1; if(hug5.isHasMetadata() && hug5.isHasKeyframes()){ hug6 = hug5.searchIndex(hug3); if(hug6 > (-1)){ switch(hug4.getMediaType()){ case StreamController.STREAM_TYPE_FLV: case StreamController.STREAM_TYPE_IFLV: hug3 = hug5.getByteShift(hug6); break; case StreamController.STREAM_TYPE_MP4: hug3 = hug5.getTimeByIndex(hug6); break; default: break; } } } return hug3; } public function get volume():Number { //MethodID:2440, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 20 var hug1:StreamController = this.getController(StreamController.CONTROLLER_MAIN_STREAM); return hug1.volume; } public function set volume(hug1:Number):void { //MethodID:2441, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 67 var hug2:Array = [StreamController.CONTROLLER_MAIN_STREAM, StreamController.CONTROLLER_ADVERTISE_STREAM, StreamController.CONTROLLER_CACHE_STREAM]; var hug3:StreamController = null; var hug4:int = 0; while(hug4 < hug2.length){ hug3 = this.getController(hug2[hug4]); hug3.volume = hug1; hug4++; } } public function playOffsettedMedia(hug1:int, hug2:Number):void { //MethodID:2442, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 147 var hug3:StreamController = this.getController(hug1); hug2 = StreamControllerManager.instance.getOffset(hug1, hug2); var hug4:int = this.getBalancerId(hug1); var hug5:String = ((hug3.balancedUrl.length > 0) ? hug3.balancedUrl : BalancerManager.instance.getResponder(hug4).videoStreamUrl); var hug6:String = BalancerManager.instance.getResponder(hug4).buildPlayUrl(hug5, ConfigurationManager.instance.flashVariablesConfig.referrer, (hug3.getMediaType() == StreamController.STREAM_TYPE_MP4), hug2); hug3.offset = hug2; hug3.autoBalance = true; hug3.needAutoConnect = true; hug3.setBalancedUrl(hug6, false); hug3.play(); } private function getBalancerId(hug1:int):int { //MethodID:2443, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 136 var hug2:int = 0; var hug3:int = hug1; switch(hug3){ case StreamController.CONTROLLER_MAIN_STREAM: hug2 = BalancerResponder.BALANCER_MAIN; break; case StreamController.CONTROLLER_ADVERTISE_STREAM: hug2 = BalancerResponder.BALANCER_ADVERTISEMENT; break; case StreamController.CONTROLLER_CACHE_STREAM: hug2 = BalancerResponder.BALANCER_CACHE; break; default: break; } return hug2; } private function getControllerId(hug1:int):int { //MethodID:2444, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 136 var hug2:int = 0; var hug3:int = hug1; switch(hug3){ case BalancerResponder.BALANCER_MAIN: hug2 = StreamController.CONTROLLER_MAIN_STREAM; break; case BalancerResponder.BALANCER_ADVERTISEMENT: hug2 = StreamController.CONTROLLER_ADVERTISE_STREAM; break; case BalancerResponder.BALANCER_CACHE: hug2 = StreamController.CONTROLLER_CACHE_STREAM; break; default: break; } return hug2; } private function listenerPluginLoaded(hug1:MediaFactoryEvent):void { //MethodID:2445, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function listenerBalanceFile(hug1:StreamControllerEvent):void { //MethodID:2446, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 201 var hug2:StreamController = (hug1.target as StreamController); var hug3:int = this.getBalancerId(hug2.type); var hug4:BalancerResponder = BalancerManager.instance.getResponder(hug3); if((hug2.preBalancedUrl.lastIndexOf(".iflv") < 0) || !BalancerManager.instance.isBalancerUrl(hug2.preBalancedUrl)){ hug4.load(hug2.preBalancedUrl); return; } if(!hug4.isLoading){ hug4.reset(); }else{ return; } var hug5:String = hug4.buildRequestUrl(hug2.preBalancedUrl, ConfigurationManager.instance.flashVariablesConfig.referrer, (hug2.getMediaType() == StreamController.STREAM_TYPE_MP4), hug2.offset, true); hug5 = hug5.replace(new RegExp("\.iflv"), ".xml"); if(hug5.indexOf("http://") == (-1)) hug5 = ("http://" + hug5); hug4.load(hug5, true); } private function listenerBalanceComplete(hug1:BalancerEvent):void { //MethodID:2447, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 127 var hug2:StreamController = null; hug2 = this.getController(this.getControllerId(hug1.id)); var hug3:BalancerResponder = BalancerManager.instance.getResponder(hug1.id); if((hug2.preBalancedUrl.lastIndexOf(".iflv") < 0) || !BalancerManager.instance.isBalancerUrl(hug2.preBalancedUrl)){ hug2.setBalancedUrl(hug2.preBalancedUrl); }else{ hug2.setBalancedUrl(hug3.videoStreamUrl); } EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_RECEIVE_BALANCED_URL, null, hug2.type)); } private function listenerBalanceError(hug1:BalancerEvent):void { //MethodID:2448, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } } } //¡script230¡ package{ import Components.FunctionalPanel import Components.ParamEvent import Components.Player import Components.PlaylistPanel import Components.SkinManager import Components.EndScreen.EndScreen2 import Components.EndScreen.Navigator import Components.Renderer.PlayerLayoutRenderer import Components.Utils.BookmarkItem import Components.Utils.sprintf import Components.Window.SnapshotWindow import Data.TIDS import Data.TSearchItem import flash.display.Stage import flash.display.StageDisplayState import flash.events.Event import flash.events.IOErrorEvent import flash.events.KeyboardEvent import flash.events.MouseEvent import flash.events.SecurityErrorEvent import flash.events.TimerEvent import flash.external.ExternalInterface import flash.net.URLLoader import flash.net.URLRequest import flash.net.navigateToURL import flash.net.sendToURL import flash.utils.Timer import ru.rutube.command.CommandManager import ru.rutube.command.commands.advertisement.overlay.CommandAdvertisementOverlayClick import ru.rutube.command.commands.advertisement.overlay.CommandAdvertisementOverlayError import ru.rutube.command.commands.advertisement.video.CommandAdvertisementShowBanner import ru.rutube.command.commands.advertisement.video.CommandAdvertisementShowFlvBanner import ru.rutube.command.commands.balancer.CommandBalancerComplete import ru.rutube.command.commands.balancer.CommandBalancerError import ru.rutube.command.commands.loading.CommandLoadindVideoWallComplete import ru.rutube.command.commands.service.CommandRestart import ru.rutube.command.commands.service.CommandStageEvents import ru.rutube.command.commands.streaming.CommandStreamBufferingChange import ru.rutube.command.commands.streaming.CommandStreamCurrentTimeChange import ru.rutube.command.commands.streaming.CommandStreamDurationChange import ru.rutube.command.commands.streaming.CommandStreamError import ru.rutube.command.commands.streaming.CommandStreamLoadingProgress import ru.rutube.command.commands.streaming.CommandStreamMediaEvents import ru.rutube.command.commands.streaming.CommandStreamMetadataReceived import ru.rutube.command.commands.streaming.CommandStreamPlayerStateChange import ru.rutube.command.commands.streaming.CommandStreamVideoComplete import ru.rutube.command.commands.ui.CommandUIHideTopPanel import ru.rutube.command.commands.ui.CommandUILogotypeClick import ru.rutube.command.commands.ui.CommandUIMenuHandler import ru.rutube.command.commands.ui.CommandUIPause import ru.rutube.command.commands.ui.CommandUIShowAboutwindow import ru.rutube.command.commands.ui.CommandUITimelineMark import ru.rutube.command.commands.ui.CommandUITimelineThumb import ru.rutube.command.commands.ui.CommandUITimelineThumbMouse import ru.rutube.command.commands.ui.CommandUITimelineTime import ru.rutube.command.commands.ui.CommandUITimelineTrack import ru.rutube.command.commands.ui.CommandUITitleVideoClick import ru.rutube.command.commands.ui.CommandUIVideoModify import ru.rutube.command.commands.ui.CommandUIVolumeControl import ru.rutube.command.commands.ui.CommandUIVote import ru.rutube.command.commands.voting.CommandVotingFailed import ru.rutube.command.commands.voting.CommandVotingSuccess import ru.rutube.event.ChangePlayerStateEvent import ru.rutube.event.ConfigurationMetaInfoEvent import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.FunctionalPanelEvent import ru.rutube.event.GoogleEvent import ru.rutube.event.InternalEvent import ru.rutube.event.RestartEvent import ru.rutube.manager.extern.ExternalNotifier import ru.rutube.managers.PopUpManager import ru.rutube.managers.advertisement.AdvertisementControllerManager import ru.rutube.managers.advertisement.AdvertisementManager import ru.rutube.managers.advertisement.AdvertisementType import ru.rutube.managers.advertisement.event.AdvertisementControllerEvent import ru.rutube.managers.advertisement.model.Advertisement import ru.rutube.managers.advertisement.visual.controller.AdvertisementController import ru.rutube.managers.balancer.BalancerEvent import ru.rutube.managers.balancer.BalancerManager import ru.rutube.managers.balancer.BalancerResponder import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.AdvertisingString import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.configuration.data.PlayerConfig import ru.rutube.managers.configuration.data.PlaylistElement import ru.rutube.managers.configuration.data.VoteData import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.cookie.CookieManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.managers.playback.stream.RemoteStreamType import ru.rutube.managers.playback.stream.StreamEvent import ru.rutube.managers.preloader.PreloaderManager import ru.rutube.managers.remote.RemoteEvent import ru.rutube.managers.reporter.Reporter import ru.rutube.managers.statistic.comscore.ComScoreStatistic import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants import ru.rutube.managers.statistic.player.PlayerStatistic import ru.rutube.managers.statistic.tns.TNSStatistic import ru.rutube.managers.voting.VoteEvent import ru.rutube.managers.voting.VotingManager import ru.rutube.states.PlayerState //¡class(instance)_index:229 public class Controller extends Object { //static constructor public static function Controller$cinit() { //MethodID:2450, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:Controller = null; //slotID:1 public static function get instance():Controller { //dispID:3, MethodID:2451, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new Controller(); return _instance; } public static function getTimeInfo(hug1:Number):String { //dispID:4, MethodID:2452, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 65 var hug2:uint = (hug1 / 3600); var hug3:uint = ((hug1 % 3600) / 60); var hug4:uint = (hug1 % 60); return (hug2 ? sprintf("%d:%.2d:%.2d", hug2, hug3, hug4) : sprintf("%.2d:%.2d", hug3, hug4)); } //constructor public function Controller():void { //MethodID:2453, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 377 this.m_Bookmarks = new Array(); super(); Reporter.instance.debugMode = ConfigurationManager.DEBUG_MODE; var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); this.flashVariables = ConfigurationManager.instance.flashVariablesConfig; this.metaInfo = ConfigurationManager.instance.metaInfo; var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug2.needAutoConnect = !this.flashVariables.isEmbedMode; hug2.autoBalance = !this.flashVariables.isEmbedMode; hug2.offset = (this.flashVariables.bookMarkStartTime * 1000); hug2.autoPlay = this.flashVariables.toggleAutoPlayVideo; hug2.mediaContainer = hug1.mediaContainer; this.isTwix = (SkinManager.getThemeName() == "AnimTwix"); hug1.setVersion(ConfigurationManager.VERSION + (ConfigurationManager.DEBUG_MODE ? " (debug)" : "")); hug1.enablePlaylist = this.flashVariables.playListEnable; hug1.autoHidePlaylist = this.flashVariables.playListEnable; hug1.createES(this.flashVariables.isEmbedMode); if(this.flashVariables.toggleInnerEmbedFlash) hug1.removeNavigator(); this.m_fileArray = String(this.flashVariables.urlContent).split(","); if(this.m_fileArray.length > 0){ hug2.preBalancedUrl = this.m_fileArray[this.m_fileIndex]; Reporter.instance.tn = hug2.hash; this.m_trySwitchCounter = 1; } TNSStatistic.instance.setCurrentFile(hug2.hash); TNSStatistic.instance.referrer = this.flashVariables.referrer; hug1.getFunctional().displayMode([FunctionalPanel.DISPLAY_FULLSCREEN_BUTTON], true); hug1.previewLoad(ConfigurationManager.instance.playerConfig.imageUrl); } //variables/etc. public var m_plPlayTimer:Timer; //slotID:0 public var m_AdPostViewLocked:Boolean = true; //slotID:0 public var m_Bookmarks:Array; //slotID:0 public var fireOverlayBanner:Boolean = false; //slotID:0 public var m_retryTimer:Timer; //slotID:0 public var m_AddToBookmarks:String = ""; //slotID:0 public var m_rtmsRetryTimer:Timer; //slotID:0 public var currentState:String = "STATE_UNDEFINED"; //slotID:0 public var m_curPLItem:uint = 0; //slotID:0 public var m_bHoldThumb:Boolean = false; //slotID:0 public var m_rtmsRetryInterval:Number = 0.0; //slotID:0 public var m_rtmsRetryCnt:uint = 0; //slotID:0 public var lastThumbSeekPos:Number = 0.0; //slotID:0 public var m_AdPreViewLocked:Boolean = true; //slotID:0 public var m_trySwitchCounter:int = 0; //slotID:0 public var isTwix:Boolean = false; //slotID:0 public var externAnimOffset:Number = -1.0; //slotID:0 public var metaInfo:MetaInfo = null; //slotID:0 public var previousState:String = "STATE_UNDEFINED"; //slotID:0 public var fullScreenHandled:Boolean = false; //slotID:0 public var m_RetryCnt:uint = 0; //slotID:0 public var m_fileIndex:int = 0; //slotID:0 private var flashVariables:FlashVariablesConfig = null; //slotID:0 public var m_prevSnapshotState:String; //slotID:0 public var m_fileArray:Array = null; //slotID:0 public var externalStop:Boolean = false; //slotID:0 public var externAnimTimer:Timer = null; //slotID:0 private var canShowNavigatopWhilePlay:Boolean = true; //slotID:0 public function init():void { //MethodID:2455, LocalCount= 2 , MaxScope= 2, MaxStack= 6, CodeLength= 2353 internal var playerConfig:PlayerConfig; //slotID:1 internal var forceAutoPlay:Boolean; //slotID:2 internal var isFullScreenEnabled:Boolean; //slotID:3 internal var streamController:StreamController; //slotID:4 internal var flvplayer:Player; //slotID:5 internal var isFunctionalPanelEnabled:Boolean; //slotID:6 internal var isSearchPanelEnabled:Boolean; //slotID:7 internal var isMediaContainerClickable:Boolean; //slotID:8 internal var areLinksClickable:Boolean; //slotID:9 internal var playing:Boolean; //slotID:10 internal var urlRequest:URLRequest; //slotID:11 internal var advertisement:Advertisement; //slotID:12 internal var advController:AdvertisementController; //slotID:13 urlRequest = null; advertisement = null; advController = null; this.switchState(PlayerState.STATE_INITIAL); playerConfig = ConfigurationManager.instance.playerConfig; Reporter.instance.userId = String(playerConfig.userId); if(Reporter.instance.userId.length == 0) Reporter.instance.userId = "0"; forceAutoPlay = SkinManager.getStyle("forceAutoPlay", false); if(forceAutoPlay) this.flashVariables.toggleAutoPlayVideo = true; isFullScreenEnabled = SkinManager.getStyle("isFullScreenEnabled", true); if(!isFullScreenEnabled) this.flashVariables.hideFullScreen = true; this.listenerMetaInfoLoaded(); streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); EventManager.instance.addEventListener(ControlPanelEvent.EVENT_PLAY, this.OnBnPlay, false, 0, true); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_PAUSE, CommandUIPause); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT, CommandUIPause); EventManager.instance.addEventListener(ControlPanelEvent.EVENT_STOP, this.OnBnStop, false, 0, true); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_PRESS, CommandUITimelineThumb); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_DRAG, CommandUITimelineThumb); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_RELEASE, CommandUITimelineThumb); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_OVER, CommandUITimelineThumbMouse); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_THUMB_OUT, CommandUITimelineThumbMouse); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_TRACK_PRESS, CommandUITimelineTrack); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_SHOW_ADD, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_ADD, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_EDIT, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_OVER, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_SHOW_DESC, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MARK_CHANGE, CommandUITimelineMark); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_VOLUME, CommandUIVolumeControl); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_CHANGE_VOLUME, CommandUIVolumeControl); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_MUTE, CommandUIVolumeControl); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_TIMER_RELEASE, CommandUITimelineTime); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_SHOW_ABOUT_WINDOW, CommandUIShowAboutwindow); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_SCALE, CommandUIVideoModify); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_ROTATE, CommandUIVideoModify); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_SNAPSHOT, CommandUIVideoModify); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_FULLSCREEN, CommandUIVideoModify); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_MESSAGE, CommandUIMenuHandler); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_PLAYLIST, CommandUIMenuHandler); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_FAVORITES, CommandUIMenuHandler); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_VOTE, CommandUIVote); CommandManager.instance.registerCommand(VoteEvent.VOTING_FAILED, CommandVotingFailed); CommandManager.instance.registerCommand(VoteEvent.VOTING_SUCCESS, CommandVotingSuccess); CommandManager.instance.registerCommand(FunctionalPanelEvent.EVENT_LOGO, CommandUILogotypeClick); EventManager.instance.addEventListener(ConfigurationMetaInfoEvent.CONFIGURATION_META_INFO_LOAD_COMPLETE, this.listenerMetaInfoLoaded, false, 0, true); CommandManager.instance.registerCommand(ConfigurationMetaInfoEvent.CONFIGURATION_VIDEO_WALL_LOAD_COMPLETE, CommandLoadindVideoWallComplete); CommandManager.instance.registerCommand(BalancerEvent.EVENT_BALANCER_ERROR, CommandBalancerError); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_RECEIVE_BALANCED_URL, CommandBalancerComplete); CommandManager.instance.registerCommand(RestartEvent.RESTART, CommandRestart); EventManager.instance.addEventListener(InternalEvent.FREE, this.listenerFree, false, 0, true); EventManager.instance.addEventListener(InternalEvent.BANDWIDTH, this.handleBandWidth, false, 0, true); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); isFunctionalPanelEnabled = SkinManager.getStyle("isFunctionalPanelEnabled", true); if(!isFunctionalPanelEnabled) flvplayer.forbidFunctionalPanel(); isSearchPanelEnabled = SkinManager.getStyle("isSearchPanelEnabled", true); if(!isSearchPanelEnabled) flvplayer.forbidMenuPanel(); isMediaContainerClickable = SkinManager.getStyle("isMediaContainerClickable", true); this.canShowNavigatopWhilePlay = SkinManager.getStyle("canShowNavigatopWhilePlay", true); if((this.flashVariables.isEmbedMode || this.flashVariables.toggleInnerEmbedFlash) && isMediaContainerClickable){ flvplayer.mediaContainer.buttonMode = true; flvplayer.mediaContainer.doubleClickEnabled = true; flvplayer.mediaContainer.addEventListener(MouseEvent.CLICK, function():void{ //MethodID:2454, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 40 if(flashVariables.toggleInnerEmbedFlash) ExternalNotifier.instance.notifyOpenContent(); EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED)); }); } areLinksClickable = SkinManager.getStyle("areLinksClickable", true); if(!areLinksClickable){ flvplayer.getTitlePanel().mouseEnabled = false; flvplayer.textAdvertising.mouseEnabled = false; flvplayer.getLogoButton().mouseEnabled = false; flvplayer.endScreen.es.linkEnabled = false; } flvplayer.getFunctional().showFullScreenOption(!this.flashVariables.hideFullScreen); flvplayer.endScreen.addEventListener(EndScreen2.EVENT_REPEAT, this.onBnRepeat); if(flvplayer.navigator != null) flvplayer.navigator.addEventListener(Navigator.EVENT_LINK_FRAME, this.onNavigatorEventHandler); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_SHOW, this.onAdViewHandler, false, 0, true); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_HIDE, this.onAdViewHandler, false, 0, true); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE, this.onAdViewHandler, false, 0, true); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_FINISH, this.onAdViewHandler, false, 0, true); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_ERROR, this.onAdViewHandler, false, 0, true); EventManager.instance.addEventListener(AdvertisementControllerEvent.ADV_CONTROLLER_CLICK, this.onAdViewHandler, false, 0, true); CommandManager.instance.registerCommand(AdvertisementControllerEvent.EVENT_SHOW_BANNER, CommandAdvertisementShowBanner); CommandManager.instance.registerCommand(AdvertisementControllerEvent.EVENT_SHOW_FLVBANNER, CommandAdvertisementShowFlvBanner); CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_OVERLAY_ERROR, CommandAdvertisementOverlayError); CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_CONTEXT_CLICK, CommandAdvertisementOverlayClick); CommandManager.instance.registerCommand(AdvertisementControllerEvent.ADV_OVERLAY_LINK, CommandAdvertisementOverlayClick); CommandManager.instance.registerCommand(RemoteEvent.EVENT_EXT_HIDE_TOP_PANEL, CommandUIHideTopPanel); CommandManager.instance.registerCommand(InternalEvent.STAGE, CommandStageEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_DURATION_CHANGE, CommandStreamDurationChange); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_BUFFERING_CHANGE, CommandStreamBufferingChange); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, CommandStreamCurrentTimeChange); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_VIDEO_COMPLETE, CommandStreamVideoComplete); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_LOADING_PROGRESS, CommandStreamLoadingProgress); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_STATE_CHANGE, CommandStreamPlayerStateChange); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_METADATA_RECEIVED, CommandStreamMetadataReceived); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_STREAM_ERROR, CommandStreamError); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_ON_EOF, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_ON_ERROR, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_EOF, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_REDIRECT, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR, CommandStreamMediaEvents); CommandManager.instance.registerCommand(StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING, CommandStreamMediaEvents); flvplayer.getPlaylistPanel().addEventListener(PlaylistPanel.EVENT_FRAME_PRESS, this.onPlaylistPanelHandler, false, 0, true); CommandManager.instance.registerCommand(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED, CommandUITitleVideoClick); flvplayer.getSnapshotWindow().addEventListener(SnapshotWindow.EVENT_SNAPSHOT_WINDOW_CLOSED, this.OnSnapshotWindowClosed, false, 0, true); StreamControllerManager.instance.volume = CookieManager.instance.playerVolume; flvplayer.getControl().volume = CookieManager.instance.playerVolume; this.initBookmarks(); TNSStatistic.instance.initReport(); if(playerConfig.isSkinExists && (this.metaInfo.playButtonStatistic.length > 5)){ urlRequest = new URLRequest(this.metaInfo.playButtonStatistic); sendToURL(urlRequest); } if(this.flashVariables.toggleShowLogo == false) flvplayer.getLogoButton().visible = false; if(this.flashVariables.toggleAutoPlayVideo) flvplayer.useRollPlayer = true; playing = false; ExternalNotifier.instance.notifyCreated(); if(playerConfig.advertisement.length > 0){ if(flvplayer.setAdViewMode(true)){ streamController.pause(); advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BLIND); advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement); advController.show(); } }else if(this.flashVariables.toggleAutoPlayVideo && !this.flashVariables.playListEnable){ this.OnBnPlay(null); playing = true; if(!flvplayer.visible) flvplayer.visible = true; }else if(playerConfig.advertisement.length == 0){ if(!flvplayer.visible) flvplayer.visible = true; } if(this.flashVariables.autoload && !this.flashVariables.isEmbedMode && !playing && !this.flashVariables.toggleInnerEmbedFlash) this.metaInfo.noHideThumbnail = true; } public function pauseMovie():void { //MethodID:2456, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 25 var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug1.pause(); } public function initBookmarks():void { //MethodID:2457, LocalCount= 9 , MaxScope= 1, MaxStack= 5, CodeLength= 319 var hug5:Array = null; var hug6:Object = null; var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug2:Number = (hug1.duration ? hug1.duration : this.metaInfo.contentDuration); var hug3:Boolean = (this.m_Bookmarks.length > 0); while(this.m_Bookmarks.length > 0){ this.m_Bookmarks.pop(); } if(this.flashVariables.bookMarkStartTime) this.m_Bookmarks.push(new BookmarkItem(this.flashVariables.bookMarkStartTime, hug1.preBalancedUrl, this.flashVariables.bookMarkTitle)); var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if(this.m_Bookmarks.length && (hug2 > 0)){ this.m_Bookmarks.sort(BookmarkItem.sortOnTime); hug5 = new Array(); for each(hug6 in this.m_Bookmarks){ hug5.push(hug6.time / hug2); } hug4.getControl().timeline.marks = hug5; hug4.getControl().timeline.onPaint(); }else if(hug3){ hug4.getControl().timeline.marks = []; hug4.getControl().timeline.onPaint(); } } public function chooseContextAdvertisement(hug1:Boolean=false):void { //MethodID:2458, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 160 var hug2:Advertisement = null; var hug3:AdvertisementController = null; if(this.metaInfo.adSense.isAvalible){ hug2 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BEGUN); hug2.url = hug2.url.replace(new RegExp("pad_id=\d+", "gi"), "pad_id=232703233"); hug3 = AdvertisementControllerManager.instance.getControllerByModel(hug2); if(hug1){ hug3.show(); }else{ hug3.delayedShow(); } }else{ hug2 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_BEGUN); hug3 = AdvertisementControllerManager.instance.getControllerByModel(hug2); if(hug1){ hug3.show(); }else{ hug3.delayedShow(); } } } public function get currentPlayerState():String { //MethodID:2459, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.currentState.concat(); } public function switchState(hug1:String):void { //MethodID:2460, LocalCount= 5 , MaxScope= 7, MaxStack= 7, CodeLength= 1560 internal var state:String; //slotID:1 internal var streamController:StreamController; //slotID:2 internal var flvplayer:Player; //slotID:3 internal var advController:AdvertisementController; //slotID:4 internal var advertisement:Advertisement; //slotID:5 internal var gEvent:GoogleEvent; //slotID:6 streamController = null; flvplayer = null; gEvent = null; state = hug1; if(this.currentState == state) return; this.previousState = this.currentState; this.currentState = state; streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); flvplayer.isPaused = false; switch(this.previousState){ case PlayerState.STATE_PAUSED: this.hideAdView(); flvplayer.visibleTitlePanel = false; break; case PlayerState.STATE_STARTED: PreloaderManager.instance.hide(); break; case PlayerState.STATE_INITIAL: flvplayer.infoPanel.visible = false; flvplayer.visibleTitlePanel = false; flvplayer.getControl().stopButton.listenerAllowed = true; if(state != PlayerState.STATE_NOT_AVALIBLE) ContentManager.instance.removeContentById(ContentIds.LOCK_PANEL); break; default: break; } flvplayer.allowNavigator = (((this.currentState == PlayerState.STATE_STARTED) || (this.currentState == PlayerState.STATE_PAUSED) || (this.currentState == PlayerState.STATE_INITIAL)) && this.canShowNavigatopWhilePlay); advController = null; advertisement = null; try{ switch(this.currentState){ case PlayerState.STATE_STARTED: if((this.previousState == PlayerState.STATE_INITIAL) || (this.previousState == PlayerState.STATE_PREVIEW)){ Reporter.instance.send("beg=" + encodeURIComponent(this.flashVariables.referrer)); PreloaderManager.instance.show(); } if(this.isTwix){ if(flvplayer.playWindowButton.currentFrameLabelSkin() != "END"){ flvplayer.playWindowButton.listenerAllowed = false; flvplayer.playWindowButton.changeAnimationSkin("START_TWIX"); } }else{ flvplayer.playWindowButton.visible = false; } break; case PlayerState.STATE_PAUSED: flvplayer.isPaused = true; if(this.flashVariables.isEmbedMode) flvplayer.visibleTitlePanel = true; if(this.isTwix){ flvplayer.playWindowButton.visible = true; if(flvplayer.playWindowButton.currentFrameLabelSkin() == "END"){ flvplayer.playWindowButton.listenerAllowed = true; flvplayer.playWindowButton.changeAnimationSkin("START_TWIX_PAUSE"); } } advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY); advController.hide(); advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_BEGUN); advController.hide(); break; case PlayerState.STATE_STOPPED: PreloaderManager.instance.hide(); advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY); advController.hide(); ExternalNotifier.instance.notifyVideoEnd(); gEvent = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_FINISH, streamController.duration.toString(), this.metaInfo.category); EventManager.instance.dispatchEvent(gEvent); if(this.flashVariables.toggleInnerEmbedFlash){ break; 0; return; } break; case PlayerState.STATE_POSTVIEW: if(this.externalStop){ this.externalStop = false; this.switchState(PlayerState.STATE_STOPPED); break; 1; return; }else{ flvplayer.getControl().pauseMode = false; if(flvplayer.setAdViewMode(true, false)){ advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_POST_ROLL); advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement); advController.show(); } advController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY); advController.hide(); } break; case PlayerState.STATE_PREVIEW: if(this.previousState == PlayerState.STATE_INITIAL){ if(streamController.getMediaType() != StreamController.STREAM_TYPE_STREAM){ try{ this.playMovie(this.flashVariables.bookMarkStartTime); this.pauseMovie(); } catch(error:Error){ } }else{ this.pauseMovie(); } } flvplayer.getControl().pauseMode = true; if(this.metaInfo.preView.isInitialized){ try{ if(flvplayer.setAdViewMode(true)){ advertisement = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_PRE_ROLL); advController = AdvertisementControllerManager.instance.getControllerByModel(advertisement); advController.show(); } } catch(error:Error){ switchState(PlayerState.STATE_STARTED); } }else{ if(!streamController.playingState) this.playMovie(this.flashVariables.bookMarkStartTime); this.switchState(PlayerState.STATE_STARTED); } break; case PlayerState.STATE_INITIAL: flvplayer.getControl().stopButton.listenerAllowed = false; if(this.flashVariables.isEmbedMode) flvplayer.visibleTitlePanel = true; break; case PlayerState.STATE_UNDEFINED: flvplayer.getControl().stopButton.listenerAllowed = false; break; default: break; } } catch(e:Error){ trace(e); } finally{ EventManager.instance.dispatchEvent(new ChangePlayerStateEvent(this.currentState)); this.UpdateUI(); } } private function UpdateUI():void { //MethodID:2461, LocalCount= 7 , MaxScope= 1, MaxStack= 5, CodeLength= 584 var hug4:StreamController = null; var hug5:Number = NaN; var hug1:Array = [FunctionalPanel.DISPLAY_FAVORITE_BUTTON, FunctionalPanel.DISPLAY_PLAYLIST_BUTTON, FunctionalPanel.DISPLAY_MESSAGE_BUTTON, FunctionalPanel.DISPLAY_LOGO_BUTTON]; var hug2:Array = [this.metaInfo.userInfo.isAllowedUser, Boolean(this.metaInfo.userInfo.isUser), Boolean(this.metaInfo.complain.isComplainPresents()), (this.currentState == PlayerState.STATE_STOPPED)]; var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug3.getFunctional().displayMode(hug1, hug2); if(this.metaInfo.favoriteData.isFavoritePresent() && this.flashVariables.isEmbedMode && this.metaInfo.playList.isPlaylistPresents() && this.flashVariables.isEmbedMode && this.flashVariables.toggleShowLogo && this.currentState != PlayerState.STATE_INITIAL){ if(!this.isTwix) hug3.playWindowButton.visible = false; } switch(this.currentState){ case PlayerState.STATE_INITIAL: hug3.getControl().pauseMode = false; hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], this.metaInfo.isSnapshotAvalible); break; case PlayerState.STATE_STARTED: hug3.getControl().pauseMode = true; hug3.getControl().timeline.markMode = false; hug3.hideEndScreen(); hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], [this.metaInfo.isSnapshotAvalible]); break; case PlayerState.STATE_PAUSED: hug3.getControl().pauseMode = false; break; case PlayerState.STATE_STOPPED: hug3.getControl().pauseMode = false; hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_SNAPSHOT_BUTTON], false); hug4 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug5 = (hug4.duration ? hug4.duration : this.metaInfo.contentDuration); hug3.getControl().timeInfo = hug5; PreloaderManager.instance.hide(); if(!this.flashVariables.toggleInnerEmbedFlash) hug3.showEndScreen(); break; default: break; } } public function hideAdView():void { //MethodID:2462, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 70 var hug2:Player = null; var hug1:AdvertisementController = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PRE_ROLL); if(hug1.isVisible){ hug1.hide(); hug2 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug2.setAdViewMode(false); } } public function UpdateBookmarks():void { //MethodID:2463, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 203 var hug3:Array = null; var hug4:Object = null; var hug5:Player = null; var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug2:Number = (hug1.duration ? hug1.duration : this.metaInfo.contentDuration); if(this.m_Bookmarks.length && (hug2 > 0)){ this.m_Bookmarks.sort(BookmarkItem.sortOnTime); hug3 = new Array(); for each(hug4 in this.m_Bookmarks){ hug3.push(hug4.time / hug2); } hug5 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug5.getControl().timeline.marks = hug3; hug5.getControl().timeline.onPaint(); } } private function IsRetryCode(hug1:uint):Boolean { //MethodID:2464, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 95 return ((hug1 == TIDS.TRY_LATTER) || (hug1 == TIDS.SERVICE_UNAVAIL) || (hug1 == TIDS.SRC_LIMIT) || (hug1 == TIDS.TRAF_LIMIT) || (hug1 == TIDS.TRAFORCONN_LIMIT) || (hug1 == TIDS.SRC_EXISTS) || (hug1 == TIDS.DST_EXISTS)); } public function updateLoader(hug1:Number=0.0, hug2:Number=0.0):void { //MethodID:2465, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 64 var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug3.getControl().timeline.setLoader(hug4.currentOffset, (hug1 / hug2)); } public function updateTimeline(hug1:Number=0.0, hug2:Number=0.0, hug3:Boolean=false):void { //MethodID:2466, LocalCount= 9 , MaxScope= 1, MaxStack= 3, CodeLength= 231 var hug8:Array = null; var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug5:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if((Math.round(hug1) == 1) && !ExternalNotifier.instance.isFirstSecondNotified) ExternalNotifier.instance.notifyVideoPlayFirstSecond(); if((Math.round(hug2 - hug1) == 5) && !ExternalNotifier.instance.isLastFiveSecondNotified) ExternalNotifier.instance.notifyVideoPlayLastFiveseconds(); var hug6:Number = ((hug2 == 0) ? 0 : (hug1 / hug2)); var hug7:Number = hug2; if((!this.m_bHoldThumb && (hug4.isMetaData || (hug4.time > 0))) || hug3){ hug8 = hug5.getControl().timeline.setThumbPos(hug6 + this.lastThumbSeekPos); if(hug8){ } } } private function listenerMetaInfoLoaded(hug1:Event=null):void { //MethodID:2467, LocalCount= 22 , MaxScope= 1, MaxStack= 7, CodeLength= 1610 var hug10:Object = null; var hug11:PlaylistElement = null; var hug12:int = 0; var hug13:XMLList = null; var hug14:Number = NaN; var hug15:Object = null; var hug16:BookmarkItem = null; var hug17:Array = null; var hug18:Object = null; var hug19:Object = null; var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN).isReceivedGoodPath) TNSStatistic.instance.setFileReports(hug2.hash, this.metaInfo.urlStartStatistic, this.metaInfo.urlEndStatistic); ComScoreStatistic.instance.referrer = ConfigurationManager.instance.flashVariablesConfig.referrer; ComScoreStatistic.instance.setLoaderUrl(ConfigurationManager.instance.flashVariablesConfig.loaderUrl); ComScoreStatistic.instance.initStatisticRecord(this.metaInfo); var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if(this.metaInfo.isPlayListAvalible && !this.metaInfo.toggleLoadMetaInfo){ hug3.getPlaylistPanel().clear(); hug11 = null; hug12 = 0; while(hug12 < this.metaInfo.videoPlayList.length){ hug11 = (this.metaInfo.videoPlayList[hug12] as PlaylistElement); hug3.getPlaylistPanel().addItem(hug11); if(hug11.trackId == ConfigurationManager.instance.flashVariablesConfig.playListStartId) this.metaInfo.playlistStartIndex = hug11.id; hug12++; } hug3.getPlaylistPanel().indexPlayed = this.m_curPLItem = this.metaInfo.playlistStartIndex; if(this.flashVariables.toggleAutoPlayVideo){ this.plPlayItem(this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex], true); return; } hug2.preBalancedUrl = this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex].urlContent; Reporter.instance.tn = hug2.hash; if(!this.flashVariables.toggleInnerEmbedFlash) hug3.previewLoad(this.metaInfo.videoPlayList[this.metaInfo.playlistStartIndex].urlThumbnail); } this.initActio(); this.m_AddToBookmarks = ""; var hug4:XML = this.metaInfo.parseXmlData; this.metaInfo.toggleLoadMetaInfo = false; var hug5:Number = (hug2.duration ? hug2.duration : this.metaInfo.contentDuration); hug3.getControl().timeInfo = hug5; if(!this.flashVariables.playListEnable && this.flashVariables.bookMarkStartTime && (hug5 > 0)){ hug3.getControl().timeline.showMarkPreviewWindow((this.flashVariables.bookMarkStartTime / hug5), getTimeInfo(this.flashVariables.bookMarkStartTime), null, true); hug3.getControl().timeline.setThumbPos(this.flashVariables.bookMarkStartTime / hug5); } if(this.flashVariables.isEmbedMode) hug3.getTitlePanel().setData(this.metaInfo.title, getTimeInfo(hug5)); if(this.metaInfo.isVideoWallLoaded && !this.flashVariables.toggleInnerEmbedFlash && hug3.navigator) hug3.navigator.control.setData(this.metaInfo); hug3.endScreen.setData(this.metaInfo); VotingManager.instance.initVoting(this.metaInfo); var hug6:VoteData = VotingManager.instance.votinParams; hug3.getFunctional().paramVote((hug6.rating / 5), hug6.ratingCounter); var hug7:Boolean = Boolean(hug6.voteUrl.length); if((hug6.isVoteAvalible && (hug7 || (hug6.authUrl.length > 0))) && !hug6.hideRating){ hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_VOTE_PANEL, FunctionalPanel.DISPLAY_VOTE], [true, Boolean(hug6.voteValue)]); }else{ hug3.getFunctional().displayMode([FunctionalPanel.DISPLAY_VOTE_PANEL], false); } if(hug7 && hug4.hasOwnProperty("bookmarks")){ if(hug4.bookmarks.hasOwnProperty("bookmark_url")) this.m_AddToBookmarks = hug4.bookmarks.bookmark_url; hug13 = hug4.child("bookmarks").child("bookmark_list").children(); hug14 = (hug2.duration ? hug2.duration : this.metaInfo.contentDuration); if(hug14 > 0){ for each(hug15 in hug13){ hug16 = new BookmarkItem(hug15.begin, hug2.preBalancedUrl, hug15.description, hug15.author, hug15.avatar); this.m_Bookmarks.push(hug16); } } if(this.m_Bookmarks.length && (hug14 > 0)){ this.m_Bookmarks.sort(BookmarkItem.sortOnTime); hug17 = new Array(); for each(hug18 in this.m_Bookmarks){ hug17.push(hug18.time / hug14); } hug3.getControl().timeline.marks = hug17; hug3.getControl().timeline.onPaint(); } }else{ hug3.getControl().timeline.marks = new Array(); hug3.getControl().timeline.onPaint(); } var hug8:Array = new Array(); var hug9:Array = this.metaInfo.complain.complainVariants; for(hug10 in hug9){ hug19 = new Object(); hug19.label = hug9[hug10]; hug19.data = this.metaInfo.complain.getSubjectId(hug10.toString()); hug8.push(hug19); } hug3.complainWindow.updateData({reasons:hug8, url:this.metaInfo.complain.complainUrl, auth:this.metaInfo.isRegistered}); hug3.playlistWindow.updateData(this.metaInfo.playList); hug3.textAdvertising.setData(this.metaInfo.advertisingString); hug3.visibleTextAdvertising = !this.metaInfo.advertisingString.isEmpty; hug3.infoPanel.setData(this.metaInfo.infoText); if(this.currentState == PlayerState.STATE_INITIAL) hug3.infoPanel.visible = true; if(!this.flashVariables.playListEnable && (!CookieManager.instance.getLocalCookie("advertising") || (CookieManager.instance.getLocalCookie("advertising") != "OFF"))){ if(this.metaInfo.postView.isInitialized) this.m_AdPostViewLocked = false; if(this.metaInfo.preView.isInitialized) this.m_AdPreViewLocked = false; } this.UpdateUI(); if(this.m_plPlayTimer != null){ this.m_plPlayTimer = null; this.m_AdPreViewLocked = false; if(this.flashVariables.toggleAutoPlayVideo) this.OnBnPlay(new Event("play"), false); } } public function initActio():void { //MethodID:2469, LocalCount= 2 , MaxScope= 2, MaxStack= 3, CodeLength= 202 internal var flvplayer:Player; //slotID:1 internal var streamController:StreamController; //slotID:2 flvplayer = null; streamController = null; flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(this.metaInfo.isActioPresent && (flvplayer.actioLayer != null)){ if(!(flvplayer.mediaContainer.layoutRenderer as PlayerLayoutRenderer).hasEventListener(PlayerLayoutRenderer.UPDATED_MEDIA_DISPLAY)){ (flvplayer.mediaContainer.layoutRenderer as PlayerLayoutRenderer).addEventListener(PlayerLayoutRenderer.UPDATED_MEDIA_DISPLAY, function():void{ //MethodID:2468, LocalCount= 1 , MaxScope= 0, MaxStack= 2, CodeLength= 42 if(flvplayer.actioLayer) flvplayer.actioLayer.rect = streamController.mediaRectangle; ExternalNotifier.instance.notifyVideoRectangleChange(streamController.mediaRectangle); }); } flvplayer.actioLayer.avsFile = this.metaInfo.actioContent; flvplayer.actioLayer.streamController = streamController; flvplayer.removeNavigator(); }else{ flvplayer.removeActio(); } } private function onStreamInternalError(hug1:StreamEvent):void { //MethodID:2470, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function onAdViewHandler(hug1:Event):void { //MethodID:2471, LocalCount= 7 , MaxScope= 1, MaxStack= 6, CodeLength= 1756 trace(("onAdViewHandler: " + hug1.type), this.currentState); var hug2:AdvertisementController = null; var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if(!hug3.visible) hug3.visible = true; var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); switch(this.currentState){ case PlayerState.STATE_PREVIEW: hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PRE_ROLL); break; case PlayerState.STATE_PAUSED: hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_PAUSE); break; case PlayerState.STATE_POSTVIEW: hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_POST_ROLL); break; default: hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY); if(!hug2.isVisible) hug2 = null; break; } var hug5:GoogleEvent = null; if(hug2 != null){ switch(hug1.type){ case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE: break; case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR: break; case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH: hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_SHOW_FINISH, hug2.advertisement.advertisementId, hug2.advertisementFullTime); break; case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK: hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_NAVIGATE_ONTIME, hug2.advertisement.advertisementId, hug2.advertisementCurrentTime); break; case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE: hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_CLOSE, hug2.advertisement.advertisementId, hug2.advertisementCurrentTime); break; case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW: hug5 = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_ADVERTISEMENT, GoogleAnalyticsConstants.ACTION_SHOW_START, hug2.advertisement.advertisementId); break; default: break; } } if((this.currentState != PlayerState.STATE_PAUSED) && (this.currentState != PlayerState.STATE_INITIAL)){ switch(hug1.type){ case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE: case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR: this.m_AdPreViewLocked = true; ExternalNotifier.instance.notifyAdvertisementFinish(); hug3.getBottomPanel().visible = true; break; case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH: case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK: case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE: if(this.currentState == PlayerState.STATE_PREVIEW){ this.m_AdPreViewLocked = true; }else if(this.metaInfo.postView.showCount > 0){ this.m_AdPostViewLocked = true; } ExternalNotifier.instance.notifyAdvertisementFinish(); hug3.getBottomPanel().visible = true; break; case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW: hug3.getControl().visible = false; hug4.pause(); break; default: break; } }else if(this.currentState == PlayerState.STATE_PAUSED){ switch(hug1.type){ case AdvertisementControllerEvent.ADV_CONTROLLER_HIDE: case AdvertisementControllerEvent.ADV_CONTROLLER_ERROR: case AdvertisementControllerEvent.ADV_CONTROLLER_FINISH: case AdvertisementControllerEvent.ADV_CONTROLLER_CLOSE: case AdvertisementControllerEvent.ADV_CONTROLLER_CLICK: ExternalNotifier.instance.notifyAdvertisementFinish(); hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_OVERLAY); hug2.show(); if(!hug2.isVisible){ hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_BEGUN); hug2.show(); } break; default: break; } } if(this.currentState != PlayerState.STATE_STOPPED) hug3.setAdViewMode(false, false); if(!hug3.isOver && !hug3.isAdvertisementMode) hug3.motionPanes(false); switch(this.currentState){ case PlayerState.STATE_POSTVIEW: if(hug1.type != AdvertisementControllerEvent.ADV_CONTROLLER_SHOW){ hug2 = AdvertisementControllerManager.instance.getControllerByType(AdvertisementType.AD_POST_ROLL); hug2.hide(); if(hug1.type != AdvertisementControllerEvent.ADV_CONTROLLER_ERROR) this.switchState(PlayerState.STATE_STOPPED); } break; case PlayerState.STATE_PREVIEW: if(this.metaInfo.preView.isInitialized && !this.m_AdPreViewLocked){ this.m_AdPreViewLocked = false; this.switchState(PlayerState.STATE_PREVIEW); }else if(hug1.type == AdvertisementControllerEvent.ADV_CONTROLLER_CLICK){ this.switchState(PlayerState.STATE_PAUSED); }else{ trace("onAdViewHandler: playMovie"); if(RemoteStreamType.getStreamTypeByConnStr(hug4.preBalancedUrl) == RemoteStreamType.FMS_LIVE){ hug4.resume(); return; } this.playMovie(int(this.flashVariables.bookMarkStartTime)); this.switchState(PlayerState.STATE_STARTED); } break; case PlayerState.STATE_INITIAL: if(this.flashVariables.toggleAutoPlayVideo && !this.flashVariables.playListEnable) this.OnBnPlay(null); break; case PlayerState.STATE_PAUSED: switch(hug1.type){ case AdvertisementControllerEvent.ADV_CONTROLLER_SHOW: hug3.getBottomPanel().visible = false; break; default: hug3.getBottomPanel().visible = true; break; } break; case PlayerState.STATE_STARTED: if(hug4.playingState){ hug4.resume(); }else{ hug4.play(); } default: break; } if(hug5 != null) EventManager.instance.dispatchEvent(hug5); } public function reportAtComplete():void { //MethodID:2472, LocalCount= 3 , MaxScope= 5, MaxStack= 5, CodeLength= 163 internal var streamController:StreamController; //slotID:1 internal var urlLoader:URLLoader; //slotID:2 streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); urlLoader = new URLLoader(); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, trace); urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, trace); try{ urlLoader.load(new URLRequest((("http:/" + "/rutube.ru/img/the_end.gif?hash=") + streamController.preBalancedUrl + "&fb=") + ((streamController.offset > 0) ? 0 : 1))); } catch(error:SecurityError){ trace("Controller.ReportAtComplete:", error); } } public function playMovie(hug1:Number=0.0, hug2:Boolean=false):void { //MethodID:2473, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 292 var hug5:String = null; if(this.currentState == PlayerState.STATE_NOT_AVALIBLE) return; var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if((hug3.getControl().visible == false) && hug3.isOver) hug3.getControl().visible = true; var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(RemoteStreamType.getStreamTypeByConnStr(hug4.preBalancedUrl) == RemoteStreamType.FMS_LIVE) hug4.resume(); if(!hug2 && hug4.session){ if(hug1 > 0) hug4.offset = hug1; if(hug4.playingState){ hug4.resume(); ComScoreStatistic.instance.fireTag(ComScoreStatistic.CONTENT); }else{ hug4.play(); } }else if(BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN).isReceivedGoodPath){ StreamControllerManager.instance.playOffsettedMedia(StreamController.CONTROLLER_MAIN_STREAM, hug1); }else{ if(!hug4.autoBalance){ hug4.autoBalance = true; hug4.needAutoConnect = true; hug5 = hug4.preBalancedUrl; hug4.preBalancedUrl = ""; hug4.preBalancedUrl = hug5; } hug4.play(); } } public function onBnRepeat(hug1:Event):void { //MethodID:2474, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 79 var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); TNSStatistic.instance.reset(hug2.hash); this.OnBnPlay(null, true); EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_REPEAT, null, this.metaInfo.category)); } public function OnBnPlay(hug1:Event=null, hug2:Boolean=false):void { //MethodID:2475, LocalCount= 5 , MaxScope= 5, MaxStack= 3, CodeLength= 306 internal var event:Event = null; //slotID:1 internal var bForce:Boolean = false; //slotID:2 internal var flvplayer:Player; //slotID:3 internal var streamController:StreamController; //slotID:4 event = hug1; bForce = hug2; AdvertisementManager.instance.finishCheckSiamtwin(AdvertisementType.AD_PRE_ROLL); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); flvplayer.previewHide(); streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); flvplayer.getControl().timeline.showBufferLine = true; trace("BUTTON PLAY PRESSED"); if(flvplayer.getControl().visible == false) flvplayer.getControl().visible = true; this.hideAdView(); if(TNSStatistic.instance.startReport(streamController.hash)) ComScoreStatistic.instance.fireTag(ComScoreStatistic.CONTENT); try{ if((!this.m_AdPreViewLocked && ((this.currentState == PlayerState.STATE_INITIAL) || (this.currentState == PlayerState.STATE_STOPPED))) && !bForce){ this.switchState(PlayerState.STATE_PREVIEW); }else{ this.playMovie(0, bForce); this.switchState(PlayerState.STATE_STARTED); } } catch(error:Error){ trace("Controller.OnBnPlay:", error); } } public function stopMovie():void { //MethodID:2476, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 117 var hug2:Number = NaN; var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(this.currentState != PlayerState.STATE_STOPPED){ hug2 = hug1.time; if(!isNaN(hug2)) Reporter.instance.send("ve=" + Math.round(hug2)); hug1.stop(); this.lastThumbSeekPos = 0; } TNSStatistic.instance.finishReport(hug1.hash); this.updateTimeline(0, 0, true); this.updateLoader(0, 0); } public function OnBnStop(hug1:Event=null):void { //MethodID:2477, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 162 var hug3:StreamController = null; this.flashVariables.toggleAutoPlayVideo = false; if(hug1 != null){ ExternalNotifier.instance.notifyVideoStop(); hug3 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_VIDEO, GoogleAnalyticsConstants.ACTION_SHOW_BREAK, hug3.time.toString(), this.metaInfo.category)); } var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug2.getControl().visible = false; this.stopMovie(); this.switchState(this.m_AdPostViewLocked ? PlayerState.STATE_STOPPED : PlayerState.STATE_POSTVIEW); } public function OnLiveErrorOld(hug1:*, hug2:*):void { //MethodID:2478, LocalCount= 10 , MaxScope= 1, MaxStack= 3, CodeLength= 184 var hug3:Boolean = false; var hug4:Boolean = false; var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(this.m_retryTimer) this.m_retryTimer.reset(); this.m_trySwitchCounter++; if((this.m_fileArray.length > 1) && (this.m_trySwitchCounter <= this.m_fileArray.length)){ this.m_fileIndex++; if(this.m_fileIndex == this.m_fileArray.length) this.m_fileIndex = 0; hug5.preBalancedUrl = this.m_fileArray[this.m_fileIndex]; this.stopMovie(); this.TryLiveSwitch(); return; }else{ this.stopMovie(); this.switchState(PlayerState.STATE_STOPPED); return; } } public function onRetryTimer(hug1:TimerEvent):void { //MethodID:2479, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34 trace("onRetryTimer"); if(this.m_retryTimer) this.m_retryTimer.reset(); this.playMovie(); } public function onRTMS_RetryTimer(hug1:TimerEvent):void { //MethodID:2480, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 142 this.m_rtmsRetryCnt++; trace("onRTMS_RetryTimer", this.m_rtmsRetryCnt); if(this.m_rtmsRetryTimer) this.m_rtmsRetryTimer.reset(); if(this.m_rtmsRetryCnt < this.flashVariables.retryCount){ if(this.currentState == PlayerState.STATE_STARTED){ this.playMovie(); }else{ this.m_rtmsRetryCnt = 0; } }else{ this.m_rtmsRetryCnt = 0; if(this.currentState == PlayerState.STATE_STARTED){ this.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, "„R„u„‚„r„y„ƒ „r„‚„u„}„u„~„~„€ „~„u„t„€„ƒ„„„…„„u„~. „P„€„r„„„€„‚„y„„„u „„€„„„„„{„… „„€„x„t„~„u„u."); } } } public function plPlayItem(hug1:PlaylistElement, hug2:Boolean=false):void { //MethodID:2481, LocalCount= 5 , MaxScope= 5, MaxStack= 5, CodeLength= 380 internal var plItem:PlaylistElement; //slotID:1 internal var forceSelf:Boolean = false; //slotID:2 internal var streamController:StreamController; //slotID:3 internal var flvplayer:Player; //slotID:4 plItem = hug1; forceSelf = hug2; streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if(this.flashVariables.playListSelfPlay || forceSelf){ this.stopMovie(); if(!flvplayer.isOver) flvplayer.motionPanes(false); }else{ if(ExternalInterface.available){ try{ ExternalInterface.call("playerNotification", "PlayList.Next", {trackId:plItem.trackId}); } catch(e:SecurityError){ trace(e); } }else{ navigateToURL(new URLRequest(("javascript:playerNotification('PlayList.Next',{" + "trackId:") + plItem.trackId + "})")); } this.OnBnStop(); return; } flvplayer.getPlaylistPanel().indexPlayed = this.m_curPLItem = plItem.id; streamController.preBalancedUrl = plItem.urlContent; Reporter.instance.tn = streamController.hash; this.metaInfo.toggleLoadMetaInfo = true; ExternalNotifier.instance.clear(); ConfigurationManager.instance.loadMetaInfo(plItem.urlMetaInfo); if(!this.flashVariables.toggleInnerEmbedFlash) flvplayer.previewLoad(plItem.urlThumbnail); if(this.flashVariables.playListSelfPlay || forceSelf) this.m_plPlayTimer = new Timer(5, 1); } private function OnPLPlayTimer(hug1:Event):void { //MethodID:2482, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61 if(this.m_plPlayTimer != null){ this.m_plPlayTimer.stop(); this.m_plPlayTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, this.OnPLPlayTimer); this.m_plPlayTimer = null; } this.m_AdPreViewLocked = false; this.OnBnPlay(new Event("play"), false); } private function onPlaylistPanelHandler(hug1:ParamEvent):void { //MethodID:2483, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 15 this.plPlayItem(hug1.params as PlaylistElement); } public function isInFullScreenState():Boolean { //MethodID:2484, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 59 var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if(!hug1.stage) return false; var hug2:Stage = hug1.stage; return Boolean(hug2.displayState == StageDisplayState.FULL_SCREEN); } public function exitFullScreen():void { //MethodID:2485, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 52 var hug1:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); var hug2:Stage = hug1.stage; if(this.isInFullScreenState()) hug2.displayState = StageDisplayState.NORMAL; } private function listenerVideoKeyboardDown(hug1:KeyboardEvent):void { //MethodID:2486, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function OnSnapshotWindowClosed(hug1:Event):void { //MethodID:2487, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 52 var hug2:StreamController = null; if(this.m_prevSnapshotState == PlayerState.STATE_STARTED){ hug2 = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug2.resume(); this.switchState(this.m_prevSnapshotState); } } private function onNavigatorEventHandler(hug1:ParamEvent):void { //MethodID:2488, LocalCount= 4 , MaxScope= 5, MaxStack= 8, CodeLength= 293 internal var event:ParamEvent; //slotID:1 internal var sItem:TSearchItem; //slotID:2 internal var gEvent:GoogleEvent; //slotID:3 event = hug1; sItem = (event.params as TSearchItem); if(sItem == null) return; gEvent = null; switch(event.type){ case Navigator.EVENT_LINK_FRAME: if(sItem.page_link.length > 0){ try{ navigateToURL(new URLRequest(unescape(sItem.page_link)), (this.flashVariables.toggleNewWindow ? "_blank" : "_self")); } catch(error:SecurityError){ trace("Controller.onNavigatorEventHandler:", error); } gEvent = new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_SIMILAR, sItem.page_link.substr(sItem.page_link.indexOf("v=") + 2), this.metaInfo.category); } break; default: break; } if(gEvent != null) EventManager.instance.dispatchEvent(gEvent); } private function onContextAdvLink(hug1:Event):void { //MethodID:2489, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 29 trace("Controller.onContextAdvLink"); this.pauseMovie(); this.switchState(PlayerState.STATE_PAUSED); } public function TryLiveSwitch():void { //MethodID:2490, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 38 var hug1:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); Reporter.instance.tn = hug1.hash; this.playMovie(); } private function listenerFree(hug1:InternalEvent):void { //MethodID:2491, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 25 var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug2.clear(); } public function jsReportAtStop():void { //MethodID:2492, LocalCount= 3 , MaxScope= 5, MaxStack= 7, CodeLength= 180 internal var streamController:StreamController; //slotID:1 internal var request:String; //slotID:2 request = null; streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); trace("ExternalInterface : ", ExternalInterface.available); if(ExternalInterface.available){ try{ ExternalInterface.call("playerNotification", "Play.Stop", {live:streamController.isLive, repeat:this.flashVariables.repeat}); } catch(e:SecurityError){ trace(e); } }else{ request = (("javascript:playerNotification('Play.Stop',{" + "live:") + streamController.isLive + ",repeat:" + this.flashVariables.repeat + "});"); navigateToURL(new URLRequest(request)); } } public function plPlayNext():Boolean { //MethodID:2493, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61 if(this.flashVariables.playListEnable == false) return false; var hug1:uint = this.m_curPLItem; hug1++; if(hug1 >= this.metaInfo.videoPlayList.length) return false; this.plPlayItem(this.metaInfo.videoPlayList[hug1]); return true; } private function handleBandWidth(hug1:InternalEvent):void { //MethodID:2494, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 PlayerStatistic.instance.sendBandwidth(hug1.data); } public function openContentPage():void { //MethodID:2495, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 22 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED)); } public function setLiveState(hug1:StreamControllerEvent):void { //MethodID:2496, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 92 var hug2:AdvertisingString = null; var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); trace("Set Live State: " + hug1.type); if(hug1.body){ hug2 = (hug1.body.advertString as AdvertisingString); if(hug2){ hug3.textAdvertising.setData(hug2); hug3.visibleTextAdvertising = !hug2.isEmpty; } } } } } //¡script231¡ package ru.rutube.managers.playback.controller{ import Components.IMediaPlayer import flash.display.DisplayObject import flash.events.EventDispatcher import flash.events.NetStatusEvent import flash.events.TimerEvent import flash.geom.Rectangle import flash.system.System import flash.utils.Timer import org.osmf.containers.MediaContainer import org.osmf.elements.ProxyElement import org.osmf.events.BufferEvent import org.osmf.events.LoadEvent import org.osmf.events.MediaElementEvent import org.osmf.events.MediaErrorEvent import org.osmf.events.MediaPlayerCapabilityChangeEvent import org.osmf.events.MediaPlayerStateChangeEvent import org.osmf.events.SeekEvent import org.osmf.events.TimeEvent import org.osmf.media.MediaElement import org.osmf.media.MediaPlayer import org.osmf.media.MediaPlayerState import org.osmf.media.URLResource import org.osmf.net.NetClient import org.osmf.net.NetStreamCodes import org.osmf.net.NetStreamLoadTrait import org.osmf.traits.LoadState import org.osmf.traits.MediaTraitType import ru.rutube.event.EventManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.playback.StreamMetaInfo //¡class(instance)_index:230 public class StreamController extends EventDispatcher { //static constructor public static function StreamController$cinit() { //MethodID:2498, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 67 CONTROLLER_NONE = 0; CONTROLLER_MAIN_STREAM = 1; CONTROLLER_ADVERTISE_STREAM = 2; CONTROLLER_CACHE_STREAM = 3; STREAM_TYPE_IFLV = 0; STREAM_TYPE_FLV = 1; STREAM_TYPE_MP4 = 2; STREAM_TYPE_STREAM = 3; } //static variables/etc. public static const CONTROLLER_NONE:int = 0; //slotID:1 public static const CONTROLLER_MAIN_STREAM:int = 1; //slotID:2 public static const CONTROLLER_ADVERTISE_STREAM:int = 2; //slotID:3 public static const CONTROLLER_CACHE_STREAM:int = 3; //slotID:4 public static const STREAM_TYPE_IFLV:int = 0; //slotID:5 public static const STREAM_TYPE_FLV:int = 1; //slotID:6 public static const STREAM_TYPE_MP4:int = 2; //slotID:7 public static const STREAM_TYPE_STREAM:int = 3; //slotID:8 public static function getFileHash(hug1:String):String { //dispID:3, MethodID:2499, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 47 var hug2:RegExp = new RegExp("(?:/|%2F)(.{32}).iflv", "gi"); var hug3:Array = hug2.exec(hug1); return (hug3 ? hug3[1] : ""); } //constructor public function StreamController(hug1:int=0) { //MethodID:2500, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 340 super(); this._type = hug1; this.metaInfo = new StreamMetaInfo(); this.metaInfoSecond = new StreamMetaInfo(); this.timer = new Timer(1000); this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimerTick); this.bufferTimer = new Timer(1000); this.bufferTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.listenerBufferTick); this.mediaPlayer = new MediaPlayer(); this.mediaPlayer.addEventListener(TimeEvent.DURATION_CHANGE, this.listenerDurationChange); this.mediaPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, this.listenerCurrentTimeChange); this.mediaPlayer.addEventListener(LoadEvent.BYTES_TOTAL_CHANGE, this.listenerTotalBytesChange); this.mediaPlayer.addEventListener(LoadEvent.LOAD_STATE_CHANGE, this.listenerLoadingStateChange); this.mediaPlayer.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, this.listenerLoading); this.mediaPlayer.addEventListener(BufferEvent.BUFFER_TIME_CHANGE, this.listenerBufferTimeChange); this.mediaPlayer.addEventListener(BufferEvent.BUFFERING_CHANGE, this.listenerBufferingChange); this.mediaPlayer.addEventListener(TimeEvent.COMPLETE, this.listenerMediaComplete); this.mediaPlayer.addEventListener(MediaErrorEvent.MEDIA_ERROR, this.listenerMediaError); this.mediaPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, this.listenerStateChange); this.mediaPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, this.listenerTraitSeekChange); this.mediaPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_PLAY_CHANGE, this.listenerTraitPlayChange); this.mediaPlayer.addEventListener(SeekEvent.SEEKING_CHANGE, this.listenerSeekingChange); } //variables/etc. protected var streamFlashVariables:FlashVariablesConfig = null; //slotID:0 private var _streamOffset:Number = 0.0; //slotID:0 private var _type:int = 0; //slotID:0 protected var _mediaContainer:MediaContainer = null; //slotID:0 public var autoBalance:Boolean = true; //slotID:0 private var timer:Timer = null; //slotID:0 private var _needPlay:Boolean = false; //slotID:0 protected var metaInfo:StreamMetaInfo = null; //slotID:0 private var delayedConnectString:String = ""; //slotID:0 private var streamPathUrl:String = ""; //slotID:0 private var _currentOffset:Number = 0.0; //slotID:0 protected var streamMediaPlayerInterface:IMediaPlayer = null; //slotID:0 private var toggleStop:Boolean = false; //slotID:0 private var _needAutoConnect:Boolean = true; //slotID:0 private var bufferCounter:int = 0; //slotID:0 protected var metaInfoSecond:StreamMetaInfo = null; //slotID:0 protected var fileHash:String = ""; //slotID:0 private var _mediaMime:String = null; //slotID:0 private var _mediaType:String = null; //slotID:0 private var toggleListenerVideoCompleteFired:Boolean = false; //slotID:0 protected var _preBalancedUrl:String = ""; //slotID:0 private var toggleUpdateBuffer:Boolean = false; //slotID:0 private var bufferTimer:Timer = null; //slotID:0 protected var mediaPlayer:MediaPlayer = null; //slotID:0 public function setMediaParams(hug1:String, hug2:String):void { //MethodID:2501, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this._mediaType = hug1; this._mediaMime = hug2; } public function get session():Boolean { //MethodID:2502, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 return ((this.mediaPlayer.media != null) && !this.toggleStop); } public function set autoPlay(hug1:Boolean):void { //MethodID:2503, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.mediaPlayer.autoPlay = hug1; } public function get type():int { //MethodID:2504, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._type; } public function set offset(hug1:Number):void { //MethodID:2505, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._streamOffset = hug1; } public function get offset():Number { //MethodID:2506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._streamOffset; } public function get currentOffset():Number { //MethodID:2507, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._currentOffset; } public function get hasStream():Boolean { //MethodID:2508, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 18 if(this.mediaPlayer.media != null) return true; return false; } public function get videoContainer():DisplayObject { //MethodID:2509, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(this.mediaPlayer.media != null) return this.mediaPlayer.displayObject; return null; } public function get bytesLoaded():Number { //MethodID:2510, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.bytesLoaded; } public function get bytesTotal():Number { //MethodID:2511, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.bytesTotal; } public function get isSoundAvalible():Boolean { //MethodID:2512, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25 return (this.metaInfo.audiocodecid || this.metaInfo.audiosamplerate); } public function get bufferLength():Number { //MethodID:2513, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.bufferLength; } protected function set bufferTime(hug1:Number):void { //MethodID:2514, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 184 if(int(this.mediaPlayer.duration - this.mediaPlayer.currentTime) <= hug1) hug1 = Math.abs(this.mediaPlayer.duration - this.mediaPlayer.currentTime); if((hug1 == 0) || isNaN(hug1)) hug1 = 0.1; if(this.mediaPlayer.bufferTime == hug1) return; this.mediaPlayer.bufferTime = hug1; trace("mediaPlayer.bufferTime:" + this.mediaPlayer.bufferTime + ";value:" + hug1); if(((this.mediaPlayer.duration - this.mediaPlayer.currentTime) < 0.09) && (this.mediaPlayer.duration > 0) && (this.mediaPlayer.media != null)) this.listenerMediaComplete(null); } protected function get bufferTime():Number { //MethodID:2515, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.bufferTime; } public function get videoWidth():Number { //MethodID:2516, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.mediaWidth; } public function get videoHeight():Number { //MethodID:2517, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.mediaHeight; } public function get playingState():Boolean { //MethodID:2518, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 25 return (this.mediaPlayer.playing || this.mediaPlayer.paused); } public function get time():Number { //MethodID:2519, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.currentTime; } public function get filesize():Number { //MethodID:2520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.bytesTotal; } public function get duration():Number { //MethodID:2521, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31 if(isNaN(this.mediaPlayer.duration)) return 0; return this.mediaPlayer.duration; } public function get isLive():Boolean { //MethodID:2522, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function get isMetaData():Boolean { //MethodID:2523, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.metaInfo.isHasMetadata(); } public function getMetaData():StreamMetaInfo { //MethodID:2524, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.metaInfo; } public function getSecondMetaData():StreamMetaInfo { //MethodID:2525, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.metaInfoSecond; } public function get firstTimeReal():Number { //MethodID:2526, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.metaInfo.first_ts; } public function get firstTime():Number { //MethodID:2527, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 5 return 0; } public function get needAutoConnect():Boolean { //MethodID:2528, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._needAutoConnect; } public function set needAutoConnect(hug1:Boolean):void { //MethodID:2529, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._needAutoConnect = hug1; } public function get metaFirstTimeReal():Number { //MethodID:2530, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(this.metaInfo != null) return this.metaInfo.first_ts; return 0; } public function get alreadyBalanced():Boolean { //MethodID:2531, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function set mediaContainer(hug1:MediaContainer):void { //MethodID:2532, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 45 if(this._mediaContainer == hug1) return; this._mediaContainer = hug1; if(this.mediaPlayer.media != null) this._mediaContainer.addMediaElement(this.mediaPlayer.media); } public function get mediaContainer():MediaContainer { //MethodID:2533, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mediaContainer; } public function get preBalancedUrl():String { //MethodID:2534, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._preBalancedUrl.concat(); } public function set preBalancedUrl(hug1:String):void { //MethodID:2535, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 82 if(hug1 == this._preBalancedUrl) return; this.clear(); this._preBalancedUrl = hug1; this.fileHash = getFileHash(this._preBalancedUrl); if(this._preBalancedUrl.length < 1) return; if(this.autoBalance) dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BALANCE_URL, null, this.type)); } public function get balancedUrl():String { //MethodID:2536, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.streamPathUrl.concat(); } public function setBalancedUrl(hug1:String, hug2:Boolean=true):void { //MethodID:2537, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 143 if(hug1.length < 1) return; hug1 = hug1.replace("max-age=0", ""); hug1 = hug1.replace("&schema=rtmp", ""); if(hug2 || (this.streamPathUrl.length < 1)){ this.streamPathUrl = hug1; this.delayedConnectString = ""; }else{ this.delayedConnectString = hug1; } this.toggleStop = false; this.bufferCounter = 0; if((this.streamPathUrl.indexOf("webcaster") > (-1)) && (this.mediaPlayer.media != null)) this.needAutoConnect = false; if(this.needAutoConnect) this.setDelayedBalancerUrl(); } public function get hash():String { //MethodID:2538, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.fileHash.concat(); } public function get isReceivedGoodPath():Boolean { //MethodID:2539, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function set streamOffset(hug1:Number):void { //MethodID:2540, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function get buffering():Boolean { //MethodID:2541, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 if(MediaPlayerState.PLAYBACK_ERROR) return false; return (this.mediaPlayer.buffering && this.mediaPlayer.paused); } public function get mediaRectangle():Rectangle { //MethodID:2542, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 103 var hug1:Rectangle = new Rectangle(); if(this.mediaPlayer && this.mediaPlayer.displayObject){ hug1.width = this.mediaPlayer.displayObject.width; hug1.height = this.mediaPlayer.displayObject.height; hug1.x = this.mediaPlayer.displayObject.x; hug1.y = this.mediaPlayer.displayObject.y; } trace("get mediaRectangle(): " + hug1); return hug1; } protected function setDelayedBalancerUrl():void { //MethodID:2543, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 359 if(this.bufferTimer.running) this.bufferTimer.reset(); var hug1:NetStreamLoadTrait = null; if(this.mediaPlayer.media != null){ hug1 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait); if((hug1 != null) && (hug1.netStream != null)){ NetClient(hug1.netStream.client).removeHandler(NetStreamCodes.ON_META_DATA, this.onMetaData); hug1.netStream.removeEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus); } } var hug2:URLResource = new URLResource((this.delayedConnectString.length > 0) ? this.delayedConnectString : this.streamPathUrl); hug2.mimeType = this._mediaMime; hug2.mediaType = this._mediaType; var hug3:MediaElement = StreamControllerManager.instance.createMediaElement(hug2); if(hug3.hasOwnProperty("smoothing")){ hug3["smoothing"] = true; }else{ hug3.addEventListener(MediaElementEvent.TRAIT_ADD, this.listenerMediaTraitAdd); } this.mediaPlayer.media = hug3; if(this.mediaPlayer.media != null){ hug1 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait); hug1.addEventListener(LoadEvent.LOAD_STATE_CHANGE, this.listenerLoadTraitStateChange); if((this.balancedUrl.indexOf("http://video-") == 0) && (hug1.netStream != null)) hug1.netStream.checkPolicyFile = true; } if(this.mediaPlayer.media != null) this.mediaContainer.addMediaElement(this.mediaPlayer.media); } public function play(hug1:Boolean=true, hug2:Number=0.0):void { //MethodID:2544, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 130 this.toggleStop = false; if(hug1){ if(!this.mediaPlayer.playing && this.mediaPlayer.canPlay){ this._needPlay = false; this.mediaPlayer.play(); if(this.bufferTime < 1){ this.bufferTime = 1; }else if(this.mediaPlayer.bufferLength > 0){ this.bufferTime = this.mediaPlayer.bufferLength; } }else{ this._needPlay = true; this.bufferTime = 1; } } if(this.bufferTimer.running) this.bufferTimer.reset(); } public function pause():void { //MethodID:2545, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 145 if(!this.mediaPlayer.paused && this.mediaPlayer.playing && this.mediaPlayer.canPause) this.mediaPlayer.pause(); this._needPlay = false; this.bufferCounter = 0; if(!isNaN(this.mediaPlayer.duration) && (this.mediaPlayer.duration > 0)){ this.bufferTime = (this.mediaPlayer.duration - this.mediaPlayer.currentTime); }else{ this.bufferTime = 1; } if(this.bufferTimer.running) this.bufferTimer.reset(); } public function stop():void { //MethodID:2546, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 51 if(this.mediaPlayer.canPlay) this.mediaPlayer.stop(); this.toggleStop = true; if(this.bufferTimer.running) this.bufferTimer.reset(); this._needPlay = false; } public function resume():void { //MethodID:2547, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 73 if(this.mediaPlayer.paused || this.mediaPlayer.canPlay){ this.bufferTime = this.mediaPlayer.bufferLength; this.mediaPlayer.play(); this.bufferCounter = 0; } if(this.bufferTimer.running) this.bufferTimer.reset(); } public function seek(hug1:Number):void { //MethodID:2548, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 144 this.bufferCounter = 0; this.bufferTime = 0.1; if(this.bufferTimer.running) this.bufferTimer.reset(); if(hug1 < 0) hug1 = 0; this._needPlay = (this._needPlay || this.mediaPlayer.playing); if(this.mediaPlayer.canSeek){ if(this.mediaPlayer.canSeekTo(hug1)){ this.mediaPlayer.seek(hug1); }else if(this.mediaPlayer.canSeekTo(hug1 / 1000)){ this.mediaPlayer.seek(hug1 / 1000); } }else{ this.offset = hug1; } } public function getMediaType():int { //MethodID:2549, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 163 var hug2:String = null; var hug1:int = STREAM_TYPE_IFLV; if(this.streamPathUrl != null){ if(this.streamPathUrl.toLowerCase().indexOf(".iflv") > 0){ hug1 = STREAM_TYPE_IFLV; }else if(this.streamPathUrl.toLowerCase().indexOf(".flv") > 0){ hug1 = STREAM_TYPE_FLV; }else if(this.streamPathUrl.toLowerCase().indexOf(".mp4") > 0){ hug1 = STREAM_TYPE_MP4; }else{ hug1 = STREAM_TYPE_STREAM; } hug2 = this.streamPathUrl.toLowerCase(); if((hug2.indexOf("rtmp") > (-1)) || (hug2.indexOf("http") > 10)) hug1 = STREAM_TYPE_STREAM; } return hug1; } public function clear():void { //MethodID:2550, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 95 trace(this.type); this.streamPathUrl = ""; this._preBalancedUrl = ""; if((this.mediaContainer != null) && (this.mediaPlayer.media != null)) this.mediaContainer.removeMediaElement(this.mediaPlayer.media); this.listenerMediaComplete(null); this.mediaPlayer.media = null; this.bufferTime = 0.1; System.gc(); } public function get volume():Number { //MethodID:2551, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.mediaPlayer.volume; } public function set volume(hug1:Number):void { //MethodID:2552, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.mediaPlayer.volume = hug1; } private function listenerSeekingChange(hug1:SeekEvent):void { //MethodID:2553, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 42 if(!hug1.seeking && this._needPlay){ if(!this.mediaPlayer.playing) this.mediaPlayer.play(); } } private function listenerTraitSeekChange(hug1:MediaPlayerCapabilityChangeEvent):void { //MethodID:2554, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28 if(this.offset > 0){ this.seek(this.offset); this.offset = 0; } } private function listenerTraitPlayChange(hug1:MediaPlayerCapabilityChangeEvent):void { //MethodID:2555, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 40 if(this._needPlay && hug1.enabled){ this.play(); }else{ this.mediaPlayer.autoPlay = false; } } private function listenerStreamStatus(hug1:NetStatusEvent):void { //MethodID:2556, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function listenerLoadTraitStateChange(hug1:LoadEvent):void { //MethodID:2557, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 518 trace("lEvent.loadState:" + hug1.loadState); var hug2:NetStreamLoadTrait = null; if(hug1.loadState == LoadState.READY){ hug2 = (hug1.target as NetStreamLoadTrait); if(hug2 != null){ if(this.balancedUrl.indexOf("http://video-") == 0) hug2.netStream.checkPolicyFile = true; NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_META_DATA, this.onMetaData); hug2.netStream.addEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_IMAGE_DATA, this.onImageData); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_EOF, this.on_eof); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.ON_ERROR, this.on_error); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_EOF, this.rtms_eof); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_REDIRECT, this.rtms_redirect); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_NOT_AUTH, this.rtms_not_auth); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_FORBID, this.rtms_forbid); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_RETRY_LATER, this.rtms_retry_latter); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_NOT_FOUND, this.rtms_not_found); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_ERROR, this.rtms_error); NetClient(hug2.netStream.client).addHandler(NetStreamCodes.RTMS_WARNING, this.rtms_warning); } }else if(hug1.loadState == LoadState.UNLOADING){ this.listenerMediaComplete(null); }else if(hug1.loadState == LoadState.LOADING){ hug2 = (hug1.target as NetStreamLoadTrait); if(hug2 != null){ if(this.balancedUrl.indexOf("http://video-") == 0) hug2.netStream.checkPolicyFile = true; } } } private function onMetaData(hug1:Object):void { //MethodID:2558, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 125 if(this.metaInfo.isHasMetadata() && (this.getMediaType() == StreamController.STREAM_TYPE_MP4)){ this.metaInfoSecond.allowChangeKeyframes = true; this.metaInfoSecond.analise(hug1); } this.metaInfo.analise(hug1); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_METADATA_RECEIVED, null, this.type)); var hug2:NetStreamLoadTrait = null; hug2 = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait); hug2.connection.call("checkBandwidth", null); } protected function listenerLoadingStateChange(hug1:LoadEvent):void { //MethodID:2559, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } protected function listenerTotalBytesChange(hug1:LoadEvent):void { //MethodID:2560, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } protected function listenerLoading(hug1:LoadEvent):void { //MethodID:2561, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 27 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_LOADING_PROGRESS, null, this.type)); } private function listenerDurationChange(hug1:TimeEvent):void { //MethodID:2562, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 61 if(!isNaN(hug1.time)){ if(!this.mediaPlayer.buffering) this.bufferTime = hug1.time; EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_DURATION_CHANGE, null, this.type)); } } private function listenerCurrentTimeChange(hug1:TimeEvent):void { //MethodID:2563, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 46 if(!this.timer.running) this.timer.start(); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, null, this.type)); } private function listenerBufferingChange(hug1:BufferEvent):void { //MethodID:2564, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 103 if(!this.bufferTimer.running){ if(!hug1.buffering && (this.bufferTime > 0)){ this.bufferTime = (this.duration - this.time); if(!this.toggleStop){ this.bufferTimer.reset(); this.bufferTimer.start(); } } EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BUFFERING_CHANGE, null, this.type, false, false, hug1.buffering)); } } private function listenerBufferTimeChange(hug1:BufferEvent):void { //MethodID:2565, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function listenerMediaTraitAdd(hug1:MediaElementEvent):void { //MethodID:2566, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 82 var hug2:MediaElement = null; if(hug1.traitType == MediaTraitType.DISPLAY_OBJECT){ hug2 = (hug1.target as MediaElement); while(hug2 is ProxyElement){ hug2 = (hug2 as ProxyElement).proxiedElement; } if(hug2 != null){ if(hug2.hasOwnProperty("smoothing")) hug2["smoothing"] = true; } } } private function listenerMediaComplete(hug1:TimeEvent):void { //MethodID:2567, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 720 internal var tEvent:TimeEvent; //slotID:1 internal var loadTrain:NetStreamLoadTrait; //slotID:2 loadTrain = null; tEvent = hug1; if(this.toggleListenerVideoCompleteFired) return; this.toggleListenerVideoCompleteFired = true; if(this.mediaPlayer.media != null){ if(this.mediaPlayer.playing){ this.mediaPlayer.stop(); }else if((this.streamPathUrl != null) && (this.streamPathUrl.indexOf("webcaster") > (-1))){ if(this.mediaPlayer.canPause){ this.mediaPlayer.pause(); this.mediaPlayer.play(); } return; } } this.timer.reset(); if((this.mediaPlayer.media != null) && this.mediaPlayer.media.hasTrait(MediaTraitType.LOAD)){ loadTrain = (this.mediaPlayer.media.getTrait(MediaTraitType.LOAD) as NetStreamLoadTrait); if((loadTrain != null) && (loadTrain.netStream != null)){ loadTrain.netStream.removeEventListener(NetStatusEvent.NET_STATUS, this.listenerStreamStatus); if(loadTrain.netStream.client != null){ NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_META_DATA, this.onMetaData); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_IMAGE_DATA, this.onImageData); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_EOF, this.on_eof); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.ON_ERROR, this.on_error); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_EOF, this.rtms_eof); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_REDIRECT, this.rtms_redirect); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_NOT_AUTH, this.rtms_not_auth); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_FORBID, this.rtms_forbid); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_RETRY_LATER, this.rtms_retry_latter); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_NOT_FOUND, this.rtms_not_found); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_ERROR, this.rtms_error); NetClient(loadTrain.netStream.client).removeHandler(NetStreamCodes.RTMS_WARNING, this.rtms_warning); } } } try{ this.mediaPlayer.media = null; } catch(err:Error){ } this.toggleListenerVideoCompleteFired = false; if((this.streamPathUrl != null) && (this.streamPathUrl.length > 5)) EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_VIDEO_COMPLETE, null, this.type)); } private function listenerStateChange(hug1:MediaPlayerStateChangeEvent):void { //MethodID:2568, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 560 trace("mEvent.state:" + hug1.state + ", buffelLength:" + this.mediaPlayer.bufferLength); if((hug1.state == "buffering") && (this.mediaPlayer.bufferLength < 1.5)) this.bufferCounter++; if((hug1.state == "buffering") && (this.mediaPlayer.bufferLength < 1.5) && !this.mediaPlayer.paused && !this.mediaPlayer.seeking && (this.bufferCounter > 1)){ if(this.mediaPlayer.playing && this.mediaPlayer.canPause && !this._needPlay) this.mediaPlayer.pause(); this.bufferTime = this.duration; if(this.bufferTimer.running) this.bufferTimer.reset(); switch(this.bufferCounter){ case 2: this.bufferTimer.repeatCount = 5; break; case 3: this.bufferTimer.repeatCount = 10; break; case 4: this.bufferTimer.repeatCount = 20; break; default: this.bufferTimer.repeatCount = 1; break; } this.bufferTime = (this.duration - this.mediaPlayer.currentTime); if(this.bufferTimer.repeatCount > 1) this.bufferTimer.start(); }else if(hug1.state == "playing"){ if((this.bufferTime == 1) && (this.duration > 0) && !this.mediaPlayer.buffering) this.bufferTime = (this.duration - this.mediaPlayer.currentTime); }else if(hug1.state == "paused"){ this.toggleUpdateBuffer = true; }else if(hug1.state == "uninitialized"){ } EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_STATE_CHANGE, null, this.type, false, false, hug1.state)); if(hug1.state == "buffering") EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_BUFFERING_CHANGE, null, this.type, false, false, true)); } private function listenerMediaError(hug1:MediaErrorEvent):void { //MethodID:2569, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 58 trace(hug1.error.detail); this.timer.reset(); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_STREAM_ERROR, null, this.type, false, false, hug1.error.errorID)); } private function listenerTimerTick(hug1:TimerEvent):void { //MethodID:2570, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 70 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_LOADING_PROGRESS, null, this.type)); if(this.toggleUpdateBuffer){ if(this.mediaPlayer.state == "paused") this.bufferTime = (this.duration - this.mediaPlayer.currentTime); this.toggleUpdateBuffer = false; } } private function listenerBufferTick(hug1:TimerEvent):void { //MethodID:2571, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 56 if(this.mediaPlayer.paused || this.mediaPlayer.canPlay){ this.bufferTime = this.mediaPlayer.bufferLength; this.mediaPlayer.play(); } this.bufferTimer.reset(); } protected function onCuePoint(hug1:*=null):void { //MethodID:2572, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } protected function onImageData(hug1:*=null):void { //MethodID:2573, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } protected function on_eof(hug1:*, hug2:*=null):void { //MethodID:2574, LocalCount= 3 , MaxScope= 1, MaxStack= 11, CodeLength= 49 trace("OnEOF Old"); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_ON_EOF, null, this.type, false, false, {uid:hug1, msg:hug2})); } protected function on_error(hug1:*, hug2:*=null):void { //MethodID:2575, LocalCount= 3 , MaxScope= 1, MaxStack= 11, CodeLength= 49 trace("OnError Old"); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_ON_ERROR, null, this.type, false, false, {uid:hug1, msg:hug2})); } protected function rtms_eof():void { //MethodID:2576, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 37 trace("OnRTMS_EOF"); EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_EOF, null, this.type)); } protected function rtms_redirect(hug1:*=null):void { //MethodID:2577, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 9 this.setBalancedUrl(hug1); } protected function rtms_not_auth():void { //MethodID:2578, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 27 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH, null, this.type)); } protected function rtms_forbid(hug1:*=null):void { //MethodID:2579, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID, null, this.type, false, false, hug1)); } protected function rtms_retry_latter(hug1:*=null):void { //MethodID:2580, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER, null, this.type, false, false, hug1)); } protected function rtms_not_found():void { //MethodID:2581, LocalCount= 1 , MaxScope= 1, MaxStack= 8, CodeLength= 30 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND, null, this.type, false, false, null)); } protected function rtms_error(hug1:*=null):void { //MethodID:2582, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR, null, this.type, false, false, hug1)); } protected function rtms_warning(hug1:*=null):void { //MethodID:2583, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 30 EventManager.instance.dispatchEvent(new StreamControllerEvent(StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING, null, this.type, false, false, hug1)); } } } //¡script232¡ package Components{ import Components.EndScreen.DefaultES import Components.EndScreen.EmbedES import Components.EndScreen.EndScreen2 import Components.EndScreen.MenuPanel import Components.EndScreen.Navigator import Components.Renderer.PlayerLayoutRenderer import Components.Window.AboutWindow import Components.Window.AlertWindow import Components.Window.ComplainWindow import Components.Window.PlaylistWindow import Components.Window.SnapshotWindow import Components.Window.WindowDispatcher import fl.transitions.Tween import fl.transitions.TweenEvent import fl.transitions.easing.None import flash.display.DisplayObject import flash.display.Shape import flash.display.Sprite import flash.display.StageDisplayState import flash.events.Event import flash.events.FullScreenEvent import flash.events.MouseEvent import flash.events.TimerEvent import flash.geom.Point import flash.geom.Rectangle import flash.ui.Mouse import flash.utils.Timer import org.osmf.containers.MediaContainer import ru.rutube.actio.ActioLayer import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.FunctionalPanelEvent import ru.rutube.event.InternalEvent import ru.rutube.managers.playback.stream.LiveEvent //¡class(instance)_index:231 public class Player extends Component { //static constructor public static function Player$cinit() { //MethodID:2585, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 alertWindow = new AlertWindow(); } //static variables/etc. public static var alertWindow:AlertWindow; //slotID:1 public static function alert(hug1:String, hug2:Boolean=false):void { //dispID:3, MethodID:2586, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 12 alertWindow.showText(hug1, hug2); } //constructor public function Player():void { //MethodID:2615, LocalCount= 1 , MaxScope= 1, MaxStack= 21, CodeLength= 2007 this.topPanel = new Component(); this.bottomPanel = new Component(); this.control = new ControlPanel(); this.functional = new FunctionalPanel(); this.playlistPanel = new PlaylistPanel(); this.textAdvertising = new TextAdvertising(); this.navigator = new Navigator(); this.titlePanel = new TitlePanel(); this.infoPanel = new InfoPanel(); this.invisibleCompsArray = []; this.complainWindow = new ComplainWindow("dialog"); this.playlistWindow = new PlaylistWindow("dialog"); this.snapshotWindow = new SnapshotWindow("dialog"); this.logoButton = new Button(SkinManager.getSkin("LogoButtonSkin")); this.aboutWindow = new AboutWindow("dialog"); this.endScreen = new EndScreen2(this.navigator, this.contextAdvertising); this.blurPanel = new Sprite(); this.maskPanel = new Shape(); this.hideTimer = new Timer(1500, 1); this.navigatorTimer = new Timer(800, 1); this.menuPanel = new MenuPanel(); super(); size(640, 360); this.previewWindow = new PreviewImageWindow(); addChild(this.previewWindow); this.previewWindow.params({w:_width, h:_height, right:true, bottom:true}); this.videoContainer = new MediaContainer(new PlayerLayoutRenderer()); this.videoContainer.mouseChildren = false; this.videoContainer.backgroundColor = 0; this.videoContainer.addEventListener(MouseEvent.ROLL_OVER, this.onMouseVideoWindowHandler); this.videoContainer.addEventListener(MouseEvent.ROLL_OUT, this.onMouseVideoWindowHandler); this.videoContainer.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseVideoWindowHandler); addChild(this.videoContainer); this.actioLayer = new ActioLayer(); addChild(this.actioLayer); EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageMouseHandler); addChild(this.endScreen); this.endScreen.params({w:_width, h:_height, right:true, bottom:true}); this.endScreen.visible = false; this.endScreen.topPadding = this.functional._height; addChild(this.infoPanel); this.infoPanel.params({x:80, w:(_width - 160), y:0.5, yP:true, yD:(-40), right:true}); this.playWindowButton = new Button(SkinManager.getSkin("PlayWindowButtonSkin")); this.playWindowButton.hint = "„ƒ„„„p„‚„„"; addChild(this.playWindowButton); this.playWindowButton.params({x:0.5, xP:true, y:0.5, yP:true, yD:10}); this.playWindowButton.addEventListener(MouseEvent.CLICK, this.listenerMainButtonClick); addChild(this.playlistPanel); this.playlistPanel.params({h:_height, bottom:true}); this.playlistPanel.indent(this.functional._height, this.control._height); this.playlistPanel.setVisible(false); this.playlistPanel.addEventListener(PlaylistPanel.EVENT_CHANGE_VISIBLE, this.updateVisibleComponents); addChild(this.topPanel); this.topPanel.params({w:_width, h:_height, right:true, bottom:true}); this.topPanel.addChild(this.titlePanel); this.titlePanel.params({x:5, y:(this.functional._height + 5), w:(this.topPanel._width - 10), right:true}); this.titlePanel.addEventListener(MouseEvent.CLICK, this.listenerTitlePanelClicked); this.topPanel.addChild(this.functional); this.functional.params({w:this.topPanel._width, right:true}); this.topPanel.addChild(this.textAdvertising); this.textAdvertising.params({w:this.topPanel._width, y:this.functional._height, right:true}); this.topPanel.addChild(this.menuPanel); this.menuPanel.params({w:this.topPanel._width, y:(this.functional._height - 1), h:(this.topPanel._height - this.functional._height - this.control._height), right:true, bottom:true, wContainer:this.topPanel._width, hContainer:this.topPanel._height}); this.menuPanel.visible = false; EventManager.instance.addEventListener(FunctionalPanelEvent.EVENT_MENU, this.onShowMenuHandler); this.menuPanel.addEventListener(MouseEvent.ROLL_OUT, this.onHideMenuHandler); addChild(this.bottomPanel); this.bottomPanel.params({w:_width, h:_height, bottom:true, right:true}); if(SkinManager.theme == null) this.logoButton.hint = "„„u„‚„u„z„„„y „~„p rutube.ru"; this.logoButton.addEventListener(MouseEvent.CLICK, this.listenerLogoClick); this.bottomPanel.addChild(this.logoButton); this.logoButton.params({x:(this.bottomPanel._width - this.logoButton.width - 4), y:(this.bottomPanel._height - this.control._height - this.logoButton.height - 1), top:false, bottom:true, left:false, right:true}); if(this.navigator != null){ this.bottomPanel.addChild(this.navigator); this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true}); this.navigator.visible = false; } this.bottomPanel.addChild(this.control); this.control.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.control._height), top:false, bottom:true, right:true}); addChild(this.blurPanel); this.blurPanel.visible = false; addChild(this.complainWindow); this.complainWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:300}); addChild(this.playlistWindow); this.playlistWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:260}); addChild(this.snapshotWindow); this.snapshotWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true, right:true, bottom:true, wContainer:460, hContainer:310}); addChild(this.aboutWindow); this.aboutWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true}); addChild(alertWindow); alertWindow.y = 30; HintDispatcher.init(this); addChild(this.maskPanel); mask = this.maskPanel; WindowDispatcher.addEventListener("dialog", WindowDispatcher.EVENT_SHOW, this.onChangeWindowVisible); WindowDispatcher.addEventListener("dialog", WindowDispatcher.EVENT_HIDE, this.onChangeWindowVisible); addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseEventHandler); addEventListener(MouseEvent.ROLL_OVER, this.onMouseEventHandler); EventManager.instance.addEventListener(InternalEvent.STAGE, this.onChangeFullScreenModeHandler); this.topPanelTween = new Tween(this.topPanel, "y", None.easeNone, 0, 0, 1, true); this.topPanelTween.stop(); this.bottomPanelTween = new Tween(this.bottomPanel, "y", None.easeNone, this.control._height, this.control._height, 1, true); this.bottomPanelTween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishPanelTweenHandler); this.bottomPanelTween.stop(); this.hideTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.onHideTimerHandler); this.navigatorTimer.addEventListener(TimerEvent.TIMER_COMPLETE, this.onNavigatorTimerHandler); EventManager.instance.addEventListener(LiveEvent.EVENT_CHANGE_STATE, this.onChangeLiveState); this.motionPanes(false); } //variables/etc. private var invisibleCompsArray:Array; //slotID:0 private var functional:FunctionalPanel; //slotID:0 private var isRollVideoWindow:Boolean = false; //slotID:0 private var hideTimer:Timer; //slotID:0 public var endScreen:EndScreen2; //slotID:0 private var googleAdvertising:AdSenseContainer = null; //slotID:0 private var navigatorTimer:Timer; //slotID:0 private var functionalForbidden:Boolean = false; //slotID:0 public var complainWindow:ComplainWindow; //slotID:0 private var adViewMode:Boolean = false; //slotID:0 private var videoContainer:MediaContainer = null; //slotID:0 private var playlistPanel:PlaylistPanel; //slotID:0 private var allowableHidePanels:Boolean = true; //slotID:0 public var navigator:Navigator; //slotID:0 private var bottomPanelTween:Tween = null; //slotID:0 private var menuForbidden:Boolean = false; //slotID:0 private var $allowNavigator:Boolean = false; //slotID:0 public var playlistWindow:PlaylistWindow; //slotID:0 protected var wasFirstRoll:Boolean = false; //slotID:0 private var autoHidePL:Boolean = false; //slotID:0 private var endScreenMode:Boolean = false; //slotID:0 private var control:ControlPanel; //slotID:0 private var adView:Component = null; //slotID:0 private var maskPanel:Shape; //slotID:0 private var isRollPlayer:Boolean = false; //slotID:0 private var titlePanel:TitlePanel; //slotID:0 public var playWindowButton:Button = null; //slotID:0 public var bottomPanel:Component; //slotID:0 private var _lockPanels:Boolean = false; //slotID:0 private var isFullScreen:Boolean = false; //slotID:0 public var useRollPlayer:Boolean = false; //slotID:0 public var topPanel:Component; //slotID:0 private var overlayAdvertising:Component = null; //slotID:0 public var textAdvertising:TextAdvertising; //slotID:0 private var logoButton:Button; //slotID:0 private var enablePL:Boolean = false; //slotID:0 private var snapshotWindow:SnapshotWindow; //slotID:0 private var previewWindow:PreviewImageWindow = null; //slotID:0 private var blurPanel:Sprite; //slotID:0 private var aboutWindow:AboutWindow; //slotID:0 private var menuPanel:MenuPanel; //slotID:0 private var contextAdvertising:Component = null; //slotID:0 public var infoPanel:InfoPanel; //slotID:0 public var actioLayer:ActioLayer = null; //slotID:0 private var topPanelTween:Tween = null; //slotID:0 private var isVisiblePanels:Boolean = true; //slotID:0 public var isPaused:Boolean = false; //slotID:0 public function getControl():ControlPanel { //MethodID:2587, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.control; } public function getBottomPanel():Component { //MethodID:2588, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.bottomPanel; } public function getFunctional():FunctionalPanel { //MethodID:2589, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.functional; } public function get isOver():Boolean { //MethodID:2590, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.isRollPlayer; } public function get isAdvertisementMode():Boolean { //MethodID:2591, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.adViewMode; } public function getPlaylistPanel():PlaylistPanel { //MethodID:2592, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.playlistPanel; } public function get mediaContainer():MediaContainer { //MethodID:2593, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.videoContainer; } public function previewLoad(hug1:String):void { //MethodID:2594, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 36 if(!this.previewWindow.parent) addChildAt(this.previewWindow, 0); this.previewWindow.loadThumbnail(hug1); } public function previewHide():void { //MethodID:2595, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 if(this.previewWindow.parent != null) this.previewWindow.parent.removeChild(this.previewWindow); } public function getSnapshotWindow():SnapshotWindow { //MethodID:2596, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.snapshotWindow; } public function getLogoButton():Button { //MethodID:2597, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.logoButton; } public function getTitlePanel():TitlePanel { //MethodID:2598, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.titlePanel; } public function setVersion(hug1:String):void { //MethodID:2599, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.aboutWindow.build = hug1; } public function showAboutWindow():void { //MethodID:2600, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 85 if(this.aboutWindow.parent != null) this.aboutWindow.parent.removeChild(this.aboutWindow); addChild(this.aboutWindow); this.aboutWindow.visible = true; this.aboutWindow.params({x:0.5, xP:true, xM:true, y:0.5, yP:true, yM:true}); } public function hideAboutWindow():void { //MethodID:2601, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38 this.aboutWindow.visible = false; if(this.aboutWindow.parent != null) this.aboutWindow.parent.removeChild(this.aboutWindow); } public function getEndScreen():EndScreen2 { //MethodID:2602, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.endScreen; } private function get lockPanels():Boolean { //MethodID:2603, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._lockPanels; } private function set lockPanels(hug1:Boolean):void { //MethodID:2604, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._lockPanels = hug1; } public function forbidFunctionalPanel():void { //MethodID:2605, LocalCount= 1 , MaxScope= 1, MaxStack= 15, CodeLength= 160 this.functionalForbidden = true; this.functional.forbidShow(); this.titlePanel.params({x:5, y:5, w:(this.topPanel._width - 10), right:true}, true, true, true, false); this.textAdvertising.params({w:this.topPanel._width, y:0, right:true}); this.menuPanel.params({w:this.topPanel._width, y:0, h:(this.topPanel._height - 0 - this.control._height), right:true, bottom:true, wContainer:this.topPanel._width, hContainer:this.topPanel._height}); } public function forbidMenuPanel():void { //MethodID:2606, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this.menuForbidden = true; this.menuPanel.forbidShow(); } public function get googleContainer():Component { //MethodID:2607, LocalCount= 1 , MaxScope= 1, MaxStack= 13, CodeLength= 140 if(!this.googleAdvertising){ this.googleAdvertising = new AdSenseContainer(); this.googleAdvertising.size(this.bottomPanel._width, 60, false, this.bottomPanel._width, 60, 0, 60); this.googleAdvertising.visible = false; this.bottomPanel.addChild(this.googleAdvertising); this.googleAdvertising.params({w:this.bottomPanel._width, h:60, y:(this.bottomPanel._height - this.googleAdvertising._height - this.control._height), right:true, top:false, bottom:true}); } return this.googleAdvertising; } public function addOverlay(hug1:Component):void { //MethodID:2608, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 268 this.removeOverlay(); this.overlayAdvertising = hug1; if((this.bottomPanel != null) && (this.overlayAdvertising != null)){ this.bottomPanel.addChildAt(this.overlayAdvertising, (this.bottomPanel.getChildIndex(this.logoButton) + 1)); this.overlayAdvertising.params({w:this.bottomPanel.baseWidth, y:(this.bottomPanel.baseHeight - this.overlayAdvertising._height - this.control._height), right:true, bottom:true}); this.overlayAdvertising.onResize(); } if(this.overlayAdvertising != null) this.overlayAdvertising.addEventListener(OverlayAdvertising.EVENT_OVERLAY_SHOW, this.onOverlayAdvertisingHandler, false, 0, true); if(this.navigator != null){ this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true}); this.navigator.visible = false; this.navigatorTimer.reset(); } } public function removeOverlay():void { //MethodID:2609, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 60 if((this.overlayAdvertising != null) && (this.bottomPanel != null)){ if(this.bottomPanel.contains(this.overlayAdvertising)) this.bottomPanel.removeChild(this.overlayAdvertising); } this.overlayAdvertising = null; } public function addBegun(hug1:Component):void { //MethodID:2610, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 324 this.removeOverlay(); this.contextAdvertising = hug1; if((this.bottomPanel != null) && (this.contextAdvertising != null)){ this.bottomPanel.addChildAt(this.contextAdvertising, (this.bottomPanel.getChildIndex(this.logoButton) + 1)); this.contextAdvertising.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.contextAdvertising._height - this.control._height), right:true, top:false, bottom:true}); } if((hug1 != null) && !hug1.hasEventListener(ContextAdvertising.EVENT_OPEN)){ hug1.addEventListener(ContextAdvertising.EVENT_OPEN, this.onContextAdvertisingHandler, false, 0, true); hug1.addEventListener(ContextAdvertising.EVENT_CLOSE, this.onContextAdvertisingHandler, false, 0, true); } this.endScreen.setContextAdvertising(hug1); if(this.endScreenMode) this.endScreen.onPaint(); if(this.contextAdvertising != null) this.updateVisibleComponents(this.contextAdvertising); if(this.navigator != null) this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true}); } public function removeBegun():void { //MethodID:2611, LocalCount= 1 , MaxScope= 1, MaxStack= 11, CodeLength= 250 if((this.contextAdvertising != null) && (this.bottomPanel != null)){ if(this.contextAdvertising.parent != null){ if(this.contextAdvertising.parent.contains(this.contextAdvertising)) this.contextAdvertising.parent.removeChild(this.contextAdvertising); } } if((this.contextAdvertising != null) && this.contextAdvertising.hasEventListener(ContextAdvertising.EVENT_OPEN)){ this.contextAdvertising.removeEventListener(ContextAdvertising.EVENT_OPEN, this.onContextAdvertisingHandler); this.contextAdvertising.removeEventListener(ContextAdvertising.EVENT_CLOSE, this.onContextAdvertisingHandler); } this.endScreen.setContextAdvertising(null); this.contextAdvertising = null; if(this.navigator != null) this.navigator.params({w:this.bottomPanel._width, y:((this.bottomPanel._height - this.control._height) - ((this.contextAdvertising != null) ? this.contextAdvertising._height : 0) - this.navigator._height - 10), top:false, bottom:true, right:true}); } public function addMainAdvertising(hug1:Component):void { //MethodID:2612, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 170 if(this.adView == hug1) return; if(this.adView != null){ if(contains(this.adView)) removeChild(this.adView); this.adView.release(); this.adView = null; } this.adView = hug1; if(!this.adView) return; if(this.aboutWindow.parent != null){ addChildAt(this.adView, getChildIndex(this.aboutWindow)); }else{ addChild(this.adView); } this.adView.visible = false; this.adView.params({w:baseWidth, h:baseHeight, right:true, bottom:true}); this.adView.onResize(); } public function removeMainAdvertising():void { //MethodID:2613, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 51 if(this.adView != null){ if(contains(this.adView)) removeChild(this.adView); this.adView.release(); this.adView = null; } } public function removeActio():void { //MethodID:2614, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 44 if(this.actioLayer != null){ if(this.actioLayer.parent != null) this.actioLayer.parent.removeChild(this.actioLayer); } this.actioLayer = null; } public function removeNavigator():void { //MethodID:2616, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 44 if(this.navigator != null){ if(this.navigator.parent != null) this.navigator.parent.removeChild(this.navigator); this.navigator = null; } } public function createES(hug1:Boolean=false):void { //MethodID:2617, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 54 this.endScreen.createES(hug1); this.menuPanel.searchMode = !hug1; if(this.endScreen.es is EmbedES) (this.endScreen.es as EmbedES).menuPanel = this.menuPanel; } private function onChangeLiveState(hug1:LiveEvent):void { //MethodID:2618, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 39 if((hug1.text != "") && (hug1.text != null)){ } alert(hug1.text); } private function onShowMenuHandler(hug1:Event):void { //MethodID:2619, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 57 if(this.menuPanel.visible) return; var hug2:Boolean = (this.endScreen.es is EmbedES); if(hug2 && !this.endScreenMode){ this.menuPanel.visible = true; this.updateVisibleComponents(); } } private function onHideMenuHandler(hug1:MouseEvent=null):void { //MethodID:2620, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 78 if((((hug1 == null) || (hug1.localY > 0)) && (!this.endScreenMode || (this.endScreen.es is DefaultES))) && !this.menuPanel.openedTab){ this.menuPanel.visible = false; this.updateVisibleComponents(); } } private function onChangeWindowVisible(hug1:Event):void { //MethodID:2621, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 129 this.blurPanel.visible = (hug1.type == WindowDispatcher.EVENT_SHOW); if(this.blurPanel.visible && (_height < 160)){ WindowDispatcher.groupHide("dialog"); switch(hug1.currentTarget){ case this.aboutWindow: alert(this.aboutWindow.compactAbout); break; default: break; } } } private function onMouseVideoWindowHandler(hug1:Event):void { //MethodID:2622, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 387 var hug3:DisplayObject = null; if(hug1.type == Event.MOUSE_LEAVE){ this.onMouseLeaveHandler(hug1); return; } if(!this.$allowNavigator) return; var hug2:Boolean = false; switch(hug1.type){ case MouseEvent.ROLL_OVER: this.isRollVideoWindow = true; if(this.navigator != null){ if(!this.navigator.visible) hug2 = true; } break; case MouseEvent.ROLL_OUT: this.isRollVideoWindow = false; if(hug1.hasOwnProperty("relatedObject") && (hug1["relatedObject"] != null)){ hug3 = hug1["relatedObject"]; while(hug3 != null){ if(hug3 == this.navigator) return; hug3 = hug3.parent; } } if(this.navigatorTimer.running) this.navigatorTimer.stop(); if(this.navigator != null) this.navigator.visible = false; break; case MouseEvent.MOUSE_MOVE: if(this.navigator != null){ if(this.isRollVideoWindow && (!this.navigator.visible || this.isFullScreen)) hug2 = true; } (hug1 as MouseEvent).updateAfterEvent(); break; default: break; } if(hug2 && (_height >= 200) && !this.playlistPanel.correctVisible){ this.navigatorTimer.reset(); this.navigatorTimer.start(); } } private function onMouseEventHandler(hug1:MouseEvent):void { //MethodID:2623, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 280 switch(hug1.type){ case MouseEvent.MOUSE_MOVE: if(this.isFullScreen && !this.lockPanels && this.allowableHidePanels){ this.hideTimer.reset(); this.motionPanes(true); this.hideTimer.start(); } if(this.autoHidePL){ if(!this.playlistPanel.correctVisible && (hug1.stageX < 20)) this.playlistPanel.transition(); } break; case MouseEvent.ROLL_OVER: if(this.hideTimer.running) this.hideTimer.reset(); if(!this.lockPanels && this.allowableHidePanels && !this.isFullScreen) this.motionPanes(true); this.wasFirstRoll = this.isRollPlayer = true; break; case MouseEvent.ROLL_OUT: this.isRollPlayer = false; break; default: break; } } private function onMouseLeaveHandler(hug1:Event):void { //MethodID:2624, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 99 if(this.hideTimer.running) this.hideTimer.reset(); if(!this.lockPanels && this.allowableHidePanels && !this.control.timeline.isMarkEditWindowVisible() && !WindowDispatcher.groupVisible("dialog") && !this.isFullScreen) this.motionPanes(false); this.isRollPlayer = false; } private function listenerStageMouseHandler(hug1:InternalEvent):void { //MethodID:2625, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 28 if(hug1.eventType == Event.MOUSE_LEAVE) this.onMouseVideoWindowHandler(hug1.data as Event); } private function onChangeFullScreenModeHandler(hug1:InternalEvent):void { //MethodID:2626, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 192 if(hug1.eventType != FullScreenEvent.FULL_SCREEN) return; var hug2:Event = (hug1.data as Event); this.isFullScreen = (stage.displayState == StageDisplayState.FULL_SCREEN); trace(" onChangeFullScreenModeHandler " + this.isFullScreen + " , " + stage.stageWidth + " , " + stage.stageHeight); this.functional.displayModeButton(FunctionalPanel.DISPLAY_FULLSCREEN_BUTTON, (this.isFullScreen ? "1" : "0")); if(this.overlayAdvertising != null) (this.overlayAdvertising as OverlayAdvertising).rePosition(); if(this.allowableHidePanels && !this.lockPanels && this.isFullScreen) this.hideTimer.start(); onResize(stage.stageWidth, stage.stageHeight); } private function onHideTimerHandler(hug1:TimerEvent):void { //MethodID:2627, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 282 internal var event:TimerEvent; //slotID:1 internal var isNoDialog:Boolean; //slotID:2 internal var top:Number; //slotID:3 internal var bottom:Number; //slotID:4 internal var isRegion:Boolean; //slotID:5 isNoDialog = false; top = NaN; bottom = NaN; isRegion = false; event = hug1; try{ (event.currentTarget as Timer).reset(); isNoDialog = (!this.control.timeline.isMarkEditWindowVisible() && !this.control.timeline.isMarkPreviewWindowVisible() && !WindowDispatcher.groupVisible("dialog")); top = (y + this.functional._height); if(this.textAdvertising.visible) top += this.textAdvertising._height; bottom = (y + _height - this.control._height); if(this.contextAdvertising != null) bottom -= this.contextAdvertising.height; isRegion = ((stage.mouseY > top) && (stage.mouseY < bottom)); if(isNoDialog && isRegion) this.motionPanes(false); } catch(error:Error){ trace(error.message); } } private function onNavigatorTimerHandler(hug1:TimerEvent):void { //MethodID:2628, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 124 this.navigatorTimer.reset(); if(!this.$allowNavigator || !this.isRollVideoWindow) return; if(this.navigator != null){ if(!this.navigator.visible && (!this.overlayAdvertising || (this.overlayAdvertising as OverlayAdvertising).isMinimized || !this.overlayAdvertising.visible)){ this.navigator.show(); }else if(this.isFullScreen){ this.navigator.visible = false; } } } private function showPanes():void { //MethodID:2629, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 141 if(!this.wasFirstRoll) return; if(this.lockPanels) return; if(!this.isRollPlayer) return; if(this.hideTimer.running) this.hideTimer.reset(); Mouse.show(); if(this.topPanelTween.isPlaying) this.topPanelTween.stop(); if(this.bottomPanelTween.isPlaying) this.bottomPanelTween.stop(); this.topPanel.y = 0; this.bottomPanel.y = 0; var hug1:Boolean = this.isVisiblePanels = true; this.functional.visible = hug1; this.control.visible = hug1; } public function motionPanes(hug1:Boolean, hug2:Boolean=false):void { //MethodID:2630, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 463 var hug3:Number = NaN; var hug4:Number = NaN; var hug5:Rectangle = null; var hug6:Point = null; if((this.lockPanels || (this.isVisiblePanels == hug1)) || (!hug1 && !this.allowableHidePanels)) return; if(stage != null){ hug5 = getRect(stage); hug6 = new Point(mouseX, mouseY); hug6 = localToGlobal(hug6); this.isRollPlayer = hug5.containsPoint(hug6); hug1 = (this.isRollPlayer && hug1); } if(this.topPanelTween.isPlaying) this.topPanelTween.stop(); if(this.bottomPanelTween.isPlaying) this.bottomPanelTween.stop(); this.isVisiblePanels = hug1; if(hug1){ var hug7:int = 0; hug4 = hug7; hug3 = hug7; var hug7:Boolean = true; this.control.visible = hug7; this.functional.visible = hug7; Mouse.show(); }else{ hug3 = -this.functional._height; hug4 = this.control._height; this.control.compact(); if(this.menuPanel.visible) this.onHideMenuHandler(); if(this.$allowNavigator){ this.navigatorTimer.stop(); if(this.navigator != null) this.navigator.visible = false; } } this.topPanelTween.begin = this.topPanel.y; this.topPanelTween.finish = hug3; this.topPanelTween.duration = (0.25 * (Math.abs(hug3 - this.topPanel.y) / this.functional._height)); this.bottomPanelTween.begin = this.bottomPanel.y; this.bottomPanelTween.finish = hug4; this.bottomPanelTween.duration = (0.25 * (Math.abs(hug4 - this.bottomPanel.y) / this.control._height)); if(hug2){ this.topPanelTween.fforward(); this.bottomPanelTween.fforward(); }else{ this.topPanelTween.start(); this.bottomPanelTween.start(); } } public function onFinishPanelTweenHandler(hug1:TweenEvent):void { //MethodID:2631, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 69 if(!this.isVisiblePanels){ var hug2:Boolean = false; this.control.visible = hug2; this.functional.visible = hug2; alertWindow.visible = hug2; if(this.isFullScreen && !this.isPaused) Mouse.hide(); } } public function set enablePlaylist(hug1:Boolean):void { //MethodID:2632, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this.enablePL = hug1; this.playlistPanel.setVisible(hug1); this.updateVisibleComponents(); } public function set autoHidePlaylist(hug1:Boolean):void { //MethodID:2633, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 49 if(!this.enablePL || (this.autoHidePL == hug1)) return; if(!hug1){ this.playlistPanel.setVisible(true); this.updateVisibleComponents(); } this.autoHidePL = hug1; } public function showEndScreen():void { //MethodID:2634, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 247 if(!this.allowableHidePanels) return; this.endScreenMode = true; this.bottomPanel.visible = false; this.lockPanels = true; if(this.contextAdvertising != null) (this.contextAdvertising as ContextAdvertising).alwaysOpened = true; this.control.compact(); this.control.visible = false; this.logoButton.rawVisible = false; this.playlistPanel.indent(NaN, 0); this.menuPanel.visible = false; this.menuPanel.setTabIndex(-1); if(this.endScreen.es is EmbedES) this.menuPanel.searchMode = false; if(this.contextAdvertising != null){ if(this.contextAdvertising.parent != null){ this.contextAdvertising.parent.removeChild(this.contextAdvertising); this.endScreen.addChildAt(this.contextAdvertising, 2); } } if(this.navigator != null){ this.navigator.parent.removeChild(this.navigator); this.endScreen.addChildAt(this.navigator, 2); } this.endScreen.visible = true; if(this.googleAdvertising != null) this.googleAdvertising.visible = false; this.updateVisibleComponents(); } public function hideEndScreen():void { //MethodID:2635, LocalCount= 1 , MaxScope= 1, MaxStack= 9, CodeLength= 374 this.endScreenMode = false; if(this.navigator != null) this.navigator.visible = false; this.endScreen.visible = false; if(this.googleAdvertising != null) this.googleAdvertising.visible = true; this.bottomPanel.visible = true; if(this.navigator != null){ this.navigator.parent.removeChild(this.navigator); this.bottomPanel.addChildAt(this.navigator, this.bottomPanel.getChildIndex(this.control)); } if(this.contextAdvertising != null){ if(this.contextAdvertising.parent != null){ this.contextAdvertising.parent.removeChild(this.contextAdvertising); this.bottomPanel.addChildAt(this.contextAdvertising, this.bottomPanel.getChildIndex(this.control)); this.contextAdvertising.params({w:this.bottomPanel._width, y:(this.bottomPanel._height - this.contextAdvertising._height - this.control._height), wContainer:this.bottomPanel._width, hContainer:this.bottomPanel._height}, true, true, false, true); this.contextAdvertising.onResize(); } } this.playlistPanel.indent(NaN, this.control._height); this.control.visible = true; this.logoButton.rawVisible = (this.allowableHidePanels && this.logoButton.visible && !this.adViewMode); if(this.contextAdvertising != null) (this.contextAdvertising as ContextAdvertising).alwaysOpened = false; this.menuPanel.visible = false; if(!(this.endScreen.es is EmbedES)) this.menuPanel.searchMode = true; this.onContextAdvertisingHandler(); this.updateVisibleComponents(); this.lockPanels = false; } public function set visibleTextAdvertising(hug1:Boolean):void { //MethodID:2636, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 77 this.textAdvertising.setVisibleMode(hug1); this.updateVisibleComponents(this.textAdvertising); this.titlePanel.params({y:(this.functional._height + (hug1 ? this.textAdvertising._height : 0) + 5)}, false, true, false, false); this.titlePanel.onResize(); } public function set visibleTitlePanel(hug1:Boolean):void { //MethodID:2637, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 this.titlePanel.setVisibleMode(hug1); this.updateVisibleComponents(this.titlePanel); } public function setAdViewMode(hug1:Boolean, hug2:Boolean=false, hug3:Boolean=false):Boolean { //MethodID:2638, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 164 this.useRollPlayer = hug3; if(hug1 && !this.allowableHidePanels){ } this.adViewMode = this.lockPanels = hug1; this.control.timeline.lockMarkMode = hug1; if(hug1){ if(hug2) WindowDispatcher.groupHide("dialog"); if(this.adView != null) setChildIndex(this.adView, (hug2 ? (getChildIndex(this.topPanel) + 1) : (numChildren - 1))); } if(!hug1){ if(hug3 && !this.isRollPlayer){ this.motionPanes(false); }else{ this.showPanes(); } } this.updateVisibleComponents(); return true; } public function set allowNavigator(hug1:Boolean):void { //MethodID:2639, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 71 if(hug1 == this.$allowNavigator) return; this.$allowNavigator = hug1; if(!hug1){ this.navigatorTimer.reset(); if(this.navigator != null){ if(this.navigator.visible && !this.endScreenMode) this.navigator.visible = false; } } } private function onContextAdvertisingHandler(hug1:Event=null):void { //MethodID:2640, LocalCount= 3 , MaxScope= 1, MaxStack= 13, CodeLength= 334 if(hug1 != null){ switch(hug1.type){ case ContextAdvertising.EVENT_OPEN: if(this.navigator != null){ if(this.navigator.visible) this.navigator.visible = false; } if(this.contextAdvertising != null) this.updateVisibleComponents(this.contextAdvertising); return; case ContextAdvertising.EVENT_CLOSE: if(this.contextAdvertising != null) this.contextAdvertising.visible = false; if(this.endScreenMode) this.endScreen.onPaint(); break; default: break; } } if(this.navigator != null){ if(this.navigator.parent == this.bottomPanel){ this.navigator.params({y:((this.bottomPanel._height - this.control._height - this.navigator._height) - (((this.contextAdvertising != null) && (this.contextAdvertising.rawVisible || (this.googleAdvertising != null))) ? this.contextAdvertising._height : 0) - 10), w:this.bottomPanel._width, top:false, bottom:true, wContainer:this.bottomPanel._width, hContainer:this.bottomPanel._height}); this.navigator.onResize(); } } } private function onOverlayAdvertisingHandler(hug1:Event):void { //MethodID:2641, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 110 if((hug1 != null) && (this.overlayAdvertising != null)){ switch(hug1.type){ case OverlayAdvertising.EVENT_OVERLAY_SHOW: if(this.endScreenMode) this.endScreen.onPaint(); this.updateVisibleComponents(this.overlayAdvertising); break; default: break; } } } public function updateVisibleComponents(... rest):void { //MethodID:2642, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 626 var hug2:Array = null; var hug4:Component = null; if((rest.length > 0) && !(rest[0] is Event)){ hug2 = [rest[0]]; }else{ hug2 = [this.textAdvertising, this.titlePanel, this.playWindowButton, this.logoButton, this.topPanel]; if(this.contextAdvertising != null) hug2.unshift(this.contextAdvertising); } var hug3:Boolean = (!this.playlistPanel.correctVisible && !this.adViewMode); if((hug2[0] == this.navigator) || (hug2.length > 1)){ if(this.navigator != null){ if((this.navigator.parent == this.bottomPanel) && this.navigator.visible && !hug3) this.navigator.visible = false; } if(hug2.length == 1){ this.checkComponents(); return; } } for each(hug4 in hug2){ if(!hug4.visible && (hug4 != this.topPanel)){ hug4.rawVisible = false; }else{ var hug7:Component = hug4; switch(hug7){ case this.contextAdvertising: break; case this.overlayAdvertising: if(this.navigator != null) this.navigator.visible = false; break; case this.textAdvertising: case this.titlePanel: hug4.rawVisible = (hug3 && !this.endScreenMode && !this.menuPanel.visible); break; case this.logoButton: this.logoButton.rawVisible = (this.allowableHidePanels && !this.adViewMode && !this.endScreenMode); break; case this.playWindowButton: this.playWindowButton.rawVisible = (this.allowableHidePanels && !this.endScreenMode && !this.adViewMode); break; case this.topPanel: this.topPanel.visible = (this.allowableHidePanels && !this.adViewMode); break; default: break; } } } this.checkComponents(); } override protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:2643, LocalCount= 3 , MaxScope= 1, MaxStack= 13, CodeLength= 767 if((hug2 < 160) && WindowDispatcher.groupVisible("dialog")) WindowDispatcher.groupHide("dialog"); graphics.clear(); graphics.beginFill(0); graphics.drawRect(0, 0, hug1, hug2); graphics.endFill(); this.showPanes(); this.allowableHidePanels = (hug2 >= 120); this.topPanel.visible = (this.allowableHidePanels && !this.adViewMode); this.blurPanel.graphics.clear(); this.blurPanel.graphics.beginFill(0, 0.6); this.blurPanel.graphics.drawRect(0, 0, hug1, hug2); if(this.previewWindow.parent != null) this.previewWindow.onResize(null, hug1, hug2); this.videoContainer.width = hug1; this.videoContainer.height = hug2; if(this.actioLayer != null) this.actioLayer.rect = new Rectangle(0, 0, hug1, hug2); this.endScreen.onResize(); this.endScreen.rawVisible = (this.allowableHidePanels && this.endScreenMode); this.playlistPanel.onResize(null, hug1, hug2); this.topPanel.onResize(); this.titlePanel.onResize(); this.functional.onResize(); this.textAdvertising.onResize(); this.bottomPanel.onResize(hug1, hug2); this.control.onResize(); this.control.horizontalVolumeMode = !this.allowableHidePanels; this.control.rawVisible = (!this.allowableHidePanels || this.control.visible); this.logoButton.onResize(); if(this.contextAdvertising != null){ if(this.contextAdvertising.parent == this.bottomPanel) this.contextAdvertising.onResize(); } if(this.overlayAdvertising != null){ if(this.overlayAdvertising.parent == this.bottomPanel) this.overlayAdvertising.onResize(); } if(this.navigator != null){ if(this.navigator.parent == this.bottomPanel) this.navigator.onResize(); } this.infoPanel.rawVisible = (this.infoPanel.visible && (hug2 > 240)); this.infoPanel.onResize(); this.playWindowButton.onResize(null, hug1, hug2); if(this.adView != null) this.adView.onResize(null, hug1, hug2); this.complainWindow.onResize(null, hug1, hug2); this.playlistWindow.onResize(null, hug1, hug2); this.snapshotWindow.onResize(null, hug1, hug2); this.aboutWindow.onResize(null, hug1, hug2); if(alertWindow.visible) alertWindow.visible = false; this.maskPanel.graphics.clear(); this.maskPanel.graphics.beginFill(0); this.maskPanel.graphics.drawRect(0, 0, hug1, hug2); this.updateVisibleComponents(); if(this.contextAdvertising != null){ if(this.contextAdvertising.parent == this.bottomPanel) this.onContextAdvertisingHandler(); } this.menuPanel.onResize(); if(this.googleAdvertising != null){ trace(" bottomPanel._width : " + this.bottomPanel._width); trace(" bottomPanel.width : " + this.bottomPanel.width); this.googleAdvertising.params({w:this.bottomPanel._width, h:60, y:(this.bottomPanel._height - this.googleAdvertising._height - this.control._height), right:true, top:false, bottom:true}); } } private function checkComponents():void { //MethodID:2644, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 101 internal var obj:DisplayObject; //slotID:1 obj = null; try{ if(this.invisibleCompsArray.length){ for each(obj in this.invisibleCompsArray){ obj.visible = false; } } } catch(error:Error){ trace(error.message); } } public function invisibleComponents(hug1:DisplayObject):void { //MethodID:2645, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.invisibleCompsArray.push(hug1); } private function listenerTitlePanelClicked(hug1:MouseEvent):void { //MethodID:2646, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 22 EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_VIDEO_TITLE_CLICKED)); } private function listenerMainButtonClick(hug1:MouseEvent):void { //MethodID:2647, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 27 this.lockPanels = false; EventManager.instance.dispatchEvent(new Event(ControlPanelEvent.EVENT_PLAY)); } private function listenerLogoClick(hug1:MouseEvent):void { //MethodID:2648, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23 EventManager.instance.dispatchEvent(new Event(FunctionalPanelEvent.EVENT_LOGO)); } } } //¡script233¡ package ru.rutube.managers.configuration{ import Components.SkinManager import flash.display.Loader import flash.display.LoaderInfo import flash.events.Event import flash.events.IOErrorEvent import flash.events.TimerEvent import flash.net.URLRequest import flash.system.LoaderContext import flash.utils.Timer import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:232 public class SkinLoaderManager extends Object { //static constructor public static function SkinLoaderManager$cinit() { //MethodID:2650, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 TIMEOUT_INTERVAL = 15000; _instance = null; } //static variables/etc. public static var TIMEOUT_INTERVAL:Number = 15000.0; //slotID:1 private static var _instance:SkinLoaderManager = null; //slotID:2 public static function get instance():SkinLoaderManager { //dispID:3, MethodID:2651, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new SkinLoaderManager(); return _instance; } //constructor public function SkinLoaderManager() { //MethodID:2652, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 55 super(); if(_instance) throw new Error("Use 'instance' method"); this.timer = new Timer(TIMEOUT_INTERVAL); this.timer.addEventListener(TimerEvent.TIMER, this.listenerTimeOut); } //variables/etc. private var timer:Timer = null; //slotID:0 public function loadSkin(hug1:String):Boolean { //MethodID:2653, LocalCount= 4 , MaxScope= 5, MaxStack= 4, CodeLength= 177 internal var path:String; //slotID:1 internal var themeLoader:Loader; //slotID:2 path = hug1; if(this.timer.running || (path == null)) return false; themeLoader = new Loader(); themeLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler); themeLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onCompleteThemeHandler); try{ themeLoader.load(new URLRequest(encodeURI(path)), new LoaderContext(true)); } catch(error:SecurityError){ trace("themeLoader.load:", error); return false; } this.timer.reset(); this.timer.start(); return true; } private function listenerTimeOut(hug1:TimerEvent):void { //MethodID:2654, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function onIOErrorHandler(hug1:IOErrorEvent):void { //MethodID:2655, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 86 this.timer.stop(); var hug2:LoaderInfo = (hug1.target as LoaderInfo); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler); hug2.removeEventListener(Event.COMPLETE, this.onCompleteThemeHandler); var hug3:InternalEvent = new InternalEvent(InternalEvent.ERROR, EventSources.SOURCE_MANAGER_SKIN, null, hug1.toString()); EventManager.instance.dispatchEvent(hug3); } private function onCompleteThemeHandler(hug1:Event):void { //MethodID:2656, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 236 internal var event:Event; //slotID:1 internal var loaderInfo:LoaderInfo; //slotID:2 internal var internalEvent:InternalEvent; //slotID:3 loaderInfo = null; event = hug1; this.timer.stop(); loaderInfo = (event.target as LoaderInfo); loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOErrorHandler); loaderInfo.removeEventListener(Event.COMPLETE, this.onCompleteThemeHandler); try{ if(loaderInfo.content.hasOwnProperty("getName") && loaderInfo.content.hasOwnProperty("getSkin") && loaderInfo.content.hasOwnProperty("getStyle")) SkinManager.theme = loaderInfo.content; } catch(error:SecurityError){ trace("Flvplayer3.onCompleteThemeHandler:", error); loaderInfo.loader.unload(); } internalEvent = new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_SKIN, null, null); EventManager.instance.dispatchEvent(internalEvent); } } } //¡script234¡ package ru.rutube.managers.reporter{ import flash.net.URLRequest import flash.net.URLVariables import flash.net.sendToURL //¡class(instance)_index:233 public class Reporter extends Object { //static constructor public static function Reporter$cinit() { //MethodID:2658, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 58 REPORT_FAIL_VIDEO_UNAVALIBLE = 1; REPORT_FAIL_VIDEO_HIDED = 2; REPORT_FAIL_VIDEO_COUNTRY_RESTRICTED = 3; REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED = 4; REPORT_FAIL_VIDEO_DELETED = 5; REPORT_FAIL_VIDEO_DEFAULT = 6; _instance = null; } //static variables/etc. public static const REPORT_FAIL_VIDEO_UNAVALIBLE:int = 1; //slotID:1 public static const REPORT_FAIL_VIDEO_HIDED:int = 2; //slotID:2 public static const REPORT_FAIL_VIDEO_COUNTRY_RESTRICTED:int = 3;//slotID:3 public static const REPORT_FAIL_VIDEO_DOMAIN_RESTRICTED:int = 4;//slotID:4 public static const REPORT_FAIL_VIDEO_DELETED:int = 5; //slotID:5 public static const REPORT_FAIL_VIDEO_DEFAULT:int = 6; //slotID:6 private static var _instance:Reporter = null; //slotID:7 public static function get instance():Reporter { //dispID:3, MethodID:2659, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new Reporter(); return _instance; } //constructor public function Reporter() { //MethodID:2660, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31 super(); if(_instance) throw new Error("Need use static method 'instance' !"); _instance = this; } //variables/etc. private var BASE_URL:String = "http://rutube.ru/img/playerstats.gif";//slotID:0 public var userId:String = 0; //slotID:0 private var debug:Boolean = false; //slotID:0 public var tn:String = ""; //slotID:0 public function set debugMode(hug1:Boolean):void { //MethodID:2661, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.debug = hug1; } public function get debugMode():Boolean { //MethodID:2662, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.debug; } public function send(hug1:String):void { //MethodID:2663, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 187 internal var params:String; //slotID:1 internal var urlRequest:URLRequest; //slotID:2 internal var urlVariables:URLVariables; //slotID:3 params = hug1; if((params == null) || (params.length == 0)) return; if(this.debugMode) return; urlRequest = new URLRequest(); urlVariables = new URLVariables(); try{ urlVariables.decode(params); } catch(err:Error){ } urlRequest.url = this.BASE_URL; urlRequest.data = urlVariables; urlVariables["uid"] = this.userId; urlVariables["tn"] = this.tn; urlVariables["lh"] = new Date().getHours(); sendToURL(urlRequest); } public function sendURL(hug1:String):void { //MethodID:2664, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 33 if(this.debugMode) return; var hug2:URLRequest = new URLRequest(); hug2.url = hug1; sendToURL(hug2); } public function failReport(hug1:String, hug2:String, hug3:int):void { //MethodID:2665, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 139 var hug4:Date = new Date(); var hug5:String = (((((hug4.getUTCDate() + "-") + (hug4.getUTCMonth() + 1) + "-") + hug4.getUTCFullYear() + "/") + hug4.getUTCHours() + ":") + hug4.getUTCMinutes()); var hug6:URLRequest = new URLRequest(); hug6.url = this.BASE_URL; var hug7:URLVariables = new URLVariables(); hug7.hash = hug1; hug7.ts = hug5; hug7.url = hug2; hug7.failure = hug3; hug6.data = hug7; sendToURL(hug6); } } } //¡script235¡ package ru.rutube.ui.managers{ import Components.SkinManager import fl.motion.easing.Bounce import fl.transitions.Tween import fl.transitions.TweenEvent import flash.display.DisplayObject import flash.events.Event import flash.events.TimerEvent import flash.geom.Rectangle import flash.utils.Timer import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent import ru.rutube.managers.playback.stream.LiveEvent //¡class(instance)_index:234 public class LiveStateManager extends Object { //static constructor public static function LiveStateManager$cinit() { //MethodID:2667, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 _instance = null; showDelay = 30; hideDelay = 3; } //static variables/etc. private static var _instance:LiveStateManager = null; //slotID:1 private static var _viewinstance:DisplayObject; //slotID:2 private static var _nextviewinstance:DisplayObject; //slotID:3 private static var showDelay:Number = 30.0; //slotID:4 private static var hideDelay:Number = 3.0; //slotID:5 public static function get instance():LiveStateManager { //dispID:3, MethodID:2668, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29 if(!_instance){ _instance = new LiveStateManager(); _instance.init(); } return _instance; } //constructor public function LiveStateManager() { //MethodID:2669, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 46 this.autohideTimer = new Timer(1000); super(); if(_instance != null) throw new Error("use static getter method \"instance\" for receive typed object"); _instance = this; } //variables/etc. private var _tweenInstance:Tween; //slotID:0 private var state:String; //slotID:0 private var autohideTimer:Timer; //slotID:0 private var transitionState:String; //slotID:0 public function setState(hug1:String):void { //MethodID:2670, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 163 if(this.state == hug1) return; this.state = hug1; var hug2:String = "livePlayStatus"; var hug4:String = hug1; switch(hug4){ case "Translation.NotFound": hug2 = "liveNotFoundStatus"; break; case "Translation.Pause": hug2 = "livePauseStatus"; break; case "Translation.Stop": hug2 = "liveStopStatus"; break; default: break; } var hug3:DisplayObject = SkinManager.getSkin(hug2); if(hug3) this.showStart(hug3); } private function showStart(hug1:DisplayObject):void { //MethodID:2671, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 130 if(_viewinstance){ _nextviewinstance = hug1; this.hideStart(); return; } _viewinstance = hug1; this.clearTween(); this._tweenInstance = new Tween(_viewinstance, "alpha", Bounce.easeOut, 0, 1, showDelay); this._tweenInstance.addEventListener(TweenEvent.MOTION_FINISH, this.onStart, false, 0, true); this._tweenInstance.addEventListener(TweenEvent.MOTION_CHANGE, this.onTweenChange, false, 0, true); RutubePlayer.instance.getContainer().addChild(_viewinstance); this.onResize(); } private function onStart(hug1:TweenEvent=null):void { //MethodID:2672, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 27 this.clearTween(); if(this.state == "Translation.Start") this.autohideTimer.start(); } private function hideStart(hug1:Event=null):void { //MethodID:2673, LocalCount= 2 , MaxScope= 1, MaxStack= 8, CodeLength= 114 if(this.autohideTimer.running) this.autohideTimer.stop(); if(!_viewinstance){ this.onHide(null); return; } this.clearTween(); this._tweenInstance = new Tween(_viewinstance, "alpha", null, _viewinstance.alpha, 0, hideDelay); this._tweenInstance.addEventListener(TweenEvent.MOTION_FINISH, this.onHide, false, 0, true); this._tweenInstance.addEventListener(TweenEvent.MOTION_CHANGE, this.onTweenChange, false, 0, true); } private function onTweenChange(hug1:TweenEvent=null):void { //MethodID:2674, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 34 var hug2:Number = (_viewinstance.alpha * 1.5); _viewinstance.scaleY = hug2; _viewinstance.scaleX = hug2; this.onResize(); } private function onHide(hug1:TweenEvent=null):void { //MethodID:2675, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 30 this.release(); if(_nextviewinstance){ this.showStart(_nextviewinstance); _nextviewinstance = null; } } public function hide():void { //MethodID:2676, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.release(); } private function clearTween():void { //MethodID:2677, LocalCount= 3 , MaxScope= 5, MaxStack= 3, CodeLength= 94 if(this._tweenInstance){ try{ this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onStart); this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onHide); this._tweenInstance.removeEventListener(TweenEvent.MOTION_FINISH, this.onTweenChange); } catch(error:Error){ } this._tweenInstance = null; } } private function init():void { //MethodID:2678, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 57 EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageResize); EventManager.instance.addEventListener(LiveEvent.EVENT_CHANGE_STATE, this.onLiveChangeState); this.autohideTimer.addEventListener(TimerEvent.TIMER, this.hideStart); } private function release():void { //MethodID:2679, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 62 if(_viewinstance == null) return; _viewinstance.visible = false; if(RutubePlayer.instance.getContainer().contains(_viewinstance)) RutubePlayer.instance.getContainer().removeChild(_viewinstance); _viewinstance = null; } private function listenerStageResize(hug1:InternalEvent):void { //MethodID:2680, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(hug1.eventType != Event.RESIZE) return; this.onResize(); } private function onResize():void { //MethodID:2681, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 67 var hug1:Rectangle = null; if(_viewinstance != null){ hug1 = RutubePlayer.instance.getStageBounds(); _viewinstance.x = ((hug1.width - _viewinstance.width) / 2); _viewinstance.y = ((hug1.height - _viewinstance.height) / 2); } } private function onLiveChangeState(hug1:LiveEvent):void { //MethodID:2682, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 12 this.setState(hug1.state); } } } //¡script236¡ package ru.rutube.manager.extern{ import flash.events.Event import flash.events.IEventDispatcher import flash.geom.Rectangle //¡class(instance)_index:235 public class ExternalNotifier extends Object { //static constructor public static function ExternalNotifier$cinit() { //MethodID:2684, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:ExternalNotifier = null; //slotID:1 public static function get instance():ExternalNotifier { //dispID:3, MethodID:2685, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23 if(_instance == null) _instance = new ExternalNotifier(); return _instance; } //constructor public function ExternalNotifier() { //MethodID:2686, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 super(); if(_instance != null) throw new Error("Must use ExternalNotifier.instance method for get object"); _instance = this; } //variables/etc. private var useDispatcher:IEventDispatcher = null; //slotID:0 private var lastFiveSecondNotified:Boolean = false; //slotID:0 private var firstSecondNotified:Boolean = false; //slotID:0 public function clear():void { //MethodID:2687, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this.firstSecondNotified = false; this.lastFiveSecondNotified = false; } public function allowContent(hug1:Array=null, hug2:Boolean=false):void { //MethodID:2688, LocalCount= 3 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function set dispatcher(hug1:IEventDispatcher):void { //MethodID:2689, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.useDispatcher = hug1; } public function get dispatcher():IEventDispatcher { //MethodID:2690, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.useDispatcher; } public function notifyVideoEnd():void { //MethodID:2691, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_END)); } public function notifyVideoStart():void { //MethodID:2692, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 26 this.clear(); this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_START)); } public function notifyVideoPause():void { //MethodID:2693, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PAUSE)); } public function notifyVideoPlay():void { //MethodID:2694, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY)); } public function notifyVideoSeek(hug1:Number=0.0, hug2:Number=0.0):void { //MethodID:2695, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 33 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_SEEK, false, false, {seconds:hug1, duration:hug2})); } public function notifyCreated():void { //MethodID:2696, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_CREATED)); } public function notifyResize():void { //MethodID:2697, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function notifyCurrentTimeChange(hug1:Number, hug2:Number):void { //MethodID:2698, LocalCount= 3 , MaxScope= 1, MaxStack= 9, CodeLength= 69 if(isNaN(hug1) || isNaN(hug2) || (hug2 < 1)) return; this.dispatchEvent(new ExternalNotifyEvent("notifyVideoCurrentTimeChange", false, false, {time:hug1, total:hug2})); } public function notifyVideoRectangleChange(hug1:Rectangle):void { //MethodID:2699, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 26 this.dispatchEvent(new ExternalNotifyEvent("notifyVideoRectangleChange", false, false, {rect:hug1})); } public function notifyAdvertisementStart():void { //MethodID:2700, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_ADVERTISEMENT_START)); } public function notifyAdvertisementFinish():void { //MethodID:2701, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_ADVERTISEMENT_FINISH)); } public function notifyVideoStop():void { //MethodID:2702, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_BUTTON_STOP)); } public function notifyOpenContent():void { //MethodID:2703, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 18 this.dispatchEvent(new ExternalNotifyEvent("OPEN_CONTENT")); } public function notifyVideoPlayFirstSecond():void { //MethodID:2704, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 34 if(!this.firstSecondNotified) this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY_FIRST_SECOND)); this.firstSecondNotified = true; } public function get isFirstSecondNotified():Boolean { //MethodID:2705, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.firstSecondNotified; } public function notifyVideoPlayLastFiveseconds():void { //MethodID:2706, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 34 if(!this.lastFiveSecondNotified) this.dispatchEvent(new ExternalNotifyEvent(ExternalNotifyEvent.NOTIFY_VIDEO_PLAY_LAST_FIVE_SECOND)); this.lastFiveSecondNotified = true; } public function get isLastFiveSecondNotified():Boolean { //MethodID:2707, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.lastFiveSecondNotified; } public function dispatchEvent(hug1:Event):Boolean { //MethodID:2708, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 28 if(this.useDispatcher != null) return this.useDispatcher.dispatchEvent(hug1); return super.dispatchEvent(hug1); } } } //¡script237¡ package ru.rutube.managers.statistic.google{ //¡class(instance)_index:236 public class GoogleAnalyticsConstants extends Object { //static constructor public static function GoogleAnalyticsConstants$cinit() { //MethodID:2710, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 165 CATEGORY_ADVERTISEMENT = "ADVERTISEMENT"; CATEGORY_VIDEO = "VIDEO"; CATEGORY_PLAYER = "PLAYER"; ACTION_SHOW_START = "SHOW_START"; ACTION_SHOW_FINISH = "SHOW_FINISH"; ACTION_SHOW_DURATION = "SHOW_DURATION"; ACTION_SHOW_BREAK = "SHOW_BREAK"; ACTION_SHOW_REPEAT = "SHOW_REPEAT"; ACTION_CLOSE = "CLOSE"; ACTION_SOUND = "SOUND"; ACTION_CLICK = "CLICK"; ACTION_NAVIGATE_ONTIME = "NAVIGATE_ONTIME"; ACTION_NAVIGATE_AFTER = "NAVIGATE_AFTER"; ACTION_LOAD = "LOAD"; ACTION_LOADING_TIME = "LOADING_TIME"; ACTION_PAUSE_USER = "PAUSE_USER"; ACTION_PAUSE_BUFFERING = "PAUSE_BUFFERING"; ACTION_SIMILAR = "SIMILAR"; } //static variables/etc. public static const CATEGORY_ADVERTISEMENT:String = "ADVERTISEMENT";//slotID:1 public static const CATEGORY_VIDEO:String = "VIDEO"; //slotID:2 public static const CATEGORY_PLAYER:String = "PLAYER"; //slotID:3 public static const ACTION_SHOW_START:String = "SHOW_START"; //slotID:4 public static const ACTION_SHOW_FINISH:String = "SHOW_FINISH"; //slotID:5 public static const ACTION_SHOW_DURATION:String = "SHOW_DURATION";//slotID:6 public static const ACTION_SHOW_BREAK:String = "SHOW_BREAK"; //slotID:7 public static const ACTION_SHOW_REPEAT:String = "SHOW_REPEAT"; //slotID:8 public static const ACTION_CLOSE:String = "CLOSE"; //slotID:9 public static const ACTION_SOUND:String = "SOUND"; //slotID:10 public static const ACTION_CLICK:String = "CLICK"; //slotID:11 public static const ACTION_NAVIGATE_ONTIME:String = "NAVIGATE_ONTIME";//slotID:12 public static const ACTION_NAVIGATE_AFTER:String = "NAVIGATE_AFTER";//slotID:13 public static const ACTION_LOAD:String = "LOAD"; //slotID:14 public static const ACTION_LOADING_TIME:String = "LOADING_TIME";//slotID:15 public static const ACTION_PAUSE_USER:String = "PAUSE_USER"; //slotID:16 public static const ACTION_PAUSE_BUFFERING:String = "PAUSE_BUFFERING";//slotID:17 public static const ACTION_SIMILAR:String = "SIMILAR"; //slotID:18 //constructor public function GoogleAnalyticsConstants() { //MethodID:2711, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script238¡ package Components{ import flash.text.TextField import flash.text.TextFormat import flash.text.TextFormatAlign //¡class(instance)_index:237 public class LockPanel extends Component { //static constructor public static function LockPanel$cinit() { //MethodID:2713, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function LockPanel(hug1:String, hug2:Boolean=false):void { //MethodID:2714, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 112 this.tf = new TextField(); super(); var hug3:TextFormat = new TextFormat("_sans", 14, 0xFFFFFF); hug3.align = TextFormatAlign.CENTER; this.tf.defaultTextFormat = hug3; this.tf.wordWrap = true; this.tf.selectable = false; addChild(this.tf); if(hug2){ this.tf.htmlText = hug1; }else{ this.tf.text = hug1; } this.tf.x = 10; } //variables/etc. private var tf:TextField; //slotID:0 public function set text(hug1:String):void { //MethodID:2715, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 this.tf.text = hug1; onPaint(); } override protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:2716, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 85 graphics.clear(); graphics.beginFill(0); graphics.drawRect(0, 0, hug1, hug2); this.tf.width = (hug1 - 20); this.tf.height = (this.tf.textHeight + 5); this.tf.y = Math.round((hug2 - this.tf.height) / 2); } } } //¡script239¡ package ru.rutube.ui.components.preloader{ import flash.display.MovieClip import flash.display.Shape import flash.events.Event import flash.events.TimerEvent import flash.utils.Timer //¡class(instance)_index:238 public class MacCirclePreloader extends MovieClip { //static constructor public static function MacCirclePreloader$cinit() { //MethodID:2718, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function MacCirclePreloader(hug1:int=12, hug2:int=6) { //MethodID:2719, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 37 super(); this.slices = hug1; this.radius = hug2; this.draw(); addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage); } //variables/etc. private var slices:int = 12; //slotID:0 private var timer:Timer = null; //slotID:0 private var radius:int = 6; //slotID:0 public function show():void { //MethodID:2720, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 visible = true; } public function hide():void { //MethodID:2721, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 visible = false; } private function onAddedToStage(hug1:Event):void { //MethodID:2722, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 77 removeEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage); addEventListener(Event.REMOVED_FROM_STAGE, this.onRemovedFromStage); this.timer = new Timer(65); this.timer.addEventListener(TimerEvent.TIMER, this.onTimer, false, 0, true); this.timer.start(); } private function onRemovedFromStage(hug1:Event):void { //MethodID:2723, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 65 removeEventListener(Event.REMOVED_FROM_STAGE, this.onRemovedFromStage); addEventListener(Event.ADDED_TO_STAGE, this.onAddedToStage); this.timer.reset(); this.timer.removeEventListener(TimerEvent.TIMER, this.onTimer); this.timer = null; } private function onTimer(hug1:TimerEvent):void { //MethodID:2724, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 25 rotation = ((rotation + (360 / this.slices)) % 360); } private function draw():void { //MethodID:2725, LocalCount= 5 , MaxScope= 1, MaxStack= 6, CodeLength= 138 var hug3:Shape = null; var hug4:Number = NaN; var hug1:int = this.slices; var hug2:int = (360 / this.slices); while(hug1--){ hug3 = this.getSlice(); hug3.alpha = Math.max(0.2, (1 - (0.1 * hug1))); hug4 = ((hug2 * hug1 * Math.PI) / 180); hug3.rotation = (-hug2 * hug1); hug3.x = (Math.sin(hug4) * this.radius); hug3.y = (Math.cos(hug4) * this.radius); addChild(hug3); } } private function getSlice():Shape { //MethodID:2726, LocalCount= 2 , MaxScope= 1, MaxStack= 7, CodeLength= 81 var hug1:Shape = new Shape(); hug1.graphics.beginFill(0x666666); hug1.graphics.drawRoundRect((-int(this.radius / 2) + 1), 0, int(this.radius / 2), (this.radius * 1.5), 5, 5); hug1.graphics.endFill(); return hug1; } } } //¡script240¡ package ru.rutube.managers.geo{ import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLLoader import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent //¡class(instance)_index:239 public class GeoTargetManager extends Object { //static constructor public static function GeoTargetManager$cinit() { //MethodID:2728, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 GEO_TARGETTING_URL = "http://rutube.ru/api/geoip/country/"; _instance = null; } //static variables/etc. private static const GEO_TARGETTING_URL:String = "http://rutube.ru/api/geoip/country/";//slotID:1 private static var _instance:GeoTargetManager = null; //slotID:2 public static function get instance():GeoTargetManager { //dispID:3, MethodID:2729, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new GeoTargetManager(); return _instance; } //constructor public function GeoTargetManager() { //MethodID:2730, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 super(); if(_instance != null) throw new Error("You must call instance for get object"); _instance = this; } //variables/etc. private var geoPos:String = "RU"; //slotID:0 private var pending:Boolean = false; //slotID:0 private var alreadyReceived:Boolean = false; //slotID:0 public function get geoPosition():String { //MethodID:2731, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.geoPos; } public function isPending():Boolean { //MethodID:2732, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.pending; } public function get isReceived():Boolean { //MethodID:2733, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.alreadyReceived; } public function requestGeoPosition():void { //MethodID:2734, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 159 internal var urlLoader:URLLoader; //slotID:1 if(this.pending) return; urlLoader = new URLLoader(); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading); urlLoader.addEventListener(Event.COMPLETE, this.listenerGeoLoading); urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerGeoLoading); this.alreadyReceived = false; this.pending = true; try{ urlLoader.load(new URLRequest(GEO_TARGETTING_URL)); } catch(err:Error){ pending = false; EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_GEO)); } } private function listenerGeoLoading(hug1:Event):void { //MethodID:2735, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 156 var hug3:String = null; this.pending = false; var hug2:URLLoader = (hug1.target as URLLoader); hug2.removeEventListener(Event.COMPLETE, this.listenerGeoLoading); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerGeoLoading); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerGeoLoading); if(!(hug1 is IOErrorEvent) && !(hug1 is SecurityErrorEvent)){ hug3 = hug2.data; if(hug3 != null){ hug3 = hug3.replace("\n", ""); hug3 = hug3.replace("\r", ""); this.geoPos = hug3; this.alreadyReceived = true; } } EventManager.instance.dispatchEvent(new InternalEvent(InternalEvent.COMPLETE, EventSources.SOURCE_MANAGER_GEO)); } } } //¡script241¡ package com.google.ads.instream.api{ import com.google.ads.instream.wrappers.AdsLoaderWrapper import flash.display.Loader import flash.display.Sprite import flash.events.ErrorEvent import flash.events.Event import flash.events.IEventDispatcher import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLRequest import flash.system.ApplicationDomain import flash.system.Security import flash.utils.getQualifiedClassName //¡class(instance)_index:240 public class BaseLoader extends Sprite { //static constructor public static function BaseLoader$cinit() { //MethodID:2737, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 139 SDK_INTEGRATION = "deep"; SHALLOW_SDK_INTEGRATION = "shallow"; SDK_FULL_VERSION = "2.1.0"; SDK_MAJOR_VERSION = SDK_FULL_VERSION.split(".")[0]; SDK_HOST = "s0.2mdn.net"; SDK_LOCATION = ("http://" + SDK_HOST + "/instream/adsapi_"); SHALLOW_SDK_HOST = "pagead2.googlesyndication.com"; SHALLOW_SDK_LOCATION = ("http://" + SHALLOW_SDK_HOST + "/pagead/adsapi_"); DOUBLE_SANDBOXING_ENABLED = "doubleSandboxingEnabled=true"; DOUBLECLICK_MEDIA_SERVER = "m1.2mdn.net"; ADSAPI_CLASSNAME = "com.google.ads.loader.instream::VersionedSdkLoader"; UNLOAD_METHOD = "unload"; } //static variables/etc. private static const SDK_INTEGRATION:String = "deep"; //slotID:1 private static const SHALLOW_SDK_INTEGRATION:String = "shallow";//slotID:2 private static const SDK_FULL_VERSION:String = "2.1.0"; //slotID:3 private static const SDK_MAJOR_VERSION:String; //slotID:4 private static const SDK_HOST:String = "s0.2mdn.net"; //slotID:5 private static const SDK_LOCATION:String; //slotID:6 private static const SHALLOW_SDK_HOST:String = "pagead2.googlesyndication.com";//slotID:7 private static const SHALLOW_SDK_LOCATION:String; //slotID:8 private static const DOUBLE_SANDBOXING_ENABLED:String = "doubleSandboxingEnabled=true";//slotID:9 private static const DOUBLECLICK_MEDIA_SERVER:String = "m1.2mdn.net";//slotID:10 private static const ADSAPI_CLASSNAME:String = "com.google.ads.loader.instream::VersionedSdkLoader";//slotID:11 private static const UNLOAD_METHOD:String = "unload"; //slotID:12 //constructor public function BaseLoader() { //MethodID:2738, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 38 queuedRequests = []; queuedListeners = []; sdkLoaderFactory = createSdkLoader; super(); allowTrustedDomains(); } //variables/etc. private var queuedListeners:Array; //slotID:0 private var loader:Loader; //slotID:0 private var queuedRequests:Array; //slotID:0 private var wrapper:IEventDispatcher; //slotID:0 internal var sdkLoaderFactory:Function; //slotID:0 protected function createWrapper(hug1:Object):IEventDispatcher { //MethodID:2739, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 throw new Error("Method must be overridden in a subclass"); } protected function dispatchSdkLoadError(hug1:String):void { //MethodID:2740, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 throw new Error("Method must be overridden in a subclass"); } protected function isLocallyDispatchedEvent(hug1:String):Boolean { //MethodID:2741, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 13 throw new Error("Method must be overridden in a subclass"); } override public function addEventListener(hug1:String, hug2:Function, hug3:Boolean=false, hug4:int=0, hug5:Boolean=false):void { //MethodID:2742, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 84 if(isLocallyDispatchedEvent(hug1)) super.addEventListener(hug1, hug2, hug3, hug4, hug5); if(wrapper != null){ wrapper.addEventListener(hug1, hug2, hug3, hug4, hug5); }else{ queuedListeners.push({type:hug1, listener:hug2, useCapture:hug3, priority:hug4, useWeakReference:hug5}); } } override public function removeEventListener(hug1:String, hug2:Function, hug3:Boolean=false):void { //MethodID:2743, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 130 var hug4:Object = null; if(isLocallyDispatchedEvent(hug1)) super.removeEventListener(hug1, hug2); if(wrapper != null){ wrapper.removeEventListener(hug1, hug2, hug3); }else{ for each(hug4 in queuedListeners){ if((hug1 == hug4.type) && (hug2 == hug4.listener)){ queuedListeners.splice(queuedListeners.indexOf(hug4), 1); break; } } } } public function unload():void { //MethodID:2744, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 117 if(loader != null){ invokeRemoteMethod(UNLOAD_METHOD); removeSdkLoadListeners(); if(loader.parent != null) loader.parent.removeChild(loader); if(loader.hasOwnProperty("unloadAndStop")){ loader["unloadAndStop"](); }else{ loader.unload(); } loader = null; queuedRequests = []; queuedListeners = []; } } protected function invokeRemoteMethod(hug1:String, ...rest):void { //MethodID:2745, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 48 if(wrapper != null){ invokeWrapperMethod(hug1, rest); }else{ queuedRequests.push({method:hug1, args:rest}); load(); } } private function allowTrustedDomains():void { //MethodID:2746, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 47 if(SDK_INTEGRATION == SHALLOW_SDK_INTEGRATION){ Security.allowDomain(SHALLOW_SDK_HOST); }else{ Security.allowDomain(SDK_HOST); } Security.allowDomain(DOUBLECLICK_MEDIA_SERVER); } private function onRemovedFromStage(hug1:Event):void { //MethodID:2747, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23 super.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); unload(); } private function load():void { //MethodID:2748, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 85 var hug1:URLRequest = null; if(loader == null){ super.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage); loader = sdkLoaderFactory(); addSdkLoadListeners(); if(stage != null) addChild(loader); hug1 = new URLRequest(sdkUrl); loader.load(hug1); } } private function createSdkLoader():Loader { //MethodID:2749, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 16 return new SdkSwfLoader(ApplicationDomain.currentDomain); } private function addSdkLoadListeners():void { //MethodID:2750, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 88 loader.addEventListener(Event.COMPLETE, onSdkLoaded); loader.addEventListener(ErrorEvent.ERROR, onSdkLoadError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onSdkLoadError); loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSdkLoadError); } private function onSdkLoaderSwfLoadComplete(hug1:Event):void { //MethodID:2751, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 117 internal var event:Event; //slotID:1 internal var loadedClassName:String; //slotID:2 loadedClassName = null; event = hug1; try{ loadedClassName = getQualifiedClassName(loader.content); if(loadedClassName != ADSAPI_CLASSNAME){ handleSdkLoadError("SDK could not be loaded from " + sdkUrl); }else{ loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete); } } catch(error:SecurityError){ handleSdkLoadError("SDK could not be loaded from " + sdkUrl); } } private function removeSdkLoadListeners():void { //MethodID:2752, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 88 loader.removeEventListener(Event.COMPLETE, onSdkLoaded); loader.removeEventListener(ErrorEvent.ERROR, onSdkLoadError); loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSdkLoaderSwfLoadComplete); loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onSdkLoadError); loader.contentLoaderInfo.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onSdkLoadError); } private function onSdkLoaded(hug1:Event):void { //MethodID:2753, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 77 removeSdkLoadListeners(); var hug2:Object = hug1; AdsLoaderWrapper.remoteApplicationDomainProxy = hug2.remoteApplicationDomainProxy; wrapper = createWrapper(hug2.adsLoader); if(wrapper != null){ processQueuedListeners(); processQueuedRequests(); }else{ dispatchSdkLoadError("Internal error: remote wrapper is null"); } } private function processQueuedRequests():void { //MethodID:2754, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 60 var hug1:Object = null; for each(hug1 in queuedRequests){ invokeWrapperMethod(hug1.method, hug1.args); } queuedRequests = []; } private function invokeWrapperMethod(hug1:String, hug2:Array):void { //MethodID:2755, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 44 var hug3:Function = wrapper[hug1]; if(hug3 != null){ hug3.apply(wrapper, hug2); }else{ dispatchSdkLoadError("Internal error: No such method: " + hug1); } } private function processQueuedListeners():void { //MethodID:2756, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 72 var hug1:Object = null; for each(hug1 in queuedListeners){ wrapper.addEventListener(hug1.type, hug1.listener, hug1.useCapture, hug1.priority, hug1.useWeakReference); } queuedListeners = []; } private function handleSdkLoadError(hug1:String):void { //MethodID:2757, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 18 removeSdkLoadListeners(); dispatchSdkLoadError(hug1); } private function get sdkUrl():String { //MethodID:2758, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 37 var hug1:String = (SDK_MAJOR_VERSION + ".swf?" + DOUBLE_SANDBOXING_ENABLED); if(SDK_INTEGRATION == SHALLOW_SDK_INTEGRATION) return (SHALLOW_SDK_LOCATION + hug1); return (SDK_LOCATION + hug1); } private function onSdkLoadError(hug1:ErrorEvent):void { //MethodID:2759, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 handleSdkLoadError(hug1.text); } } } //¡script242¡ package com.google.ads.instream.api{ import com.google.ads.instream.wrappers.AdsLoaderWrapper import flash.events.IEventDispatcher //¡class(instance)_index:241 public class AdsLoader extends BaseLoader { //static constructor public static function AdsLoader$cinit() { //MethodID:2761, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 REQUEST_ADS_METHOD = "requestAds"; } //static variables/etc. private static const REQUEST_ADS_METHOD:String = "requestAds"; //slotID:1 //variables/etc. public function requestAds(hug1:AdsRequest, hug2:Object=null):void { //MethodID:2762, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 13 super.invokeRemoteMethod(REQUEST_ADS_METHOD, hug1, hug2); } override protected function createWrapper(hug1:Object):IEventDispatcher { //MethodID:2763, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return new AdsLoaderWrapper(hug1); } override protected function dispatchSdkLoadError(hug1:String):void { //MethodID:2764, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 42 var hug2:AdsLoaderError = new AdsLoaderError(hug1); hug2.errorType = AdErrorTypes.AD_LOAD_ERROR; var hug3:AdErrorEvent = new AdErrorEvent(hug2); dispatchEvent(hug3); } override protected function isLocallyDispatchedEvent(hug1:String):Boolean { //MethodID:2765, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (hug1 == AdErrorEvent.AD_ERROR); } //constructor public function AdsLoader() { //MethodID:2766, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script243¡ package com.google.ads.instream.api{ import flash.events.ErrorEvent import flash.events.Event import flash.system.Capabilities //¡class(instance)_index:242 public class AdErrorEvent extends ErrorEvent { //static constructor public static function AdErrorEvent$cinit() { //MethodID:2768, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 AD_ERROR = "adError"; DEBUG_PLAYER_RECOMMENDED = "Use Flash debug player to see stack trace for the error."; } //static variables/etc. public static const AD_ERROR:String = "adError"; //slotID:1 private static const DEBUG_PLAYER_RECOMMENDED:String = "Use Flash debug player to see stack trace for the error.";//slotID:2 //constructor public function AdErrorEvent(hug1:AdError, hug2:Object=null) { //MethodID:2769, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 103 super(AD_ERROR); this.adError = hug1; if(hug1){ this.text = hug1.errorMessage; if(hug1.innerError){ if(hug1.innerError.getStackTrace()){ this.text += ("\n" + hug1.innerError.getStackTrace()); }else if(!Capabilities.isDebugger){ this.text += ("\n" + DEBUG_PLAYER_RECOMMENDED); } } } this.userRequestContextObject = hug2; } //variables/etc. private var adError:AdError; //slotID:0 private var userRequestContextObject:Object = null; //slotID:0 public function get error():AdError { //MethodID:2770, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return adError; } public function get userRequestContext():Object { //MethodID:2771, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return userRequestContextObject; } override public function clone():Event { //MethodID:2772, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 14 return new AdErrorEvent(adError, userRequestContextObject); } } } //¡script244¡ package com.google.ads.instream.api{ import flash.events.Event //¡class(instance)_index:243 public class AdsLoadedEvent extends Event { //static constructor public static function AdsLoadedEvent$cinit() { //MethodID:2774, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 ADS_LOADED = "adsLoaded"; } //static variables/etc. public static const ADS_LOADED:String = "adsLoaded"; //slotID:1 //constructor public function AdsLoadedEvent(hug1:AdsManager, hug2:Object) { //MethodID:2775, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 19 super(ADS_LOADED); this.adsListManager = hug1; this.userRequestContextObject = hug2; } //variables/etc. private var userRequestContextObject:Object = null; //slotID:0 private var adsListManager:AdsManager = null; //slotID:0 public function get adsManager():AdsManager { //MethodID:2776, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return adsListManager; } public function get userRequestContext():Object { //MethodID:2777, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 return userRequestContextObject; } override public function clone():Event { //MethodID:2778, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 14 return new AdsLoadedEvent(adsListManager, userRequestContext); } } } //¡script245¡ package com.google.ads.instream.api{ //¡class(instance)_index:244 public class AdsManagerTypes extends Object { //static constructor public static function AdsManagerTypes$cinit() { //MethodID:2780, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 FLASH = "flash"; VIDEO = "video"; CUSTOM_CONTENT = "customContent"; } //static variables/etc. public static const FLASH:String = "flash"; //slotID:1 public static const VIDEO:String = "video"; //slotID:2 public static const CUSTOM_CONTENT:String = "customContent"; //slotID:3 //constructor public function AdsManagerTypes() { //MethodID:2781, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script246¡ package com.google.ads.instream.api{ //¡class(instance)_index:245 public interface AdsManager implements IEventDispatcher { //static constructor public static function AdsManager$cinit() { //MethodID:2783, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get type():String; //MethodID:2784, dispID:0 function load(hug1:Object=null):void; //MethodID:2785, dispID:0 function unload():void; //MethodID:2786, dispID:0 function play(hug1:Object=null):void; //MethodID:2787, dispID:0 function get ads():Array; //MethodID:2788, dispID:0 function get adSlotWidth():Number; //MethodID:2789, dispID:0 function get adSlotHeight():Number; //MethodID:2790, dispID:0 function set adSlotWidth(hug1:Number):void; //MethodID:2791, dispID:0 function set adSlotHeight(hug1:Number):void; //MethodID:2792, dispID:0 //constructor public function AdsManager(); //MethodID:2793, dispID:0 } } //¡script247¡ package com.google.ads.instream.api{ import flash.display.InteractiveObject //¡class(instance)_index:246 public interface VideoAdsManager implements AdsManager { //static constructor public static function VideoAdsManager$cinit() { //MethodID:2795, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function get mediaSelectionSettings():MediaSelectionSettings; //MethodID:2796, dispID:0 function set mediaSelectionSettings(hug1:MediaSelectionSettings):void; //MethodID:2797, dispID:0 function get clickTrackingElement():InteractiveObject; //MethodID:2798, dispID:0 function set clickTrackingElement(hug1:InteractiveObject):void; //MethodID:2799, dispID:0 //constructor public function VideoAdsManager(); //MethodID:2800, dispID:0 } } //¡script248¡ package com.google.ads.instream.api{ //¡class(instance)_index:247 public interface FlashAdsManager implements AdsManager { //static constructor public static function FlashAdsManager$cinit() { //MethodID:2802, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function set x(hug1:Number):void; //MethodID:2803, dispID:0 function get x():Number; //MethodID:2804, dispID:0 function set y(hug1:Number):void; //MethodID:2805, dispID:0 function get y():Number; //MethodID:2806, dispID:0 function set volumeAd(hug1:Number):void; //MethodID:2807, dispID:0 function get volumeAd():Number; //MethodID:2808, dispID:0 function set decoratedAd(hug1:Boolean):void; //MethodID:2809, dispID:0 //constructor public function FlashAdsManager(); //MethodID:2810, dispID:0 } } //¡script249¡ package com.google.ads.instream.api{ //¡class(instance)_index:248 public class AdsRequest extends Object { //static constructor public static function AdsRequest$cinit() { //MethodID:2812, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdsRequest() { //MethodID:2813, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 27 ordinal = new Date().getTime().toString(); super(); } //variables/etc. public var size:String = null; //slotID:0 public var adSlotWidth:Number = 0.0; //slotID:0 public var minTotalAdDuration:int = 0; //slotID:0 public var disableCompanionAds:Boolean = false; //slotID:0 public var adServerHost:String = "ad.doubleclick.net"; //slotID:0 public var adSlotHorizontalAlignment:String = "center"; //slotID:0 public var protocol:String = "http"; //slotID:0 public var adCommand:String = "pfadx"; //slotID:0 public var adsResponse:String; //slotID:0 public var zone:String = null; //slotID:0 public var uniqueAds:Boolean = false; //slotID:0 public var numRedirects:uint = 4; //slotID:0 public var maxTotalAdDuration:int = 0x186A0; //slotID:0 public var hostChannels:Array; //slotID:0 public var publisherId:String = null; //slotID:0 public var gender:uint; //slotID:0 public var site:String = null; //slotID:0 public var adSlotHeight:Number = 0.0; //slotID:0 public var host:String; //slotID:0 public var adSlotVerticalAlignment:String = "bottom"; //slotID:0 public var descriptionUrl:String = null; //slotID:0 public var adTest:String = "off"; //slotID:0 public var channels:Array = null; //slotID:0 public var adTimePosition:int = 1; //slotID:0 public var adSafe:String = "high"; //slotID:0 public var extraTargetingKeyValues:Object = null; //slotID:0 public var hostTierId:Number; //slotID:0 public var language:String; //slotID:0 public var mediaUrl:String = null; //slotID:0 public var ordinal:String; //slotID:0 public var contentId:String = null; //slotID:0 public var adTagUrl:String = null; //slotID:0 public var adType:String = "video"; //slotID:0 public var age:uint; //slotID:0 } } //¡script250¡ //skip components :com.google.analytics.utils //as filename :Timespan.as //¡script251¡ //skip components :com.google.analytics.campaign //as filename :CampaignKey.as //¡script252¡ //skip components :com.google.analytics.core //as filename :DomainNameMode.as //¡script253¡ //skip components :com.google.analytics.core //as filename :Domain.as //¡script254¡ //skip components :com.google.analytics.core //as filename :Organic.as //¡script255¡ //skip components :com.google.analytics.debug //as filename :VisualDebugMode.as //¡script256¡ //skip components :com.google.analytics.data //as filename :Cookie.as //¡script257¡ //skip components :com.google.analytics.data //as filename :UTMCookie.as //¡script258¡ //skip components :com.google.analytics.data //as filename :UTMZ.as //¡script259¡ //skip components :com.google.analytics.data //as filename :UTMA.as //¡script260¡ //skip components :com.google.analytics.data //as filename :UTMV.as //¡script261¡ //skip components :com.google.analytics.data //as filename :UTMB.as //¡script262¡ //skip components :com.google.analytics.data //as filename :UTMK.as //¡script263¡ //skip components :com.google.analytics.core //as filename :Utils.as //¡script264¡ //skip components :com.google.analytics.data //as filename :UTMC.as //¡script265¡ //skip components :com.google.analytics.utils //as filename :Protocols.as //¡script266¡ //skip components :com.google.analytics.utils //as filename :Variables.as //¡script267¡ //skip components :com.google.analytics.core //as filename :RequestObject.as //¡script268¡ //skip components :com.google.analytics.debug //as filename :AlertAction.as //¡script269¡ //skip components :com.google.analytics.debug //as filename :UISprite.as //¡script270¡ //skip components :com.google.analytics.debug //as filename :Label.as //¡script271¡ //skip components :com.google.analytics.debug //as filename :Alert.as //¡script272¡ //skip components :com.google.analytics.debug //as filename :GIFRequestAlert.as //¡script273¡ //skip components :com.google.analytics.debug //as filename :Info.as //¡script274¡ //skip components :com.google.analytics.debug //as filename :SuccessAlert.as //¡script275¡ //skip components :com.google.analytics.debug //as filename :FailureAlert.as //¡script276¡ //skip components :com.google.analytics.debug //as filename :Align.as //¡script277¡ //skip components :com.google.analytics.debug //as filename :Panel.as //¡script278¡ //skip components :com.google.analytics.debug //as filename :Debug.as //¡script279¡ //skip components :com.google.analytics.debug //as filename :Warning.as //¡script280¡ //skip components :com.google.analytics.utils //as filename :UserAgent.as //¡script281¡ //skip components :com.google.analytics.campaign //as filename :CampaignManager.as //¡script282¡ //skip components :com.google.analytics.campaign //as filename :CampaignInfo.as //¡script283¡ //skip components :com.google.analytics.core //as filename :DocumentInfo.as //¡script284¡ //skip components :com.google.analytics.data //as filename :X10.as //¡script285¡ //skip components :com.google.analytics.utils //as filename :URL.as //¡script286¡ //skip components :com.google.analytics.core //as filename :EventInfo.as //¡script287¡ //skip components :com.google.analytics.core //as filename :BrowserInfo.as //¡script288¡ package ru.rutube.managers.statistic.tns{ //¡class(instance)_index:287 public class TnsReportRec extends Object { //static constructor public static function TnsReportRec$cinit() { //MethodID:3153, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public var needStartReport:Boolean = false; //slotID:0 public var finishReported:Boolean = false; //slotID:0 public var finishReportUrl:String = null; //slotID:0 public var startReported:Boolean = false; //slotID:0 public var startReportUrl:String = null; //slotID:0 public var needFinishReport:Boolean = false; //slotID:0 public function clear():void { //MethodID:3154, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 45 this.startReportUrl = this.finishReportUrl = null; this.startReported = this.finishReported = false; this.needStartReport = this.needFinishReport = false; } //constructor public function TnsReportRec() { //MethodID:3155, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script289¡ package ru.rutube.managers.playback{ //¡class(instance)_index:288 public class StreamMetaInfo extends Object { //static constructor public static function StreamMetaInfo$cinit() { //MethodID:3157, LocalCount= 1 , MaxScope= 1, MaxStack= 29, CodeLength= 95 variables = ["audiocodecid", "audiodelay", "audiosamplerate", "audiosamplesize", "audiosize", "duration", "filesize", "datasize", "first_ts", "framerate", "height", "length", "stereo", "canSeekToEnd", "videocodecid", "videodatarate", "videosize", "width", "lastkeyframetimestamp", "lasttimestamp", "metadatacreator", "metadatadate", "hasAudio", "hasCuePoints", "hasKeyframes", "hasMetadata", "hasVideo", "chunked"]; } //static variables/etc. protected static const variables:Array; //slotID:1 //constructor public function StreamMetaInfo() { //MethodID:3158, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.hasMetadata = false; } //variables/etc. public var audiosamplesize:Number = 0.0; //slotID:0 public var videosize:Number = 0.0; //slotID:0 public var videodatarate:Number = 0.0; //slotID:0 private var hasVideo:Boolean = false; //slotID:0 public var lastkeyframetimestamp:Number = 0.0; //slotID:0 public var duration:Number = -1.0; //slotID:0 public var audiocodecid:Number = 0.0; //slotID:0 public var metadatacreator:String = ""; //slotID:0 public var height:Number = 0.0; //slotID:0 public var datasize:Number = 0.0; //slotID:0 public var width:Number = 0.0; //slotID:0 public var lasttimestamp:Number = 0.0; //slotID:0 private var hasKeyframes:Boolean = false; //slotID:0 public var chunked:Boolean = false; //slotID:0 public var framerate:Number = 0.0; //slotID:0 private var _keyframes:Object = null; //slotID:0 public var audiosize:Number = 0.0; //slotID:0 public var canSeekToEnd:Boolean = false; //slotID:0 public var videocodecid:Number = 0.0; //slotID:0 private var times:Array = null; //slotID:0 public var audiosamplerate:Number = 0.0; //slotID:0 private var hasAudio:Boolean = false; //slotID:0 public var metadatadate:Date = null; //slotID:0 public var length:Number = 0.0; //slotID:0 private var hasMetadata:Boolean; //slotID:0 public var allowChangeKeyframes:Boolean = true; //slotID:0 public var audiodelay:Number; //slotID:0 public var first_ts:Number = 0.0; //slotID:0 private var filepositions:Array = null; //slotID:0 private var cuePoints:Array = null; //slotID:0 public var stereo:Boolean = false; //slotID:0 private var hasCuePoints:Boolean = false; //slotID:0 public var filesize:Number = 0.0; //slotID:0 public function get keyframes():Object { //MethodID:3159, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._keyframes; } public function analise(hug1:Object=null):void { //MethodID:3160, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 443 var hug3:Array = null; var hug4:int = 0; if(hug1 == null) return; var hug2:int = 0; while(hug2 < variables.length){ if(hug1.hasOwnProperty(variables[hug2])){ this[variables[hug2]] = hug1[variables[hug2]]; this.hasMetadata = true; } hug2++; } if(hug1.hasOwnProperty("aObject")) this.cuePoints = (hug1["cuePoints"] as Array).concat(); this.hasKeyframes = false; if(hug1.hasOwnProperty("keyframes") && (!this.isHasKeyframes() || this.allowChangeKeyframes)){ if(hug1["keyframes"].hasOwnProperty("filepositions")) this.filepositions = (hug1["keyframes"]["filepositions"] as Array).concat(); if(hug1["keyframes"].hasOwnProperty("times")) this.times = (hug1["keyframes"]["times"] as Array).concat(); this._keyframes = hug1["keyframes"]; } if(hug1.hasOwnProperty("seekpoints") && (!this.isHasKeyframes() || this.allowChangeKeyframes)){ hug3 = hug1["seekpoints"]; this.filepositions = []; this.times = []; hug4 = 0; while(hug4 < hug3.length){ this.filepositions.push(hug3[hug4]["offset"]); this.times.push(hug3[hug4]["time"]); hug4++; } } if((this.filepositions != null) && (this.times != null)) this.hasKeyframes = true; if((this.duration == (-1)) && this.isHasKeyframes()) this.duration = this.times[this.times.length - 1]; this.allowChangeKeyframes = false; } public function isLive():Boolean { //MethodID:3161, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 return (this.duration < 0); } public function isVideoStream():Boolean { //MethodID:3162, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23 return ((this.width > 0) && (this.height > 0)); } public function isHasVideo():Boolean { //MethodID:3163, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.hasVideo; } public function isHasMetadata():Boolean { //MethodID:3164, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.hasMetadata; } public function isHasKeyframes():Boolean { //MethodID:3165, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.hasKeyframes; } public function isHasAudio():Boolean { //MethodID:3166, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.hasAudio; } public function isHasCuePoints():Boolean { //MethodID:3167, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.hasCuePoints; } public function getKeyFrames():Array { //MethodID:3168, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 37 var hug1:Array = null; if(this.isHasKeyframes()){ hug1 = this.times.concat(); }else{ hug1 = []; } return hug1; } public function getByteShift(hug1:int):Number { //MethodID:3169, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 56 var hug2:Number = 0; if(!this.isHasKeyframes() || !this.filepositions || (this.filepositions.length < hug1)) return hug2; hug2 = this.filepositions[hug1]; return hug2; } public function getTimeByIndex(hug1:int):Number { //MethodID:3170, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34 if((hug1 >= 0) && this.isHasKeyframes()) return this.times[hug1]; return 0; } public function searchIndex(hug1:Number):int { //MethodID:3171, LocalCount= 5 , MaxScope= 1, MaxStack= 3, CodeLength= 198 var hug2:int = -1; if(!this.isHasKeyframes()) return hug2; if(this.duration < 1) return hug2; hug1 = Number(hug1.toFixed(2)); hug2 = this.times.indexOf(hug1); var hug3:int = 0; var hug4:int = Math.round(this.times.length / 2); if(hug2 == (-1)){ if(hug1 < (this.duration / 2)){ hug3 = 0; while(hug3 < (hug4 / 2)){ if(this.times[hug3] < hug1){ hug2 = hug3; }else{ break; } hug3++; } }else{ hug3 = (this.times.length - 1); while(hug3 > hug4){ if(this.times[hug3] > hug1){ hug3--; continue; }else{ hug2 = hug3; break; } hug3--; } } } return hug2; } } } //¡script290¡ package org.osmf.media{ import __AS3__.vec.Vector import flash.events.EventDispatcher import flash.utils.Dictionary import org.osmf.elements.ProxyElement import org.osmf.events.MediaFactoryEvent import org.osmf.events.PluginManagerEvent import org.osmf.media.pluginClasses.PluginManager import org.osmf.utils.OSMFStrings //¡class(instance)_index:289 public class MediaFactory extends EventDispatcher { //static constructor public static function MediaFactory$cinit() { //MethodID:3173, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //static variables/etc. private static function getItemsByResource(hug1:MediaResourceBase, hug2:Vector.):Vector. { //dispID:3, MethodID:3174, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 75 var hug4:MediaFactoryItem = null; var hug3:Vector. = new Vector.(); for each(hug4 in hug2){ if(hug4.canHandleResourceFunction(hug1)) hug3.push(hug4); } return hug3; } private static function getIndexOfItem(hug1:String, hug2:Vector.):int { //dispID:4, MethodID:3175, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 55 var hug4:MediaFactoryItem = null; var hug3:int = 0; while(hug3 < hug2.length){ hug4 = (hug2[hug3] as MediaFactoryItem); if(hug4.id == hug1) return hug3; hug3++; } return -1; } //constructor public function MediaFactory() { //MethodID:3176, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 17 super(); this.allItems = new Dictionary(); } //variables/etc. private var pluginManager:PluginManager; //slotID:0 private var allItems:Dictionary; //slotID:0 public function addItem(hug1:MediaFactoryItem):void { //MethodID:3177, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 93 if((hug1 == null) || (hug1.id == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); var hug2:Vector. = this.findOrCreateItems(hug1.type); var hug3:int = getIndexOfItem(hug1.id, hug2); if(hug3 != (-1)){ hug2[hug3] = hug1; }else{ hug2.push(hug1); } } public function removeItem(hug1:MediaFactoryItem):void { //MethodID:3178, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 90 var hug3:int = 0; if((hug1 == null) || (hug1.id == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); var hug2:Vector. = this.allItems[hug1.type]; if(hug2 != null){ hug3 = hug2.indexOf(hug1); if(hug3 != (-1)) hug2.splice(hug3, 1); } } public function get numItems():int { //MethodID:3179, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 77 var hug2:String = null; var hug3:Vector. = null; var hug1:int = 0; for each(hug2 in MediaFactoryItemType.ALL_TYPES){ hug3 = this.allItems[hug2]; if(hug3 != null) hug1 += hug3.length; } return hug1; } public function getItemAt(hug1:int):MediaFactoryItem { //MethodID:3180, LocalCount= 7 , MaxScope= 1, MaxStack= 2, CodeLength= 117 var hug3:String = null; var hug4:Vector. = null; var hug2:MediaFactoryItem = null; if(hug1 >= 0){ for each(hug3 in MediaFactoryItemType.ALL_TYPES){ hug4 = this.allItems[hug3]; if(hug4 != null){ if(hug1 < hug4.length){ hug2 = hug4[hug1]; break; }else{ hug1 -= hug4.length; } } } } return hug2; } public function getItemById(hug1:String):MediaFactoryItem { //MethodID:3181, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 112 var hug3:String = null; var hug4:Vector. = null; var hug5:int = 0; var hug2:MediaFactoryItem = null; for each(hug3 in MediaFactoryItemType.ALL_TYPES){ hug4 = this.allItems[hug3]; if(hug4 != null){ hug5 = getIndexOfItem(hug1, hug4); if(hug5 != (-1)){ hug2 = hug4[hug5]; break; } } } return hug2; } public function loadPlugin(hug1:MediaResourceBase):void { //MethodID:3182, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17 this.createPluginManager(); this.pluginManager.loadPlugin(hug1); } public function createMediaElement(hug1:MediaResourceBase):MediaElement { //MethodID:3183, LocalCount= 4 , MaxScope= 1, MaxStack= 7, CodeLength= 93 var hug3:MediaElement = null; this.createPluginManager(); var hug2:MediaElement = this.createMediaElementByResource(hug1, MediaFactoryItemType.STANDARD); if(hug2 != null){ hug3 = this.createMediaElementByResource(hug2.resource, MediaFactoryItemType.PROXY, hug2); hug2 = ((hug3 != null) ? hug3 : hug2); dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.MEDIA_ELEMENT_CREATE, false, false, null, hug2)); } return hug2; } protected function resolveItems(hug1:MediaResourceBase, hug2:Vector.):MediaFactoryItem { //MethodID:3184, LocalCount= 6 , MaxScope= 1, MaxStack= 2, CodeLength= 101 var hug5:MediaFactoryItem = null; if((hug1 == null) || (hug2 == null)) return null; var hug3:MediaFactoryItem = null; var hug4:int = 0; while(hug4 < hug2.length){ hug5 = (hug2[hug4] as MediaFactoryItem); if(hug5.id.indexOf("org.osmf") == (-1)) return hug5; if(hug3 == null) hug3 = hug5; hug4++; } return hug3; } private function findOrCreateItems(hug1:String):Vector. { //MethodID:3185, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 51 if(this.allItems[hug1] == null) this.allItems[hug1] = new Vector.(); return (this.allItems[hug1] as Vector.); } private function createMediaElementByResource(hug1:MediaResourceBase, hug2:String, hug3:MediaElement=null):MediaElement { //MethodID:3186, LocalCount= 11 , MaxScope= 1, MaxStack= 4, CodeLength= 220 var hug6:MediaFactoryItem = null; var hug7:MediaElement = null; var hug8:int = 0; var hug9:MediaFactoryItem = null; var hug10:ProxyElement = null; var hug4:MediaElement = null; var hug5:Vector. = getItemsByResource(hug1, this.allItems[hug2]); if(hug2 == MediaFactoryItemType.STANDARD){ hug6 = (this.resolveItems(hug1, hug5) as MediaFactoryItem); if(hug6 != null) hug4 = this.invokeMediaElementCreationFunction(hug6); }else if(hug2 == MediaFactoryItemType.PROXY){ hug7 = hug3; hug8 = hug5.length; while(hug8 > 0){ hug9 = (hug5[hug8 - 1] as MediaFactoryItem); hug10 = (this.invokeMediaElementCreationFunction(hug9) as ProxyElement); if(hug10 != null){ hug10.proxiedElement = hug7; hug7 = hug10; } hug8--; } hug4 = hug7; } if(hug4 != null) hug4.resource = hug1; return hug4; } private function onPluginLoad(hug1:PluginManagerEvent):void { //MethodID:3187, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 26 dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.PLUGIN_LOAD, false, false, hug1.resource)); } private function onPluginLoadError(hug1:PluginManagerEvent):void { //MethodID:3188, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 26 dispatchEvent(new MediaFactoryEvent(MediaFactoryEvent.PLUGIN_LOAD_ERROR, false, false, hug1.resource)); } private function invokeMediaElementCreationFunction(hug1:MediaFactoryItem):MediaElement { //MethodID:3189, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 57 internal var item:MediaFactoryItem; //slotID:1 internal var mediaElement:MediaElement; //slotID:2 item = hug1; mediaElement = null; try{ mediaElement = item.mediaElementCreationFunction(); } catch(error:Error){ } return mediaElement; } private function createPluginManager():void { //MethodID:3190, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 60 if(this.pluginManager == null){ this.pluginManager = new PluginManager(this); this.pluginManager.addEventListener(PluginManagerEvent.PLUGIN_LOAD, this.onPluginLoad); this.pluginManager.addEventListener(PluginManagerEvent.PLUGIN_LOAD_ERROR, this.onPluginLoadError); } } } } //¡script291¡ package org.osmf.media{ import org.osmf.elements.AudioElement import org.osmf.elements.F4MElement import org.osmf.elements.F4MLoader import org.osmf.elements.ImageElement import org.osmf.elements.ImageLoader import org.osmf.elements.SWFElement import org.osmf.elements.SWFLoader import org.osmf.elements.SoundLoader import org.osmf.elements.VideoElement import org.osmf.net.NetLoader import org.osmf.net.dvr.DVRCastNetLoader import org.osmf.net.rtmpstreaming.RTMPDynamicStreamingNetLoader //¡class(instance)_index:290 public class DefaultMediaFactory extends MediaFactory { //static constructor public static function DefaultMediaFactory$cinit() { //MethodID:3192, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function DefaultMediaFactory() { //MethodID:3193, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 super(); this.init(); } //variables/etc. private var soundLoader:SoundLoader; //slotID:0 private var imageLoader:ImageLoader; //slotID:0 private var f4mLoader:F4MLoader; //slotID:0 private var rtmpStreamingNetLoader:RTMPDynamicStreamingNetLoader;//slotID:0 private var swfLoader:SWFLoader; //slotID:0 private var netLoader:NetLoader; //slotID:0 private var dvrCastLoader:DVRCastNetLoader; //slotID:0 private function init():void { //MethodID:3202, LocalCount= 2 , MaxScope= 2, MaxStack= 5, CodeLength= 301 this.f4mLoader = new F4MLoader(this); addItem(new MediaFactoryItem("org.osmf.elements.f4m", this.f4mLoader.canHandleResource, function():MediaElement{ //MethodID:3194, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new F4MElement(null, f4mLoader); })); this.dvrCastLoader = new DVRCastNetLoader(); addItem(new MediaFactoryItem("org.osmf.elements.video.dvr.dvrcast", this.dvrCastLoader.canHandleResource, function():MediaElement{ //MethodID:3195, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new VideoElement(null, dvrCastLoader); })); this.rtmpStreamingNetLoader = new RTMPDynamicStreamingNetLoader(); addItem(new MediaFactoryItem("org.osmf.elements.video.rtmpdynamicStreaming", this.rtmpStreamingNetLoader.canHandleResource, function():MediaElement{ //MethodID:3196, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new VideoElement(null, rtmpStreamingNetLoader); })); this.netLoader = new NetLoader(); addItem(new MediaFactoryItem("org.osmf.elements.video", this.netLoader.canHandleResource, function():MediaElement{ //MethodID:3197, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new VideoElement(null, netLoader); })); this.soundLoader = new SoundLoader(); addItem(new MediaFactoryItem("org.osmf.elements.audio", this.soundLoader.canHandleResource, function():MediaElement{ //MethodID:3198, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new AudioElement(null, soundLoader); })); addItem(new MediaFactoryItem("org.osmf.elements.audio.streaming", this.netLoader.canHandleResource, function():MediaElement{ //MethodID:3199, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new AudioElement(null, netLoader); })); this.imageLoader = new ImageLoader(); addItem(new MediaFactoryItem("org.osmf.elements.image", this.imageLoader.canHandleResource, function():MediaElement{ //MethodID:3200, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new ImageElement(null, imageLoader); })); this.swfLoader = new SWFLoader(); addItem(new MediaFactoryItem("org.osmf.elements.swf", this.swfLoader.canHandleResource, function():MediaElement{ //MethodID:3201, LocalCount= 1 , MaxScope= 0, MaxStack= 3, CodeLength= 12 return new SWFElement(null, swfLoader); })); } } } //¡script292¡ package ru.rutube.managers.playback.controller{ import flash.events.Event //¡class(instance)_index:291 public class StreamControllerEvent extends Event { //static constructor public static function StreamControllerEvent$cinit() { //MethodID:3204, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 228 EVENT_BALANCE_URL = "EVENT_BALANCE_URL"; EVENT_RECEIVE_BALANCED_URL = "EVENT_RECEIVE_BALANCED_URL"; EVENT_DURATION_CHANGE = "EVENT_DURATION_CHANGE"; EVENT_CURRENT_TIME_CHANGE = "EVENT_CURRENT_TIME_CHANGE"; EVENT_BUFFERING_CHANGE = "EVENT_BUFFERING_CHANGE"; EVENT_VIDEO_COMPLETE = "EVENT_VIDEO_COMPLETE"; EVENT_METADATA_RECEIVED = "EVENT_METADATA_RECEIVED"; EVENT_LOADING_PROGRESS = "EVENT_LOADING_PROGRESS"; EVENT_STATE_CHANGE = "EVENT_STATE_CHANGE"; EVENT_STREAM_ERROR = "EVENT_STREAM_ERROR"; EVENT_MEDIA_ON_EOF = "EVENT_MEDIA_ON_EOF"; EVENT_MEDIA_ON_ERROR = "EVENT_MEDIA_ON_ERROR"; EVENT_MEDIA_RTMS_EOF = "EVENT_MEDIA_RTMS_EOF"; EVENT_MEDIA_RTMS_REDIRECT = "EVENT_MEDIA_RTMS_REDIRECT"; EVENT_MEDIA_RTMS_NOT_AUTH = "EVENT_MEDIA_RTMS_NOT_AUTH"; EVENT_MEDIA_RTMS_FORBID = "EVENT_MEDIA_RTMS_FORBID"; EVENT_MEDIA_RTMS_RETRY_LATTER = "EVENT_MEDIA_RTMS_RETRY_LATTER"; EVENT_MEDIA_RTMS_NOT_FOUND = "EVENT_MEDIA_RTMS_NOT_FOUND"; EVENT_MEDIA_RTMS_ERROR = "EVENT_MEDIA_RTMS_ERROR"; EVENT_MEDIA_RTMS_WARNING = "EVENT_MEDIA_RTMS_WARNING"; EVENT_VIDEO_PLAYHEAD_UPDATE = "EVENT_VIDEO_PLAYHEAD_UPDATE"; EVENT_STREAM_STREAM_NOT_FOUND = "EVENT_STREAM_STREAM_NOT_FOUND"; EVENT_STREAM_RESUME = "EVENT_STREAM_RESUME"; EVENT_STREAM_PAUSE = "EVENT_STREAM_PAUSE"; EVENT_CHANGE_LIVE_STATE = "EVENT_CHANGE_LIVE_STATE"; } //static variables/etc. public static const EVENT_BALANCE_URL:String = "EVENT_BALANCE_URL";//slotID:1 public static const EVENT_RECEIVE_BALANCED_URL:String = "EVENT_RECEIVE_BALANCED_URL";//slotID:2 public static const EVENT_DURATION_CHANGE:String = "EVENT_DURATION_CHANGE";//slotID:3 public static const EVENT_CURRENT_TIME_CHANGE:String = "EVENT_CURRENT_TIME_CHANGE";//slotID:4 public static const EVENT_BUFFERING_CHANGE:String = "EVENT_BUFFERING_CHANGE";//slotID:5 public static const EVENT_VIDEO_COMPLETE:String = "EVENT_VIDEO_COMPLETE";//slotID:6 public static const EVENT_METADATA_RECEIVED:String = "EVENT_METADATA_RECEIVED";//slotID:7 public static const EVENT_LOADING_PROGRESS:String = "EVENT_LOADING_PROGRESS";//slotID:8 public static const EVENT_STATE_CHANGE:String = "EVENT_STATE_CHANGE";//slotID:9 public static const EVENT_STREAM_ERROR:String = "EVENT_STREAM_ERROR";//slotID:10 public static const EVENT_MEDIA_ON_EOF:String = "EVENT_MEDIA_ON_EOF";//slotID:11 public static const EVENT_MEDIA_ON_ERROR:String = "EVENT_MEDIA_ON_ERROR";//slotID:12 public static const EVENT_MEDIA_RTMS_EOF:String = "EVENT_MEDIA_RTMS_EOF";//slotID:13 public static const EVENT_MEDIA_RTMS_REDIRECT:String = "EVENT_MEDIA_RTMS_REDIRECT";//slotID:14 public static const EVENT_MEDIA_RTMS_NOT_AUTH:String = "EVENT_MEDIA_RTMS_NOT_AUTH";//slotID:15 public static const EVENT_MEDIA_RTMS_FORBID:String = "EVENT_MEDIA_RTMS_FORBID";//slotID:16 public static const EVENT_MEDIA_RTMS_RETRY_LATTER:String = "EVENT_MEDIA_RTMS_RETRY_LATTER";//slotID:17 public static const EVENT_MEDIA_RTMS_NOT_FOUND:String = "EVENT_MEDIA_RTMS_NOT_FOUND";//slotID:18 public static const EVENT_MEDIA_RTMS_ERROR:String = "EVENT_MEDIA_RTMS_ERROR";//slotID:19 public static const EVENT_MEDIA_RTMS_WARNING:String = "EVENT_MEDIA_RTMS_WARNING";//slotID:20 public static const EVENT_VIDEO_PLAYHEAD_UPDATE:String = "EVENT_VIDEO_PLAYHEAD_UPDATE";//slotID:21 public static const EVENT_STREAM_STREAM_NOT_FOUND:String = "EVENT_STREAM_STREAM_NOT_FOUND";//slotID:22 public static const EVENT_STREAM_RESUME:String = "EVENT_STREAM_RESUME";//slotID:23 public static const EVENT_STREAM_PAUSE:String = "EVENT_STREAM_PAUSE";//slotID:24 public static const EVENT_CHANGE_LIVE_STATE:String = "EVENT_CHANGE_LIVE_STATE";//slotID:25 //constructor public function StreamControllerEvent(hug1:String, hug2:Event=null, hug3:int=0, hug4:Boolean=false, hug5:Boolean=false, hug6:Object=null) { //MethodID:3205, LocalCount= 7 , MaxScope= 1, MaxStack= 4, CodeLength= 27 super(hug1, hug4, hug5); this.event = hug2; this.body = hug6; this._controllerType = hug3; } //variables/etc. public var body:Object = null; //slotID:0 private var _controllerType:int = 0; //slotID:0 public var event:Event = null; //slotID:0 public function get controllerType():int { //MethodID:3206, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._controllerType; } override public function clone():Event { //MethodID:3207, LocalCount= 1 , MaxScope= 1, MaxStack= 7, CodeLength= 29 return new StreamControllerEvent(type, this.event, this.controllerType, bubbles, cancelable, this.body); } } } //¡script293¡ package org.osmf.media{ import __AS3__.vec.Vector import flash.events.Event import flash.events.EventDispatcher import flash.utils.Dictionary import org.osmf.containers.IMediaContainer import org.osmf.events.ContainerChangeEvent import org.osmf.events.MediaElementEvent import org.osmf.events.MediaErrorEvent import org.osmf.events.MetadataEvent import org.osmf.metadata.Metadata import org.osmf.traits.MediaTraitBase import org.osmf.utils.OSMFStrings //¡class(instance)_index:292 public class MediaElement extends EventDispatcher { //static constructor public static function MediaElement$cinit() { //MethodID:3209, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function MediaElement() { //MethodID:3210, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 148 this.traits = new Dictionary(); this.traitResolvers = new Dictionary(); this.unresolvedTraits = new Dictionary(); this._traitTypes = new Vector.(); super(); this._metadata = this.createMetadata(); this._metadata.addEventListener(MetadataEvent.VALUE_ADD, this.onMetadataValueAdd); this._metadata.addEventListener(MetadataEvent.VALUE_REMOVE, this.onMetadataValueRemove); this._metadata.addEventListener(MetadataEvent.VALUE_CHANGE, this.onMetadataValueChange); this.setupTraitResolvers(); this.setupTraits(); addEventListener(ContainerChangeEvent.CONTAINER_CHANGE, this.onContainerChange, false, Number.MAX_VALUE); } //variables/etc. private var _container:IMediaContainer; //slotID:0 private var _metadata:Metadata; //slotID:0 private var unresolvedTraits:Dictionary; //slotID:0 private var _traitTypes:Vector.; //slotID:0 private var _resource:MediaResourceBase; //slotID:0 private var traits:Dictionary; //slotID:0 private var traitResolvers:Dictionary; //slotID:0 public function get traitTypes():Vector. { //MethodID:3211, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._traitTypes.concat(); } public function hasTrait(hug1:String):Boolean { //MethodID:3212, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 41 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); return (this.traits[hug1] != null); } public function getTrait(hug1:String):MediaTraitBase { //MethodID:3213, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 38 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); return this.traits[hug1]; } public function get resource():MediaResourceBase { //MethodID:3214, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._resource; } public function set resource(hug1:MediaResourceBase):void { //MethodID:3215, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._resource = hug1; } public function get container():IMediaContainer { //MethodID:3216, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._container; } public function addMetadata(hug1:String, hug2:Metadata):void { //MethodID:3217, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 50 if((hug1 == null) || (hug2 == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); this.metadata.addValue(hug1, hug2); } public function removeMetadata(hug1:String):Metadata { //MethodID:3218, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 43 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); return (this.metadata.removeValue(hug1) as Metadata); } public function getMetadata(hug1:String):Metadata { //MethodID:3219, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 43 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); return (this.metadata.getValue(hug1) as Metadata); } public function get metadataNamespaceURLs():Vector. { //MethodID:3220, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this.metadata.keys; } protected function createMetadata():Metadata { //MethodID:3221, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return new Metadata(); } public function get metadata():Metadata { //MethodID:3222, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._metadata; } protected function addTrait(hug1:String, hug2:MediaTraitBase):void { //MethodID:3223, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 88 if((hug1 == null) || (hug2 == null) || (hug1 != hug2.traitType)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); var hug3:MediaTraitResolver = this.traitResolvers[hug1]; if(hug3 != null){ hug3.addTrait(hug2); }else{ this.setLocalTrait(hug1, hug2); } } protected function removeTrait(hug1:String):MediaTraitBase { //MethodID:3224, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 74 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); var hug2:MediaTraitBase = this.traits[hug1]; var hug3:MediaTraitResolver = this.traitResolvers[hug1]; if(hug3 != null) return hug3.removeTrait(hug2); return this.setLocalTrait(hug1, null); } protected function addTraitResolver(hug1:String, hug2:MediaTraitResolver):void { //MethodID:3225, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 159 var hug3:MediaTraitBase = null; if((hug2 == null) || (hug2.type != hug1)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); if(this.traitResolvers[hug1] == null){ this.unresolvedTraits[hug1] = this.traits[hug1]; this.traitResolvers[hug1] = hug2; hug3 = this.traits[hug1]; if(hug3) hug2.addTrait(hug3); this.processResolvedTraitChange(hug1, hug2.resolvedTrait); hug2.addEventListener(Event.CHANGE, this.onTraitResolverChange); }else{ throw new ArgumentError(OSMFStrings.getString(OSMFStrings.TRAIT_RESOLVER_ALREADY_ADDED)); } } protected function removeTraitResolver(hug1:String):MediaTraitResolver { //MethodID:3226, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 124 if((hug1 == null) || (this.traitResolvers[hug1] == null)) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); var hug2:MediaTraitResolver = this.traitResolvers[hug1]; hug2.removeEventListener(Event.CHANGE, this.onTraitResolverChange); delete this.traitResolvers[hug1]; var hug3:MediaTraitBase = this.unresolvedTraits[hug1]; if(hug3 != this.traits[hug1]) this.setLocalTrait(hug1, hug3); delete this.unresolvedTraits[hug1]; return hug2; } protected function getTraitResolver(hug1:String):MediaTraitResolver { //MethodID:3227, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return this.traitResolvers[hug1]; } protected function setupTraitResolvers():void { //MethodID:3228, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } protected function setupTraits():void { //MethodID:3229, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function onMediaError(hug1:MediaErrorEvent):void { //MethodID:3230, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 15 dispatchEvent(hug1.clone()); } private function setLocalTrait(hug1:String, hug2:MediaTraitBase):MediaTraitBase { //MethodID:3231, LocalCount= 5 , MaxScope= 1, MaxStack= 6, CodeLength= 207 var hug3:MediaTraitBase = this.traits[hug1]; if(hug2 == null){ if(hug3 != null){ hug3.removeEventListener(MediaErrorEvent.MEDIA_ERROR, this.onMediaError); hug3.dispose(); dispatchEvent(new MediaElementEvent(MediaElementEvent.TRAIT_REMOVE, false, false, hug1)); this._traitTypes.splice(this._traitTypes.indexOf(hug1), 1); delete this.traits[hug1]; } }else if(hug3 == null){ var hug4:MediaTraitBase = hug2; hug3 = hug4; this.traits[hug1] = hug4; this._traitTypes.push(hug1); hug3.addEventListener(MediaErrorEvent.MEDIA_ERROR, this.onMediaError); dispatchEvent(new MediaElementEvent(MediaElementEvent.TRAIT_ADD, false, false, hug1)); }else if(hug3 != hug2){ throw new ArgumentError(OSMFStrings.getString(OSMFStrings.TRAIT_INSTANCE_ALREADY_ADDED)); } return hug3; } private function onTraitResolverChange(hug1:Event):void { //MethodID:3232, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 28 var hug2:MediaTraitResolver = (hug1.target as MediaTraitResolver); this.processResolvedTraitChange(hug2.type, hug2.resolvedTrait); } private function processResolvedTraitChange(hug1:String, hug2:MediaTraitBase):void { //MethodID:3233, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 23 if(hug2 != this.traits[hug1]) this.setLocalTrait(hug1, hug2); } private function onContainerChange(hug1:ContainerChangeEvent):void { //MethodID:3234, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 40 if((this._container == hug1.oldContainer) && (this._container != hug1.newContainer)) this._container = hug1.newContainer; } private function onMetadataValueAdd(hug1:MetadataEvent):void { //MethodID:3235, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 38 dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_ADD, false, false, null, hug1.key, (hug1.value as Metadata))); } private function onMetadataValueChange(hug1:MetadataEvent):void { //MethodID:3236, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 73 dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_REMOVE, false, false, null, hug1.key, (hug1.oldValue as Metadata))); dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_ADD, false, false, null, hug1.key, (hug1.value as Metadata))); } private function onMetadataValueRemove(hug1:MetadataEvent):void { //MethodID:3237, LocalCount= 2 , MaxScope= 1, MaxStack= 9, CodeLength= 38 dispatchEvent(new MediaElementEvent(MediaElementEvent.METADATA_REMOVE, false, false, null, hug1.key, (hug1.value as Metadata))); } } } //¡script294¡ package org.osmf.media{ import __AS3__.vec.Vector import flash.utils.Dictionary //¡class(instance)_index:293 public class MediaResourceBase extends Object { //static constructor public static function MediaResourceBase$cinit() { //MethodID:3239, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function MediaResourceBase() { //MethodID:3240, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private var _metadata:Dictionary; //slotID:0 private var _mimeType:String; //slotID:0 private var _mediaType:String; //slotID:0 public function get mediaType():String { //MethodID:3241, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mediaType; } public function set mediaType(hug1:String):void { //MethodID:3242, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._mediaType = hug1; } public function get mimeType():String { //MethodID:3243, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mimeType; } public function set mimeType(hug1:String):void { //MethodID:3244, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._mimeType = hug1; } public function get metadataNamespaceURLs():Vector. { //MethodID:3245, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 67 var hug2:String = null; var hug1:Vector. = new Vector.(); if(this._metadata != null){ for(hug2 in this._metadata){ hug1.push(hug2); } } return hug1; } public function addMetadataValue(hug1:String, hug2:Object):void { //MethodID:3246, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 32 if(this._metadata == null) this._metadata = new Dictionary(); this._metadata[hug1] = hug2; } public function getMetadataValue(hug1:String):Object { //MethodID:3247, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(this._metadata != null) return this._metadata[hug1]; return null; } public function removeMetadataValue(hug1:String):Object { //MethodID:3248, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 39 var hug2:Object = null; if(this._metadata != null){ hug2 = this._metadata[hug1]; delete this._metadata[hug1]; return hug2; } return null; } } } //¡script295¡ package org.osmf.media{ //¡class(instance)_index:294 public class URLResource extends MediaResourceBase { //static constructor public static function URLResource$cinit() { //MethodID:3250, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function URLResource(hug1:String) { //MethodID:3251, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this._url = hug1; } //variables/etc. private var _url:String; //slotID:0 public function get url():String { //MethodID:3252, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._url; } } } //¡script296¡ package org.osmf.media{ import __AS3__.vec.Vector import org.osmf.media.pluginClasses.VersionUtils import org.osmf.utils.OSMFStrings import org.osmf.utils.Version //¡class(instance)_index:295 public class PluginInfo extends Object { //static constructor public static function PluginInfo$cinit() { //MethodID:3254, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 12 PLUGIN_MEDIAFACTORY_NAMESPACE = "http://www.osmf.org/plugin/mediaFactory/1.0"; } //static variables/etc. public static const PLUGIN_MEDIAFACTORY_NAMESPACE:String = "http://www.osmf.org/plugin/mediaFactory/1.0";//slotID:1 //constructor public function PluginInfo(hug1:Vector.=null, hug2:Function=null) { //MethodID:3255, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 42 super(); this._mediaFactoryItems = ((hug1 != null) ? hug1 : new Vector.()); this._mediaElementCreationNotificationFunction = hug2; } //variables/etc. private var _mediaElementCreationNotificationFunction:Function; //slotID:0 private var _mediaFactoryItems:Vector.; //slotID:0 public function get numMediaFactoryItems():int { //MethodID:3256, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 10 return this._mediaFactoryItems.length; } public function get frameworkVersion():String { //MethodID:3257, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 9 return Version.version; } public function getMediaFactoryItemAt(hug1:int):MediaFactoryItem { //MethodID:3258, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 59 if((hug1 < 0) || (hug1 >= this._mediaFactoryItems.length)) throw new RangeError(OSMFStrings.getString(OSMFStrings.INVALID_PARAM)); return (this._mediaFactoryItems[hug1] as MediaFactoryItem); } public function isFrameworkVersionSupported(hug1:String):Boolean { //MethodID:3259, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 89 if((hug1 == null) || (hug1.length == 0)) return false; var hug2:Object = VersionUtils.parseVersionString(hug1); var hug3:Object = VersionUtils.parseVersionString(this.frameworkVersion); return ((hug2.major > hug3.major) || ((hug2.major == hug3.major) && (hug2.minor >= hug3.minor))); } public function initializePlugin(hug1:MediaResourceBase):void { //MethodID:3260, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } public function get mediaElementCreationNotificationFunction():Function { //MethodID:3261, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mediaElementCreationNotificationFunction; } protected function get mediaFactoryItems():Vector. { //MethodID:3262, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mediaFactoryItems; } protected function set mediaFactoryItems(hug1:Vector.):void { //MethodID:3263, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this._mediaFactoryItems = hug1; } } } //¡script297¡ package ru.rutube.plugin.statistic.google{ import __AS3__.vec.Vector import org.osmf.media.MediaElement import org.osmf.media.MediaFactoryItem import org.osmf.media.MediaFactoryItemType import org.osmf.media.MediaResourceBase import org.osmf.media.PluginInfo import org.osmf.metadata.Metadata import ru.rutube.media.MediaTypes //¡class(instance)_index:296 public class GoogleStatisticPlugin extends PluginInfo { //static constructor public static function GoogleStatisticPlugin$cinit() { //MethodID:3265, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function GoogleStatisticPlugin() { //MethodID:3266, LocalCount= 3 , MaxScope= 1, MaxStack= 5, CodeLength= 59 var hug1:Vector. = new Vector.(); var hug2:MediaFactoryItem = new MediaFactoryItem("ru.rutube.statistic.google", this.functionCanHandleResource, this.functionMediaElementCreation, MediaFactoryItemType.PROXY); hug1.push(hug2); super(hug1, this.functionMediaElementCreationNotification); } //variables/etc. private function functionMediaElementCreationNotification(hug1:MediaElement):void { //MethodID:3267, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } private function functionCanHandleResource(hug1:MediaResourceBase):Boolean { //MethodID:3268, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 41 var hug3:Metadata = null; var hug2:Boolean = false; if(hug1 != null){ hug3 = (hug1.getMetadataValue(MediaTypes.MEDIA_TYPE_GOOGLE_VIDEO_PROXY) as Metadata); hug2 = (hug3 != null); } return hug2; } private function functionMediaElementCreation():MediaElement { //MethodID:3269, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 11 return new GoogleStatisticElement(null); } } } //¡script298¡ package ru.rutube.media{ //¡class(instance)_index:297 public class MediaTypes extends Object { //static constructor public static function MediaTypes$cinit() { //MethodID:3271, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 ID_MEDIA_VIDEO = "ru.rutube.proxyes"; MEDIA_TYPE_PLAYER_SETTINGS = "http://rutube.ru/settings"; MEDIA_TYPE_GOOGLE_VIDEO_PROXY = "http://rutube.ru/statistic/google"; } //static variables/etc. public static const ID_MEDIA_VIDEO:String = "ru.rutube.proxyes";//slotID:1 public static const MEDIA_TYPE_PLAYER_SETTINGS:String = "http://rutube.ru/settings";//slotID:2 public static const MEDIA_TYPE_GOOGLE_VIDEO_PROXY:String = "http://rutube.ru/statistic/google";//slotID:3 //constructor public function MediaTypes() { //MethodID:3272, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script299¡ package org.osmf.metadata{ import __AS3__.vec.Vector import flash.events.Event import flash.events.EventDispatcher import flash.utils.Dictionary import org.osmf.events.MetadataEvent import org.osmf.utils.OSMFStrings //¡class(instance)_index:298 public class Metadata extends EventDispatcher { //static constructor public static function Metadata$cinit() { //MethodID:3274, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function Metadata() { //MethodID:3275, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. private var data:Dictionary; //slotID:0 public function getValue(hug1:String):* { //MethodID:3276, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 54 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); return ((this.data != null) ? this.data[hug1] : null); } public function addValue(hug1:String, hug2:Object):void { //MethodID:3277, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 145 var hug4:Event = null; if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); if(this.data == null) this.data = new Dictionary(); var hug3:* = this.data[hug1]; this.data[hug1] = hug2; if(hug3 != hug2){ hug4 = ((hug3 === undefined) ? new MetadataEvent(MetadataEvent.VALUE_ADD, false, false, hug1, hug2) : new MetadataEvent(MetadataEvent.VALUE_CHANGE, false, false, hug1, hug2, hug3)); dispatchEvent(hug4); } } public function removeValue(hug1:String):* { //MethodID:3278, LocalCount= 3 , MaxScope= 1, MaxStack= 7, CodeLength= 82 if(hug1 == null) throw new ArgumentError(OSMFStrings.getString(OSMFStrings.NULL_PARAM)); var hug2:* = this.data[hug1]; if(hug2 !== undefined){ delete this.data[hug1]; dispatchEvent(new MetadataEvent(MetadataEvent.VALUE_REMOVE, false, false, hug1, hug2)); } return hug2; } public function get keys():Vector. { //MethodID:3279, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 69 var hug2:Object = null; var hug1:Vector. = new Vector.(); if(this.data != null){ for(hug2 in this.data){ hug1.push(hug2); } } return hug1; } public function get synthesizer():MetadataSynthesizer { //MethodID:3280, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return null; } } } //¡script300¡ package ru.rutube.managers.balancer{ import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.net.URLLoader import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.managers.playback.stream.RemoteStreamType //¡class(instance)_index:299 public class BalancerResponder extends Object { //static constructor public static function BalancerResponder$cinit() { //MethodID:3282, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 92 BALANCER_MAIN = 1; BALANCER_ADVERTISEMENT = 2; BALANCER_CACHE = 3; BALANCER_REQUEST_TYPE_RTMP = 100; BALANCER_REQUEST_TYPE_RTMPT = 101; BALANCER_REQUEST_TYPE_HTTP = 102; BALANCER_REQUEST_STRING_RTMP = "rtmp://"; BALANCER_REQUEST_STRING_RTMPT = "rtmpt://"; BALANCER_REQUEST_STRING_HTTP = "http://"; avalibleRequestTypes = [BALANCER_REQUEST_TYPE_RTMP, BALANCER_REQUEST_TYPE_RTMPT]; } //static variables/etc. public static const BALANCER_MAIN:int = 1; //slotID:1 public static const BALANCER_ADVERTISEMENT:int = 2; //slotID:2 public static const BALANCER_CACHE:int = 3; //slotID:3 public static const BALANCER_REQUEST_TYPE_RTMP:int = 100; //slotID:4 public static const BALANCER_REQUEST_TYPE_RTMPT:int = 101; //slotID:5 public static const BALANCER_REQUEST_TYPE_HTTP:int = 102; //slotID:6 private static const BALANCER_REQUEST_STRING_RTMP:String = "rtmp://";//slotID:7 private static const BALANCER_REQUEST_STRING_RTMPT:String = "rtmpt://";//slotID:8 private static const BALANCER_REQUEST_STRING_HTTP:String = "http://";//slotID:9 private static const avalibleRequestTypes:Array; //slotID:10 public static function isTypeAvalible(hug1:int):Boolean { //dispID:3, MethodID:3283, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 14 return (avalibleRequestTypes.indexOf(hug1) > (-1)); } //constructor public function BalancerResponder(hug1:int=0) { //MethodID:3284, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this.balancerId = hug1; } //variables/etc. private var dataLoaded:Boolean = false; //slotID:0 private var balancerId:int = 0; //slotID:0 private var _type:int = 0; //slotID:0 private var urlLoader:URLLoader = null; //slotID:0 private var balancerRequest:String = null; //slotID:0 private var presetType:int = 0; //slotID:0 private var loading:Boolean = false; //slotID:0 private var correctVideoUrl:String = null; //slotID:0 public function get isLoading():Boolean { //MethodID:3285, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.loading; } public function get id():int { //MethodID:3286, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.balancerId; } public function get isReceivedGoodPath():Boolean { //MethodID:3287, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 return ((this.correctVideoUrl != null) && this.dataLoaded); } public function get videoStreamUrl():String { //MethodID:3288, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 if(this.correctVideoUrl != null) return this.correctVideoUrl; return ""; } public function get balancerStreamUrl():String { //MethodID:3289, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 if(this.balancerRequest != null) return this.balancerRequest; return ""; } public function clearState():void { //MethodID:3290, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 28 this.deInitloader(); this.balancerRequest = null; this.correctVideoUrl = null; this.loading = false; this.dataLoaded = false; } public function reset():void { //MethodID:3291, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 this.clearState(); this._type = 0; if(this.presetType > 0) this._type = this.presetType; } public function get type():int { //MethodID:3292, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 return avalibleRequestTypes[this._type]; } public function setType(hug1:int):void { //MethodID:3293, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 37 if(avalibleRequestTypes.indexOf(hug1) > (-1)){ this._type = avalibleRequestTypes.indexOf(hug1); this.presetType = this._type; } } public function nextBalancerRequest():Boolean { //MethodID:3294, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 108 if(this._type < (avalibleRequestTypes.length - 1)){ this._type++; if((this.type == BALANCER_REQUEST_TYPE_RTMPT) && (this.correctVideoUrl != null)){ this.correctVideoUrl = this.correctVideoUrl.replace("rtmp", "rtmpt"); this.correctVideoUrl = this.correctVideoUrl.replace("1935", "80"); }else{ this.clearState(); } return true; } return false; } public function isLastType():Boolean { //MethodID:3295, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 15 return (this._type >= (avalibleRequestTypes.length - 1)); } public function load(hug1:String, hug2:Boolean=false):void { //MethodID:3296, LocalCount= 5 , MaxScope= 5, MaxStack= 5, CodeLength= 326 internal var requestUrl:String; //slotID:1 internal var force:Boolean = false; //slotID:2 internal var urlRequest:URLRequest; //slotID:3 requestUrl = hug1; force = hug2; if(force && this.loading && (this.urlLoader != null)){ try{ this.urlLoader.close(); } catch(err:Error){ deInitloader(); } this.urlLoader = null; } this.clearState(); if(!BalancerManager.instance.isBalancerUrl(requestUrl) && (requestUrl.lastIndexOf(".iflv") < 0)){ this.correctVideoUrl = requestUrl; if(this.correctVideoUrl != null) this.correctVideoUrl = this.correctVideoUrl.replace(new RegExp("[\t\n\r ]", "gi"), ""); this.dataLoaded = true; EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, this.id)); return; } this.urlLoader = new URLLoader(); this.initLoader(); urlRequest = new URLRequest(requestUrl); this.balancerRequest = requestUrl; try{ this.urlLoader.load(urlRequest); this.loading = true; } catch(err:Error){ loading = false; deInitloader(); urlLoader = null; EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, id)); } } public function buildRequestUrl(hug1:String, hug2:String, hug3:Boolean=false, hug4:Number=0.0, hug5:Boolean=false):String { //MethodID:3297, LocalCount= 10 , MaxScope= 1, MaxStack= 6, CodeLength= 466 var hug6:String = hug1; if((hug6.indexOf("://") == (-1)) || (RemoteStreamType.FMS_LIVE == RemoteStreamType.getStreamTypeByConnStr(hug1)) || (hug1.indexOf("webcaster") > 0)) return hug6; var hug7:Array = []; if(hug5) hug7.push("max-age=0"); if((hug2.length > 0) && (hug6.indexOf("referer") < 0)) hug7.push("referer=" + encodeURIComponent(hug2)); if(hug4 > 0){ if(hug3){ hug7.push("start=" + hug4); }else{ hug7.push("offset=" + int(hug4 * 1000)); } } var hug8:String = "schema"; switch(this.type){ case BALANCER_REQUEST_TYPE_RTMP: hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_RTMP.substr(0, BALANCER_REQUEST_STRING_RTMP.indexOf(":"))); break; case BALANCER_REQUEST_TYPE_RTMPT: hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_RTMPT.substr(0, BALANCER_REQUEST_STRING_RTMPT.indexOf(":"))); break; case BALANCER_REQUEST_TYPE_HTTP: hug7.push((hug8 + "=") + BALANCER_REQUEST_STRING_HTTP.substr(0, BALANCER_REQUEST_STRING_HTTP.indexOf(":"))); break; default: break; } if(hug7.length > 0){ if(hug6.indexOf("?") == (-1)) hug6 += "?"; if(hug6.indexOf("?") < (hug6.length - 1)) hug6 += "&"; hug6 += hug7.join("&"); } return hug6; } public function buildPlayUrl(hug1:String, hug2:String, hug3:Boolean=false, hug4:Number=0.0, hug5:Boolean=false):String { //MethodID:3298, LocalCount= 8 , MaxScope= 1, MaxStack= 5, CodeLength= 268 var hug6:String = hug1; if(RemoteStreamType.FMS_LIVE == RemoteStreamType.getStreamTypeByConnStr(hug1)) return hug1.substr(hug1.lastIndexOf("/") + 1); if(hug6.indexOf("://") == (-1)) return hug6; var hug7:Array = []; if(hug5) hug7.push("max-age=0"); if((hug2.length > 0) && (hug6.indexOf("referer") < 0)) hug7.push("referer=" + encodeURIComponent(hug2)); if(hug4 > 0){ if(hug3){ hug7.push("start=" + hug4); }else{ hug7.push("offset=" + int(hug4 * 1000)); } } if(hug7.length > 0){ if(hug6.indexOf("?") == (-1)) hug6 += "?"; if(hug6.indexOf("?") < (hug6.length - 1)) hug6 += "&"; hug6 += hug7.join("&"); } trace("Balancer.BuildRequestUrl: ", hug6); return hug6; } private function initLoader():void { //MethodID:3299, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 63 if(!this.urlLoader) return; this.urlLoader.addEventListener(Event.COMPLETE, this.listenerLoadComplete); this.urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerError); this.urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerError); } private function deInitloader():void { //MethodID:3300, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 63 if(!this.urlLoader) return; this.urlLoader.removeEventListener(Event.COMPLETE, this.listenerLoadComplete); this.urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerError); this.urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerError); } private function listenerLoadComplete(hug1:Event):void { //MethodID:3301, LocalCount= 4 , MaxScope= 5, MaxStack= 5, CodeLength= 781 internal var event:Event; //slotID:1 internal var xml:XML; //slotID:2 internal var regExp:RegExp; //slotID:3 internal var strParts:Array; //slotID:4 regExp = null; strParts = null; event = hug1; this.deInitloader(); this.loading = false; this.dataLoaded = true; xml = null; try{ xml = new XML(String(this.urlLoader.data)); } catch(err:Error){ xml = null; } this.urlLoader = null; trace(xml); if((xml != null) && xml.hasOwnProperty("finalAddress")){ if(xml.hasOwnProperty("finalAddress") && (xml["finalAddress"].toString().length > 0)) this.correctVideoUrl = xml["finalAddress"].toString(); xml = null; if(this.correctVideoUrl != null) this.correctVideoUrl = this.correctVideoUrl.replace(new RegExp("[\t\n\r ]", "gi"), ""); if(avalibleRequestTypes[this._type] == BALANCER_REQUEST_TYPE_RTMPT){ this.correctVideoUrl = this.correctVideoUrl.replace("rtmp://", "rtmpt://"); this.correctVideoUrl = this.correctVideoUrl.replace(".rutube.ru/", ".rutube.ru:80/"); } if(this.correctVideoUrl.indexOf("rtmpt") > (-1)) this.correctVideoUrl = this.correctVideoUrl.replace(":1935", ":80"); if(this.correctVideoUrl != null){ if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_HTTP) > (-1)){ this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_HTTP); }else if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_RTMPT) > (-1)){ this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMPT); }else if(this.correctVideoUrl.toLowerCase().indexOf(BALANCER_REQUEST_STRING_RTMP) > (-1)){ this._type = avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMP); } if(this._type < 0) this._type = 0; } regExp = new RegExp("([\w]+):\/\/([\w\-\.]+)[:]*(\d*)([\w\-\.\\\/%\?&=:]+)", "gi"); strParts = regExp.exec(this.correctVideoUrl); if((strParts != null) && (strParts.length > 4)){ if((this._type == avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMPT)) && (strParts[1] == "rtmpt")){ strParts[3] = "80"; }else if((this._type == avalibleRequestTypes.indexOf(BALANCER_REQUEST_TYPE_RTMP)) && (strParts[1] == "rtmp")){ strParts[3] = "1935"; }else if(strParts[1] == "http"){ strParts[3] = "80"; } this.correctVideoUrl = ((((strParts[1] + "://") + strParts[2] + ":") + strParts[3]) + strParts[4]); } this.presetType = 0; EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, this.id)); return; } xml = null; EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, this.id)); } private function listenerError(hug1:Event):void { //MethodID:3302, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 54 this.deInitloader(); this.loading = false; this.dataLoaded = true; this.urlLoader = null; this.correctVideoUrl = this.balancerRequest; EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_ERROR, this.id)); } } } //¡script301¡ package org.osmf.media{ //¡class(instance)_index:300 public class PluginInfoResource extends MediaResourceBase { //static constructor public static function PluginInfoResource$cinit() { //MethodID:3304, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function PluginInfoResource(hug1:PluginInfo) { //MethodID:3305, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 super(); this._pluginInfo = hug1; } //variables/etc. private var _pluginInfo:PluginInfo; //slotID:0 public function get pluginInfo():PluginInfo { //MethodID:3306, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._pluginInfo; } } } //¡script302¡ package ru.rutube.managers.playback.controller{ import org.osmf.events.LoadEvent import ru.rutube.managers.statistic.player.PlayerStatistic import ru.rutube.managers.statistic.player.StatisticAdvertisementLoading //¡class(instance)_index:301 public class AdvertisementStreamController extends StreamController { //static constructor public static function AdvertisementStreamController$cinit() { //MethodID:3308, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function AdvertisementStreamController(hug1:int=0) { //MethodID:3309, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 7 super(hug1); } //variables/etc. override protected function listenerLoadingStateChange(hug1:LoadEvent):void { //MethodID:3310, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } override protected function listenerTotalBytesChange(hug1:LoadEvent):void { //MethodID:3311, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 55 var hug2:StatisticAdvertisementLoading = null; hug2 = PlayerStatistic.instance.statisticAdvertisementLoading; hug2.reset(); hug2.totalBytes = hug1.bytes; hug2.fileName = mediaPlayer.media.resource["url"]; hug2.startLoad(); } override protected function listenerLoading(hug1:LoadEvent):void { //MethodID:3312, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 51 super.listenerLoading(hug1); var hug2:StatisticAdvertisementLoading = PlayerStatistic.instance.statisticAdvertisementLoading; if(hug2.totalBytes == hug1.bytes){ hug2.finishLoad(); PlayerStatistic.instance.sendInfo(PlayerStatistic.LOADING_ADVERTISEMENT); } } } } //¡script303¡ package org.osmf.events{ import flash.events.Event import org.osmf.media.MediaElement import org.osmf.media.MediaResourceBase //¡class(instance)_index:302 public class MediaFactoryEvent extends Event { //static constructor public static function MediaFactoryEvent$cinit() { //MethodID:3314, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 30 PLUGIN_LOAD = "pluginLoad"; PLUGIN_LOAD_ERROR = "pluginLoadError"; MEDIA_ELEMENT_CREATE = "mediaElementCreate"; } //static variables/etc. public static const PLUGIN_LOAD:String = "pluginLoad"; //slotID:1 public static const PLUGIN_LOAD_ERROR:String = "pluginLoadError";//slotID:2 public static const MEDIA_ELEMENT_CREATE:String = "mediaElementCreate";//slotID:3 //constructor public function MediaFactoryEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false, hug4:MediaResourceBase=null, hug5:MediaElement=null) { //MethodID:3315, LocalCount= 6 , MaxScope= 1, MaxStack= 4, CodeLength= 21 super(hug1, hug2, hug3); this._resource = hug4; this._mediaElement = hug5; } //variables/etc. private var _mediaElement:MediaElement; //slotID:0 private var _resource:MediaResourceBase; //slotID:0 public function get resource():MediaResourceBase { //MethodID:3316, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._resource; } public function get mediaElement():MediaElement { //MethodID:3317, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this._mediaElement; } override public function clone():Event { //MethodID:3318, LocalCount= 1 , MaxScope= 1, MaxStack= 6, CodeLength= 25 return new MediaFactoryEvent(type, bubbles, cancelable, this._resource, this._mediaElement); } } } //¡script304¡ package ru.rutube.managers.balancer{ import flash.utils.Dictionary import ru.rutube.managers.cookie.CookieManager //¡class(instance)_index:303 public class BalancerManager extends Object { //static constructor public static function BalancerManager$cinit() { //MethodID:3320, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 55 BALANCER_LAST_TYPE = "BALANCER_LAST_TYPE"; BALANCER_LAST_TIME = "BALANCER_LAST_TIME"; BALANCER_TYPE_ID = "BALANCER_TYPE_ID"; BALANCER_SAVE_TIME = (1000 * 60 * 60 * 3); _instance = null; } //static variables/etc. private static const BALANCER_LAST_TYPE:String = "BALANCER_LAST_TYPE";//slotID:1 private static const BALANCER_LAST_TIME:String = "BALANCER_LAST_TIME";//slotID:2 private static const BALANCER_TYPE_ID:String = "BALANCER_TYPE_ID";//slotID:3 private static var BALANCER_SAVE_TIME:Number = 0xA4CB80; //slotID:4 private static var _instance:BalancerManager = null; //slotID:5 public static function get instance():BalancerManager { //dispID:3, MethodID:3321, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 47 if(!_instance){ _instance = new BalancerManager(); _instance.init(); BALANCER_SAVE_TIME = (1000 * 60 * 60 * 3); } return _instance; } //constructor public function BalancerManager() { //MethodID:3322, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31 super(); if(_instance) throw new Error("Need use 'instance' method for get instance of class"); _instance = this; } //variables/etc. private var balancers:Dictionary = null; //slotID:0 private function init():void { //MethodID:3323, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 14 this.balancers = new Dictionary(); } public function isBalancerUrl(hug1:String):Boolean { //MethodID:3324, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 26 if(hug1 != null){ if(hug1.indexOf("bl.rutube.ru") >= 0) return true; } return false; } public function getResponder(hug1:int):BalancerResponder { //MethodID:3325, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 227 var hug3:Number = NaN; var hug4:int = 0; var hug5:int = 0; var hug2:BalancerResponder = null; hug2 = (this.balancers[hug1] as BalancerResponder); if(!hug2){ hug2 = new BalancerResponder(hug1); this.balancers[hug1] = hug2; hug3 = 0; hug4 = 0; hug5 = CookieManager.instance.getLocalCookie(BALANCER_TYPE_ID); if(hug5 == hug1){ hug3 = CookieManager.instance.getLocalCookie(BALANCER_LAST_TIME); if(hug3 > 0){ if((new Date().time - hug3) > BALANCER_SAVE_TIME){ CookieManager.instance.setLocalCookie(BALANCER_LAST_TYPE, 0); CookieManager.instance.setLocalCookie(BALANCER_LAST_TIME, 0); CookieManager.instance.setLocalCookie(BALANCER_TYPE_ID, 0); CookieManager.instance.flush(); }else{ hug4 = CookieManager.instance.getLocalCookie(BALANCER_LAST_TYPE); if(BalancerResponder.isTypeAvalible(hug4)) hug2.setType(hug4); } } } } return hug2; } public function removeResponder(hug1:int):BalancerResponder { //MethodID:3326, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 29 var hug2:BalancerResponder = (this.balancers[hug1] as BalancerResponder); delete this.balancers[hug1]; return hug2; } public function saveCurrentBalancerType(hug1:BalancerResponder):void { //MethodID:3327, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 76 if(hug1 != null){ CookieManager.instance.setLocalCookie(BALANCER_LAST_TYPE, hug1.type); CookieManager.instance.setLocalCookie(BALANCER_LAST_TIME, new Date().time); CookieManager.instance.setLocalCookie(BALANCER_TYPE_ID, hug1.id); CookieManager.instance.flush(); } } } } //¡script305¡ package ru.rutube.managers.balancer{ import flash.events.Event //¡class(instance)_index:304 public class BalancerEvent extends Event { //static constructor public static function BalancerEvent$cinit() { //MethodID:3329, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 21 EVENT_BALANCER_COMPLETE = "EVENT_BALANCER_COMPLETE"; EVENT_BALANCER_ERROR = "EVENT_BALANCER_ERROR"; } //static variables/etc. public static const EVENT_BALANCER_COMPLETE:String = "EVENT_BALANCER_COMPLETE";//slotID:1 public static const EVENT_BALANCER_ERROR:String = "EVENT_BALANCER_ERROR";//slotID:2 //constructor public function BalancerEvent(hug1:String, hug2:int=0, hug3:Boolean=false, hug4:Boolean=false) { //MethodID:3330, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15 super(hug1, hug3, hug4); this.sourceId = hug2; } //variables/etc. protected var sourceId:int = 0; //slotID:0 public function get id():int { //MethodID:3331, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 7 return this.sourceId; } override public function clone():Event { //MethodID:3332, LocalCount= 1 , MaxScope= 1, MaxStack= 5, CodeLength= 21 return new BalancerEvent(type, this.sourceId, bubbles, cancelable); } } } //¡script306¡ package ru.rutube.managers.voting{ import flash.events.Event import flash.events.IOErrorEvent import flash.net.URLLoader import flash.net.URLRequest import ru.rutube.event.EventManager import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.configuration.data.VoteData //¡class(instance)_index:305 public class VotingManager extends Object { //static constructor public static function VotingManager$cinit() { //MethodID:3334, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:VotingManager = null; //slotID:1 public static function get instance():VotingManager { //dispID:3, MethodID:3335, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new VotingManager(); return _instance; } //constructor public function VotingManager() { //MethodID:3336, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 43 super(); if(_instance != null) throw new Error("You must use 'instance' method"); _instance = this; this.voteData = new VoteData(); } //variables/etc. private var _voteResponce:VoteResponce = null; //slotID:0 private var voteData:VoteData = null; //slotID:0 public function initVoting(hug1:MetaInfo):void { //MethodID:3337, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 75 if(!hug1) return; this.voteData.voteValue = hug1.votingValue; this.voteData.voteUrl = hug1.urlVotingAction; this.voteData.authUrl = hug1.urlAuthorize; this.voteData.rating = hug1.contentRaiting; this.voteData.ratingCounter = hug1.contentVoteCounter; this.voteData.hideRating = hug1.contentVoteCounterHide; } public function get votinParams():VoteData { //MethodID:3338, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this.voteData.clone(); } public function get voteResponce():VoteResponce { //MethodID:3339, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 26 if(!this._voteResponce) this._voteResponce = new VoteResponce(); return this._voteResponce; } public function vote(hug1:int):Boolean { //MethodID:3340, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 108 if(this.voteData.voteUrl.length < 1) return false; var hug2:String = this.voteData.voteUrl; hug2 += ("&rating=" + ((hug1 > 0) ? "1" : "-1")); var hug3:URLLoader = new URLLoader(); hug3.addEventListener(Event.COMPLETE, this.listenerVoteComplete); hug3.addEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError); hug3.load(new URLRequest(hug2)); return true; } private function listenerVoteComplete(hug1:Event):void { //MethodID:3341, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 83 var hug2:URLLoader = URLLoader(hug1.target); hug2.removeEventListener(Event.COMPLETE, this.listenerVoteComplete); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError); this.voteResponce.parce(hug2.data); hug2 = null; EventManager.instance.dispatchEvent(new Event(VoteEvent.VOTING_SUCCESS)); } private function listenerVoteError(hug1:IOErrorEvent):void { //MethodID:3342, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 66 var hug2:URLLoader = URLLoader(hug1.target); hug2.removeEventListener(Event.COMPLETE, this.listenerVoteComplete); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerVoteError); EventManager.instance.dispatchEvent(new Event(VoteEvent.VOTING_FAILED)); } } } //¡script307¡ package ru.rutube.managers.playback.stream{ import flash.events.Event //¡class(instance)_index:306 public class StreamEvent extends Event { //static constructor public static function StreamEvent$cinit() { //MethodID:3344, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 93 STREAM_START = "STREAM_START"; STREAM_PAUSE = "STREAM_PAUSE"; STREAM_RESUME = "STREAM_RESUME"; STREAM_STOP = "STREAM_STOP"; STREAM_CLOSE = "STREAM_CLOSE"; STREAM_AVALIBLE = "STREAM_AVALIBLE"; STREAM_BANDWIDTH_RECEIVE = "STREAM_BANDWIDTH_RECEIVE"; EVENT_STREAM_NOT_FOUND = "EVENT_STREAM_NOT_FOUND"; CONNECTION_ERROR = "CONNECTION_ERROR"; STREAM_INTERNAL_ERROR = "STREAM_INTERNAL_ERROR"; } //static variables/etc. public static const STREAM_START:String = "STREAM_START"; //slotID:1 public static const STREAM_PAUSE:String = "STREAM_PAUSE"; //slotID:2 public static const STREAM_RESUME:String = "STREAM_RESUME"; //slotID:3 public static const STREAM_STOP:String = "STREAM_STOP"; //slotID:4 public static const STREAM_CLOSE:String = "STREAM_CLOSE"; //slotID:5 public static const STREAM_AVALIBLE:String = "STREAM_AVALIBLE"; //slotID:6 public static const STREAM_BANDWIDTH_RECEIVE:String = "STREAM_BANDWIDTH_RECEIVE";//slotID:7 public static const EVENT_STREAM_NOT_FOUND:String = "EVENT_STREAM_NOT_FOUND";//slotID:8 public static const CONNECTION_ERROR:String = "CONNECTION_ERROR";//slotID:9 public static const STREAM_INTERNAL_ERROR:String = "STREAM_INTERNAL_ERROR";//slotID:10 //constructor public function StreamEvent(hug1:String, hug2:int, hug3:Boolean=false, hug4:Boolean=false) { //MethodID:3345, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 15 super(hug1, hug3, hug4); this.streamId = hug2; } //variables/etc. public var streamId:int = 0; //slotID:0 override public function clone():Event { //MethodID:3346, LocalCount= 2 , MaxScope= 1, MaxStack= 5, CodeLength= 25 var hug1:StreamEvent = new StreamEvent(type, this.streamId, bubbles, cancelable); return hug1; } } } //¡script308¡ package ru.rutube.managers.cookie{ import flash.net.SharedObject //¡class(instance)_index:307 public class CookieManager extends Object { //static constructor public static function CookieManager$cinit() { //MethodID:3348, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:CookieManager = null; //slotID:1 public static function get instance():CookieManager { //dispID:3, MethodID:3349, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new CookieManager(); return _instance; } //constructor public function CookieManager() { //MethodID:3350, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 37 super(); if(_instance != null) throw new Error("You must call instance for get object"); _instance = this; this.init(); } //variables/etc. private var remoteSharedObject:SharedObject = null; //slotID:0 private var localSharedObject:SharedObject = null; //slotID:0 private function init():void { //MethodID:3351, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 17 this.localSharedObject = SharedObject.getLocal("FlvPlayer3"); } public function getLocalCookie(hug1:String):* { //MethodID:3352, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 32 if(this.localSharedObject.data.hasOwnProperty(hug1)) return this.localSharedObject.data[hug1]; return null; } public function setLocalCookie(hug1:String, hug2:*):void { //MethodID:3353, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 15 this.localSharedObject.data[hug1] = hug2; } public function flush():void { //MethodID:3354, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 this.localSharedObject.flush(); } public function get playerVolume():Number { //MethodID:3355, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 132 internal var defaultVolume:Number; //slotID:1 internal var result:Number; //slotID:2 result = NaN; defaultVolume = 0.6; try{ result = Number((this.getLocalCookie(CookieTypes.PLAYER_VOLUME) == null) ? defaultVolume : this.getLocalCookie(CookieTypes.PLAYER_VOLUME)); if((result >= 0) && (result <= 1)) return result; this.playerVolume = defaultVolume; return defaultVolume; } catch(error:Error){ } return defaultVolume; } public function set playerVolume(hug1:Number):void { //MethodID:3356, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 52 internal var value:Number; //slotID:1 value = hug1; try{ this.setLocalCookie(CookieTypes.PLAYER_VOLUME, value); this.flush(); } catch(error:Error){ } } } } //¡script309¡ package ru.rutube.command{ import flash.events.Event //¡class(instance)_index:308 public interface ICommad { //static constructor public static function ICommad$cinit() { //MethodID:3358, LocalCount= 1 , MaxScope= 0, MaxStack= 0, CodeLength= 1 } //variables/etc. function execute(hug1:Event):void; //MethodID:3359, dispID:0 //constructor public function ICommad(); //MethodID:3360, dispID:0 } } //¡script310¡ package ru.rutube.command.commands.streaming{ import flash.events.Event import flash.events.TimerEvent import flash.utils.Timer import ru.rutube.managers.PopUpManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.playback.controller.StreamControllerManager //¡class(instance)_index:309 public class CommandStreamMediaEvents extends Object implements ICommad { //static constructor public static function CommandStreamMediaEvents$cinit() { //MethodID:3362, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStreamMediaEvents() { //MethodID:3363, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3364, LocalCount= 8 , MaxScope= 1, MaxStack= 3, CodeLength= 832 var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent); var hug3:String = null; var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug5:Object = hug2.body; switch(hug2.type){ case StreamControllerEvent.EVENT_MEDIA_ON_EOF: Controller.instance.m_trySwitchCounter++; if((Controller.instance.m_fileArray.length > 1) && (Controller.instance.m_trySwitchCounter <= Controller.instance.m_fileArray.length)){ Controller.instance.m_fileIndex++; if(Controller.instance.m_fileIndex == Controller.instance.m_fileArray.length) Controller.instance.m_fileIndex = 0; hug4.preBalancedUrl = Controller.instance.m_fileArray[Controller.instance.m_fileIndex]; hug4.stop(); Controller.instance.TryLiveSwitch(); }else{ Controller.instance.OnBnStop(); } break; case StreamControllerEvent.EVENT_MEDIA_ON_ERROR: Controller.instance.OnLiveErrorOld(hug5.uid, hug5.msg); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_EOF: if(hug4.isLive){ Controller.instance.OnBnStop(); }else{ hug4.stop(); } break; case StreamControllerEvent.EVENT_MEDIA_RTMS_REDIRECT: break; case StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_AUTH: hug3 = "„D„|„‘ „„‚„€„ƒ„}„€„„„‚„p „~„u„€„q„‡„€„t„y„}„€ „p„r„„„€„‚„y„x„€„r„p„„„„ƒ„‘."; Controller.instance.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_FORBID: hug3 = ("„D„€„ƒ„„„…„ „{ „„„‚„p„~„ƒ„|„‘„ˆ„y„y „x„p„„‚„u„‹„u„~: " + hug5); Controller.instance.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_RETRY_LATTER: Controller.instance.stopMovie(); trace("rtms_retry_latter(" + hug5 + ")"); if(Controller.instance.m_rtmsRetryTimer == null){ Controller.instance.m_rtmsRetryInterval = (Number(hug5) * 1000); Controller.instance.m_rtmsRetryTimer = new Timer(Controller.instance.m_rtmsRetryInterval); Controller.instance.m_rtmsRetryTimer.addEventListener(TimerEvent.TIMER, Controller.instance.onRTMS_RetryTimer); } Controller.instance.m_rtmsRetryTimer.start(); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_NOT_FOUND: hug3 = "„S„‚„p„~„ƒ„|„‘„ˆ„y„‘ „x„p„{„€„~„‰„u„~„p „y„|„y „„‚„u„‚„r„p„~„p."; Controller.instance.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_ERROR: hug3 = ("„O„Š„y„q„{„p: " + hug5); Controller.instance.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3); break; case StreamControllerEvent.EVENT_MEDIA_RTMS_WARNING: hug3 = ("„O„Š„y„q„{„p: " + hug5); Controller.instance.OnBnStop(); PopUpManager.instance.showMessageWindow(RutubeConstants.TEXT_ERROR, hug3); break; default: break; } } } } //¡script311¡ package ru.rutube.command.commands.streaming{ import flash.events.Event import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager //¡class(instance)_index:310 public class CommandStreamDurationChange extends Object implements ICommad { //static constructor public static function CommandStreamDurationChange$cinit() { //MethodID:3366, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStreamDurationChange() { //MethodID:3367, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3368, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 75 var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if((hug2.duration < ConfigurationManager.instance.flashVariablesConfig.bookMarkStartTime) && (hug2.duration > 0)){ ConfigurationManager.instance.flashVariablesConfig.bookMarkStartTime = 0; Controller.instance.initBookmarks(); } } } } //¡script312¡ package Components{ import Components.EndScreen.MenuPanel import flash.display.Graphics import flash.display.Sprite import flash.events.Event import flash.events.EventDispatcher import flash.events.MouseEvent import flash.text.TextField import flash.text.TextFieldAutoSize import flash.text.TextFormat import ru.rutube.event.EventManager import ru.rutube.event.FunctionalPanelEvent //¡class(instance)_index:311 public class FunctionalPanel extends Component { //static constructor public static function FunctionalPanel$cinit() { //MethodID:3370, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 75 DISPLAY_VOTE = 0; DISPLAY_VOTE_PANEL = 1; DISPLAY_BUTTONS = 2; DISPLAY_FULLSCREEN_BUTTON = 3; DISPLAY_SNAPSHOT_BUTTON = 4; DISPLAY_FAVORITE_BUTTON = 5; DISPLAY_MESSAGE_BUTTON = 6; DISPLAY_PLAYLIST_BUTTON = 7; DISPLAY_LOGO_BUTTON = 8; } //static variables/etc. public static const DISPLAY_VOTE:uint = 0; //slotID:1 public static const DISPLAY_VOTE_PANEL:uint = 1; //slotID:2 public static const DISPLAY_BUTTONS:uint = 2; //slotID:3 public static const DISPLAY_FULLSCREEN_BUTTON:uint = 3; //slotID:4 public static const DISPLAY_SNAPSHOT_BUTTON:uint = 4; //slotID:5 public static const DISPLAY_FAVORITE_BUTTON:uint = 5; //slotID:6 public static const DISPLAY_MESSAGE_BUTTON:uint = 6; //slotID:7 public static const DISPLAY_PLAYLIST_BUTTON:uint = 7; //slotID:8 public static const DISPLAY_LOGO_BUTTON:uint = 8; //slotID:9 //constructor public function FunctionalPanel(hug1:EventDispatcher=null):void { //MethodID:3371, LocalCount= 8 , MaxScope= 1, MaxStack= 13, CodeLength= 1055 var hug4:Button = null; var hug5:uint = 0; this.voiceUpButton = new Button(SkinManager.getSkin("VoiceUpButtonSkin")); this.voiceDownButton = new Button(SkinManager.getSkin("VoiceDownButtonSkin")); this.statusVote = new StatusVote(); this.voices = new TextField(); this.snapshotButton = new Button(SkinManager.getSkin("SnapshotButtonSkin")); this.screenButton = new Button(); this.screenText = new TextField(); this.logoButton = new Button(SkinManager.getSkin("LogoFButtonSkin")); this.favoriteButton = new Button(SkinManager.getSkin("FavoriteButtonSkin2")); this.messageButton = new Button(SkinManager.getSkin("MessageButtonSkin2")); this.playlistButton = new Button(SkinManager.getSkin("PlaylistButtonSkin2")); this.showMenuArea = new Sprite(); super(hug1); size(this.WIDTH, this.HEIGHT, false, 240, this.HEIGHT, 0, this.HEIGHT); setSkin(SkinManager.getSkin("FunctionalPanelSkin")); addChild(this.showMenuArea); this.showMenuArea.addEventListener(MouseEvent.ROLL_OVER, this.onShowMenuHandler); var hug2:Number = (this.HEIGHT / 2); this.voiceUpButton.hint = "„s„€„|„€„ƒ \"„x„p\""; addChild(this.voiceUpButton); this.voiceUpButton.params({y:hug2}); this.voiceUpButton.addEventListener(MouseEvent.MOUSE_UP, this.onVote); this.voiceDownButton.hint = "„s„€„|„€„ƒ \"„„‚„€„„„y„r\""; addChild(this.voiceDownButton); this.voiceDownButton.params({x:5, y:hug2}); this.voiceDownButton.addEventListener(MouseEvent.MOUSE_UP, this.onVote); addChild(this.statusVote); this.statusVote.params({y:hug2}); this.voices.selectable = false; this.voices.autoSize = TextFieldAutoSize.LEFT; this.voices.defaultTextFormat = new TextFormat("Arial", 11, 0xC8C8C8); this.voices.text = "0"; addChild(this.voices); this.voices.y = 4; var hug3:Array = []; if(SkinManager.theme == null) this.logoButton.hint = "„„u„‚„u„z„„„y „~„p rutube.ru"; hug3.push(addChild(this.logoButton)); this.logoButton.visible = false; this.logoButton.params({h:this.logoButton.height, y:0.5, yP:true, yM:true, left:false, right:true}); this.snapshotButton.hint = "„…„ƒ„„„p„~„€„r„y„„„ „{„p„t„‚ „{„p„{ „€„q„|„€„w„{„… „‚„€„|„y„{„p"; hug3.push(addChild(this.snapshotButton)); this.snapshotButton.params({h:this.snapshotButton.height, y:0.5, yP:true, yM:true, left:false, right:true}); hug3.push(addChild(this.screenButton)); this.screenText.selectable = false; this.screenText.autoSize = TextFieldAutoSize.LEFT; this.screenText.defaultTextFormat = new TextFormat("_sans", 12, 0xFFFFFF, false, false, true); this.screenButton.addChild(this.screenText); this.screenText.y = -2; this.screenText.text = "„‚„p„x„r„u„‚„~„…„„„"; this.screenButton.onChangeStateFunction = this.onChageStateFullScreenButton; this.screenButton.useModes(true, "default", ["default"]); this.screenButton.params({h:this.screenButton.height, y:0.5, yP:true, yM:true, left:false, right:true}); this.favoriteButton.hint = "„t„€„q„p„r„y„„„ „r „y„x„q„‚„p„~„~„€„u"; hug3.push(addChild(this.favoriteButton)); this.playlistButton.hint = "„t„€„q„p„r„y„„„ „r „„|„u„z„|„y„ƒ„„"; hug3.push(addChild(this.playlistButton)); this.messageButton.hint = "„ƒ„€„€„q„‹„y„„„ „p„t„}„y„~„y„ƒ„„„‚„p„ˆ„y„y"; hug3.push(addChild(this.messageButton)); var hug6:Number = hug2; this.playlistButton.y = hug6; this.messageButton.y = hug6; this.favoriteButton.y = hug6; for each(hug4 in hug3){ hug4.addEventListener(MouseEvent.CLICK, this.onPressButton); } this.allowComponents = new Array(8); hug5 = 0; while(hug5 < this.allowComponents.length){ this.allowComponents[hug5] = true; hug5++; } this.allowComponents[8] = false; this.displayMode([], false, true); } //variables/etc. private var voices:TextField; //slotID:0 private var $menu:MenuPanel = null; //slotID:0 private var statusVote:StatusVote; //slotID:0 private var snapshotButton:Button; //slotID:0 private var messageButton:Button; //slotID:0 private var transparentBackground:Boolean = true; //slotID:0 private var playlistButton:Button; //slotID:0 private const WIDTH:Number = 400.0; //slotID:0 private const HEIGHT:uint = 25; //slotID:0 private var showMenuArea:Sprite; //slotID:0 public var lockMenu:Boolean = false; //slotID:0 private var screenText:TextField; //slotID:0 private var logoButton:Button; //slotID:0 private var screenButton:Button; //slotID:0 private var allowComponents:Array; //slotID:0 private var voiceDownButton:Button; //slotID:0 private var _forbidShow:Boolean = false; //slotID:0 private var favoriteButton:Button; //slotID:0 private var voiceUpButton:Button; //slotID:0 public function forbidShow():void { //MethodID:3372, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 13 this.visible = false; this._forbidShow = true; } override public function set visible(hug1:Boolean):void { //MethodID:3373, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 17 if(this._forbidShow) return; super.visible = hug1; } public function showFullScreenOption(hug1:Boolean):void { //MethodID:3374, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 11 this.screenText.visible = hug1; } public function displayMode(hug1:Array, hug2:*, hug3:Boolean=false):void { //MethodID:3375, LocalCount= 8 , MaxScope= 1, MaxStack= 6, CodeLength= 656 var hug4:Boolean = false; if(!hug1){ hug1 = []; }else if(!hug1.length){ hug1.push(DISPLAY_VOTE_PANEL, DISPLAY_BUTTONS); } var hug5:uint = 0; while(hug5 < hug1.length){ hug4 = ((hug2 is Array) ? hug2[hug5] : hug2); var hug7:Array = hug1[hug5]; switch(hug7){ case DISPLAY_VOTE: var hug7:Boolean = hug4; this.voiceDownButton.visible = hug7; this.voiceUpButton.visible = hug7; break; case DISPLAY_VOTE_PANEL: var hug7:Boolean = hug4; this.voices.visible = hug7; this.statusVote.visible = hug7; this.voiceDownButton.visible = hug7; this.voiceUpButton.visible = hug7; break; case DISPLAY_BUTTONS: var hug7:Boolean = hug4; this.snapshotButton.visible = hug7; this.screenButton.visible = hug7; break; case DISPLAY_FULLSCREEN_BUTTON: this.screenButton.visible = hug4; break; case DISPLAY_SNAPSHOT_BUTTON: this.snapshotButton.visible = hug4; break; case DISPLAY_FAVORITE_BUTTON: this.favoriteButton.visible = hug4; break; case DISPLAY_MESSAGE_BUTTON: this.messageButton.visible = hug4; break; case DISPLAY_PLAYLIST_BUTTON: this.playlistButton.visible = hug4; break; case DISPLAY_LOGO_BUTTON: this.logoButton.visible = hug4; break; default: break; } this.allowComponents[hug1[hug5]] = hug4; hug5++; } var hug6:Boolean = (this.allowComponents[DISPLAY_VOTE_PANEL] && !this.allowComponents[DISPLAY_VOTE]); this.statusVote.params({x:(hug6 ? 5 : 26)}, false, true, false, false); this.statusVote.onResize(null, _width, _height); this.voices.x = (this.statusVote.x + this.statusVote.width + 5); this.voiceUpButton.x = (this.voices.x + this.voices.width + 5); this.updateLayoutRightButton(); if(!hug3){ onPaint(); }else{ this.updateLayoutMenuButtons(); } } private function updateLayoutRightButton():void { //MethodID:3376, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 91 var hug1:Number = (this.WIDTH - this.screenButton.width - 5); this.screenButton.params({x:hug1, yP:true}, false, true, false, false); hug1 -= 26; this.snapshotButton.params({x:hug1, yP:true}, false, true, false, false); this.logoButton.params({x:(hug1 - 26)}, false, true, false, false); } private function onShowMenuHandler(hug1:MouseEvent):void { //MethodID:3377, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 23 EventManager.instance.dispatchEvent(new Event(FunctionalPanelEvent.EVENT_MENU)); } private function updateLayoutMenuButtons():void { //MethodID:3378, LocalCount= 6 , MaxScope= 1, MaxStack= 3, CodeLength= 180 var hug3:Button = null; var hug1:Number = (10 + ((this.allowComponents[DISPLAY_VOTE_PANEL] && this.voices.visible) ? (this.voices.x + this.voices.width) : 0)); hug1 = (this.voiceUpButton.visible ? (this.voiceUpButton.x + this.voiceUpButton.width + 10) : hug1); var hug2:Array = [this.favoriteButton, this.playlistButton, this.messageButton]; for each(hug3 in hug2){ if(hug3.visible){ hug3.x = hug1; hug1 += 26; } } this.showMenuArea.x = hug1; } public function displayModeButton(hug1:uint, hug2:String):void { //MethodID:3379, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 95 var hug3:uint = hug1; switch(hug3){ case DISPLAY_FULLSCREEN_BUTTON: this.screenText.text = ((hug2 == "0") ? "„‚„p„x„r„u„‚„~„…„„„" : "„ƒ„r„u„‚„~„…„„„"); this.updateLayoutRightButton(); onPaint(); break; default: break; } } public function set background(hug1:Boolean):void { //MethodID:3380, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 this.transparentBackground = !hug1; onPaint(); } public function paramVote(hug1:Number, hug2:uint):void { //MethodID:3381, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 43 this.statusVote.status = hug1; this.voices.text = ((hug2 > 0x98967F) ? "9999999+" : hug2.toString()); this.updateLayoutMenuButtons(); } private function onPressButton(hug1:MouseEvent):void { //MethodID:3382, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 217 var hug2:String = FunctionalPanelEvent.EVENT_FULLSCREEN; switch(hug1.currentTarget){ case this.snapshotButton: hug2 = FunctionalPanelEvent.EVENT_SNAPSHOT; break; case this.favoriteButton: hug2 = FunctionalPanelEvent.EVENT_FAVORITES; break; case this.playlistButton: hug2 = FunctionalPanelEvent.EVENT_PLAYLIST; break; case this.messageButton: hug2 = FunctionalPanelEvent.EVENT_MESSAGE; break; case this.logoButton: hug2 = FunctionalPanelEvent.EVENT_LOGO; break; default: break; } EventManager.instance.dispatchEvent(new Event(hug2)); } private function onVote(hug1:MouseEvent):void { //MethodID:3383, LocalCount= 3 , MaxScope= 1, MaxStack= 6, CodeLength= 92 EventManager.instance.dispatchEvent(new ParamEvent(FunctionalPanelEvent.EVENT_VOTE, {value:((hug1.currentTarget == this.voiceUpButton) ? 1 : (-1))})); var hug2:Number = Number(this.voices.text); if(!isNaN(hug2)) hug2++; this.voices.text = hug2.toString(); } private function onChageStateFullScreenButton(hug1:String):void { //MethodID:3384, LocalCount= 4 , MaxScope= 1, MaxStack= 2, CodeLength= 110 var hug2:uint = 0; var hug3:String = hug1; switch(hug3){ case Button.STATE_OVER: hug2 = 0xAFFE9A; break; case Button.STATE_DOWN: hug2 = 0x62DC2C; break; default: hug2 = 0xC8C8C8; break; } this.screenText.textColor = hug2; } override protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:3385, LocalCount= 5 , MaxScope= 1, MaxStack= 5, CodeLength= 297 if(skin){ skin.width = hug1; skin.height = hug2; }else{ graphics.clear(); if(this.transparentBackground){ graphics.beginFill(0, 0.5); }else{ graphics.beginFill(0x303132); } graphics.drawRect(0, 0, hug1, hug2); } if(this.allowComponents[DISPLAY_VOTE_PANEL]){ var hug4:Boolean = (hug1 > 370); this.voices.visible = hug4; this.statusVote.visible = hug4; if(this.allowComponents[DISPLAY_VOTE]){ this.voiceDownButton.visible = this.statusVote.visible; this.voiceUpButton.visible = this.statusVote.visible; } } this.updateLayoutMenuButtons(); this.logoButton.onResize(); if(this.snapshotButton.visible) this.snapshotButton.onResize(null, hug1, hug2); if(this.screenButton.visible) this.screenButton.onResize(null, hug1, hug2); var hug3:Graphics = this.showMenuArea.graphics; hug3.clear(); hug3.beginFill(0xFF00, 0); hug3.drawRect(0, 0, ((this.logoButton.x - this.showMenuArea.x) + (this.logoButton.visible ? 0 : this.logoButton.width) - 2), hug2); } } } //¡script313¡ package ru.rutube.command.commands.ui{ import Components.Player import flash.events.Event import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.GoogleEvent import ru.rutube.managers.advertisement.AdvertisementControllerManager import ru.rutube.managers.advertisement.AdvertisementManager import ru.rutube.managers.advertisement.AdvertisementType import ru.rutube.managers.advertisement.model.Advertisement import ru.rutube.managers.advertisement.visual.controller.AdvertisementController import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants import ru.rutube.states.PlayerState //¡class(instance)_index:312 public class CommandUIPause extends Object implements ICommad { //static constructor public static function CommandUIPause$cinit() { //MethodID:3387, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUIPause() { //MethodID:3388, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3389, LocalCount= 8 , MaxScope= 1, MaxStack= 7, CodeLength= 260 var hug6:Advertisement = null; var hug7:AdvertisementController = null; var hug2:Boolean = false; var hug3:MetaInfo = ConfigurationManager.instance.metaInfo; var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); Controller.instance.pauseMovie(); if(Controller.instance.currentState == PlayerState.STATE_PREVIEW) return; Controller.instance.switchState(PlayerState.STATE_PAUSED); var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug2 = (hug1.type == ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT); if(hug3.pauseView.isInitialized && hug4.setAdViewMode(true, true) && !hug2){ hug6 = AdvertisementManager.instance.getAdvertisement(AdvertisementType.AD_PAUSE); hug7 = AdvertisementControllerManager.instance.getControllerByModel(hug6); hug7.show(); }else{ hug4.setAdViewMode(false, false); } if(!hug2) EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_PAUSE_USER, hug5.time.toString(), hug3.category)); } } } //¡script314¡ package ru.rutube.managers.advertisement.event{ import flash.events.Event //¡class(instance)_index:313 public class AdvertisementControllerEvent extends Event { //static constructor public static function AdvertisementControllerEvent$cinit() { //MethodID:3391, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 156 ADV_CONTROLLER_SHOW = "ADV_CONTROLLER_SHOW"; ADV_CONTROLLER_HIDE = "ADV_CONTROLLER_HIDE"; ADV_CONTROLLER_CLOSE = "ADV_CONTROLLER_CLOSE"; ADV_CONTROLLER_FINISH = "ADV_CONTROLLER_FINISH"; ADV_CONTROLLER_ERROR = "ADV_CONTROLLER_ERROR"; ADV_CONTROLLER_CLICK = "ADV_CONTROLLER_CLICK"; ADV_CONTROLLER_PAUSE = "ADV_CONTROLLER_PAUSE"; EVENT_SHOW_FLVBANNER = "EVENT_SHOW_FLVBANNER"; EVENT_SHOW_BANNER = "EVENT_SHOW_BANNER"; ADV_CONTEXT_HIDE = "ADV_CONTEXT_ERROR"; ADV_CONTEXT_ERROR = "ADV_CONTEXT_ERROR"; ADV_CONTEXT_CLICK = "ADV_CONTEXT_CLICK"; ADV_CONTEXT_LOADEDR = "ADV_CONTEXT_LOADEDR"; ADV_CONTEXT_NONE = "ADV_CONTEXT_NONE"; ADV_OVERLAY_NONE = "ADV_OVERLAY_NONE"; ADV_OVERLAY_ERROR = "ADV_OVERLAY_ERROR"; ADV_OVERLAY_LINK = "ADV_OVERLAY_LINK"; } //static variables/etc. public static const ADV_CONTROLLER_SHOW:String = "ADV_CONTROLLER_SHOW";//slotID:1 public static const ADV_CONTROLLER_HIDE:String = "ADV_CONTROLLER_HIDE";//slotID:2 public static const ADV_CONTROLLER_CLOSE:String = "ADV_CONTROLLER_CLOSE";//slotID:3 public static const ADV_CONTROLLER_FINISH:String = "ADV_CONTROLLER_FINISH";//slotID:4 public static const ADV_CONTROLLER_ERROR:String = "ADV_CONTROLLER_ERROR";//slotID:5 public static const ADV_CONTROLLER_CLICK:String = "ADV_CONTROLLER_CLICK";//slotID:6 public static const ADV_CONTROLLER_PAUSE:String = "ADV_CONTROLLER_PAUSE";//slotID:7 public static const EVENT_SHOW_FLVBANNER:String = "EVENT_SHOW_FLVBANNER";//slotID:8 public static const EVENT_SHOW_BANNER:String = "EVENT_SHOW_BANNER";//slotID:9 public static const ADV_CONTEXT_HIDE:String = "ADV_CONTEXT_ERROR";//slotID:10 public static const ADV_CONTEXT_ERROR:String = "ADV_CONTEXT_ERROR";//slotID:11 public static const ADV_CONTEXT_CLICK:String = "ADV_CONTEXT_CLICK";//slotID:12 public static const ADV_CONTEXT_LOADEDR:String = "ADV_CONTEXT_LOADEDR";//slotID:13 public static const ADV_CONTEXT_NONE:String = "ADV_CONTEXT_NONE";//slotID:14 public static const ADV_OVERLAY_NONE:String = "ADV_OVERLAY_NONE";//slotID:15 public static const ADV_OVERLAY_ERROR:String = "ADV_OVERLAY_ERROR";//slotID:16 public static const ADV_OVERLAY_LINK:String = "ADV_OVERLAY_LINK";//slotID:17 //constructor public function AdvertisementControllerEvent(hug1:String, hug2:Boolean=false, hug3:Boolean=false) { //MethodID:3392, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 9 super(hug1, hug2, hug3); } } } //¡script315¡ package ru.rutube.command.commands.advertisement.overlay{ import flash.events.Event import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.states.PlayerState //¡class(instance)_index:314 public class CommandAdvertisementOverlayClick extends Object implements ICommad { //static constructor public static function CommandAdvertisementOverlayClick$cinit() { //MethodID:3394, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandAdvertisementOverlayClick() { //MethodID:3395, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3396, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 40 var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); hug2.pause(); Controller.instance.switchState(PlayerState.STATE_PAUSED); } } } //¡script316¡ package Data{ import Components.EndScreen.Frame import flash.display.Bitmap import flash.display.BitmapData import flash.display.Loader import flash.events.Event import flash.events.IOErrorEvent import flash.net.URLRequest import flash.system.LoaderContext //¡class(instance)_index:315 public class TSearchItem extends Object { //static constructor public static function TSearchItem$cinit() { //MethodID:3398, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public var hits:uint = 0; //slotID:0 public var preview:String = ""; //slotID:0 public var name:String = ""; //slotID:0 public var author:String = ""; //slotID:0 private var loader:Loader = null; //slotID:0 public var duration:uint = 0; //slotID:0 public var timeInfo:String = ""; //slotID:0 public var rating:Number = 0.0; //slotID:0 public var page_link:String = ""; //slotID:0 private var frame:Frame = null; //slotID:0 public var date:String = ""; //slotID:0 public var comments:uint = 0; //slotID:0 public var view_count:int = 0; //slotID:0 public var description:String = ""; //slotID:0 public function init():void { //MethodID:3399, LocalCount= 3 , MaxScope= 5, MaxStack= 4, CodeLength= 198 this.clear(); this.rating /= 1000; if(!isNaN(this.duration) && (this.duration > 0)) this.timeInfo = Controller.getTimeInfo(this.duration); if(this.preview.length == 0) return; if(!this.loader){ this.loader = new Loader(); this.loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onCompleteHandler); this.loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, trace); } try{ this.loader.load(new URLRequest(this.preview), new LoaderContext(true)); } catch(error:SecurityError){ trace("TSearchItem.init:", error); } } public function clear():void { //MethodID:3400, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 24 if(this.loader) this.loader.unload(); this.frame = null; } public function assignFrame(hug1:Frame):void { //MethodID:3401, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 65 this.frame = hug1; if(hug1) hug1.bitmapData = ((this.loader && this.loader.content) ? (this.loader.content as Bitmap).bitmapData : null); } private function onCompleteHandler(hug1:Event):void { //MethodID:3402, LocalCount= 4 , MaxScope= 5, MaxStack= 3, CodeLength= 126 internal var event:Event; //slotID:1 internal var loader:Loader; //slotID:2 event = hug1; loader = Loader(event.target.loader); try{ if(loader.content is Bitmap){ if(this.frame) this.frame.bitmapData = (loader.content as Bitmap).bitmapData; }else{ loader.unload(); } } catch(error:SecurityError){ trace("TSearchItem.onCompleteHandler:", error); } } //constructor public function TSearchItem() { //MethodID:3403, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script317¡ package ru.rutube.command.commands.voting{ import Components.Player import flash.events.Event import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.voting.VoteResponce import ru.rutube.managers.voting.VotingManager //¡class(instance)_index:316 public class CommandVotingSuccess extends Object implements ICommad { //static constructor public static function CommandVotingSuccess$cinit() { //MethodID:3405, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandVotingSuccess() { //MethodID:3406, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3407, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 100 var hug3:Player = null; var hug2:VoteResponce = VotingManager.instance.voteResponce; if(hug2.isError){ Player.alert(hug2.errorMessage); }else{ hug3 = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug3.getFunctional().paramVote((hug2.ratingValue / 5), hug2.ratingPerson); Player.alert(RutubeConstants.TEXT_VOTING_SUCCESS); } } } } //¡script318¡ package ru.rutube.command.commands.streaming{ import Components.LockPanel import flash.events.Event import flash.geom.Rectangle import ru.rutube.event.EventManager import ru.rutube.managers.balancer.BalancerEvent import ru.rutube.managers.balancer.BalancerManager import ru.rutube.managers.balancer.BalancerResponder import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.reporter.Reporter import ru.rutube.states.PlayerState //¡class(instance)_index:317 public class CommandStreamError extends Object implements ICommad { //static constructor public static function CommandStreamError$cinit() { //MethodID:3409, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStreamError() { //MethodID:3410, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3411, LocalCount= 6 , MaxScope= 1, MaxStack= 11, CodeLength= 344 var hug3:LockPanel = null; var hug4:Rectangle = null; var hug5:BalancerResponder = null; var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent); if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return; if(hug2.body == 16){ Controller.instance.m_AdPostViewLocked = true; Controller.instance.OnBnStop(); hug3 = null; hug3 = new LockPanel("„^„„„€„„ „‚„€„|„y„{ „…„t„p„|„u„~.\n„P„€„ƒ„}„€„„„‚„y„„„u „t„‚„…„s„y„u „‚„€„|„y„{„y „~„p „ƒ„p„z„„„u Rutube.ru.", true); Reporter.instance.failReport(ConfigurationManager.instance.flashVariablesConfig.getHash(), ConfigurationManager.instance.flashVariablesConfig.referrer, Reporter.REPORT_FAIL_VIDEO_DELETED); ContentManager.instance.setContentById(ContentIds.LOCK_PANEL, hug3); ContentManager.instance.addContent(ContentIds.LOCK_PANEL); hug4 = RutubePlayer.instance.getPlayerRectangle(); hug3.params({w:hug4.width, h:hug4.height, right:true, bottom:true, stage:true}); Controller.instance.switchState(PlayerState.STATE_NOT_AVALIBLE); }else if((hug2.body == 14) || (hug2.body == 13)){ hug5 = BalancerManager.instance.getResponder(BalancerResponder.BALANCER_MAIN); if(!hug5.isLastType()){ if(hug5.nextBalancerRequest()){ BalancerManager.instance.saveCurrentBalancerType(hug5); if(hug5.isReceivedGoodPath) EventManager.instance.dispatchEvent(new BalancerEvent(BalancerEvent.EVENT_BALANCER_COMPLETE, hug5.id)); return; } } Controller.instance.OnBnStop(); } } } } //¡script319¡ package ru.rutube.managers.configuration.data{ //¡class(instance)_index:318 public class VoteData extends Object { //static constructor public static function VoteData$cinit() { //MethodID:3413, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public var voteUrl:String = ""; //slotID:0 public var voteValue:Number = -1.0; //slotID:0 public var authUrl:String = ""; //slotID:0 public var ratingCounter:Number = 0.0; //slotID:0 public var rating:Number = -1.0; //slotID:0 public var hideRating:Boolean = false; //slotID:0 public function get isVoteAvalible():Boolean { //MethodID:3414, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 23 return ((this.voteValue >= 0) && (this.rating >= 0)); } public function clone():VoteData { //MethodID:3415, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 63 var hug1:VoteData = new VoteData(); hug1.voteValue = this.voteValue; hug1.voteUrl = this.voteUrl; hug1.authUrl = this.authUrl; hug1.rating = this.rating; hug1.ratingCounter = this.ratingCounter; hug1.hideRating = this.hideRating; return hug1; } //constructor public function VoteData() { //MethodID:3416, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script320¡ package ru.rutube.managers{ import Components.Window.MessageWindow import flash.events.Event import flash.geom.Rectangle import ru.rutube.event.EventManager import ru.rutube.event.InternalEvent //¡class(instance)_index:319 public class PopUpManager extends Object { //static constructor public static function PopUpManager$cinit() { //MethodID:3418, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 _instance = null; } //static variables/etc. private static var _instance:PopUpManager = null; //slotID:1 public static function get instance():PopUpManager { //dispID:3, MethodID:3419, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 29 if(!_instance){ _instance = new PopUpManager(); _instance.init(); } return _instance; } //constructor public function PopUpManager() { //MethodID:3420, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 32 super(); if(_instance != null) throw new Error("use static getter method \"instance\" for receive typed object"); _instance = this; } //variables/etc. private var messageWindow:MessageWindow = null; //slotID:0 public function showMessageWindow(hug1:String, hug2:String, hug3:Boolean=false):void { //MethodID:3421, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 103 this.getDialogWindow(); RutubePlayer.instance.getContainer().addChild(this.messageWindow); this.messageWindow.show(hug1, hug2, hug3); this.messageWindow.onResize(); var hug4:Rectangle = RutubePlayer.instance.getStageBounds(); this.messageWindow.x = ((hug4.width - this.messageWindow.width) / 2); this.messageWindow.y = ((hug4.height - this.messageWindow.height) / 2); } public function hideMessageWindow():void { //MethodID:3422, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.releaseDialogWindow(); } private function init():void { //MethodID:3423, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 21 EventManager.instance.addEventListener(InternalEvent.STAGE, this.listenerStageResize); } private function getDialogWindow():MessageWindow { //MethodID:3424, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 52 if(this.messageWindow != null) this.releaseDialogWindow(); this.messageWindow = new MessageWindow("Dialog"); this.messageWindow.addEventListener(Event.CLOSE, this.listenerCloseMessageWindow); return this.messageWindow; } private function releaseDialogWindow():void { //MethodID:3425, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 81 if(this.messageWindow == null) return; this.messageWindow.visible = false; if(RutubePlayer.instance.getContainer().contains(this.messageWindow)) RutubePlayer.instance.getContainer().removeChild(this.messageWindow); this.messageWindow.removeEventListener(Event.CLOSE, this.listenerCloseMessageWindow); this.messageWindow = null; } private function listenerStageResize(hug1:InternalEvent):void { //MethodID:3426, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 34 if(hug1.eventType != Event.RESIZE) return; if(this.messageWindow != null) this.messageWindow.onResize(); } private function listenerCloseMessageWindow(hug1:Event):void { //MethodID:3427, LocalCount= 2 , MaxScope= 1, MaxStack= 1, CodeLength= 8 this.releaseDialogWindow(); } } } //¡script321¡ package ru.rutube.command.commands.ui{ import Components.Player import flash.display.Bitmap import flash.display.BitmapData import flash.display.StageDisplayState import flash.events.Event import flash.geom.Matrix import flash.geom.Rectangle import ru.rutube.event.FunctionalPanelEvent import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.states.PlayerState //¡class(instance)_index:320 public class CommandUIVideoModify extends Object implements ICommad { //static constructor public static function CommandUIVideoModify$cinit() { //MethodID:3429, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public function execute(hug1:Event):void { //MethodID:3430, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 525 internal var event:Event; //slotID:1 internal var streamController:StreamController; //slotID:2 internal var flvplayer:Player; //slotID:3 internal var snapshot:BitmapData; //slotID:4 internal var m1:Matrix; //slotID:5 snapshot = null; m1 = null; event = hug1; trace("OnVideoModify : " + event.type); streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); switch(event.type){ case FunctionalPanelEvent.EVENT_FULLSCREEN: flvplayer.stage.fullScreenSourceRect = new Rectangle(0, 0, flvplayer.stage.fullScreenWidth, flvplayer.stage.fullScreenHeight); try{ flvplayer.stage.displayState = ((flvplayer.stage.displayState == StageDisplayState.FULL_SCREEN) ? StageDisplayState.NORMAL : StageDisplayState.FULL_SCREEN); } catch(error:SecurityError){ trace("Controller.OnVideoModify:", error); } break; case FunctionalPanelEvent.EVENT_SNAPSHOT: if(!streamController.session){ Player.alert(RutubeConstants.TEXT_FRAME_NOT_SELECTED); return; } Controller.instance.m_prevSnapshotState = Controller.instance.currentState; Controller.instance.pauseMovie(); Controller.instance.switchState(PlayerState.STATE_PAUSED); snapshot = new BitmapData(streamController.videoContainer.width, streamController.videoContainer.height, false, 0); m1 = new Matrix(); m1.translate(-streamController.videoContainer.x, -streamController.videoContainer.y); snapshot.draw(flvplayer.mediaContainer, m1); flvplayer.getSnapshotWindow().setUploadUrl(Controller.instance.metaInfo.urlSnapShotMakerService); flvplayer.getSnapshotWindow().setImage(new Bitmap(snapshot)); flvplayer.getSnapshotWindow().visible = true; break; default: break; } } //constructor public function CommandUIVideoModify() { //MethodID:3431, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script322¡ package Components.EndScreen{ import Components.Component import Components.SkinManager import fl.transitions.Tween import fl.transitions.TweenEvent import fl.transitions.easing.Strong import flash.display.GradientType import flash.display.Shape import flash.events.EventDispatcher import flash.geom.Matrix import ru.rutube.managers.configuration.data.MetaInfo //¡class(instance)_index:321 public class EndScreen2 extends Component { //static constructor public static function EndScreen2$cinit() { //MethodID:3433, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 19 EVENT_REPEAT = "repeat"; backgroundStyle = null; } //static variables/etc. public static const EVENT_REPEAT:String = "repeat"; //slotID:1 public static var backgroundStyle:Object = null; //slotID:2 //constructor public function EndScreen2(hug1:Navigator, hug2:Component, hug3:EventDispatcher=null):void { //MethodID:3434, LocalCount= 4 , MaxScope= 1, MaxStack= 9, CodeLength= 156 this.background = new Shape(); this.fadeOutPanel = new Shape(); super(hug3); size(200, 200); if(backgroundStyle == null) backgroundStyle = SkinManager.getStyle("endscreenBackground", null); addChild(this.fadeOutPanel); addChild(this.background); this.navigator = hug1; this.contextAdvertising = hug2; this.fadeOutTween = new Tween(this.fadeOutPanel, "alpha", Strong.easeOut, 0, 0.5, 0.3, true); this.fadeOutTween.stop(); this.fadeOutTween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishFadeOutTweenHandler); } //variables/etc. private var fadeOutTween:Tween = null; //slotID:0 private var $topPadding:Number = 0.0; //slotID:0 private var background:Shape; //slotID:0 private var contextAdvertising:Component = null; //slotID:0 private var navigator:Navigator = null; //slotID:0 private var fadeOutPanel:Shape; //slotID:0 public var es:* = null; //slotID:0 public function set topPadding(hug1:Number):void { //MethodID:3435, LocalCount= 2 , MaxScope= 1, MaxStack= 6, CodeLength= 66 if(this.$topPadding == hug1) return; this.$topPadding = hug1; if(this.es != null){ this.es.params({y:this.$topPadding, h:(baseHeight - this.$topPadding)}, true, true, false, false); onPaint(); } } public function setContextAdvertising(hug1:Component):void { //MethodID:3436, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.contextAdvertising = hug1; } public function createES(hug1:Boolean=false):void { //MethodID:3437, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 103 if(this.es != null) return; if(!hug1){ this.es = new DefaultES(dispatcher); }else{ this.es = new EmbedES(dispatcher); } addChild(this.es); this.es.params({y:this.$topPadding, w:baseWidth, h:(baseHeight - this.$topPadding), right:true, bottom:true}); } public function setBanner(hug1:Object):void { //MethodID:3438, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 87 if(this.es == null) return; if(DefaultES.bannerFrame == null) DefaultES.bannerFrame = DefaultES.createBanner(this.es.getContainer()); DefaultES.urlBannerClick = hug1.urlClick; DefaultES.report = hug1.report; DefaultES.bannerFrame.load(hug1.urlThumbnail); this.es.onPaint(); } public function setData(hug1:MetaInfo):void { //MethodID:3439, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 21 if(this.es != null) this.es.setData(hug1); } override public function set visible(hug1:Boolean):void { //MethodID:3440, LocalCount= 2 , MaxScope= 1, MaxStack= 11, CodeLength= 197 super.visible = hug1; if(hug1){ this.background.visible = false; this.fadeOutPanel.visible = true; this.navigator.params({w:_width, bottom:false, top:false, wContainer:_width, hContainer:_height}); if(this.contextAdvertising != null) this.contextAdvertising.params({w:_width, y:(_height - this.contextAdvertising._height), wContainer:_width, hContainer:_height}, true, true, false, true); this.navigator.rawVisible = false; if(this.es != null) this.es.visible = false; this.fadeOutPanel.graphics.clear(); this.fadeOutPanel.graphics.beginFill(0); this.fadeOutPanel.graphics.drawRect(0, 0, _width, _height); this.fadeOutTween.start(); } } private function onFinishFadeOutTweenHandler(hug1:TweenEvent=null):void { //MethodID:3441, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 51 this.fadeOutPanel.visible = false; this.background.visible = true; if(this.es != null) this.es.visible = true; this.navigator.visible = true; onPaint(); } override protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:3442, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 341 var hug5:Matrix = null; if(!visible) return; this.background.graphics.clear(); if(backgroundStyle == null){ hug5 = new Matrix(); hug5.createGradientBox(hug1, hug2, (-Math.PI / 2)); this.background.graphics.beginGradientFill(GradientType.LINEAR, [0x5C5E5F, 0x323334], [1, 1], [0, 255], hug5); }else{ this.background.graphics.beginFill(backgroundStyle.color); } this.background.graphics.drawRect(0, 0, hug1, hug2); var hug3:Number = this.navigator._height; var hug4:Number = (this.$topPadding + ((this.es != null) ? this.es.getNavY() : 5)); if(this.contextAdvertising != null){ if(this.contextAdvertising.parent == this) this.contextAdvertising.onResize(); } if(this.navigator.parent == this){ this.navigator.rawVisible = (this.navigator.visible && (hug2 >= (hug4 + hug3 - 10))); this.navigator.onResize(); if(this.navigator.rawVisible) this.navigator.y = Math.round(((this.contextAdvertising != null) && this.contextAdvertising.visible) ? hug4 : (hug2 - hug3 - 7)); } if(this.es != null) this.es.onResize(); } } } //¡script323¡ package ru.rutube.managers.statistic.comscore{ import flash.events.Event import flash.events.IOErrorEvent import flash.events.SecurityErrorEvent import flash.external.ExternalInterface import flash.net.URLLoader import flash.net.URLRequest import ru.rutube.managers.configuration.data.MetaInfo //¡class(instance)_index:322 public class ComScoreStatistic extends Object { //static constructor public static function ComScoreStatistic$cinit() { //MethodID:3444, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 53 CONTENT = 1; ADVERTISEMENT = 2; COMSCORE_ADVERTISING_PRE = "09"; COMSCORE_ADVERTISING_POST = "10"; COMSCORE_ADVERTISING_MID = "11"; _instance = null; } //static variables/etc. public static const CONTENT:int = 1; //slotID:1 public static const ADVERTISEMENT:int = 2; //slotID:2 public static const COMSCORE_ADVERTISING_PRE:String = 09; //slotID:3 public static const COMSCORE_ADVERTISING_POST:String = 10; //slotID:4 public static const COMSCORE_ADVERTISING_MID:String = 11; //slotID:5 private static var _instance:ComScoreStatistic = null; //slotID:6 public static function get instance():ComScoreStatistic { //dispID:3, MethodID:3445, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 22 if(!_instance) _instance = new ComScoreStatistic(); return _instance; } //constructor public function ComScoreStatistic() { //MethodID:3446, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 31 super(); if(_instance) throw new Error("Need use static method 'instance' !"); _instance = this; } //variables/etc. protected const COMSCORE_CLIENT_ID:String = 7056608; //slotID:0 protected const COMSCORE_CONTENT_NAME_ART:String = 2400; //slotID:0 protected const COMSCORE_CONTENT_NAME_CARTOONS:String = 2900; //slotID:0 protected const COMSCORE_CONTENT_NAME_NEWS:String = 1900; //slotID:0 protected const COMSCORE_CONTENT_NAME_SPORT:String = 3100; //slotID:0 protected const COMSCORE_CONTENT_NAME_EROTICA:String = 2600; //slotID:0 protected const COMSCORE_CONTENT_TYPE_LONG_FILM:String = 03; //slotID:0 protected const COMSCORE_CONTENT_OWNER:String = 1107; //slotID:0 protected const COMSCORE_CONTENT_NAME_FAMILY:String = 3400; //slotID:0 protected const COMSCORE_VERSION:String = 2.0; //slotID:0 protected const COMSCORE_CONTENT_NAME_OTHERCATEGORY:String = 2700;//slotID:0 protected const COMSCORE_CONTENT_TYPE_SHORT_FILM:String = 02; //slotID:0 protected const COMSCORE_CONTENT_NAME_TIN:String = 1800; //slotID:0 protected const COMSCORE_CONTENT_NAME_UMOR:String = 3300; //slotID:0 protected const COMSCORE_HTTPS:String = "https://s"; //slotID:0 protected const COMSCORE_URL:String = "b.scorecardresearch.com/p";//slotID:0 protected const COMSCORE_CONTENT_NAME_MUSIC:String = 3000; //slotID:0 protected const COMSCORE_CONTENT_NAME_TV:String = 3200; //slotID:0 protected const COMSCORE_CONTENT_NAME_TECHNOLOGY:String = 2500; //slotID:0 private var metaInfo:MetaInfo = null; //slotID:0 protected const COMSCORE_HTTP:String = "http://"; //slotID:0 protected const COMSCORE_CONTENT_NAME_EVENTS:String = 2000; //slotID:0 protected const COMSCORE_CONTENT_NAME_TRAVEL:String = 2300; //slotID:0 protected const COMSCORE_CONTENT_TYPE_AD:String = 11; //slotID:0 private var _loaderUrl:String = ""; //slotID:0 protected const COMSCORE_CONTENT_NAME_UNNAMED:String = 1700; //slotID:0 protected const COMSCORE_CONTENT_NAME_GAMES:String = 2100; //slotID:0 protected const COMSCORE_CONTENT_NAME_NATURE:String = 2200; //slotID:0 private var isHttps:Boolean = false; //slotID:0 protected const COMSCORE_CONTENT_NAME_AUTO:String = 2800; //slotID:0 private var _referrer:String = ""; //slotID:0 public function set referrer(hug1:String):void { //MethodID:3447, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 22 this._referrer = hug1; if(!this._referrer) this._referrer = ""; } public function get referrer():String { //MethodID:3448, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 11 return this._referrer.concat(); } public function setLoaderUrl(hug1:String):void { //MethodID:3449, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 44 if((hug1 != null) && (hug1.length > 0)){ this.isHttps = (hug1.indexOf("https") > (-1)); this._loaderUrl = hug1; } } public function get isFilled():Boolean { //MethodID:3450, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 4 return false; } public function initStatisticRecord(hug1:MetaInfo):void { //MethodID:3451, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 8 this.metaInfo = hug1; } public function fireTag(hug1:int, hug2:String=00):String { //MethodID:3452, LocalCount= 5 , MaxScope= 5, MaxStack= 4, CodeLength= 674 internal var type:int; //slotID:1 internal var adType:String = 00; //slotID:2 internal var title:String; //slotID:3 internal var params:Array; //slotID:4 internal var c5:String; //slotID:5 internal var reqUrl:String; //slotID:6 internal var urlLoader:URLLoader; //slotID:7 internal var urlRequest:URLRequest; //slotID:8 type = hug1; adType = hug2; if(!this.metaInfo) return ""; title = ""; try{ title = ExternalInterface.call("function() { return document.title; }").toString(); } catch(err:Error){ title = metaInfo.title; } params = new Array(); params.push(this.isHttps ? this.COMSCORE_HTTPS : this.COMSCORE_HTTP); params.push(this.COMSCORE_URL); params.push("?c1=" + "1"); params.push("&c2=" + escape(this.COMSCORE_CLIENT_ID)); params.push("&c3=" + escape(this.metaInfo.authorId.toString())); params.push("&c4=" + escape(this.metaInfo.category.toString())); c5 = ""; if(type == CONTENT){ c5 += (((this.metaInfo.contentDuration / 60) > 10) ? this.COMSCORE_CONTENT_TYPE_LONG_FILM : this.COMSCORE_CONTENT_TYPE_SHORT_FILM); c5 += this.getCategoryId(this.metaInfo.categoryName).toString(); }else{ c5 += adType.toString(); c5 += "0000"; } params.push("&c5=" + escape(c5)); params.push("&c6=" + escape(this.metaInfo.title)); params.push("&c7=" + escape(this._loaderUrl)); params.push("&c8=" + escape(title)); params.push("&c9=" + escape(this.referrer)); params.push("&c10=" + escape("1|1")); params.push("&rn=" + (Math.random() * 0x989680)); params.push("&cv=" + this.COMSCORE_VERSION); reqUrl = params.join(""); if(reqUrl.length > 2080) reqUrl = reqUrl.substr(0, 2080); urlLoader = new URLLoader(); urlRequest = new URLRequest(reqUrl); urlLoader.addEventListener(Event.COMPLETE, this.listenerStatLoader); urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.listenerStatLoader); urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerStatLoader); urlLoader.load(urlRequest); return reqUrl; } private function getCategoryId(hug1:String):String { //MethodID:3453, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 215 var hug2:Object = {}; hug2["tin"] = this.COMSCORE_CONTENT_NAME_TIN; hug2["news"] = this.COMSCORE_CONTENT_NAME_NEWS; hug2["events"] = this.COMSCORE_CONTENT_NAME_EVENTS; hug2["games"] = this.COMSCORE_CONTENT_NAME_GAMES; hug2["nature"] = this.COMSCORE_CONTENT_NAME_NATURE; hug2["travel"] = this.COMSCORE_CONTENT_NAME_TRAVEL; hug2["art"] = this.COMSCORE_CONTENT_NAME_ART; hug2["technology"] = this.COMSCORE_CONTENT_NAME_TECHNOLOGY; hug2["erotica"] = this.COMSCORE_CONTENT_NAME_EROTICA; hug2["othercategory"] = this.COMSCORE_CONTENT_NAME_OTHERCATEGORY; hug2["auto"] = this.COMSCORE_CONTENT_NAME_AUTO; hug2["cartoons"] = this.COMSCORE_CONTENT_NAME_CARTOONS; hug2["music"] = this.COMSCORE_CONTENT_NAME_MUSIC; hug2["sport"] = this.COMSCORE_CONTENT_NAME_SPORT; hug2["tv"] = this.COMSCORE_CONTENT_NAME_TV; hug2["umor"] = this.COMSCORE_CONTENT_NAME_UMOR; hug2["family"] = this.COMSCORE_CONTENT_NAME_FAMILY; if(hug2.hasOwnProperty(hug1)) return hug2[hug1]; return this.COMSCORE_CONTENT_NAME_UNNAMED; } private function listenerStatLoader(hug1:Event):void { //MethodID:3454, LocalCount= 3 , MaxScope= 1, MaxStack= 3, CodeLength= 63 var hug2:URLLoader = (hug1.target as URLLoader); if(hug2 != null){ hug2.removeEventListener(Event.COMPLETE, this.listenerStatLoader); hug2.removeEventListener(IOErrorEvent.IO_ERROR, this.listenerStatLoader); hug2.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.listenerStatLoader); } } } } //¡script324¡ package ru.rutube.command.commands.ui{ import Components.Player import Components.Timeline.TimelineEvent import fl.events.SliderEvent import flash.events.Event import ru.rutube.manager.extern.ExternalNotifier import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.states.PlayerState //¡class(instance)_index:323 public class CommandUITimelineThumb extends Object implements ICommad { //static constructor public static function CommandUITimelineThumb$cinit() { //MethodID:3456, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUITimelineThumb() { //MethodID:3457, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3458, LocalCount= 11 , MaxScope= 1, MaxStack= 3, CodeLength= 714 var hug2:TimelineEvent = (hug1 as TimelineEvent); var hug3:Number = ((hug2 != null) ? hug2.value : 0); var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); var hug5:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug6:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig; var hug7:MetaInfo = ConfigurationManager.instance.metaInfo; var hug8:Number = 0; var hug9:Number = 0; if(hug5.isLive) return; hug2.inLoader = ((hug3 >= hug5.metaFirstTimeReal) && (hug3 <= hug4.getControl().timeline.loadedEnd)); switch(hug2.type){ case SliderEvent.THUMB_PRESS: Controller.instance.hideAdView(); hug5.pause(); Controller.instance.m_bHoldThumb = true; break; case SliderEvent.THUMB_RELEASE: if(hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) hug4.previewHide(); if(hug2.inLoader || hug5.session){ hug9 = (hug3 * hug5.duration); hug5.seek(hug9); ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration); if(Controller.instance.currentState == PlayerState.STATE_STARTED) hug5.resume(); }else{ hug8 = (hug5.duration ? hug5.duration : hug7.contentDuration); hug9 = (hug8 * hug3); if((hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) && !hug5.isLive){ hug5.seek(hug9); ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration); if(Controller.instance.currentState != PlayerState.STATE_STARTED) hug5.pause(); hug6.bookMarkStartTime = (hug9 * 1000); }else{ hug5.stop(); Controller.instance.playMovie(hug9); } } Controller.instance.m_bHoldThumb = false; break; case SliderEvent.THUMB_DRAG: if(hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) hug4.previewHide(); if(hug2.inLoader || hug5.session){ hug9 = (hug3 * hug5.duration); hug5.seek(hug9); ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration); }else if((hug5.getMediaType() == StreamController.STREAM_TYPE_STREAM) && !hug5.isLive){ hug8 = (hug5.duration ? hug5.duration : hug7.contentDuration); hug9 = (hug8 * hug3); hug5.seek(hug9); ExternalNotifier.instance.notifyVideoSeek(hug9, hug5.duration); } break; default: break; } } } } //¡script325¡ package ru.rutube.command.commands.ui{ import Components.Player import flash.events.Event import flash.net.URLRequest import flash.net.sendToURL import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.FunctionalPanelEvent import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager //¡class(instance)_index:324 public class CommandUIMenuHandler extends Object implements ICommad { //static constructor public static function CommandUIMenuHandler$cinit() { //MethodID:3460, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //variables/etc. public function execute(hug1:Event):void { //MethodID:3461, LocalCount= 4 , MaxScope= 1, MaxStack= 3, CodeLength= 289 var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); switch(hug1.type){ case FunctionalPanelEvent.EVENT_MESSAGE: EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT)); hug2.complainWindow.visible = true; Controller.instance.exitFullScreen(); break; case FunctionalPanelEvent.EVENT_PLAYLIST: EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE_WITHOUT_ADVERT)); hug2.playlistWindow.visible = true; Controller.instance.exitFullScreen(); break; case FunctionalPanelEvent.EVENT_FAVORITES: if(Controller.instance.metaInfo.favoriteData.isFavoritePresent() && Controller.instance.metaInfo.userInfo.isAllowedUser){ sendToURL(new URLRequest(Controller.instance.metaInfo.favoriteData.urlAddFavorite)); Player.alert(RutubeConstants.TEXT_ADDED_TO_FAVORITES); } break; default: break; } } //constructor public function CommandUIMenuHandler() { //MethodID:3462, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script326¡ package ru.rutube.command.commands.ui{ import flash.events.Event import ru.rutube.event.EventManager import ru.rutube.managers.cookie.CookieManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.playback.controller.StreamControllerManager //¡class(instance)_index:325 public class CommandUITimelineTime extends Object implements ICommad { //static constructor public static function CommandUITimelineTime$cinit() { //MethodID:3464, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUITimelineTime() { //MethodID:3465, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3466, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 115 var hug4:StreamControllerEvent = null; var hug2:Boolean = (CookieManager.instance.getLocalCookie("timingMode") as Boolean); hug2 = !hug2; CookieManager.instance.setLocalCookie("timingMode", hug2); CookieManager.instance.flush(); var hug3:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(!isNaN(hug3.time)){ hug4 = new StreamControllerEvent(StreamControllerEvent.EVENT_CURRENT_TIME_CHANGE, null, hug3.type); EventManager.instance.dispatchEvent(hug4); } } } } //¡script327¡ package ru.rutube.command.commands.streaming{ import flash.events.Event import ru.rutube.event.EventManager import ru.rutube.event.GoogleEvent import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.managers.preloader.PreloaderManager import ru.rutube.managers.statistic.google.GoogleAnalyticsConstants //¡class(instance)_index:326 public class CommandStreamBufferingChange extends Object implements ICommad { //static constructor public static function CommandStreamBufferingChange$cinit() { //MethodID:3468, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStreamBufferingChange() { //MethodID:3469, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3470, LocalCount= 5 , MaxScope= 1, MaxStack= 7, CodeLength= 137 var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent); if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return; var hug3:MetaInfo = ConfigurationManager.instance.metaInfo; var hug4:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); if(hug2.body){ PreloaderManager.instance.show(); }else{ PreloaderManager.instance.hide(); } if(hug2.body) EventManager.instance.dispatchEvent(new GoogleEvent(GoogleEvent.GOOGLE_ANALYTICS_TRACK, GoogleAnalyticsConstants.CATEGORY_PLAYER, GoogleAnalyticsConstants.ACTION_PAUSE_BUFFERING, hug4.time.toString(), hug3.category)); } } } //¡script328¡ package Components.EndScreen{ import Components.Button import Components.Component import Components.ParamEvent import Components.SkinManager import Components.Forms.TitleText import Data.TSearchItem import fl.transitions.Transition import fl.transitions.TransitionManager import fl.transitions.Tween import fl.transitions.TweenEvent import fl.transitions.Wipe import fl.transitions.easing.None import flash.display.MovieClip import flash.display.Shape import flash.display.Sprite import flash.events.EventDispatcher import flash.events.MouseEvent import flash.events.TimerEvent import flash.filters.BitmapFilterQuality import flash.filters.GlowFilter import flash.geom.Point import flash.utils.Timer //¡class(instance)_index:327 public class Navigator extends Component { //static constructor public static function Navigator$cinit() { //MethodID:3472, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 69 EVENT_SHOWING_FRAME = "showingFrame"; EVENT_LINK_FRAME = "linkFrame"; SCALE_RATE = 1.35; NAV_BT_REGION = 25; NAV_NONE = 0; NAV_NEXT = 1; NAV_PREV = 2; NAV_ALL = 3; } //static variables/etc. public static const EVENT_SHOWING_FRAME:String = "showingFrame";//slotID:1 public static const EVENT_LINK_FRAME:String = "linkFrame"; //slotID:2 private static const SCALE_RATE:Number = 1.35; //slotID:3 private static const NAV_BT_REGION:uint = 25; //slotID:4 public static const NAV_NONE:uint = 0; //slotID:5 public static const NAV_NEXT:uint = 1; //slotID:6 public static const NAV_PREV:uint = 2; //slotID:7 public static const NAV_ALL:uint = 3; //slotID:8 //constructor public function Navigator(hug1:EventDispatcher=null):void { //MethodID:3473, LocalCount= 4 , MaxScope= 1, MaxStack= 8, CodeLength= 622 this.framesPanel = new Sprite(); this.framesMask = new Shape(); this.animPanel = new MovieClip(); this.titleText = new TitleText("", 12, true, true); this.timeText = new TitleText("", 12, true); this.prevButton = new Button(SkinManager.getSkin("PrevPageNavButtonSkin")); this.nextButton = new Button(SkinManager.getSkin("NextPageNavButtonSkin")); this.items = []; this.timer = new Timer(50); super(hug1); size(200, 105); addChild(this.animPanel); this.animPanel.addChild(this.framesPanel); this.framesPanel.y = (Math.round(this.frameHeight * (SCALE_RATE - 1)) + 2); this.animPanel.addChild(this.framesMask); this.framesPanel.mask = this.framesMask; addChild(this.prevButton); this.prevButton.y = Math.round(this.framesPanel.y + ((this.frameHeight - this.prevButton.height) / 2)); addChild(this.nextButton); this.nextButton.y = Math.round(this.framesPanel.y + ((this.frameHeight - this.nextButton.height) / 2)); var hug3:Boolean = false; this.nextButton.visible = hug3; this.prevButton.visible = hug3; this.prevButton.addEventListener(MouseEvent.CLICK, this.onChangePageHandler); this.nextButton.addEventListener(MouseEvent.CLICK, this.onChangePageHandler); var hug2:Sprite = new Sprite(); hug2.filters = [new GlowFilter(0x323334, 1, 6, 6, 4, BitmapFilterQuality.HIGH)]; this.animPanel.addChild(hug2); this.titleText.height = 20; var hug3:int = 0xFFFFFF; this.timeText.textColor = hug3; this.titleText.textColor = hug3; hug2.addChild(this.titleText); this.titleText.x = 10; hug2.addChild(this.timeText); var hug3:Boolean = false; this.timeText.mouseEnabled = hug3; this.titleText.mouseEnabled = hug3; var hug3:int = (Math.round(this.frameHeight * SCALE_RATE) + 3); this.timeText.y = hug3; this.titleText.y = hug3; this.framesPanel.addEventListener(MouseEvent.ROLL_OVER, this.onRollNavigator); this.framesPanel.addEventListener(MouseEvent.ROLL_OUT, this.onRollNavigator); this.timer.addEventListener(TimerEvent.TIMER, this.onTimer); this.control = new NavigatorControl(this); params({h:(this.titleText.y + this.titleText.height)}, true, false, false, false); } //variables/etc. private var nextButton:Button; //slotID:0 private var offset:Number = 0.0; //slotID:0 private var timeText:TitleText; //slotID:0 private var titleText:TitleText; //slotID:0 private var _navMode:uint = 100; //slotID:0 private var framesMask:Shape; //slotID:0 private var items:Array; //slotID:0 private var flagMotion:Boolean = false; //slotID:0 private var prevButton:Button; //slotID:0 private var max_offset:Number = 0.0; //slotID:0 private var step:Number = 1.0; //slotID:0 private var timer:Timer; //slotID:0 private var axisX:Number = 0.0; //slotID:0 private var frameWidth:Number = 80.0; //slotID:0 public var control:NavigatorControl; //slotID:0 private var frameOffset:Number = 5.0; //slotID:0 private var leftEdge:Number = 0.0; //slotID:0 private var animPanel:MovieClip; //slotID:0 private var frameHeight:Number = 55.0; //slotID:0 private var focusFrame:int = -1; //slotID:0 private var rightEdge:Number = 0.0; //slotID:0 private var framesPanel:Sprite; //slotID:0 private function onChangePageHandler(hug1:MouseEvent):void { //MethodID:3474, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 20 this.control.changePage(hug1.currentTarget == this.nextButton); } public function show():void { //MethodID:3475, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 10 visible = true; } private function set motion(hug1:Boolean):void { //MethodID:3476, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 61 if(this.flagMotion == hug1) return; if(hug1){ this.framesPanel.addEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMoveNavigator); }else{ this.framesPanel.removeEventListener(MouseEvent.MOUSE_MOVE, this.onMouseMoveNavigator); } this.flagMotion = hug1; } private function onMouseMoveNavigator(hug1:MouseEvent):void { //MethodID:3477, LocalCount= 2 , MaxScope= 1, MaxStack= 4, CodeLength= 120 if((mouseX >= this.leftEdge) && (mouseX <= this.rightEdge)){ if(this.timer.running) this.timer.reset(); this.step = 0; }else{ this.step = (-(30 * (((mouseX < this.leftEdge) ? this.leftEdge : this.rightEdge) - mouseX)) / this.leftEdge); if(!this.timer.running) this.timer.start(); } } private function onRollNavigator(hug1:MouseEvent):void { //MethodID:3478, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 81 if(hug1.type == MouseEvent.ROLL_OVER){ if((this.step == 0) || !this.flagMotion){ this.timer.reset(); }else{ this.timer.start(); } }else if(this.timer.running){ this.timer.reset(); } } private function onTimer(hug1:TimerEvent):void { //MethodID:3479, LocalCount= 3 , MaxScope= 1, MaxStack= 4, CodeLength= 112 var hug2:Number = (this.offset + this.step); if((Math.abs(hug2) <= this.max_offset) || (Math.abs(this.offset) < this.max_offset)){ this.offset = hug2; if(Math.abs(this.offset) > this.max_offset) this.offset = (this.max_offset * ((this.step < 0) ? (-1) : 1)); this.shiftFrames(); } } public function showItems(hug1:uint=0, hug2:Boolean=true):void { //MethodID:3480, LocalCount= 15 , MaxScope= 1, MaxStack= 12, CodeLength= 859 var hug9:uint = 0; var hug10:TSearchItem = null; var hug11:Frame = null; var hug12:Object = null; var hug13:Object = null; var hug14:Number = NaN; var hug3:uint = this.control.searchInfo.items.length; if(hug1 >= hug3) return; var hug4:uint = this.items.length; var hug5:uint = (hug1 + NavigatorControl.ITEMS_PAGE); if(hug5 >= hug3) hug5 = hug3; var hug6:uint = 0; var hug7:uint = hug1; while(hug7 < hug5){ hug10 = this.control.searchInfo.items[hug7]; if(hug6 >= this.items.length){ hug11 = new Frame(null, this.frameWidth, this.frameHeight, false); hug11.borderColor = -1; hug11.setScalePoint(new Point(0.5, 1)); hug11.addEventListener(MouseEvent.ROLL_OUT, this.deactiveFrame); hug11.addEventListener(MouseEvent.ROLL_OVER, this.onMouseFrameHandler); hug11.addEventListener(MouseEvent.CLICK, this.onMouseFrameHandler); hug12 = new Object(); hug12.frame = this.framesPanel.addChild(hug11); hug10.assignFrame(hug12.frame); hug12.showing = false; hug12.tween = null; hug12.item = hug10; this.items.push(hug12); }else{ hug10.assignFrame(this.items[hug6].frame); this.items[hug6].item = hug10; } hug6++; hug7++; } hug7 = (this.items.length - 1); while(hug7 >= hug6){ hug13 = this.items[hug7]; if(hug13.tween != null){ hug13.tween.stop(); hug13.tween.removeEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler); hug13.tween = null; } hug13.frame.removeEventListener(MouseEvent.ROLL_OUT, this.deactiveFrame); hug13.frame.addEventListener(MouseEvent.ROLL_OVER, this.onMouseFrameHandler); hug13.frame.addEventListener(MouseEvent.CLICK, this.onMouseFrameHandler); hug13.frame.clear(); this.framesPanel.removeChild(hug13.frame); hug13.frame = null; this.items.splice(hug7, 1); hug7--; } var hug8:Boolean = (!this.control.isSearch && (((hug1 + NavigatorControl.ITEMS_PAGE) < this.control.searchInfo.items.length) || !this.control.isEnd)); if(hug1 > 0){ hug9 = (hug8 ? NAV_ALL : NAV_PREV); }else{ hug9 = (hug8 ? NAV_NEXT : NAV_NONE); } if(hug4 != this.items.length){ hug14 = 0; hug3 = this.items.length; hug7 = 0; while(hug7 < hug3){ this.items[hug7].frame.setX(hug14); hug14 += (this.frameWidth + this.frameOffset); hug7++; } if(hug9 == this._navMode) this.calcMotionParams(); } this.setNavMode(hug9); this.offset = ((((this.items.length % 2) != 0) || (this.max_offset == 0)) ? 0 : (Math.round(this.frameWidth * 0.5) + this.frameOffset - 2)); this.shiftFrames(); TransitionManager.start(this.animPanel, {type:Wipe, direction:Transition.IN, duration:0.5, easing:None.easeNone, startPoint:(hug2 ? 4 : 6)}); } public function setNavMode(hug1:uint, hug2:Boolean=false):void { //MethodID:3481, LocalCount= 4 , MaxScope= 1, MaxStack= 4, CodeLength= 313 if(this._navMode == hug1) return; this._navMode = hug1; if(!this.nextButton.visible){ var hug3:Boolean = true; this.nextButton.visible = hug3; this.prevButton.visible = hug3; } switch(this._navMode){ case NAV_NEXT: this.nextButton.alpha = 1; this.prevButton.alpha = 0.5; this.nextButton.mouseEnabled = true; this.prevButton.mouseEnabled = false; break; case NAV_ALL: var hug3:int = 1; this.prevButton.alpha = hug3; this.nextButton.alpha = hug3; var hug3:Boolean = true; this.prevButton.mouseEnabled = hug3; this.nextButton.mouseEnabled = hug3; break; case NAV_PREV: this.nextButton.alpha = 0.5; this.prevButton.alpha = 1; this.nextButton.mouseEnabled = false; this.prevButton.mouseEnabled = true; break; default: var hug3:Number = 0.5; this.prevButton.alpha = hug3; this.nextButton.alpha = hug3; var hug3:Boolean = false; this.prevButton.mouseEnabled = hug3; this.nextButton.mouseEnabled = hug3; break; } if(!hug2) onPaint(); } private function calcMotionParams():void { //MethodID:3482, LocalCount= 4 , MaxScope= 1, MaxStack= 6, CodeLength= 190 var hug1:Number = NAV_BT_REGION; var hug2:Number = (2 * NAV_BT_REGION); hug2 = (_width - hug2); this.axisX = (hug1 + Math.round((hug2 - this.framesPanel.width) / 2)); this.motion = ((this.framesPanel.width + (this.frameWidth * (SCALE_RATE - 1))) > hug2); if(this.flagMotion){ this.max_offset = (Math.ceil(((this.framesPanel.width - hug2) + (this.frameWidth * (SCALE_RATE - 1))) / 2) + this.frameOffset); if(Math.abs(this.offset) > this.max_offset) this.offset = (this.max_offset * ((this.step < 0) ? (-1) : 1)); }else{ this.offset = this.max_offset = 0; } this.shiftFrames(); } private function shiftFrames():void { //MethodID:3483, LocalCount= 1 , MaxScope= 1, MaxStack= 3, CodeLength= 19 this.framesPanel.x = (this.axisX - this.offset); } private function setDesc(hug1:String, hug2:String):void { //MethodID:3484, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 24 this.titleText.text = hug1; this.timeText.text = hug2; this.updateTextSize(); } private function newTween(hug1:uint, hug2:Number, hug3:Number, hug4:Number):void { //MethodID:3485, LocalCount= 7 , MaxScope= 1, MaxStack= 9, CodeLength= 155 var hug5:Object = this.items[hug1]; if(hug5.tween != null){ hug5.tween.stop(); hug5.tween.removeEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler); hug5.tween = null; } var hug6:Number = 0.25; if((hug4 >= hug2) && (hug4 <= hug3)) hug6 -= (hug6 * ((hug4 - hug2) / (hug3 - hug2))); hug5.tween = new Tween(this.items[hug1].frame, "scale", None.easeNone, hug4, hug3, hug6, true); hug5.tween.addEventListener(TweenEvent.MOTION_FINISH, this.onFinishTweenHandler); } private function onFinishTweenHandler(hug1:TweenEvent):void { //MethodID:3486, LocalCount= 9 , MaxScope= 1, MaxStack= 4, CodeLength= 248 var hug3:int = 0; var hug4:Boolean = false; var hug5:uint = 0; var hug6:uint = 0; var hug7:Frame = null; var hug8:Tween = null; var hug2:Tween = (hug1.currentTarget as Tween); if(hug2.finish == SCALE_RATE){ hug3 = Math.ceil(((this.frameWidth * (SCALE_RATE - 1)) / 2) - this.frameOffset); if(hug3 <= 0) return; hug4 = true; hug5 = this.items.length; hug6 = 0; while(hug6 < hug5){ hug7 = this.items[hug6].frame; if(hug4 && (hug7 == hug2.obj)){ hug4 = false; }else{ hug8 = this.items[hug6].tween; if((hug8 != null) && hug8.isPlaying){ hug8.stop(); hug8.fforward(); } hug7.x = (hug7.getX() + (hug3 * (hug4 ? (-1) : 1))); } hug6++; } } } private function activeFrame(hug1:uint):void { //MethodID:3487, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 120 if((hug1 == this.focusFrame) || (hug1 >= this.items.length)) return; this.deactiveFrame(); this.focusFrame = hug1; var hug2:Frame = this.items[hug1].frame; hug2.borderColor = 0xFFFFFF; this.framesPanel.setChildIndex(hug2, (this.framesPanel.numChildren - 1)); this.newTween(hug1, 1, SCALE_RATE, hug2.scale); var hug3:TSearchItem = this.items[hug1].item; this.setDesc(hug3.name, hug3.timeInfo); } private function deactiveFrame(hug1:MouseEvent=null):void { //MethodID:3488, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 145 var hug5:Frame = null; if(this.focusFrame == (-1)) return; var hug2:int = this.focusFrame; this.focusFrame = -1; this.setDesc(""); this.items[hug2].frame.borderColor = -1; this.newTween(hug2, SCALE_RATE, 1, this.items[hug2].frame.scale); var hug3:uint = this.items.length; var hug4:uint = 0; while(hug4 < hug3){ if(hug4 != hug2){ hug5 = this.items[hug4].frame; hug5.x = hug5.getX(); } hug4++; } } private function onMouseFrameHandler(hug1:MouseEvent):void { //MethodID:3489, LocalCount= 4 , MaxScope= 1, MaxStack= 5, CodeLength= 167 var hug2:uint = 0; while(hug2 < this.items.length){ if(this.items[hug2].frame == hug1.currentTarget){ switch(hug1.type){ case MouseEvent.ROLL_OVER: this.activeFrame(hug2); break; case MouseEvent.CLICK: dispatcher.dispatchEvent(new ParamEvent(EVENT_LINK_FRAME, this.items[hug2].item)); break; default: break; } break; } hug2++; } } private function updateTextSize():void { //MethodID:3490, LocalCount= 2 , MaxScope= 1, MaxStack= 3, CodeLength= 128 var hug1:Number = (this.titleText.textWidth + this.timeText.width + this.titleText.x + 20); if(_width < hug1){ hug1 = (_width - this.timeText.width - this.titleText.x - 18); if(hug1 < 0) hug1 = 0; this.titleText.width = hug1; }else{ this.titleText.width = (this.titleText.textWidth + 4); } this.timeText.x = (this.titleText.x + this.titleText.width + 10); } override protected function onUpdate(hug1:Number, hug2:Number):void { //MethodID:3491, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 209 graphics.clear(); graphics.beginFill(0xFFFFFF, 0); graphics.drawRect(0, 0, hug1, hug2); this.framesMask.graphics.clear(); this.framesMask.graphics.beginFill(0); var hug3:Number = NAV_BT_REGION; var hug4:Number = (hug1 - hug3 - NAV_BT_REGION); this.framesMask.graphics.drawRect(hug3, -5, hug4, (this.framesPanel.y + this.frameHeight + 10)); this.calcMotionParams(); this.nextButton.x = (hug1 - this.nextButton.width); this.updateTextSize(); var hug5:Number = Math.round(this.frameWidth * SCALE_RATE); if(hug5 > (hug4 - 60)){ hug5 = (hug4 - 60); if(hug5 < 0) hug5 = 0; } this.leftEdge = Math.round(hug3 + ((hug4 - hug5) / 2)); this.rightEdge = (this.leftEdge + hug5); } } } //¡script329¡ package ru.rutube.command.commands.loading{ import Components.Player import flash.events.Event import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager //¡class(instance)_index:328 public class CommandLoadindVideoWallComplete extends Object implements ICommad { //static constructor public static function CommandLoadindVideoWallComplete$cinit() { //MethodID:3493, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandLoadindVideoWallComplete() { //MethodID:3494, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3495, LocalCount= 5 , MaxScope= 1, MaxStack= 2, CodeLength= 93 var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); var hug3:MetaInfo = ConfigurationManager.instance.metaInfo; var hug4:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig; if(hug3.isVideoWallLoaded && !hug4.toggleInnerEmbedFlash && hug2.navigator) hug2.navigator.control.setData(hug3); } } } //¡script330¡ package ru.rutube.command.commands.voting{ import Components.Player import flash.events.Event //¡class(instance)_index:329 public class CommandVotingFailed extends Object implements ICommad { //static constructor public static function CommandVotingFailed$cinit() { //MethodID:3497, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandVotingFailed() { //MethodID:3498, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3499, LocalCount= 2 , MaxScope= 1, MaxStack= 2, CodeLength= 16 Player.alert(RutubeConstants.TEXT_VOTING_SERVER_ERROR); } } } //¡script331¡ package ru.rutube.command.commands.ui{ import Components.Player import Components.Timeline.MarkEvent import Components.Timeline.TimelineEvent import Components.Utils.BookmarkItem import flash.events.Event import flash.net.URLRequest import flash.net.URLRequestMethod import flash.net.URLVariables import flash.net.sendToURL import ru.rutube.event.ControlPanelEvent import ru.rutube.managers.configuration.BookmarkLinkFactory import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.BookmarkLink import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.states.PlayerState //¡class(instance)_index:330 public class CommandUITimelineMark extends Object implements ICommad { //static constructor public static function CommandUITimelineMark$cinit() { //MethodID:3501, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUITimelineMark() { //MethodID:3502, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3503, LocalCount= 20 , MaxScope= 1, MaxStack= 6, CodeLength= 868 var hug6:Number = NaN; var hug7:* = undefined; var hug9:Number = NaN; var hug10:BookmarkLink = null; var hug11:Array = null; var hug12:Object = null; var hug13:String = null; var hug14:Array = null; var hug15:String = null; var hug16:URLRequest = null; var hug17:URLVariables = null; var hug2:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug3:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); var hug4:MetaInfo = ConfigurationManager.instance.metaInfo; var hug5:FlashVariablesConfig = ConfigurationManager.instance.flashVariablesConfig; hug6 = (hug2.duration ? hug2.duration : hug4.contentDuration); hug7 = null; var hug8:BookmarkItem = null; switch(hug1.type){ case ControlPanelEvent.EVENT_MARK_SHOW_ADD: hug3.getControl().timeline.markMode = false; Controller.instance.pauseMovie(); Controller.instance.switchState(PlayerState.STATE_PAUSED); if((hug4.urlContent.length > 0) && hug5.toggleShowBookmarkWindow){ hug10 = BookmarkLinkFactory.instance.getBookmarkLink(Math.round((hug1 as TimelineEvent).value * hug6)); hug3.getControl().timeline.showMarkEditWindow(hug10.urlCode, hug10.embedCode, hug10.ljCode, hug10.liCode, hug4.isRegistered); } break; case ControlPanelEvent.EVENT_MARK_ADD: hug7 = (hug1 as MarkEvent); hug9 = Number((hug7.time * hug6).toFixed(3)); if((hug2.duration > 0) && !hug2.isLive){ hug8 = new BookmarkItem((hug7.time * hug6), hug2.preBalancedUrl, hug7.data, hug4.userInfo.userNick, null); Controller.instance.m_Bookmarks.push(hug8); Controller.instance.m_Bookmarks.sort(BookmarkItem.sortOnTime); hug11 = new Array(); for each(hug12 in Controller.instance.m_Bookmarks){ hug11.push(hug12.time / hug6); } hug3.getControl().timeline.marks = hug11; hug3.getControl().timeline.onPaint(); } hug3.getControl().timeline.hideMarkEditWindow(); if(Controller.instance.m_AddToBookmarks.length > 0){ hug13 = Controller.instance.m_AddToBookmarks; hug14 = hug13.split("?"); hug15 = hug14[0]; hug14.shift(); hug16 = new URLRequest(hug15); hug16.method = URLRequestMethod.POST; hug17 = new URLVariables(hug14.length ? (hug14[0] as String) : null); hug17.description = hug7.data; hug17.begin = (hug7.time * hug6); hug16.data = hug17; sendToURL(hug16); Player.alert(RutubeConstants.TEXT_VIDEO_BOOKMARK_SAVED); } break; case ControlPanelEvent.EVENT_MARK_OVER: hug7 = (hug1 as TimelineEvent); if(!hug3.getControl().timeline.isMarkEditWindowVisible()){ hug8 = Controller.instance.m_Bookmarks[hug7.marks[0]]; hug3.getControl().timeline.showMarkPreviewWindow((hug8.time / hug6), Controller.getTimeInfo(hug8.time), null, true); } break; default: break; } } } } //¡script332¡ package ru.rutube.command.commands.ui{ import Components.Player import flash.events.Event import flash.net.URLRequest import flash.net.navigateToURL import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.managers.configuration.data.FlashVariablesConfig import ru.rutube.managers.configuration.data.MetaInfo import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.states.PlayerState //¡class(instance)_index:331 public class CommandUITitleVideoClick extends Object implements ICommad { //static constructor public static function CommandUITitleVideoClick$cinit() { //MethodID:3505, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUITitleVideoClick() { //MethodID:3506, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3507, LocalCount= 4 , MaxScope= 5, MaxStack= 6, CodeLength= 477 internal var event:Event; //slotID:1 internal var metaInfo:MetaInfo; //slotID:2 internal var flashVariables:FlashVariablesConfig; //slotID:3 internal var streamController:StreamController; //slotID:4 internal var duration:Number; //slotID:5 internal var flvplayer:Player; //slotID:6 internal var time:Number; //slotID:7 internal var param:String; //slotID:8 time = NaN; param = null; event = hug1; metaInfo = ConfigurationManager.instance.metaInfo; flashVariables = ConfigurationManager.instance.flashVariablesConfig; streamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); duration = (streamController.duration ? streamController.duration : metaInfo.contentDuration); flvplayer = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); if((metaInfo.urlContentHomePage.length > 0) && !flashVariables.playListEnable){ time = (flvplayer.getControl().timeline.sliderTime * duration); time = ((time < 1) ? 1 : time); param = ((ConfigurationManager.instance.metaInfo.urlContentHomePage.indexOf("?") != (-1)) ? "&" : "?"); if(Controller.instance.currentState != PlayerState.STATE_PAUSED) param += "autoStart=true"; param += (!isNaN(time) ? ("&bmstart=" + Math.floor(time * 1000)) : ""); try{ navigateToURL(new URLRequest(metaInfo.urlContentHomePage + param), "_blank"); } catch(error:SecurityError){ trace("Controller.OnVideoWindowClick:", error); return; } if(Controller.instance.currentState != PlayerState.STATE_PAUSED){ if(flashVariables.toggleInnerEmbedFlash && (event != null)){ streamController.stop(); }else{ Controller.instance.pauseMovie(); } Controller.instance.switchState(PlayerState.STATE_PAUSED); } } } } } //¡script333¡ package ru.rutube.command.commands.streaming{ import Components.Player import flash.events.Event import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager import ru.rutube.managers.playback.controller.StreamController import ru.rutube.managers.playback.controller.StreamControllerEvent import ru.rutube.managers.playback.controller.StreamControllerManager import ru.rutube.managers.reporter.Reporter import ru.rutube.managers.statistic.tns.TNSStatistic import ru.rutube.states.PlayerState //¡class(instance)_index:332 public class CommandStreamVideoComplete extends Object implements ICommad { //static constructor public static function CommandStreamVideoComplete$cinit() { //MethodID:3509, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStreamVideoComplete() { //MethodID:3510, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3511, LocalCount= 5 , MaxScope= 1, MaxStack= 4, CodeLength= 165 var hug2:StreamControllerEvent = (hug1 as StreamControllerEvent); if(hug2.controllerType != StreamController.CONTROLLER_MAIN_STREAM) return; var hug3:StreamController = StreamControllerManager.instance.getController(StreamController.CONTROLLER_MAIN_STREAM); var hug4:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug4.getControl().timeInfo = 0; Controller.instance.updateTimeline(0, hug3.duration, true); Controller.instance.reportAtComplete(); Reporter.instance.send("ve=-1"); TNSStatistic.instance.finishReport(hug3.hash); Controller.instance.switchState(Controller.instance.m_AdPostViewLocked ? PlayerState.STATE_STOPPED : PlayerState.STATE_POSTVIEW); } } } //¡script334¡ package Data{ //¡class(instance)_index:333 public class TIDS extends Object { //static constructor public static function TIDS$cinit() { //MethodID:3513, LocalCount= 1 , MaxScope= 1, MaxStack= 2, CodeLength= 195 NO_MESSAGE = 0; FORBIDDEN = 1; SRC_NOT_FOUND = 2; REJECT = 3; BAD_REQUEST = 4; URL_NOT_FOUND = 5; NOT_ACCEPTABLE = 6; NOT_ACCEPTABLE_ONLINE_GET = 7; NOT_ACCEPTABLE_OFFLINE_GET = 8; NOT_ACCEPTABLE_ONLINE_POST = 9; TRY_LATTER = 10; METHOD_NOT_ALLOWED = 11; REQUEST_TIMEOUT = 12; INT_SERVER_ERR = 13; SERVICE_UNAVAIL = 14; DOWNLOAD_NEW_VERSION2 = 15; DOWNLOAD_NEW_VERSION_POST2 = 16; SRC_LIMIT = 17; SRC_SYSTEM_FAIL = 18; NACCESS = 19; TRAF_LIMIT = 20; TRAFORCONN_LIMIT = 21; SRC_EXISTS = 22; DST_EXISTS = 23; } //static variables/etc. public static const NO_MESSAGE:uint = 0; //slotID:1 public static const FORBIDDEN:uint = 1; //slotID:2 public static const SRC_NOT_FOUND:uint = 2; //slotID:3 public static const REJECT:uint = 3; //slotID:4 public static const BAD_REQUEST:uint = 4; //slotID:5 public static const URL_NOT_FOUND:uint = 5; //slotID:6 public static const NOT_ACCEPTABLE:uint = 6; //slotID:7 public static const NOT_ACCEPTABLE_ONLINE_GET:uint = 7; //slotID:8 public static const NOT_ACCEPTABLE_OFFLINE_GET:uint = 8; //slotID:9 public static const NOT_ACCEPTABLE_ONLINE_POST:uint = 9; //slotID:10 public static const TRY_LATTER:uint = 10; //slotID:11 public static const METHOD_NOT_ALLOWED:uint = 11; //slotID:12 public static const REQUEST_TIMEOUT:uint = 12; //slotID:13 public static const INT_SERVER_ERR:uint = 13; //slotID:14 public static const SERVICE_UNAVAIL:uint = 14; //slotID:15 public static const DOWNLOAD_NEW_VERSION2:uint = 15; //slotID:16 public static const DOWNLOAD_NEW_VERSION_POST2:uint = 16; //slotID:17 public static const SRC_LIMIT:uint = 17; //slotID:18 public static const SRC_SYSTEM_FAIL:uint = 18; //slotID:19 public static const NACCESS:uint = 19; //slotID:20 public static const TRAF_LIMIT:uint = 20; //slotID:21 public static const TRAFORCONN_LIMIT:uint = 21; //slotID:22 public static const SRC_EXISTS:uint = 22; //slotID:23 public static const DST_EXISTS:uint = 23; //slotID:24 //constructor public function TIDS() { //MethodID:3514, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } } } //¡script335¡ package ru.rutube.command.commands.ui{ import Components.Player import flash.events.Event import ru.rutube.managers.content.ContentIds import ru.rutube.managers.content.ContentManager //¡class(instance)_index:334 public class CommandUIHideTopPanel extends Object implements ICommad { //static constructor public static function CommandUIHideTopPanel$cinit() { //MethodID:3516, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandUIHideTopPanel() { //MethodID:3517, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3518, LocalCount= 3 , MaxScope= 1, MaxStack= 2, CodeLength= 35 var hug2:Player = (ContentManager.instance.getContentById(ContentIds.PLAYER) as Player); hug2.invisibleComponents(hug2.topPanel); } } } //¡script336¡ package ru.rutube.command.commands.service{ import flash.events.Event import flash.events.FullScreenEvent import flash.events.KeyboardEvent import flash.system.System import flash.ui.Keyboard import ru.rutube.event.ControlPanelEvent import ru.rutube.event.EventManager import ru.rutube.event.EventSources import ru.rutube.event.InternalEvent import ru.rutube.event.RestartEvent import ru.rutube.managers.configuration.ConfigurationManager import ru.rutube.states.PlayerState //¡class(instance)_index:335 public class CommandStageEvents extends Object implements ICommad { //static constructor public static function CommandStageEvents$cinit() { //MethodID:3520, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 3 } //constructor public function CommandStageEvents() { //MethodID:3521, LocalCount= 1 , MaxScope= 1, MaxStack= 1, CodeLength= 6 super(); } //variables/etc. public function execute(hug1:Event):void { //MethodID:3522, LocalCount= 6 , MaxScope= 1, MaxStack= 6, CodeLength= 334 var hug2:InternalEvent = null; var hug3:KeyboardEvent = null; var hug4:RestartEvent = null; hug2 = (hug1 as InternalEvent); switch(hug2.sourceId){ case EventSources.SOURCE_STAGE_KEYBOARD: hug3 = (hug2.data as KeyboardEvent); if(!hug3) return; if(hug3.keyCode == Keyboard.SPACE){ if(Controller.instance.currentState == PlayerState.STATE_PAUSED){ Controller.instance.OnBnPlay(); }else if(Controller.instance.currentState == PlayerState.STATE_STARTED){ EventManager.instance.dispatchEvent(new ControlPanelEvent(ControlPanelEvent.EVENT_PAUSE)); } }else if(hug3.keyCode == Keyboard.CONTROL){ if(!ConfigurationManager.DEBUG_MODE) return; hug4 = new RestartEvent(RestartEvent.RESTART, {file:"http://bl.rutube.ru/f0ba20dd559a7ba1ea49f2af72f133be.iflv", xurl:"http://rutube.ru/trackinfo/f0ba20dd559a7ba1ea49f2af72f133be.html"}); EventManager.instance.dispatchEvent(hug4); }else if(hug3.keyCode == Keyboard.HOME){ System.setClipboard(ConfigurationManager.instance.flashVariablesConfig.toString()); } break; case EventSources.SOURCE_STAGE: if(hug2.data is FullScreenEvent) Controller.instance.fullScreenHandled = true; break; default: break; } } } }