// Version 3 Tags
    #region  GotoFrameAction ++
    public struct GotoFrameAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GotoFrame;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
        #region Length
        private uint p_length;
        [SwfActionElement]
        public uint Length
        {
            get
            {
                return p_length;
            }
            set
            {
                p_length = value;
            }
        }
        #endregion
        #region Frame
        private uint p_frame;
        [SwfActionElement]
        public uint Frame
        {
            get
            {
                return p_frame;
            }
            set
            {
                p_frame = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  GetURLAction ++
    public struct GetURLAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetURL;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
        #region Length
        private uint p_length;
        [SwfActionElement]
        public uint Length
        {
            get
            {
                return p_length;
            }
            set
            {
                p_length = value;
            }
        }
        #endregion
        #region UrlString
        private string p_urlString;
        [SwfActionElement]
        public string UrlString
        {
            get
            {
                return p_urlString;
            }
            set
            {
                p_urlString = value;
            }
        }
        #endregion
        #region TargetString
        private string p_targetString;
        [SwfActionElement]
        public string TargetString
        {
            get
            {
                return p_targetString;
            }
            set
            {
                p_targetString = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  NextFrameAction 
    public struct NextFrameAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.NextFrame;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  PreviousFrameAction 
    public struct PreviousFrameAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.PreviousFrame;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  PlayAction 
    public struct PlayAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Play;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StopAction 
    public struct StopAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Stop;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  ToggleQualityAction 
    public struct ToggleQualityAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.ToggleQuality;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StopSoundsAction 
    public struct StopSoundsAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StopSounds;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  WaitForFrameAction ++
    public struct WaitForFrameAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.WaitForFrame;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
        #region Length
        private uint p_length;
        [SwfActionElement]
        public uint Length
        {
            get
            {
                return p_length;
            }
            set
            {
                p_length = value;
            }
        }
        #endregion
        #region Frame
        private uint p_frame;
        [SwfActionElement]
        public uint Frame
        {
            get
            {
                return p_frame;
            }
            set
            {
                p_frame = value;
            }
        }
        #endregion
        #region SkipCount
        private byte p_skipCount;
        [SwfActionElement]
        public byte SkipCount
        {
            get
            {
                return p_skipCount;
            }
            set
            {
                p_skipCount = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  SetTargetAction ++
    public struct SetTargetAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.SetTarget;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
        #region Length
        private uint p_length;
        [SwfActionElement]
        public uint Length
        {
            get
            {
                return p_length;
            }
            set
            {
                p_length = value;
            }
        }
        #endregion
        #region TargetName
        private string p_targetName;
        [SwfActionElement]
        public string TargetName
        {
            get
            {
                return p_targetName;
            }
            set
            {
                p_targetName = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  GoToLabelAction ++
    public struct GoToLabelAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GoToLabel;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v3;
            }
        }
        #endregion
        
        #region Length
        private uint p_length;
        [SwfActionElement]
        public uint Length
        {
            get
            {
                return p_length;
            }
            set
            {
                p_length = value;
            }
        }
        #endregion
        #region Label
        private string p_label;
        [SwfActionElement]
        public string Label
        {
            get
            {
                return p_label;
            }
            set
            {
                p_label = value;
            }
        }
        #endregion
    }
    #endregion  


    // Version 4 Tags
    #region  AddAction 
    public struct AddAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Add;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  DivideAction 
    public struct DivideAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Divide;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  MultiplyAction 
    public struct MultiplyAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Multiply;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  SubtractAction 
    public struct SubtractAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Subtract;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  EqualsAction 
    public struct EqualsAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Equals;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  LessAction 
    public struct LessAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Less;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  AndAction 
    public struct AndAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.And;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  NotAction 
    public struct NotAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Not;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  OrAction 
    public struct OrAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Or;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  StringAddAction 
    public struct StringAddAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StringAdd;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StringEqualsAction 
    public struct StringEqualsAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StringEquals;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StringExtractAction 
    public struct StringExtractAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StringExtract;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StringLengthAction 
    public struct StringLengthAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StringLength;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  MBStringExtractAction 
    public struct MBStringExtractAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.MBStringExtract;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  MBStringLengthAction 
    public struct MBStringLengthAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.MBStringLength;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StringLessAction 
    public struct StringLessAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StringLess;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  PopAction 
    public struct PopAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Pop;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  PushAction ++
    public struct PushAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Push;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region Type
        private PushType p_type;
        [SwfActionElement]
        public PushType Type
        {
            get
            {
                return p_type;
            }
            set
            {
                p_type = value;
            }
        }
        #endregion
        #region StringValue
        private string p_stringValue;
        [SwfActionElement]
        public string StringValue
        {
            get
            {
                return p_stringValue;
            }
            set
            {
                p_stringValue = value;
            }
        }
        #endregion
        #region FloatValue
        private float p_floatValue;
        [SwfActionElement]
        public float FloatValue
        {
            get
            {
                return p_floatValue;
            }
            set
            {
                p_floatValue = value;
            }
        }
        #endregion
        #region RegisterNumber
        private byte p_registerNumber;
        [SwfActionElement]
        public byte RegisterNumber
        {
            get
            {
                return p_registerNumber;
            }
            set
            {
                p_registerNumber = value;
            }
        }
        #endregion
        #region BooleanValue
        private bool p_booleanValue;
        [SwfActionElement]
        public bool BooleanValue
        {
            get
            {
                return p_booleanValue;
            }
            set
            {
                p_booleanValue = value;
            }
        }
        #endregion
        #region DoubleValue
        private long p_doubleValue;
        [SwfActionElement]
        public long DoubleValue
        {
            get
            {
                return p_doubleValue;
            }
            set
            {
                p_doubleValue = value;
            }
        }
        #endregion
        #region IntegerValue
        private uint p_integerValue;
        [SwfActionElement]
        public uint IntegerValue
        {
            get
            {
                return p_integerValue;
            }
            set
            {
                p_integerValue = value;
            }
        }
        #endregion
        #region Constant8Value
        private byte p_constant8Value;
        [SwfActionElement]
        public byte Constant8Value
        {
            get
            {
                return p_constant8Value;
            }
            set
            {
                p_constant8Value = value;
            }
        }
        #endregion
        #region Constant16Value
        private uint p_constant16Value;
        [SwfActionElement]
        public uint Constant16Value
        {
            get
            {
                return p_constant16Value;
            }
            set
            {
                p_constant16Value = value;
            }
        }
        #endregion
    }
    #endregion  

    #region  AsciiToCharAction 
    public struct AsciiToCharAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.AsciiToChar;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  CharToAsciiAction 
    public struct CharToAsciiAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.CharToAscii;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  ToIntegerAction 
    public struct ToIntegerAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.ToInteger;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  MBAsciiToCharAction 
    public struct MBAsciiToCharAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.MBAsciiToChar;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  MBCharToAsciiAction 
    public struct MBCharToAsciiAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.MBCharToAscii;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  IfAction ++
    public struct IfAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.If;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region BranchOffset
        private uint p_branchOffset;
        [SwfActionElement]
        public uint BranchOffset
        {
            get
            {
                return p_branchOffset;
            }
            set
            {
                p_branchOffset = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  JumpAction ++
    public struct JumpAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Jump;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region BranchOffset
        private uint p_branchOffset;
        [SwfActionElement]
        public uint BranchOffset
        {
            get
            {
                return p_branchOffset;
            }
            set
            {
                p_branchOffset = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  CallAction 
    public struct CallAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Call;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  GetVariableAction 
    public struct GetVariableAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetVariable;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  SetVariableAction 
    public struct SetVariableAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.SetVariable;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  GetURL2Action ++
    public struct GetURL2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetURL2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region SendVarsMethod
        private UrlSendMethod p_sendVarsMethod;
        [SwfActionElement]
        public UrlSendMethod SendVarsMethod
        {
            get
            {
                return p_sendVarsMethod;
            }
            set
            {
                p_sendVarsMethod = value;
            }
        }
        #endregion
        #region LoadTarget
        private LoadTarget p_loadTarget;
        [SwfActionElement]
        public LoadTarget LoadTarget
        {
            get
            {
                return p_loadTarget;
            }
            set
            {
                p_loadTarget = value;
            }
        }
        #endregion
        #region LoadVariables
        private bool p_loadVariables;
        [SwfActionElement]
        public bool LoadVariables
        {
            get
            {
                return p_loadVariables;
            }
            set
            {
                p_loadVariables = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  GetPropertyAction 
    public struct GetPropertyAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetProperty;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  GotoFrame2Action ++
    public struct GotoFrame2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GotoFrame2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region SceneBiasFlag
        private bool p_sceneBiasFlag;
        [SwfActionElement]
        public bool SceneBiasFlag
        {
            get
            {
                return p_sceneBiasFlag;
            }
            set
            {
                p_sceneBiasFlag = value;
            }
        }
        #endregion
        #region Play
        private bool p_play;
        [SwfActionElement]
        public bool Play
        {
            get
            {
                return p_play;
            }
            set
            {
                p_play = value;
            }
        }
        #endregion
        #region SceneBias
        private uint p_sceneBias;
        [SwfActionElement]
        public uint SceneBias
        {
            get
            {
                return p_sceneBias;
            }
            set
            {
                p_sceneBias = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  RemoveSpriteAction 
    public struct RemoveSpriteAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.RemoveSprite;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  SetPropertyAction 
    public struct SetPropertyAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.SetProperty;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  SetTarget2Action 
    public struct SetTarget2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.SetTarget2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  StartDragAction 
    public struct StartDragAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.StartDrag;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  WaitForFrame2Action ++
    public struct WaitForFrame2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.WaitForFrame2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
        #region SkipCount
        private byte p_skipCount;
        [SwfActionElement]
        public byte SkipCount
        {
            get
            {
                return p_skipCount;
            }
            set
            {
                p_skipCount = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  CloneSpriteAction 
    public struct CloneSpriteAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.CloneSprite;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  EndDragAction 
    public struct EndDragAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.EndDrag;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  GetTimeAction 
    public struct GetTimeAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetTime;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  RandomNumberAction 
    public struct RandomNumberAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.RandomNumber;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  TraceAction 
    public struct TraceAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Trace;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v4;
            }
        }
        #endregion
        
    }
    #endregion  


    // Version 5 Tags
    #region  CallFunctionAction 
    public struct CallFunctionAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.CallFunction;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  CallMethodAction 
    public struct CallMethodAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.CallMethod;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  ConstantPoolAction ++
    public struct ConstantPoolAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.ConstantPool;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
        #region Count
        private uint p_count;
        [SwfActionElement]
        public uint Count
        {
            get
            {
                return p_count;
            }
            set
            {
                p_count = value;
            }
        }
        #endregion
        #region ConstantPool
        private string[] p_constantPool;
        [SwfActionElement]
        public string[] ConstantPool
        {
            get
            {
                return p_constantPool;
            }
            set
            {
                p_constantPool = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  DefineFunctionAction ++
    public struct DefineFunctionAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.DefineFunction;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
        #region FunctionName
        private string p_functionName;
        [SwfActionElement]
        public string FunctionName
        {
            get
            {
                return p_functionName;
            }
            set
            {
                p_functionName = value;
            }
        }
        #endregion
        #region NumParams
        private uint p_numParams;
        [SwfActionElement]
        public uint NumParams
        {
            get
            {
                return p_numParams;
            }
            set
            {
                p_numParams = value;
            }
        }
        #endregion
        #region Params
        private string[] p_params;
        [SwfActionElement]
        public string[] Params
        {
            get
            {
                return p_params;
            }
            set
            {
                p_params = value;
            }
        }
        #endregion
        #region CodeSize
        private uint p_codeSize;
        [SwfActionElement]
        public uint CodeSize
        {
            get
            {
                return p_codeSize;
            }
            set
            {
                p_codeSize = value;
            }
        }
        #endregion
        #region Statements
        private SwfActionCollection p_statements;
        [SwfActionElement]
        public SwfActionCollection Statements
        {
            get
            {
                return p_statements;
            }
            set
            {
                p_statements = value;
            }
        }
        #endregion
    }
    #endregion  
    #region  DefineLocalAction 
    public struct DefineLocalAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.DefineLocal;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  DefineLocal2Action 
    public struct DefineLocal2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.DefineLocal2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  DeleteAction 
    public struct DeleteAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Delete;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  Delete2Action 
    public struct Delete2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Delete2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  EnumerateAction 
    public struct EnumerateAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Enumerate;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  Equals2Action 
    public struct Equals2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Equals2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  GetMemberAction 
    public struct GetMemberAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.GetMember;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  InitArrayAction 
    public struct InitArrayAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.InitArray;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  InitObjectAction 
    public struct InitObjectAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.InitObject;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  NewMethodAction 
    public struct NewMethodAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.NewMethod;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  NewObjectAction 
    public struct NewObjectAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.NewObject;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  SetMemberAction 
    public struct SetMemberAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.SetMember;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  TargetPathAction 
    public struct TargetPathAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.TargetPath;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  WithAction ++
    public struct WithAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.With;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
        #region Size
        private uint p_size;
        [SwfActionElement]
        public uint Size
        {
            get
            {
                return p_size;
            }
            set
            {
                p_size = value;
            }
        }
        #endregion
        #region WithBlock
        private string p_withBlock;
        [SwfActionElement]
        public string WithBlock
        {
            get
            {
                return p_withBlock;
            }
            set
            {
                p_withBlock = value;
            }
        }
        #endregion
        #region Statements
        private SwfActionCollection p_statements;
        [SwfActionElement]
        public SwfActionCollection Statements
        {
            get
            {
                return p_statements;
            }
            set
            {
                p_statements = value;
            }
        }
        #endregion
    }
    #endregion  

    #region  ToNumberAction 
    public struct ToNumberAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.ToNumber;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  ToStringAction 
    public struct ToStringAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.ToString;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  TypeOfAction 
    public struct TypeOfAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.TypeOf;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  Add2Action 
    public struct Add2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Add2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  Less2Action 
    public struct Less2Action : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Less2;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  ModuloAction 
    public struct ModuloAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.Modulo;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  

    #region  BitAndAction 
    public struct BitAndAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.BitAnd;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;
            }
        }
        #endregion
        
    }
    #endregion  
    #region  BitLShiftAction 
    public struct BitLShiftAction : ISwfAction
    {
        #region ActionType
        public SwfActionId ActionType{get{return SwfActionId.BitLShift;}}
        #endregion
        #region MinimumVersion
        public SwfVersion MinimumVersion
        {
            get
            {
                return SwfVersion.v5;