 import spark.core.DisplayObjectSharingMode;
 import spark.core.IGraphicElement;
 import spark.core.MaskType;
-import spark.primitives.supportClasses.shaders.ColorBurnShader;
-import spark.primitives.supportClasses.shaders.ColorDodgeShader;
-import spark.primitives.supportClasses.shaders.ColorShader;
-import spark.primitives.supportClasses.shaders.ExclusionShader;
-import spark.primitives.supportClasses.shaders.HueShader;
-import spark.primitives.supportClasses.shaders.LuminosityMaskShader;
-import spark.primitives.supportClasses.shaders.LuminosityShader;
-import spark.primitives.supportClasses.shaders.SaturationShader;
-import spark.primitives.supportClasses.shaders.SoftLightShader; 
 
 use namespace mx_internal;
 

     */
    public function set blendMode(value:String):void
    {
        if (blendModeExplicitlySet && value == _blendMode)
            return;

        //The default blendMode in FXG is 'auto'. There are only
        //certain cases where this results in a rendering difference,
        //one being when the alpha of the Group is > 0 and < 1. In that
        //case we set the blendMode to layer to avoid the performance
        //overhead that comes with a non-normal blendMode. 
        
        if (alpha > 0 && alpha < 1 && !blendModeExplicitlySet && value == "auto")
        {
            if (value != BlendMode.LAYER)
            {
                _blendMode = BlendMode.LAYER;
                blendModeChanged = true;
                invalidateProperties();
            }
        }
        else if ((alpha == 1 || alpha == 0) && !blendModeExplicitlySet && value == "auto")
        {
            if (value != BlendMode.NORMAL)
            {
                _blendMode = BlendMode.NORMAL;
                blendModeChanged = true;
                invalidateProperties();
            }
        }
        else 
        {
            _blendMode = value;
            
            // If one of the non-native Flash blendModes is set, 
            // record the new value and set the appropriate 
            // blendShader on the display object. 
            if (value == "colordodge" || 
                value =="colorburn" || value =="exclusion" || 
                value =="softlight" || value =="hue" || 
                value =="saturation" || value =="color" 
                || value =="luminosity")
                blendShaderChanged = true;
            else 
                blendModeChanged = true;
                
            blendModeExplicitlySet = true;
            invalidateProperties(); 
        }
    }

    //----------------------------------

                    invalidateDisplayObjectSharing();       
            }
        }
    }
    
    /**
     * @private
     */
    private function isAIMBlendMode(value:String):Boolean
    {
        if (value == "colordodge" || 
            value =="colorburn" || value =="exclusion" || 
            value =="softlight" || value =="hue" || 
            value =="saturation" || value =="color" ||
            value =="luminosity")
            return true; 
        else return false; 
    }
    
    /**
